POS for .NET "Shim" Software
Excerpting from the UnifiedPOS specification (internal draft "Version 1.11
LCWD; September 29, 2006"), Appendix C, section "Interim
Procedure Available For Legacy OPOS Services...Shim Code Usage":
The .NET architecture allows for new features and functions that can be invoked using current and future Windows operating systems. In order to benefit from all the .NET architecture has to offer, new service objects should be written. However, in order to more quickly leverage existing OPOS service object source code in the .NET environment, OPOS-Japan (OPOS-J) has created a translation middle layer of software, referred to as the “Shim”. The “Shim” is a module to develop (or implement) a .NET Service Object by utilizing existing OPOS based service object naming methodologies. It is freely available for service object providers to use when porting their existing OPOS service objects to POS for .NET. Some of the reasons behind the strategy in using the Shim are as follows:
- POS for .NET extends the definitions for the UnifiedPOS methods and requires modifications in the OPOS service objects to handle these extensions. The Shim handles these extensions and masks any changes that would otherwise be required to be made to an existing OPOS service object.
- POS for .NET requires enumeration types in its usage, a feature that was not specified in an OPOS service object implementation. The Shim provides a mechanism to map constants of the parameters to an enumeration type without changing the name from the existing OPOS service object source code.
- It is important to note that the usage of the Shim does not require any changes to the .NET application; the Shim hides any OPOS and POS for .NET service object differences from the application. When a POS for .NET service object is available, it should be able to replace the Shim/OPOS service object with no required changes to the application.
- The development of the POS Application should be in accordance with the reference material outlined earlier in this appendix. The only difference is in the development of the service object used to support a UnifiedPOS, POS for .NET environment. Potentially, usage of the Shim allows for faster generation of POS for .NET service objects by allowing for greater re-usability of existing OPOS service object source code.
For further details, see the UnifiedPOS specification.
Shim Source Code and Support Files
OPOS-J has developed the shim source code and provided other background
files. As a service to the retail community, they are available as received