Claims
- 1. A terminal for accepting a card that implements a card application of a merchant, the terminal comprising:
an environment component including hardware of the terminal, an operating system of the terminal, and an environment services layer that supplies one or more environment dependent services dependent upon at least one of the operating system and the hardware of the terminal; and a terminal application compatible with the card application and having a platform independent portion that is independent of the environment component.
- 2. The terminal as recited in claim 1, further including an environment services access module that enables the terminal application to select and activate the environment dependent services provided by the environment services layer of the environment component when the card is inserted into the terminal.
- 3. The terminal as recited in claim 1, wherein the environment dependent services are accessible by the platform independent portion of the terminal application.
- 4. The terminal as recited in claim 1, wherein each of the environment dependent services have an identical structure.
- 5. The terminal as recited in claim 1, further including:
an application programming interface that encapsulates the environment dependent services such that the environment dependent services are visible to the terminal application.
- 6. The terminal as recited in claim 1, further including:
an application programming interface that enables the terminal application to communicate with the environment services layer, wherein the environment dependent services provided by the environment services layer are accessible by the platform independent portion of the terminal application through the application programming interface.
- 7. The terminal as recited in claim 1, wherein the environment component further includes a business logic layer responsible for implementing business policies of an entity associated with the terminal.
- 8. The terminal as recited in claim 7, wherein the terminal application includes one or more modules associated with one or more commands accessible to the business logic layer.
- 9. The terminal as recited in claim 8, wherein the business logic layer includes a module selection module for selecting from the modules by calling selected ones of the commands.
- 10. The terminal as recited in claim 7, further including a terminal application access module that enables the business logic layer of the environment component to select and activate one or more modules within the terminal application when the card is inserted into the terminal.
- 11. The terminal as recited in claim 10, wherein the modules selected and activated are dependent upon the card inserted into the terminal and user-selected command at the terminal.
- 12. The terminal as recited in claim 7, further including:
a first application programming interface that enables the terminal application to communicate with the environment services layer, wherein the environment dependent services provided by the environment services layer are accessible by the platform independent portion of the terminal application through the application programming interface; and a second application programming interface that enables the business logic layer to communicate with the terminal application.
- 13. The terminal as recited in claim 12, wherein the environment dependent services are implemented by one or more procedures and associated parameters and wherein the first application programming interface enables visibility of names of the procedures and associated parameters to the terminal application accessing the first application programming interface.
- 14. The terminal as recited in claim 12, wherein the terminal application is implemented by one or more modules and wherein the second application programming interface enables visibility of the modules to the business logic layer accessing the second application programming interface.
- 15. The terminal as recited in claim 14, wherein each of the modules includes one or more procedures and associated parameters and wherein the second application programming interface enables visibility of names of the procedures and associated parameters.
- 16. The terminal as recited in claim 1, wherein the environment dependent services include services that enable peripheral devices to be accessed.
- 17. The terminal as recited in claim 16, wherein the peripheral devices include at least one of a printer and a user interface.
- 18. The terminal as recited in claim 1, wherein the terminal application is portable on a plurality of terminals manufactured by different terminal manufacturers.
- 19. The terminal as recited in claim 1, wherein the terminal application includes a card directory module capable of recognizing one or more cards.
- 20. The terminal as recited in claim 19, wherein the terminal application further includes one or more modules associated with the cards and the card directory module accesses selected ones of the modules when one of the cards is inserted into the terminal.
- 21. A method of executing a terminal application on a terminal suitable for accepting a card implementing a card application of a merchant, the terminal having an environment component including hardware of the terminal, an operating system of the terminal, and an environment services layer that includes one or more environment dependent services dependent upon at least one of the operating system and the hardware of the terminal, the terminal application having a platform independent portion that is independent of the environment component, wherein the environment component further includes a business logic layer responsible for implementing business policies associated with the terminal and the terminal application includes one or more modules associated with one or more commands accessible to the business logic layer, the method comprising:
performing card recognition to determine whether the card is recognized by the terminal; when it is determined that the card is not recognized, transferring control to the business logic layer; and when it is determined that the card is recognized, selecting one of the modules, executing the selected module, and transferring control to the business logic layer upon completion of execution of the module.
- 22. The method as recited in claim 21, further including:
providing card information associated with the card to the business logic layer.
- 23. The method as recited in claim 22, wherein the card information includes information associated with a card application.
- 24. The method as recited in claim 22, wherein the card information includes information associated with multiple card applications resident on the card.
- 25. The method as recited in claim 21, further including:
performing at least one of rejecting and reclaiming the card at the business logic layer when the card is not recognized.
- 26. The method as recited in claim 21, wherein performing card recognition includes:
invoking a card directory module of the terminal application, the card directory module being associated with one or more card directory services suitable for recognizing one or more cards; and launching the card directory services available to the card directory module until one or more of the card directory services are found that match information on the card.
- 27. The method as recited in claim 21, wherein when the card is recognized, the method further includes:
selecting at the business logic layer one of the modules associated with the card application.
- 28. The method as recited in claim 21, wherein when the card is recognized, the method further includes:
ascertaining whether the card is a card that supports multiple functions; and selecting one of the modules associated with the card application when it is ascertained that the card does not support multiple functions.
- 29. The method as recited in claim 28, wherein when it is ascertained that the card supports multiple functions, the method further includes:
determining whether the terminal supports multiple functions; when it is determined that the terminal does not support multiple functions, selecting one of the modules associated with the card application; and when it is determined that the terminal supports multiple functions, selecting one of the modules according to at least one of priority and a user selection.
RELATED APPLICATIONS
[0001] This application claims priority of U.S. Provisional Application No. 60/095,608 filed on Aug. 6, 1998 and entitled “Open Platform Terminal Architecture”, which is hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60095608 |
Aug 1998 |
US |