Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm
First Claim
1. A method for processing multiple-request transactions in a stateless environment, wherein the multiple-request transactions involve operations specified in browser messages, the method comprising the steps of:
- a cartridge execution engine intercepting browser messages directed to a cartridge;
said cartridge execution engine determining whether said browser messages are associated with transactions;
if said browser messages are associated with transactions, then said cartridge execution engine sending transaction control messages that are based on said browser messages to a transaction manager that is implemented separately from said cartridge;
said cartridge execution engine sending operation messages that are based on said browser messages to said cartridge in response to said operation messages from said cartridge execution engine, said cartridge performing the operations specified in said operation messages without the cartridge persistently maintaining state information for the multiple-request transactions to which the operations belong; and
in response to said transaction control messages from said cartridge execution engine, said transaction manager causing the operations specified in said operation messages that are performed by said cartridge as part of the multiple-request transactions to be either conmitted or rolled back as an atomic unit of work.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for processing multiple-request transactions in a stateless environment is provided. A cartridge execution engine intercepts browser messages directed to a cartridge. The cartridge execution engine determines whether the browser messages are associated with transactions. If it is determined that browser messages are associated with transactions, then the cartridge execution engine sends transaction control messages to a transaction manager. In addition, the cartridge execution engine sends operation messages to the cartridge. The cartridge then performs the operations specified in the operation messages. In response to the transaction control messages from the cartridge execution engine, the transaction manager causes the multiple-request transactions to be either committed or rolled back as an atomic unit of work.
-
Citations
48 Claims
-
1. A method for processing multiple-request transactions in a stateless environment, wherein the multiple-request transactions involve operations specified in browser messages, the method comprising the steps of:
-
a cartridge execution engine intercepting browser messages directed to a cartridge;
said cartridge execution engine determining whether said browser messages are associated with transactions;
if said browser messages are associated with transactions, then said cartridge execution engine sending transaction control messages that are based on said browser messages to a transaction manager that is implemented separately from said cartridge;
said cartridge execution engine sending operation messages that are based on said browser messages to said cartridge in response to said operation messages from said cartridge execution engine, said cartridge performing the operations specified in said operation messages without the cartridge persistently maintaining state information for the multiple-request transactions to which the operations belong; and
in response to said transaction control messages from said cartridge execution engine, said transaction manager causing the operations specified in said operation messages that are performed by said cartridge as part of the multiple-request transactions to be either conmitted or rolled back as an atomic unit of work. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 17, 18, 19, 20, 21, 22, 41)
obtaining a URL that is associated with a particular browser message; and
using the URL associated with the particular browser message to determine the state of a transaction that is associatd with the particular browser message.
-
-
8. The method of claim 4, wherein the transaction IDs are associated with a timeout period, wherein the expiration of the timeout period indicates that the transaction associated with the transaction ID should be deemed invalid.
-
9. The method of claim 1, wherein:
-
prior to intercepting browser messages directed to the cartridge, registering the cartridge, wherein the cartridge is registered by storing metadata that defines a set of attributes that is associated with one or more transaction types.
-
-
10. The method of claim 1, wherein the step of said cartridge execution engine determining whether said browser messages are associated with transactions includes the steps of:
-
retrieving metadata based on the intercepted browser messages; and
using the retrieved metadata to determine whether the browser messages are associated with transactions.
-
-
17. The method of claim 1, wherein:
-
the step of said cartridge execution engine intercepting browser messages includes the step of said cartridge execution engine intercepting browser messages that include a begin transaction command; and
in response to said cartridge execution engine receiving a browser message that includes a begin transaction command, said cartridge execution engine sending a transaction control message to said transaction manager to cause said transaction manager to begin said transaction.
-
-
18. The method of claim 1, wherein:
-
the step of said cartridge execution engine intercepting browser messages includes the step of said cartridge execution engine intercepting browser messages that include a commit transaction command; and
in response to said cartridge execution engine receiving a browser message that includes a commit transaction command, said cartridge execution engine sending a transaction control message to said transaction manager to cause said transaction manager to commit said transaction.
-
-
19. The method of claim 1, wherein:
-
the step of said cartridge execution engine intercepting browser messages includes the step of said cartridge execution engine intercepting browser messages that include a rollback transaction command; and
in response to said cartridge execution engine receiving a browser message that includes a rollback transaction command, said cartridge execution engine sending a transaction control message to said transaction manager to cause said transaction manager to roll back said transaction.
-
-
20. The method of claim 17, further comprising the step of receiving said begin transaction command in the form of a URL at said cartridge execution engine in response to selection of a control associated with a tag of a Web page displayed at the browser.
-
21. The method of claim 18, firther comprising the step of receiving said commit transaction command in the form of a URL at said cartridge execution engine in response to selection of a control associated with a tag of a Web page displayed at the browser.
-
22. The method of claim 19, further comprising the step of receiving said rollback transaction command in the form of a URL at said cartridge execution engine in response to selection of a control associated with a tag of a Web page displayed at the browser.
-
41. The method of claim 1, further comprising the steps of:
-
prior to intercepting browser messages directed to said cartridge, storing metadata that establishes a correlation between one or more transaction commands and one or more message items;
in response to intercepting browser messages directed to said cartridge, comparing the message items that are within each browser message with said metadata to determine whether a particular transaction command needs to be executed; and
if it is determined that a particular transaction command does need to be executed, including data within a transaction control message that will cause said transaction manager to perform the particular transaction command.
-
-
11. A computer readable medium carrying sequences of instructions for processing multiple-request transactions in a stateless environment, wherein the multiple-request transactions involve operations specified in browser messages, the sequences of instructions including instructions for performing the steps of:
-
a cartridge execution engine intercepting browser messages directed to a cartridge;
said cartridge execution engine determining whether said browser messages are associated with transactions;
if said browser messages are associated with transactions, then said cartridge execution engine sending transaction control messages that are based on said browser messages to a transaction manager that is implemented separately from said cartride;
said cartridge execution engine sending operation messages that are based on said browser messages to said cartridge in response to said operation messages from said cartridge execution engine, said cartridge performing the operations specified in said operation messages without the cartridge persistently maintaining state information for the multiple-request transactions to which the operations belong; and
in response to said transaction control messages from said cartridge execution engine, said transaction manager causing the operations specified in said operation messages that are performed by said cartridge as part of the multiple-request transactions to be either committed or rolled back as an atomic unit of work. - View Dependent Claims (12, 13, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 42)
obtaining a URL that is associated with a particular browser message; and
using the URL associated with the particular browser message to determine the state of a transaction that is associate with the particular browser message.
-
-
23. The computer readable medium of claim 11, wherein the step of causing the operations specified in said operation messages to be committed includes the step of said transaction manager sending commit messages to one or more database servers, wherein the commit messages cause said one or more database servers to commit changes associated with said multiple-request transactions as an atomic unit of work.
-
24. The computer readable medium of claim 11, wherein the step of causing the operations specified in said opcration messages to be rolled back includes the step of said transaction manager sending rollback messages to one or more database servers, wherein the rollback messages cause said one or more database servers to roll back changes associated with said multiple-request transactions as an atomic unit of work.
-
25. The computer readable medium of claim 11, wherein
the step of said cartridge execution engine intercepting browser messages includes the step of said cartridge execution engine intercepting browser messages that include a begin transaction command; - and
the computer readable medium further comprising instructions for performing the step of, in response to said cartridge execution engine receiving a browser message that includes a begin transaction command, said cartridge execution engine sending a transaction control message to said transaction manager to cause said transaction manager to begin said transaction.
- and
-
26. The computer readable medium of claim 11, wherein
the step of said cartridge execution engine intercepting browser messages includes the step of said cartridge execution engine intercepting browser messages that include a commit transaction command; - and
the computer readable medium further comprising instructions for performing the step of, in response to said cartridge execution engine receiving a browser message that includes a commit transaction command, said cartridge execution engine sending a transaction control message to said transaction manager to cause said transaction manager to commit said transaction.
- and
-
27. The computer readable medium of claim 11, wherein
the step of said cartridge execution engine intercepting browser messages includes the step of said cartridge execution engine intercepting browser messages that include a rollback transaction command; - and
the computer readable medium further comprising instructions for performing the step of, in response to said cartridge execution engine receiving a browser message that includes a rollback transaction command, said cartridge execution engine sending a transaction control message to said transaction manager to cause said transaction manager to roll back said transaction.
- and
-
28. The computer readable medium of claim 12, further comprising instructions for maintaining the transaction IDs as cookies, wherein the cookies are maintained on the browser that is associated with the particular browser message.
-
29. The computer readable medium of claim 12, further comprising instructions for maintaining the transaction IDs as URLs, wherein the URLs are associated with one or more tags in one or more Web pages that are displayed at the browser that is associated with the particular browser message.
-
30. The computer readable medium of claim 12, further comprising instructions for associating a timeout period with the transaction IDs, wherein the expiration of the timeout period indicates that the transaction associated with the transaction ID should be deemed invalid.
-
31. The computer readable medium of claim 11, further comprising instructions for performing the steps of prior to intercepting browser messages directed to the cartridge,
registering the cartridge, wherein the cartridge is registered by storing metadata that defines a set of attributes that is associated with one or more transaction types. -
32. The computer readable medium of claim 11, wherein the step of said cartridge execution engine determining whether said browser messages are associated with transactions includes the steps of:
-
retrieving metadata based on the intercepted browser messages; and
using the retrieved metadata to determine whether the browser messages are associated with transactions.
-
-
33. The computer readable medium of claim 25, further comprising instructions for performing the step of receiving said begin transaction command in the form of a URL at said cartridge execution engine in response to selection of a control associated with a tag of a Web page displayed at the browser.
-
34. The computer readable medium of claim 26, further comprising instructions for performing the step of receiving said commit transaction command in the form of a URL at said cartridge execution engine in response to selection of a control associated with a tag of a Web page displayed at the browser.
-
35. The computer readable medium of claim 27, further comprising instructions for performing the step of receiving said rollback transaction command in the form of a URL at said cartridge execution engine in response to selection of a control associated with a tag of a Web page displayed at the browser.
-
42. The computer readable medium, of claim 11, further comprising instructions for performing the steps of:
-
prior to intercepting browser messages directed to said cartridge, storing metadata that establishes a correlation between one or more transaction commands and one or message items;
in response to intercepting browser messages directed to said cartidge, comparing the message items that are within each browser message with said metadata to determine whether a particular transaction command needs to be executed; and
if it is determined that a particular transaction command does need to be executed, including data within a transaction control message that will cause said transaction manager to perform the particular transaction command.
-
-
14. A system for processing multiple-request transactions in a stateless environment, wherein the mnultiple-request transactions involve operations specified in browser messages, the system comprising:
-
a memory;
one or more processors coupled to the memory; and
a set of computer instructions contained in the memory, the set of computer instructions including computer instructions which when executed by the one or more processors, cause the one or more processors to perform the steps of;
a cartridge execution engine intercepting browser messages directed to a cartridge;
said cartridge execution engine determining whether said browser messages are associated with transactions;
if said browser messages are associated with transactions, then said cartridge execution engine sending transaction control messages that are based on said browser messages to a transaction manager that is implemented separately from said cartridge;
said cartridge execution engine sending operation messages that are based on said browser messaes to said cartridge;
in response to said operation mnessaes from said cartridge execution engine, said cartridge perfoming the operations specified in said operation messages without the cartridge persistently maintaining state information for the multiple-request transactions to which the operations belong; and
in response to said transaction control messages from said cartridge execution engine, said transaction manager causing the operations specified in said operation messages that are performed by said cartridge as part of the multiple-request transactions to be either committed or rolled back as an atomic unit of work. - View Dependent Claims (15, 16, 36, 37, 38, 39, 40, 43)
obtaining a URL that is associated with a particular browser message; and
using the URL associated with the particular browser message to determine the state of a transaction that is associate with the particular browser message.
-
-
36. The system of claim 14, wherein the step of causing the operations specified in said operation messages to be committed includes the step of said transaction manager sending commit messages to one or more database servers, wherein the commit messages cause said one or more database servers to commit changes associated with said multiple-request transactions as an atomic unit of work.
-
37. The system of claim 14, wherein the step of causing operations specified in said operation messages to be rolled back includes the step of said transaction manager sending rollback messages to one or more database servers, wherein the rollback messages cause said one or more database servers to roll back changes associated with said multiple-request transactions as an atomic unit of work.
-
38. The system of claim 14, wherein
the step of said cartridge execution engine intercepting browser messages includes the step of said cartridge execution engine intercepting browser messages that include a begin transaction command; - and
in response to said cartridge execution engine receiving a browser message that includes a begin transaction command, said cartridge execution engine sending a transaction control message to said transaction manager to cause said transaction manager to begin said transaction.
- and
-
39. The system of claim 14, wherein
the step of said cartridge execution engine intercepting browser messages includes the step of said cartridge execution engine intercepting browser messages that include a commit transaction command; - and
in response to said cartridge execution engine receiving a browser message that includes a commit transaction command, said cartridge execution engine sending a transaction control message to said transaction manager to cause said transaction manager to commit said transaction.
- and
-
40. The system of claim 14, wherein
the step of said cartridge execution engine intercepting browser messages includes the step of said cartridge execution engine intercepting browser messages that include a rollback transaction command; - and
in response to said cartridge execution engine receiving a browser message that includes a rollback transaction command, said cartridge execution engine sending a transaction control message to said transaction manager to cause said transaction manager to roll back said transaction.
- and
-
43. The system of claim 14, further comprising the steps of:
-
prior to intercepting browser messages directed to said cartridge, storing metadata that establishes a correlation between one or more transaction commands and one or more message items;
in response to intercepting browser messages directed to said cartridge, comparing the message items that are within each browser message with said metadata to determine whether a particular transaction command needs to be executed; and
if it is determined that a particular transaction command does need to be executed, including data within a transaction control message that will cause said transaction manager to perform the particular transaction command.
-
-
44. A method for executing a transaction that involves a series of operations, the method comprising the steps of:
-
registering said transaction by storing metadata that establishes a mapping between transactions commands and message items;
receiving a series of browser messages that request performance of said series of operations;
in response to said series of browser messages, executing said series of operations as an atomic unit of work; and
determining when to begin, commit and roll back said atomic unit of work based on message items in said series of browser messages and said metadata. - View Dependent Claims (45, 46, 47, 48)
-
Specification