Plug-in API for modular network transaction processing
Systems and methods for processing network transactions by breaking down the transactions into several stages and performing the processing corresponding to each stage using a different plug-in module. One embodiment of the invention comprises an application programming interface (API) that enables the use of individual plug-in modules to perform different stages of the processing of a transaction. The API defines a series of interfaces to corresponding plug-in processing modules, where each interface corresponds to a stage of processing of a transaction and the API conveys transaction information from one plug-in module to the next, until all of the processing stages have been completed. The API may be embodied in a network transaction processing application that is adaptable to different functionalities and different protocols by plugging different modules into the interface provided by the API.
1. A software program product executable by a central processing unit (CPU) of a computer system, the software program product being embodied in a computer-readable medium, comprising:
an application programming interface (API) for modular network transaction processing;
wherein the API defines a series of interfaces to support a series of plug-in processing modules, each interface corresponding to one of the series of plug-in processing modules;
wherein each of the series of plug-in processing modules corresponds to a unique stage of a plurality of stages of processing a transaction and each of the series of plug-in processing modules is one of a plurality of plug-in modules corresponding to the unique one of the stages;
wherein, of the series of plug-in processing modules,
one is configured to initialize a transaction,
one is configured to get a request,
one is configured to log in and obtain authorization,
one is configured to generate a response,
one is configured to send the response, and
one is configured to terminate the transaction; and
wherein the API conveys transaction information from a plug-in processing module for a current stage of processing to a plug-in processing module for a subsequent stage of processing.
2. The software program product of claim 1 , wherein the series of interfaces correspond to stages of processing of a network transaction.
3. The software program product of claim 2 , wherein the stages of processing comprise: initializing a transaction; getting a request; logging in and obtaining authorization; generating a response; sending the response; and terminating the transaction.
4. The software program product of claim 3 , wherein the stages of processing further comprise sending an opening statement.
5. The software program product of claim 1 , wherein the API is a component of a network transaction processing application.
6. The software program product of claim 5 , wherein the network transaction processing application is configured to dynamically establish communication pathways.
7. The software program product of claim 6 , wherein the network transaction processing application is configured to establish a plurality of communication pathways, wherein the communication pathways comprise at least a first pathway configured to process transactions according to a first protocol and a second pathway configured to process transactions according to a second protocol which is different from the first protocol.
8. The software program product of claim 7 , wherein the different protocols are embodied in different plug-in modules.
9. The software program product of claim 6 , wherein the network transaction processing application is configured to establish a plurality of communication pathways, wherein the communication pathways comprise at least a first pathway configured to provide a first functionality and a second pathway configured to provide a second functionality which is different from the first functionality.
10. The software program product of claim 9 , wherein the different functionalities are embodied in different plug-in modules.
11. The software program product of claim 1 , wherein the API further defines an interface to a plug-in module for initiating a session.
12. The software program product of claim 1 , wherein the API further defines an interface to a plug-in module for terminating a session.
13. The software program product of claim 1 , wherein the API further defines an interface to a plug-in module for initiating a pathway.
14. The software program product of claim 1 , wherein the API further defines an interface to a plug-in module for terminating a pathway.
15. A computer-implemented method for processing network transactions, comprising:
defining a series of interfaces, wherein each interface corresponds to a stage of processing of a network transaction;
providing a series of plug-in processing modules, where each interface corresponds to one of the series of plug-in processing modules; and
configuring the series of interfaces and the series of plug-in processing modules such that
i) each of the series of plug-in processing modules corresponds to a unique stage of a plurality of stages of processing the network transaction;
ii) each of the series of plug-in processing modules is one of a plurality of plug-in modules corresponding to the unique one of the stages;
iii) of the series of plug-in processing modules,
one is configured to initialize a transaction,
one is configured to get a request,
one is configured to log in and obtain authorization,
one is configured to generate a response,
one is configured to send the response, and
one is configured to terminate the transaction; and
iv) transaction information is passed from a plug-in processing module corresponding to a current stage of processing to a plug-in processing module corresponding to a subsequent stage of processing via the corresponding interfaces.
16. The method of claim 15 , wherein the series of interfaces correspond to stages of processing of a network transaction.
17. The method of claim 16 , wherein the stages of processing comprise: initializing a transaction; getting a request; logging in and obtaining authorization; generating a response; sending the response; and terminating the transaction.
18. The method of claim 17 , wherein the stages of processing further comprise sending an opening statement.
19. The method of claim 15 , further comprising replacing one or more current plug-in processing modules with corresponding replacement plug-in processing modules.
20. The method of claim 19 , wherein the current plug-in processing modules use a first protocol and the replacement plug-in processing modules use a different protocol.
21. The method of claim 19 , wherein the current plug-in processing modules provide a first functionality, and the replacement plug-in processing modules provide a different functionality.
22. The method of claim 19 , wherein replacing the one or more current plug-in processing modules with the corresponding replacement plug-in processing modules is performed dynamically.
23. A software program product executable by a central processing unit (CPU) of a computer system, the software program product being embodied in a computer-readable medium, comprising:
an application programming interface (API) for modular network transaction processing;
wherein the API defines a series of interfaces, each interface corresponding to a unique plug-in processing module;
wherein each unique plug-in processing module corresponds to a unique stage of processing a network transaction;
wherein, of the series of plug-in processing modules,
one is configured to initialize a transaction,
one is configured to get a request,
one is configured to log in and obtain authorization,
one is configured to generate a response,
one is configured to send the response, and
one is configured to terminate the transaction; and
wherein the API conveys transaction information from a plug-in processing module for a current stage of processing to a plug-in processing module for a subsequent stage of processing.