Hello,
I have spend a many of time to understand the JCL API. I think I have
understand it now. I can say it is good think for the device vendors but it
is very think bad for the application developer or the final POS customer.
The major problem seems to be that there is only one mapping file for the
current config and the list of avaialbale device drivers. This is typical
the jpos.xml file or a serialize config file. Overall in the word I have 2
list. One with the available drivers and one with my existing devices. This
is not true for JavaPos with JCL.
What we need are:
- a list of drivers
- the available and needed properties for this driver
- the values for this properties
- very good are the needed properties depends on other properties
- the driver list should not be editable from the customer
What can I expext from a POS customer? A POS customer is not a computer
specialist. If I have luck then he can use a mouse.
---------------------------------------------------------
- he can copy a file to a documented directory. (The jar file with the POS
drivers and it description)
- he can click add to POSPrinters and select a model
- then he can select the communication port
- Set this new printer as destination for some print jobs of the POS
software.
How it look now:
-------------------------
- He need to copy the jar files from different vendors in the classpath
directory.
- He need to copy the jpos.xml files from the different vendors to a
directory. The first big problem. A file name conflict because the jpos.xml
file is not in the jar file. I think on this point the most of our customers
are at the end.
- He need to open and merge the JposReposity of different POS device
vendors.
- Then he need to config its devices.
- All not existing devices will be delete from the Reposity.
- Mapping of the print jobs with the existing device configs
- A half year later the POS customer buy a new device. Loer the driver is
not in the list. This is the point where a support call is needed or the
customer change to a simpler software change.
Implementation solutions
------------------------------------
- A good solution for loading the device driver list can be Service Provider
with "META-INF/services descript at:
http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html
- Or the device vendor save with a setup the info and the classpath in the
computer global config (registry). The API for it is available since JDK1.4.
Volker Berlin
|