developing pos applications with pos for.net frank prengel embedded developer evangelist microsoft...
TRANSCRIPT
Developing POS Applicationswith POS for .NET
Frank PrengelEmbedded Developer EvangelistMicrosoft Germany
What you will learn
• What is WEPOS?
• WEPOS vs. XP Embedded
• What is POS for .NET?
• Using POS for .NET
• Managing POS Devices
What is WEPOS?
• Windows Embedded for Point of Service• XP Embedded leads to different vendors producing
different devices and custom images• Great flexibility for embedded systems• POS configuration challenges
• WEPOS offers a standard platform for the retail industry and more…• UPOS/OPOS Support – Allows ISVs to write
one application for hardware• Offers access to upcoming technologies such as RFID
and Biometric scanners• Provides integration to Enterprise solutions• Legacy support provides the best in
Total Cost of Ownership (TCO)
What is WEPOS?
• Microsoft’s recommended OS for full-featured Point of Service terminals• Point of Sale, Kiosks, Self-Checkout/Checkin, Fuel Pumps,
Automated Teller Machines, Security Terminals, etc.
• First in a series of Microsoft retail-focused investments that will continue through Windows Vista• Two parts: WEPOS and POS for .NET
What is WEPOS?
• Standard, retail-optimised OS platform for Point of Service devices• Only POS platform to provide Plug-n-Play support
for retail peripherals
• Based on Windows XP with Service Pack 2
• Provides an Windows XP Pro-like setup
• Reduced OS footprint
• Extend PC management to POS• Support for standard PC management technologies
(SMS, SUS)
WEPOS Features 1/2
• Broad application support• WEPOS retail application verification
• Standard SDK with consistent APIs
• Comprehensive programming language & technology support: .NET 1.1 & 2.0, Win32, COM, Java, …
• UPOS support:• POS for .NET 1.0 (UPOS v1.8)
• POS for .NET 1.1 (UPOS v1.9) - New!
• UPOS/OPOS - http://www.nrf-arts.org/
WEPOS Features 2/2
Feature Windows XP Embedded
WEPOS
Installation Target Designer CD Installation
Embedded Enabling Features
EWF, HORM, DUA, Minlogon, CD-BOOT, flash boot, Remote Boot, Power Management Control Library
Remote Boot, DUA
Multimedia Yes Yes
Security Yes Yes
OPOS/UPOS support
No Yes
Enterprise Integration
Yes Yes
Cloning Yes Yes
Windows Update Only through WSUS Yes
WEPOS vs. XP Embedded
FBA
TargetDesigner
XPeDatabase
Component Designer
Raw Image
Transfer To target
Final Image
FBA
Final Image
Installation Options
Install: Updates,Drivers,
Apps, Etc.
XPe Setup
WEPOS Setup
WEPOS vs. XP Embedded
Installation Option ~Size (MB)
Additional Driver SupportAdditional Driver Support 231231
IISIIS 8585
Language SupportLanguage Support 384384
Additional Code Page SupportAdditional Code Page Support 5959
Additional Input Device SupportAdditional Input Device Support 133133
Additional Font SupportAdditional Font Support 160160
FrenchFrench 6565
GermanGerman 6464
ItalianItalian 6363
SpanishSpanish 6565
Local Management SupportLocal Management Support 6565
Management Client SupportManagement Client Support 99
Windows Media Player 9.0Windows Media Player 9.0 122122
WEPOS Installation Options
• Custom themes, logon screens, splash screens
• Changes through standard Window applets and tools, or custom VBscripts• Custom Shells – registry keys
• Customer Security
• Logon / Splash screens
Customization
• SDK to develop POS Applications and service objects in .NET • Run time for WEPOS and Windows XP Professional
• Supports .NET Framework 1.1 & 2.0
• POS for .NET 1.1 supports UPOS v1.9
• Abstract POS hardware from the software
• Standardise on a logic device name
• Change a device without having to recode the application
• Plug & Play is at the heart of POS for .NET
What is POS for .NET?
• SDK install from WEPOS CD, or web download
• Includes support to develop and test applications on XP Pro SP2 or WEPOS• Not supported on XP Embedded
• Documentation for .NET Classes and Management tools
• Sample code for service objects and applications
• POS Device Management command line tools – remote or local management
POS for .NET
OPOS DriverOPOS Driver
POS DevicePOS Device
ApplicationApplication
Control ObjectControl Object
Service ObjectService Object
ActiveXActiveX
OPOSOPOS
POS DevicePOS Device
ApplicationApplication
Device DriverDevice Driver
PosExplorerPosExplorer
Service ObjectService Object
POS for .NETPOS for .NET
InterOpInterOp
POS for .NET Architecture (vs. OPOS)
POS for .NET vs. UPOS
• PosExplorer replaces Control Objects• Eliminates CO/SO mismatches• PnP - DeviceAdded/Removed events• Device discovery and instantiation• Integrated with management
• Logical device names, default devices, enable/disable devices
• Small deviations from UPOS to adhere to the .NET design guidelines• Enums replace constants• Typed arrays replace delimited strings• No in/out parameters
Writing a Service Object
• Typically written by device manufacturers and shipped with the device
• May be installed by INF or stand alone installer (drag-and-drop)
• Derive from either Interface, Basic, or Base class
Scanner Service Scanner Service ObjectObject
ScannerScanner
Device DriverDevice Driver
Scanner DeviceScanner Device
* New for POS for .NET 1.1* New for POS for .NET 1.1
BumpBar
CashChanger
CashDrawer
Cat
CheckScanner
CoinDispenser *
FiscalPrinter
HardTotals
Keylock*
LineDisplay
Micr*
MotionSensor
Msr
PinPad
PointCardRW
PosKeyboard
PosPower*
PosPrinter
Scale*
SignatureCapture*
SmartCardRW
ToneIndicator*
RemoteOrderDisplay
POS for .NET Supported Devices
Writing a Service Object
• Interface classes • Abstract classes for each of the 24 UPOS defined
device categories (Msr, Scanner, etc.)• Implemented as classes instead of interfaces so we can
rev them to match UPOS without breaking clients
• Basic classes• Implemented for all 24 device categories• Derive from interface classes• UPOS common functionality fully implemented• Integrated device statistics support• CommonProperties class allows full access to
internal properties
Base Classes
• Available for:• CashDrawer, CheckScanner, LineDisplay, Msr, PinPad,
PosKeyboard, PosPrinter, Scanner
• Derive from basic classes
• Implement device specific functionality
• Easiest way to implement a service object
• <DeviceClass>Properties class allows full access to internal properties
Service Object Attributes
• *PosAssembly – Assembly contains SO(s)
• *ServiceObject – Class implements SO
• HardwareID – Maps SO to hardware• Can also use Control Configuration XML file
* Required attribute
[assembly:PosAssembly("Manufacturer Name")][assembly:PosAssembly("Manufacturer Name")]
[HardwareId(@"HID\Vid_05e0&Pid_1300&Rev_0201")][HardwareId(@"HID\Vid_05e0&Pid_1300&Rev_0201")]
[ServiceObject("Scanner", "MyScanner", "Description", 1, 9)][ServiceObject("Scanner", "MyScanner", "Description", 1, 9)]
SOs & Config: Locations
• Put your Service Object DLLs in"%ProgramFiles%\Common Files\Microsoft Shared\Point Of Service\Control Assemblies"
• Put your config files in"%ProgramFiles%\Common Files\Microsoft Shared\Point Of Service\Control Configurations"
• Configurable in the registry:[HKLM/Software/Pos for .NET]
Device Management
• WMI Classes (root\MicrosoftPointOfService)• ServiceObject – Information about installed SO’s
• POSDevice – Information about installed devices
• LogicalDevice – Alias for POSDevice
• DeviceProperty – name/value pair set on POSDevice
• Posdm.exe command-line tool• Exposes WMI via command line
• MMC snap-in coming in next release
• All tools support remote management
What you have learned
WEPOS provides a common platform for Point of Service applications
Simpler to install and support than XPe, but requires some post install manual setup
POS for .NET 1.1 makes it easy to develop UPOS compliant applications using .NET
Resources
Windows Embedded for Point of Service homepage:Windows Embedded for Point of Service homepage:http://www.microsoft.com/windows/embedded/wepos
VB.NET example code for app’s and SO’s:VB.NET example code for app’s and SO’s:http://www.seanliming.com/wepos.html
Product Catalog:Product Catalog:http://www.windowsembeddeddevices.com/wepos
News group support: (msnnews.msn.com)News group support: (msnnews.msn.com)news:microsoft.public.windows.embedded.pointofservice
POS for .NET 1.1 SDK download:POS for .NET 1.1 SDK download:http://tinyurl.com/h3wgn
Questions
© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.