EXP402 Developing Point of Service (POS) Applications...

23

Transcript of EXP402 Developing Point of Service (POS) Applications...

Introduction to Microsoft Windows Embedded for Point of Service (WEPOS) and Microsoft Point of Service for .NET

Unified Point of Service (UPOS) and Point of Service (POS) for .NET

POS for .NET Applications

Retail and POS markets widely use Microsoft operating systems

WEPOS offers a standard platform for the retail industry, and much more

POS 1.11 SDK on Microsoft.com Downloads

Unified Point Of Service is

Abstract hardware and software

one application supports many POS devices of the same type

No recompile of applications if hardware fails

Combines OPOS and JavaPOS specifications

POS Device

Application

UnifiedPOS Device

UnifiedPOSControl Object

UnfiedPOSService Object

UPOS

POS for .NET is a .NET implementation of UPOS

Plug and Play is at the heart of POS for .NET

Legacy support for OPOS

POS for .NET SDK

Develop POS Applications and service objects in .NET

Run time for Microsoft Windows XP Professional, WEPOS, Windows Vista Business, and Windows Vista Ultimate, 32bit and 64bit

POS for .NET 1.11 supports UPOS v1.11

POS Device

Application

Device Driver

PosExplorer

Service Object

POS for .NET

OPOS DriverService Object

POS Device

Application

Control ObjectActiveX

OPOS

InterOp

PosExplorer enumerates POS devices

Service Object DLLs with the paths listed in the following registry key:

HKLM\SOFTWARE\POSfor.NET\ControlAssemblies

Configuration XML files for Service Objects listed in the following registry key:

HKLM\SOFTWARE\POSfor.NET\ControlConfigs

OPOS drivers in the following registry key:HKLM\SOFTWARE\OLEforRetail\ServiceOPOS(\<type>\<device>)

Finally, there is a set sequence to enable/perform action/disable the device

1. OPEN – Open access to the SO

2. CLAIM – Get exclusive access to the device

3. DeviceEnable – Enable the device

4. Perform device action

5. DeviceDisable – Disable the device

6. RELEASE – Release exclusive access to the device

7. CLOSE – Close access to the device

Each device needs to be handled differently

USB Devices – Implement an DeviceAddedEvent and DeviceRemovedEvent

Printer and cash drawer sharing the same COM port – disable/enable to alternate between the two devices

Poll Display – Initialize on application startup and never shut down

Scanner – Re-enable device after a DataEvent

One form in a multi-form application controls the POS devices

Keyboard wedges – Many Bar Code Scanners and MSR act as keyboard wedges

Devices can be added and removed without changing the application

No Service Object available for keyboard wedges

Focus must be on the control (Text Box) to scanned or swipe in data

A POS for .NET’s key feature is data event handling

Applications

BumpBar

CashChanger

CashDrawer

Cat

CheckScanner

CoinDispenser

FiscalPrinter

HardTotals

Keylock

LineDisplay

Micr

MotionSensor

Msr

PinPad

PointCardRW

PosKeyboard

PosPower

PosPrinter

Scale

SignatureCapture

SmartCardRW

Bill Acceptor

RemoteOrderDisplay

Electronic Journal

ToneIndicator

Image Scanner

Biometrics

CoinAcceptor

Scanner

Bill Dispenser

Typically written by device manufacturers and shipped with the device

May be installed by Infor stand alone installer (drag-and-drop)

Derive from either Interface, Basic, or Base class

Scanner

Scanner Device

Scanner Service Object

Device Driver

POS for .NET SDK comes with two service objects with source code

Sample Service ObjectsUSB bar code, Scanners and MSRs

Microsoft.PointOfService.ExampleServiceObjects.dll –.

SimulatorsScanners, MSR, LineDisplays etc

Microsoft.PointOfService.DeviceSimulators.dll –

Posdm.exe command-line tool

Exposes WMI via command line

Manual setup required to address Firewall

WMI Classes (root\MicrosoftPointOfService)

ServiceObject – Information about installed SOs

POSDevice – Information about installed devices

LogicalDevice – Alias for POSDevice

DeviceProperty – name/value pair set on POSDevice

WMI Server Extensions for .NET applications

MMC snap-in coming

All tools support remote management

Performance Monitor Counters

POSDM.EXE SOManager.exePerformance Monitor (ensure POS Perf Counters Service Started)

Check for Application and Service Object compatibility

POS for .NET 1.11 loads .NET Framework 2.0

POS for .NET 1.1x and older loads .NET Framework 1.1

POS for .NET version in the registry:

HKLM/Software/POSfor.NET/Setup/ProductVersion

Check for Compatibility

POS for .NET Application Service Object Compatible

POS for .NET 1.11

(synchronized with

UPOS v1.11

UPOS v1.11 UPOS v1.11 Yes

UPOS v1.11 UPOS v1.8 or v1.9 No

UPOS v1.8 or v1.9 UPOS 1.11 Workaround

required

POS for .NET 1.1

(synchronized with

UPOS v1.9)

UPOS v1.8 UPOS v1.8 Yes

UPOS v1.8 UPOS v1.9 Yes

UPOS v1.9 UPOS v1.8 Yes

UPOS v1.9 UPOS v1.9 Yes

POS for .NET 1.0

(synchronized with

UPOS v1.8)

UPOS v1.8 UPOS v1.8 Yes

UPOS v1.8 UPOS v1.9 No

UPOS v1.9 UPOS v1.8 No

UPOS v1.9 UPOS v1.9 No

Check the versions of SO and applications

Older POS for .NET applications running under POS for .NET 1.11 will fail to load properly

Application will attempt to load .NET Framework 1.1

Is unable to load POS for .NET 1.11 because POS for .NET 1.11 needs .NET Framework 2.0

There are a few solutions…

Solutions for older POS for .NET applictions:

1. Uninstall the .NET Framework 1.1 from the machine.

1. An application built against .NET Framework 1.1 will load the .NET Framework 2.0 if the .NET Framework 1.1 is not installed.

2. Add a Config file that instructs the application to load the .NET Framework 2.0 instead of the .NET Framework 1.1

Foo.exe – config file will be Foo.exe.config

Foo.exe.config must be in the same directory as Foo.exe

Foo.exe.config file would look like the following:<?xml version ="1.0"?><configuration><startup><supportedRuntime version="v2.0.50727"

/></startup></configuration>

3. Recompile the application against the .NET Framework 2.0

POS for .NET is .NET implementation of UPOS

Write applications in Visual C# or Visual Basic .NET

Architect the application to handle multiple devices

Service Objects and managing Service Objects

are at the center of POS for .NET

Visit the Windows Embedded for Point of Service Web page

http://www.microsoft.com/windows/embedded/wepos

Evaluate Windows Embedded for Point of Service 120-day

trial version

http:// www.windowsembeddedkit.com/

Visit WEPOS support page at XPe Center @ seanliming.com

http:// www.seanliming.com

Sign up for the Embedded DevWire

http://msdn.microsoft.com/embedded/community/community/devwire/default.aspx

Engage with Windows Embedded Partners

http://www.mswep.com

© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it

should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.