27
Developing POS Applications with POS for .NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

Embed Size (px)

Citation preview

Page 1: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

Developing POS Applicationswith POS for .NET

Frank PrengelEmbedded Developer EvangelistMicrosoft Germany

Page 2: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

What you will learn

• What is WEPOS?

• WEPOS vs. XP Embedded

• What is POS for .NET?

• Using POS for .NET

• Managing POS Devices

Page 3: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

What is WEPOS?

Page 4: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

• 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?

Page 5: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

• 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?

Page 6: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

• 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

Page 7: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

• 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

Page 8: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

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

Page 9: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

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

Page 10: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

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

Page 11: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

• 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

Page 12: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

• 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?

Page 13: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

• 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

Page 14: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

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)

Page 15: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

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

Page 16: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

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

Page 17: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

* 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

Page 18: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

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

Page 19: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

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

Page 20: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

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)]

Page 21: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

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]

Page 22: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

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

Page 23: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

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

Page 24: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

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

Page 25: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

Contact

http://blogs.msdn.com/frankpr

mailto:[email protected]

Page 26: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

Questions

Page 27: Developing POS Applications with POS for.NET Frank Prengel Embedded Developer Evangelist Microsoft Germany

© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.