Systems and methods for an enterprise services framework using a state model
First Claim
Patent Images
1. A method, performed by a processor, for saving business objects comprising:
- receiving a modified business object, wherein the business object comprises a purchase order business object or an invoice business object;
determining a set of related business objects traceable from the modified business object, wherein the related business objects are traceable from the modified business object based on a parent-child association, an association between datasets of the same type, and an association to other business objects;
creating a transactional buffer to temporarily store local copies of the modified business object and the set of related business objects;
modifying the local copies of the set of related business objects based on a modification of the modified business object each time the modified business object is received;
determining whether both the modified business object and the modified set of related business objects can be saved, wherein determining whether both can be saved comprises;
sending a pre-commit command to at least one database manager;
receiving a response from the at least one database manager; and
analyzing the response;
saving both the modified business object and the modified set of related business objects upon a determination that both can be saved;
triggering a failure processing routine upon a determination that both the modified business object and the modified set of related business objects cannot be saved;
determining whether the modifications to the modified business object require a new business object to be created; and
creating a new business object based on the determination of whether the modifications to the modified business object require a new business object to be created.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments consistent with the principles of the invention check, before the data underlying a changed primary object is persistently save, for related objects whose data is also affected by the change. The related objects may be two or more degrees removed from the primary object. The changed primary object and all its changed related objects are then persistently saved together, so that the saved data is consistent across the related objects. Embodiments consistent with the principles of the invention also provide a state model for controlling access to services by clients and for making services available by servers.
17 Citations
19 Claims
-
1. A method, performed by a processor, for saving business objects comprising:
-
receiving a modified business object, wherein the business object comprises a purchase order business object or an invoice business object; determining a set of related business objects traceable from the modified business object, wherein the related business objects are traceable from the modified business object based on a parent-child association, an association between datasets of the same type, and an association to other business objects; creating a transactional buffer to temporarily store local copies of the modified business object and the set of related business objects; modifying the local copies of the set of related business objects based on a modification of the modified business object each time the modified business object is received; determining whether both the modified business object and the modified set of related business objects can be saved, wherein determining whether both can be saved comprises; sending a pre-commit command to at least one database manager; receiving a response from the at least one database manager; and analyzing the response; saving both the modified business object and the modified set of related business objects upon a determination that both can be saved; triggering a failure processing routine upon a determination that both the modified business object and the modified set of related business objects cannot be saved; determining whether the modifications to the modified business object require a new business object to be created; and creating a new business object based on the determination of whether the modifications to the modified business object require a new business object to be created. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system including a processor and a memory for saving business objects comprising:
-
means for receiving a modified business object, wherein the business object comprises a purchase order business object or an invoice business object; means for retrieving a local copy of the modified business object to temporarily store modified data; means for determining a set of related business objects traceable from the modified business object, wherein the related business objects are traceable from the modified business object based on a parent-child association, an association between datasets of the same type, and an association to other business objects; means for retrieving local copies of the set of related business objects to temporarily store modified data; means for modifying the local copies of the set of related business objects based on a modification of the modified business object each time the modified business object is received; means for determining whether both the modified business object and the modified set of related business objects can be saved, wherein the means for determining whether both can be saved comprises; means for sending a pre-commit command to at least one database manager; means for receiving a response from the at least one database manager; and means for analyzing the response; means for saving both the modified business object and the modified set of related business objects upon a determination that both can be saved; means for triggering a failure processing routine upon a determination that both the modified business object and the modified set of related business objects cannot be saved; means for determining whether the modifications to the modified business object require a new business object to be created; and means for creating a new business object based on the determination of whether the modifications to the modified business object require a new business object to be created. - View Dependent Claims (10, 11, 12)
-
-
13. A non-transitory computer-readable storage medium encoded with a computer program including instructions for performing a method for saving business objects, the method comprising:
-
receiving a modified business object, wherein the business object comprises a purchase order business object or an invoice business object; retrieving a local copy of the modified business object to temporarily store modified data; determining a set of related business objects traceable from the modified business object, wherein the related business objects are traceable from the modified business object based on a parent-child association, an association between datasets of the same type, and an association to other business objects; retrieving local copies of the set of related business objects to temporarily store modified data; modifying the local copies of the set of related business objects based on a modification of the modified business object each time the modified business object is received; determining whether both the modified business object and the modified set of related business objects can be saved, wherein determining whether both can be saved comprises; sending a pre-commit command to at least one database manager; receiving a response from the at least one database manager; and analyzing the response; saving both the modified business object and the modified set of related business objects upon a determination that both can be saved; triggering a failure processing routine upon a determination that both the modified business object and the modified set of related business objects cannot be saved; determining whether the modifications to the modified business object require a new business object to be created; and creating a new business object based on the determination of whether the modifications to the modified business object require a new business object to be created. - View Dependent Claims (14, 15, 16)
-
-
17. A server for saving business objects comprising:
-
a receiver that receives a save request specifying a business object to be saved, wherein the business object comprises a purchase order business object or an invoice business object; a processor, communicatively connected to the receiver, adapted for; entering a software-controlled state in which receiving a service request will trigger a failure processing routine; identifying a set of related business objects affected by data in the business object to be saved, wherein the related business objects are affected by data in the business object to be saved based on a parent-child association, an association between datasets of the same type, and an association to other business objects; each time the business object to be saved is received, modifying data in the set of related business objects to be consistent with the data in the business object to be saved; determining whether the data in the business object to be saved requires a new business object to be created; and creating a new business object based on the determination of whether the data in the business object to be saved requires a new business object to be created; a transmitter, communicatively connected to the processor, that; sends a plurality of pre-save checks to at least one database manager for the data in the business object to be saved and the data in the set of related business objects; sends a command to commit the data in the business object to be saved and a command to commit the data in the set of related business objects to at least one database controlled by the at least one database manager; and transmits a completion notification to an entity that sent the save request specifying the business object to be saved; wherein the processor is further adapted to exit the state in which receiving a service request will trigger a failure processing routine after the commands to commit are sent.
-
-
18. A system including a processor and a memory for saving business objects comprising:
-
means for receiving a save request specifying a business object to be saved, wherein the business object comprises a purchase order business object or an invoice business object; means for entering a software-controlled state in which receiving a service request will trigger a failure processing routine; means for identifying a set of related business objects affected by data in the business object to be saved, wherein the related business objects are affected by data in the business object to be saved based on a parent-child association, an association between datasets of the same type, and an association to other business objects; means for modifying data in the set of related business objects to be consistent with the data in the business object to be saved each time the save request is received; means for determining whether the data in the business object to be saved requires a new business object to be created; means for creating a new business object based on the determination of whether the data in the business object to be saved requires a new business object to be created; means for sending a plurality of pre-save checks to at least one database manager for the data in the business object to be saved and the data in the set of related business objects; means for committing the data in the business object to be saved and the data in the set of related business objects to at least one database controlled by the at least one database manager; means for transmitting a completion notification to an entity that sent the save request specifying the business object to be saved; and means for exiting the software-controlled state in which receiving a service request will trigger a failure processing routine.
-
-
19. A non-transitory computer-readable storage medium encoded with a computer program including instructions for performing a method for saving business objects, the method comprising:
-
receiving a save request specifying a business object to be saved, wherein the business object comprises a purchase order business object or an invoice business object; entering a software-controlled state in which receiving a service request will trigger a failure processing routine; identifying a set of related business objects affected by data in the business object to be saved, wherein the related business objects are affected by data in the business object to be saved based on a parent-child association, an association between datasets of the same type, and an association to other business objects; modifying data in the set of related business objects to be consistent with the data in the business object to be saved each time the modified business object is received; determining whether the data in the business object to be saved requires a new business object to be created; creating a new business object based on the determination of whether the data in the business object to be saved requires a new business object to be created; sending a plurality of pre-save checks to at least one database manager for the data in the business object to be saved and the data in the set of related business objects; committing the data in the business object to be saved and the data in the set of related business objects to at least one database controlled by the at least one database manager; transmitting a completion notification to an entity that sent the save request specifying the business object to be saved; and exiting the software-controlled state in which receiving a service request will trigger a failure processing routine.
-
Specification