100 likes | 233 Views
Embedded Java in POS-terminals. Agenda: Evolution of the POS-terminals HW architecture's SW architecture's Making the first POS-terminal Moving to other platforms Using Java on a GSM based POS-terminal Using Java on both client and server Challenges and gains.
E N D
Embedded Java in POS-terminals Agenda: Evolution of the POS-terminals HW architecture's SW architecture's Making the first POS-terminal Moving to other platforms Using Java on a GSM based POS-terminal Using Java on both client and server Challenges and gains By Mads Doré - DoréDevelopment ApS
HW architecture's ECR ECR POS (Simpel) POS (Off-line) Before Java Before Java ECR POS (Java) POS (Secure) Early Java _____ Internet ECR POS (Java) POS (Secure) Current ______ _____ A large number of variations in the physical setup
Making the first POS-terminal DoréDevelopment entered late in the process A lot of brute force and the “Nike method” (Just do It!) It was new territory A part of the terminal framework was delivered in Java from PBS The nature of payment systems is a lot of customization
Moving to other platforms Esmertec Jbed was to dedicated Esmertec Jbed was not open-source and support on error took to long Requirement of being able to correct errors ourselves The Telium platform Sadly bound to OEMC and Nucleus JamVM best choice, but still hard to port to a small platform OEMC and Nucleus threads => Starvation Not upgraded since 2006
Java on a GSM based POS-term. Not dead-slow, but still slower than competitors Long way from application to HW JamVM not fully focused on embedded systems Very flexible and configurable Application easy to move to e.g. Linux or Windows Easy to change communication channels
Java on both client and server POS-terminals often connect to intelligent equipment, a split of the application is often preferable Eases tests and enable parallel development of platform and application Need for JVM compatibility between client and server Need for well designed HW abstraction in GlueLogic Timing issues might be hard to predict
Challenges and gains Very limited platforms HW integration Timing of threads JamVM performance Configuration handling ClassPath size Memory consumption Parallel development PC application tests Extended product range Enhanced flexibility Easier developer recruiting Code reuse