Systems and methods for providing a status management service
Systems and methods are provided for implementing a service-oriented architecture. The service-oriented architecture may include a plurality of foundation business objects and at least one dependent business object for providing a status management service for the plurality of foundation business objects
1 . A data processing system for executing instructions stored on computer-readable media and having a service-oriented architecture, said data processing system comprising:
a plurality of foundation business objects; and
at least one dependent business object for providing a status management service for the plurality of foundation business objects.
2 . The data processing system of claim 1 , further comprising:
means for instantiating one of the plurality of foundation business objects; and
means for instantiating at least one dependent business object.
3 . The data processing system of claim 2 , said plurality of foundation business objects further comprising an interface, wherein said interface comprises:
means for determining a status of the instantiated foundation business object from the instantiated dependent business object;
means for setting the status of the instantiated foundation business object; and
means for signaling that the status of the instantiated foundation business object has changed.
4 . The data processing system of claim 3 , said dependent business object further comprising:
means for determining a default status of the instantiated foundation business object;
means for determining the possible statuses of the instantiated foundation business object;
means for determining the possible actions that can be performed on the instantiated foundation business object;
means for checking if execution of a given action on the instantiated foundation business object is allowed;
means for setting the status of the instantiated foundation business object;
means for determining the status of the instantiated foundation business object; and
means for saving the actual status of the instantiated foundation business object.
5 . The data processing system of claim 1 , further comprising a configuration component for configuring the status management service, wherein said configuration component comprises:
means for storing first data descriptive of actions that can be performed on at least some of the foundation business objects.
6 . The data processing system of claim 5 , said configuration component further comprising:
means for storing second data descriptive of allowed statuses of at least some of the foundation business objects and allowed actions that are assigned to the allowed statuses.
7 . The data processing system of claim 6 , wherein said second data describes an order of the statuses.
8 . The data processing system of claim 7 , said configuration component further comprising:
means for storing third data describing allowed statuses assigned to a type of business object.
9 . The data processing system of claim 5 , said configuration component further comprising:
means for storing second data describing statuses of at least some of the foundation business objects;
means for storing third data describing business object types;
means for storing fourth data describing allowed statuses for each said type of business object; and
means for storing fifth data describing allowed actions for each of said statuses.
10 . The data processing system of claim 5 , said configuration component further comprising:
means for storing allowed statuses depending on business object keys.
11 . The data processing system of claim 1 , further comprising:
a main memory for storing a temporary status of an instantiated foundation business object; and
a database table for storing the status of the instantiated foundation business object, wherein the temporary status is persistently stored in the database in response to a command.
12 . The data processing system of claim 5 , further comprising:
at least one application program, said application program being adapted to obtain allowed actions that can be performed on an instantiated foundation business object from said configuration component.
13 . The data processing system of claim 1 , further comprising:
a user interface for displaying the statuses of instantiated foundation business objects.
14 . The data processing system of claim 13 , said user interface further comprising:
means for providing a context menu for indicating allowed actions that can be performed on an instantiated foundation business object.
15 . A data processing method for a service-oriented architecture, the service-oriented architecture comprising a plurality of foundation business objects, and a dependent business object for providing a status management service for the plurality of foundation business objects, the method comprising:
instantiating one of the foundation business objects;
initiating the instantiation of the dependent business object by the instantiated one of the foundation business objects; and
receiving a status by the instantiated one of the foundation business objects from the instantiated dependent business object.
16 . The data processing method of claim 15 , further comprising:
getting allowed statuses from the instantiated dependent business object for the instantiated foundation business object; and
changing the status of the instantiated foundation business object to one of the allowed statuses.
17 . The data processing method of claim 15 , further comprising:
obtaining allowed actions that can be performed on the instantiated foundation business object from the instantiated dependent business object; and
executing one of the allowed actions by an application program.
18 . The data processing method of claim 15 , further comprising:
checking whether an action to be performed on the instantiated foundation business object is allowed based on the instantiated dependent business object.
19 . The data processing method of claim 15 , further comprising:
temporarily storing an actual status of the instantiated foundation business object in a volatile memory; and
persistently storing the actual status in a database in response to a command.
20 . A computer program product comprising executable instructions for performing the method of claim 15 .