Last updated April 26, 2010 22:58, by CliffW
Transit Application(s)
These samples demonstrate a complete use case of Java Card 3 Connected edition in Transit scenario. The Transit reference application is composed of three interoperating applications, Transit Point of Sale, Transit Admin, and Transit Turnstile. In addition, the Transit application makes use of the Wallet application from the Classic Edition.
Project Code
- Browse: http://kenai.com/projects/javacard/sources/subversion/show/samples/transit
- Check out URL: https://svn.kenai.com/svn/javacard~subversion/samples/transit
It consists the following projects.
AdminWeb
- The Transit Administration (Admin) web application module contains the Admin servlet and processes the unblock and balance and history commands. To access these commands, the remote user must authenticate as the administrator (remote-admin) with PIN (8888) using form authentication. These commands can only be accessed from an untrusted client if the card holder has authorized the remote access as the authorizing card holder (owner-admin) using a PIN (8888).
ClassicWalletApplet
- The Wallet applet application is a classic applet application that interacts over a contacted or contactless interface with a Card Acceptance Device (CAD). The Wallet applet application stores electronic money and supports credit, debit and check-balance operations when connected to a CAD. It also exposes the WalletAccess service to other on-card applications.
POSWeb
- The Transit Point of Sale (POS) web application module contains the POS servlet and processes the credit and balance and history commands. To access these commands, the local user must be authenticated as the card holder (owner-pos) using a PIN (8888). Card holder authorization requires the card holder to authenticate as owner-admin with PIN (8888). This application can only be accessed from a trusted client. This web application is internationalized and supports the french and english locales.
TransitExtLib
- The Transit Extension Library contains source packages for classes and interfaces common to all components of the Transit application suite, namely, Transit Point of Sale, Transit Admin, Transit Turnstile, and Wallet Assist applications. These classes, interfaces, and resources are packaged as an extension library shared between all of these extended and web applications. The Shareable interface for the TicketBook service packaged in this extension library is exposed to all applications.
TurnstileApplet
- The Transit Turnstile extended applet application module contains the Turnstile extended applet Application. The Turnstile Applet processes turnstile entry and exit requests in APDU messages. It communicates with the Transit POS application module using the SharedTicketBook service.
TurnstileClient
- A JavaTM SE client application that may be used to communicate via APDU commands to the Turnstile applet application.
TurnstileWeb
- The Transit Turnstile web application contains the Turnstile servlet that processes Turnstile entry and exit requests in HTTP messages. It communicates with the Transit POS application module using the SharedTicketBook service. This is a web simulation of the TurnstileApplet included for testing purposes.
WalletAssistApplet
- The Wallet Assist Applet contianss the classes and interfaces that implement the Wallet Assist extended applet application. This application exposes a Shareable Interface Object-based service, WalletAssist service, that enables the Transit POS web application to indirectly lookup and operate on the WalletAccess service exposed by the Wallet classic applet application. Proxying through an extended applet application is necessary because web applications cannot directly look up services exposed by classic applet applications. The WalletAccess service enables look up and debit of the wallet.
WalletClassicLib
- The WalletClassicLib project contains interfaces of the Wallet applet application that are exposed to other components of the Transit application suite (the Transit Point of Sale and Wallet Assist applications). The Shareable interface for the WalletAccess service packaged in this classic library is exposed to all applications.






