Hello everyone,
I am modeling the architecture of this exercise on archimate but I
am encountering some difficulties, I would like to have your advice
please
The hardware used for the cash registers is programmable in
Java,
the cash register contains a minimalist Unix-like system and is capable
of running a Java virtual machine (Java Standard Edition 1.8).
- The program must be written in JAVA and use the APIs supplied
with the cash register for ticket printing functions, dialogue with the
POS system, control of the cash drawer, etc.) The manufacturer of the
cash register is committed to ensuring 100% compatibility of your
programs with future models.
- The man-machine interface is realized via SWT
- The cash register does not dialogue directly with the sales and stock management systems, but with an ESB
(Enterprise Service Bus) which then asynchronously enriches the
message and delivers it to the right system(s). For this
interconnection, technically speaking, the cash register sends a message
with the JMS (Java Messaging Service) protocol and then does not deal
with it anymore ("fire and forget"). This means that once the JMS
message has been delivered, the cashier is not responsible for further
processing.
- The activation of refills (mobile, iTunes, etc.) is done by a
special message to this ESB (Talend ESB) when the EAN-13 code of these
products is scanned. Here again, the activation of the recharge is
requested, but no return message gives a report on the execution of this
request.
- The sales and stock management system are "in-house" web products
developed by the supermarket chain, and based on a JavaEE architecture
(WebSphere Server, DB2 database, use of Hibernate and Google Web Toolkit
framework)
- For the actions requiring the use of the electronic payment
terminal, the cashier uses the "cashier protocol" which dialogues with a
simple TCP-IP connection to give the messages below (the cashier does
not handle the electronic payment logic directly)
o Cashier to POS: Make a gift card payment of X€ o Cashier to POS:
Make a bank card payment of X€ o Cashier to POS: Read loyalty card
o TPE to cashier: Loyalty card ID=<ID of the card
o POS terminal to cashier: Acknowledge gift card payment (OK or KO)
o POS terminal to cashier: Acknowledge credit card payment (OK or KO)
- The payment terminal is linked to an authorization and payment
collection center as well as a configuration server that remotely
configures the Eftpos terminals as soon as they are connected (depending
on the serial number preloaded in this server, the fleet and the
configuration can be managed centrally)
- The cash register identifies the cashier via an RFID badge, and
the manager badge that allows it to be put into service. The cashier
then calls an authorization WebService which is responsible for
consulting a RADIUS server to authenticate the badge and authorize or
not the action.
- This RADIUS server consults information about all employees,
their level of entitlement (Cashier, Cashier Line Manager, Management),
the validity date of their access to the LDAP
(itself a central component of the identity and access management system).
- The Radius server, the LDAP, all the databases, the WebSphere servers and the ESB are redundant (2 instances
each time, the failover is manual)
Thank you for your help