Developing Smart Card-Based Applications Using Java Card

In this paper we describe a methodology for developing smart card-based applications which accounts for both internal and external software production: on-card and client programs. This development methodology is based on the application of distributed object-oriented principles to Java Card. We design a model in which a card application is viewed as a remote object accessed through method invocations handled by a proxy object executing on the terminal. With a simple example, we show how this model enhances the development of smart card-based applications by allowing Java programmers to rapidly design and develop on-card and off-card programs without worrying about the specific smart card features. This scheme has been implemented as the core technology in the Gemplus Java Card application development environment GemXpresso RAD.