There are several different standards and interfaces for smart cards. The hardware of a standard smart card is described in ISO standard 7816. PS/SC, the OpenCard Framework, and JavaCard are all tandards which provide an interface for interacting with a smart card which comply with ISO 7816.
PS/SC is a Microsoft backed interface for communicating with smart cards from a 32-bit Windows platform. At one point, the OpenCard Framework relied on PS/SC to talk to the physical layer, and this still remains an option for compatibility with existing Win32-based platforms. PS/SC based systems can be writen
OpenCard Framework, or "OFC", is an open standard that provides access to smart cards across platforms from a Java environment. OCF based smart card applications. While OCF promised to provide 100% pure Java smart card applications, the first standard to do so was JavaCard. JavaCard allows Java applets to run directly on an ISO 7816 smart card.
There are serveral standards which are presently being used for monetary smart cards. Mondex describes an electronic wallet system where "digital cash" never exists outside the card. This is quite different from the functionally equivalent VisaCash system which is basically a smart card acting as a traditional debit card, where the actually cash tied to each card is located on a server, seperate from the card. Unlike the aforementioned standards, MPCOS-EMV provides a general-purpose card which allows a developer to implement a custom token to be used as a type of currency.
Source:
http://www.javaworld.com/javaworld/jw-12-1997/jw-12-javadev.html
Source:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/security/security/smart_card_authentication.asp