Transaction processing of distributed objects with declarative transactional attributes
First Claim
1. A distributed object execution system for automatic transaction processing of server application components without explicit programming in the server application components to demarcate transaction scope, the system comprising:
- a transactional attribute setting associated with a server application component, the setting representing a particular transactional behavior applicable to the server application component in the distributed object execution system, the particular transactional behavior being selected from a group of possible transactional behaviors; and
a transaction service for causing work performed by the server application component to be processed in accordance with the particular transactional behavior represented by the transactional attribute.
2 Assignments
0 Petitions
Accused Products
Abstract
A component-based framework includes system services and component integration interfaces that provide a run-time environment which automatically processes work of component-based server applications in transactions according to transactional rules or behaviors declaratively specified to apply to the respective components. A transaction attribute is declaratively specified for a server application component that represents whether the component requires execution in a transaction. When a client requests creation of a server application component without having first initiated a transaction and the component'"'"'s transaction attribute indicates a transaction is required, the framework automatically initiates a transaction in which to run the server application component. The framework also completes the automatically initiated transaction upon receiving an indication from the server application component that its transactional work is complete.
108 Citations
61 Claims
-
1. A distributed object execution system for automatic transaction processing of server application components without explicit programming in the server application components to demarcate transaction scope, the system comprising:
-
a transactional attribute setting associated with a server application component, the setting representing a particular transactional behavior applicable to the server application component in the distributed object execution system, the particular transactional behavior being selected from a group of possible transactional behaviors; and
a transaction service for causing work performed by the server application component to be processed in accordance with the particular transactional behavior represented by the transactional attribute. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
an administrative utility having a user interface control for specifying the transactional attribute setting on a declarative basis at deployment of the server application component on the distributed object execution system.
-
-
3. The distributed object execution system of claim 1 further comprising:
-
an assembly tool for assembling the -server application component with other components into a collective deployment unit; and
a user interface of the assembly tool accepting user input to specify the transactional attribute setting on a declarative basis at assembly of the server application component into the collective deployment unit.
-
-
4. The distributed object execution system of claim 1 further comprising:
a server application component editor for writing a declarative statement in the server application component to specify the transactional attribute setting on a declarative basis.
-
5. The distributed object execution system of claim 1 wherein the possible transactional behaviors include a requires transaction behavior to require processing of the server application component'"'"'s work in a client'"'"'s transaction, the distributed object execution system further comprising:
the transaction service operative when the transactional attribute setting represents the requires transaction behavior and a client of the server application component has a transaction to cause work performed by the server application component to be processed within a scope of the client'"'"'s transaction.
-
6. The distributed object execution system of claim 1 wherein the possible transactional behaviors include a requires transaction behavior to require processing of the server application component'"'"'s work in a transaction, the distributed object execution system further comprising:
-
the transaction service operative when the transactional attribute setting represents the requires transaction behavior and a client of the server application component has a transaction to cause work performed by the server application component to be processed within a scope of the client'"'"'s transaction; and
the transaction service operative when the transactional attribute setting represents the requires transaction behavior and a client of the server application component is without any transaction to cause work performed by the server application component to be processed within a scope of a new transaction.
-
-
7. The distributed object execution system of claim 1 wherein the possible transactional behaviors include a requires new transaction behavior to require processing of the server application component'"'"'s work in a new transaction, the distributed object execution system further comprising:
the transaction service operative when the transactional attribute setting represents the requires new transaction behavior to cause work performed by the server application component to be processed within a scope of a new transaction regardless of whether a client of the server application component has a transaction.
-
8. The distributed object execution system of claim 1 wherein the possible transactional behaviors include a supports transaction behavior to permit processing of the server application component'"'"'s work in a client'"'"'s transaction, the distributed object execution system further comprising:
the transaction service operative when the transactional attribute setting represents the supports transaction behavior to cause work performed by the server application component to be processed within a scope of a client'"'"'s transaction whenever a client of the server application component has a transaction.
-
9. The distributed object execution system of claim 1 wherein the possible transactional behaviors include a no transaction behavior to prohibit processing of the server application component'"'"'s work in any transaction, the distributed object execution system further comprising:
the transaction service operative when the transactional attribute setting represents the no transaction behavior to cause work performed by the server application component to be processed outside any transaction even when a client of the server application component has a transaction.
-
10. A method of declaratively managing transactional work of server application objects in distributed object computing, the method comprising:
-
declaratively specifying a transactional rule applicable to a class of object in a server application; and
at run-time of the server application, processing work of an object of the class in transactions according to the specified transactional rule. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
deploying the server application on a networked computer; and
performing the step of declaratively specifying the transactional rule on deployment of the server application on the networked computer.
-
-
12. The method of claim 10 further comprising:
-
displaying a user interface control of an object administration utility for setting a transactional attribute associated with the class, the transactional attribute designating the transactional rule applicable to the class; and
setting a value of the transactional attribute in response to manipulation of the user interface control by a user to thereby declaratively specify the transactional rule.
-
-
13. The method of claim 10 further comprising:
-
assembling the class with a collection of other classes of objects in the server application into a package; and
performing the step of declaratively specifying the transactional rule at assembly time of the package.
-
-
14. The method of claim 10 wherein the transactional rule is selected from a group including a requires transaction rule to require processing work of the class of objects within a client'"'"'s transaction, the method further comprising:
when processing work of the object at run-time where the requires transaction rule has been declaratively specified as applicable to the class and a client of the class has a transaction, processing the object'"'"'s work as part of the client'"'"'s transaction.
-
15. The method of claim 14 further comprising:
when processing work of the object at run-time where the requires transaction rule has been declaratively specified as applicable to the class and a client of the class is without any transaction, processing the object'"'"'s work as part of a new transaction.
-
16. The method of claim 10 wherein the transactional rule is selected from a group including a requires transaction rule to require processing work of the class of objects within a transaction, the method further comprising:
when processing work of the object at run-time where the requires transaction rule has been declaratively specified as applicable to the class and a client of the class has a transaction, processing the object'"'"'s work as part of the client'"'"'s transaction.
-
17. The method of claim 16 further comprising:
when processing work of the object at run-time where the requires transaction rule has been declaratively specified as applicable to the class and a client of the class is without any transaction, processing the object'"'"'s work as part of a new transaction.
-
18. The method of claim 10 wherein the transactional rule is selected from a group including a requires new transaction rule to require processing work of the class of objects within a new transaction, the method further comprising:
when processing work of the object at run-time where the requires new transaction rule has been declaratively specified as applicable to the class, processing the object'"'"'s work as part of a new transaction whether or not a client of the object has a transaction.
-
19. The method of claim 10 wherein the transactional rule is selected from a group including a supports transaction rule to support processing work of the class of objects within a client'"'"'s transaction, the method further comprising:
when processing work of the object at run-time where the supports transaction rule has been declaratively specified as applicable to the class, processing the object'"'"'s work as part of a client'"'"'s transaction whenever the client of the object has a transaction.
-
20. The method of claim 10 wherein the transactional rule is selected from a group including a no transaction rule to prohibit processing work of the class of objects within a transaction, the method further comprising:
when processing work of the object at run-time where the no transaction rule has been declaratively specified as applicable to the class, processing the object'"'"'s work outside of any transaction even if a client of the object has a transaction.
-
21. A computer-readable data storage medium having computer-executable program code stored thereon, the program codes when executed on a computer causing the computer to perform a method of declaratively managing transactional work of server application objects in distributed object computing;
- the method comprising;
storing a declaratively specified attribute in association with a class of object in a server application, said attribute denoting a transactional rule applicable to the class; and
at run-time of the server application, processing work of an object of the class in transactions according to the specified transactional rule. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
displaying a user interface control for receiving user input to set the transactional attribute associated with the class on deployment of the object on the computer; and
setting a value of the transactional attribute in response to manipulation of the user interface control by a user to thereby declaratively specify the transactional rule.
- the method comprising;
-
23. The computer-readable data storage medium of claim 21 wherein the method further comprises:
-
assembling the class with a collection of other classes of objects in the server application into a package; and
displaying a user interface control for receiving user input to set the transactional attribute associated with the class at assembly time of the package; and
setting a value of the transactional attribute in response to manipulation of the user interface control by a user to thereby declaratively specify the transactional rule.
-
-
24. The computer-readable storage medium of claim 21 wherein the transactional rule is selected from a group including a requires transaction rule to require processing work of the class of objects within a client'"'"'s transaction, the method further comprising:
when processing work of the object at run-time where the stored attribute denotes the requires transaction rule has been declaratively specified as applicable to the class and a client of the class has a transaction, processing the object'"'"'s work as part of the client'"'"'s transaction.
-
25. The computer-readable data storage medium of claim 24 wherein the method further comprises:
when processing work of the object at run-time where the stored attribute denotes the requires transaction rule has been declaratively specified as applicable to the class and a client of the class is without any transaction, processing the object'"'"'s work as part of a new transaction.
-
26. The computer-readable data storage medium of claim 21 wherein the transactional rule is selected from a group including a requires transaction rule to require processing work of the class of objects within a transaction, the method further comprising:
when processing work of the object at run-time where the stored attribute denotes the requires transaction rule has been declaratively specified as applicable to the class and a client of the class has a transaction, processing the object'"'"'s work as part of the client'"'"'s transaction.
-
27. The computer-readable data storage medium of claim 26 wherein the method further comprises:
when processing work of the object at run-time where the stored attribute denotes the requires transaction rule has been declaratively specified as applicable to the class and a client of the class is without any transaction, processing the object'"'"'s work as part of a new transaction.
-
28. The computer-readable data storage medium of claim 21 wherein the transactional rule is selected from a group including a requires new transaction rule to require processing work of the class of objects within a new transaction, the method further comprising:
when processing work of the object at run-time where the stored attributed denotes the requires new transaction rule has been declaratively specified as applicable to the class, processing the object'"'"'s work as part of a new transaction whether or not a client of the object has a transaction.
-
29. The method of claim 21 wherein the transactional rule is selected from a group including a supports transaction rule to support processing work of the class of objects within a client'"'"'s transaction, the method further comprising:
when processing work of the object at run-time where the stored attribute denotes the supports transaction rule has been declaratively specified as applicable to the class, processing the object'"'"'s work as part of a client'"'"'s transaction whenever the client of the object has a transaction.
-
30. The method of claim 21 wherein the transactional rule is selected from a group including a no transaction rule to prohibit processing work of the class of objects within a transaction, the method further comprising:
when processing work of the object at run-time where the stored attribute denotes the no transaction rule has been declaratively specified as applicable to the class, processing the object'"'"'s work outside of any transaction even if a client of the object has a transaction.
-
31. A computer-readable data storage medium having a server application objects package stored thereon for deploying of the server application onto a computer with an automatic transaction processing system for automatically executing server application objects in transactions according to transactional rules, the server application objects package comprising:
-
program code for a collection of server application objects; and
declarative configuration attributes associated with the server application objects, the attributes comprising a transactional attribute denoting a transactional rule applicable to a particular one of the server application objects whereby the automatic transaction processing system executes the particular server application object of the collection in accordance with the transactional rule denoted by the transactional attribute of the particular server application object. - View Dependent Claims (32, 33, 34, 35)
-
-
36. An automatic transaction processing method comprising:
-
associating a transaction attribute with an object, the transaction attribute denoting a transaction processing mode applicable to the object;
commencing a new transaction for processing work of the object in accordance with the transaction processing mode;
processing work of the object within the new transaction; and
upon completion of the object'"'"'s work, causing completion of the new transaction to commence. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A method of automatic transaction processing for distributed object server applications, comprising:
-
at execution of an object, checking a transaction attribute associated with the object, the transaction attribute indicating a transactional rule applicable to the object; and
processing work of the object within a transaction according to the transactional rule. - View Dependent Claims (46, 47, 48, 49)
-
-
50. A computer-readable data storage medium having computer-executable program code stored thereon, where the program code comprises:
-
code for checking, at execution of an object, a transaction attribute associated with the object, the transaction attribute indicating a transactional rule applicable to the object; and
code for processing work of the object within a transaction according to the transactional rule. - View Dependent Claims (51, 52, 53, 54)
-
-
55. In a computer system, a method of controlling an execution environment for distributed object computing to provide automatic transaction processing, the method comprising:
-
defining a group of transaction attributes to represent transactional rules applied by the execution environment for automatically managing transactional work by an object being executed within the execution environment; and
assigning a desired transaction attribute selected from the group to an object whereby the execution environment automatically manages transactional work by the object according to the transactional rule represented by the object'"'"'s transaction attribute upon execution of the object within the execution environment. - View Dependent Claims (56, 57, 58, 59)
-
-
60. A distributed object computing system for automatic transaction processing, the system comprising:
-
an object configuration database for storing transaction attributes associated to objects to be executed in the system, the transaction attributes notationally representing transactional rules applicable to the objects for processing work of the objects on a transactional basis; and
an object execution service for causing an object to be executed on the system in accordance with the transactional rule represented by the object'"'"'s associated transaction attribute. - View Dependent Claims (61)
-
Specification