Click here to load reader
Upload
madison-stone
View
213
Download
0
Embed Size (px)
Citation preview
Embedded Java in POS-terminals
Agenda:1. Evolution of the POS-terminals
2. HW architecture's
3. SW architecture's
4. Making the first POS-terminal
5. Moving to other platforms
6. Using Java on a GSM based POS-terminal
7. Using Java on both client and server
8. Challenges and gains
By Mads Doré - DoréDevelopment ApS
Evolution of the POS-terminals
HW architecture's
ECRPOS
(Simpel)ECR
POS(Off-line)
ECRPOS
(Java)POS
(Secure)
Internet
ECRPOS
(Java)POS
(Secure)
Before JavaBefore Java
Early Java
Current
A large number of variations in the physical setup
SW architecture's
SW architecture's
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