I’ve combined the topics of performance and finding service objects into one post because there’s only a little to say about each.
First, performance is another one of those device dependent issues. I’ve had remarkably different performance even between the Epson OPOS service objects and the Epson native Pos .Net service objects, and sadly the latter is the one that seems to perform the worst. You’d think the OPOS service objects would be slower because of COM if nothing else, but that doesn’t seem to be the case. The Open and Claim methods in the native Pos .Net service objects can take half a second or so each to run, and sometimes setting the DeviceEnabled property can also take a noticeable amount of time.
Because of this it’s best to open the device once on start-up and close it when you shutdown, rather than every time you want to use the device. If you can do the same with Claim/Release and DeviceEnabled then you’ll get the best performance possible, but you won’t be sharing devices with any other software on the computer. You may need to invent configuration settings to say whether you claim at start-up or on each use, otherwise you may run into problems when a customer wants to use other software with the peripherals.
As for locating service objects, this is quite a mission. It seems not a lot of vendors have native Pos .Net service objects and those that do don’t publicise them all that well. More common are OPOS service objects, which are usually compatible with the Pos .Net system and are generally easier to find. The downside is they don’t support plug and play, they are COM based so require registration etc. which can lead to DLL Hell and performance may not be optimal because Pos .Net uses a special shim layer to integrate to them. Despite that, if an OPOS service object is all that’s available its better than nothing.
There isn’t a single repository on the web to locate service objects for Pos .Net, or even OPOS. Since Pos .Net and OPOS are useless without service objects you’d think it would be easier to find them, and that publishers would have a vested interest in advertising them.
There are a few websites that provide lists of service objects;
In an attempt to provide a single/more complete source I’ve started my own collection which I plan to update as I come across new ones, or have them submitted to me by my readers. You can find my own list at;
I have tried to list all the service objects I could find or find references to, along with whether or not they are for OPOS, Pos .Net or both and a download link wherever possible. If you know of any service objects or supported devices not listed, please contact me with the details.