Limited Device Practice Technology

Development Methodology

Smart card based application development is divided into three major sections:
  • Card based applet development
    • We use both eclipse and netbeans development environments for smart card applet development. We have our own framework for small device development which helps developers to get started very quickly.
    • We use pre-verifiers and loaders provided by smart card vendors like (MIFARE) for applet packaging.
    • We make extensive use of non-repudiation services and cryptographic services provided by the smart card API, to make the smart card applets secure.
    • We make use of the applet firewalling and sharing mechanisms so that a group of applets can interact amongst each other but can be firewalled from other applets, co-existing in the smart-card.
  • Host PC Application development
    • We use both globalplatform and opencard APIS to develop the application that interacts with the smart card devices via a smart card reader.
    • We can develop the host applications in the following manner:
      • When the platform (opencard/globalplatform) provides java based smart card reader drivers: In these cases, our application makes use of these drivers (which are simple Java Classes) to communicate with the smart card via the smart card readers.
      • When the platform does not provide a java based driver for a smart card reader but provides native API (C/C++) for accessing smart card readers: In these cases, we develop a thin JNI wrapper for communicating with the native API, and we make use of the JNI wrapper from our host application.
      • When the platform does not provide ANY driver: In these cases we write our own smart card drivers, based on the protocol spec provided by the smart card reader vendor. If the smart card reader is connected via standard serial (COM) port and host PC environment is Windows/Unix, we go for serial communication packages available in JAVA. In cases where the connectivity with the smart card reader is not supported by any JAVA package, we go for a native connector.
  • Server application development
    • We have got our complete JAVA based middleware stack for server side application development
    • The Host PC application can interact with the server application on a realtime/non-realtime basis depending on the application use case. Please refer to the architecture diagram detailing the middleware technology stack and connectivity with various external systems.
Architecture

Technical Expertise in Limited Device Area

Languages & Technologies Java, C/C++, J2ME, Java Card API, .Net (Compact Framework), Proprietary Controller
OS Solaris, Linux and Windows
Middleware Sun, IBM, Globe Ranger, Proprietary MOM
Tags / Readers / Smart Cards SMART CARD: MIFARE, Sony FeliCa
RFID: AWID, EMS, Alien, Matrix, TI , Intermec
Tools IBM JCOP (Java Card Open Platform)
Protocols / Spec / Standards GlobalPlatform, OpenCard Framework, EPC Global