Publishing and deploying business processes
Publishing a business process includes accessing a business process that includes activities, where each activity is associated with an abstract role. Organizational roles are accessed. Each abstract role is matched with an organizational role. The business process is published to a data repository by creating a plurality of object classes representing the business process having the matched organizational roles.
1 . A method for separating the publishing and deployment of a business process, said method comprising:
accessing a business process comprising a plurality of activities, each activity associated with an abstract role and including a sequence of one or more tasks;
accessing a plurality of organizational roles;
matching each abstract role with an organizational role;
publishing the business process to a data repository wherein publishing the business process includes creating a plurality of object classes representing the business process having the matched organizational roles, compiling the object classes and storing the compiled object classes in the data repository;
inspecting and testing the published business process in the data repository, without deploying the business process to an execution engine;
determining whether the business process is ready for deployment in a production environment with actual users;
deploying the business process to the execution engine upon determining that the business process is ready for deployments;
executing a task of at least one activity of the business process;
determining by the execution engine, that the task of the business process has failed; and
executing a compensation task that is associated with said task if the task has failed such that execution of the compensation task attains a steady and consistent state in the business process.
2 - 3 . (canceled)
4 . The method of claim 1 , wherein the object classes comprise a Java class.
5 . The method of claim 1 , wherein deploying the business process further includes:
specifying an organizational unit associated with the business process, the organizational unit associated with a set of users;
deploying the business process; and
providing the set of users access to the business process.
6 . The method of claim 1 , wherein deploying the business process further includes:
specifying an execution engine associated with the business process; and
deploying the business process by notifying the execution engine of the business process.
7 . The method of claim 1 , wherein deploying the business process further includes:
specifying an execution engine associated with the business process;
deploying the business process;
transmitting an instance of the business process to the execution engine; and
executing the instance using the execution engine.
8 . (canceled)
9 . A system for publishing a business process, comprising:
a first data repository operable to:
store a business process comprising a plurality of activities, each activity associated with an abstract role and including one or more tasks; and
store a plurality of organizational roles;
an organizational settings module coupled to the first data repository and operable to match each abstract role with an organizational role; and
a process designer coupled to the first data repository and operable to publish the business process to a second data repository by creating a plurality of object classes representing the business process having the matched organizational roles, compiling the object classes and storing the compiled object classes in the data repository;
a publish screen used for publishing the business process; and
an execution engine for executing an instance of the business process once the published business process has been inspected and tested wherein the execution engine determines that a task of the instance of the business process has failed and executes a compensation task associated with said task in order to attain a steady and consistent state within the business process.
10 - 11 . (canceled)
12 . The system of claim 9 , wherein the object classes comprise a Java class.
13 . The system of claim 9 , wherein:
the organizational settings module is operable to define an organizational unit associated with the business process, the organizational unit associated with a set of users, the set of users granted access to the business process if deployed.
14 . The system of claim 9 , wherein the process designer is operable to:
specify an execution engine associated with the business process; and
deploy the business process by notifying the execution engine of the business process.
15 . (canceled)
16 . The system of claim 9 , wherein the organizational settings module is operable to:
display a screen for generating a request;
receive the request describing the abstract roles and the organizational roles; and
match each abstract role with an organizational role in response to the request.
17 . Software for publishing a business process, the software embodied in a medium and when executed is operable to:
retrieve a business process comprising a plurality of activities, each activity associated with an abstract role and including one or more tasks;
retrieve a plurality of organizational roles;
match each abstract role with an organizational role;
publishing the business process to a data repository wherein publishing the business process includes creating a plurality of object classes representing the business process having the matched organizational roles, compiling the object classes and storing the compiled object classes in the data repository;
inspect and test the published business process in the data repository, without deploying the business process to an execution engine;
determine whether the business process is ready for deployment in a production environment with actual users;
deploy the business process to the execution engine upon determining that the business process is ready for deployments
executing a task of at least one activity of the business process;
determining by the execution engine that the task of the business process has failed; and
executing a compensation task that is associated with said task if the task has failed such that execution of the compensation task attains a steady and consistent state in the business process.
18 - 19 . (canceled)
20 . The software of claim 17 , wherein the object classes comprise a Java class.
21 . The software of claim 17 , operable to:
define an organizational unit associated with the business process, the organizational unit associated with a set of users;
deploy the business process; and
provide the set of users access to the business process.
22 . The software of claim 17 , operable to:
define an execution engine associated with the business process; and
deploy the business process by notifying the execution engine of the business process.
23 . The software of claim 17 , operable to:
define an execution engine associated with the business process;
deploy the business process;
transmit an instance of the business process to the execution engine; and
execute the instance using the execution engine.
24 . (canceled)
25 . A system for publishing a business process, the system comprising:
a first data repository operable to:
store a business process comprising a plurality of activities, each activity associated with an abstract role; and
store a plurality of organizational roles;
an organizational settings module coupled to the first data repository and operable to:
match each abstract role with an organizational role; and
define an organizational unit associated with the business process, the organizational unit associated with a set of users;
a process designer coupled to the first data repository and operable to:
generate a publish screen used to publish the business process;
publish the business process to a second data repository such that the published business process is tested before deploying it to an execution engine, wherein publishing the business process includes performing the following:
creating a plurality of Java classes representing the business process having the matched organizational roles;
compiling the Java classes; and
storing the Java classes in the second data repository;
deploy the business process by performing the following:
defining an execution engine associated with the business process;
notifying the execution engine of the business process; and
providing the set of users access to the business process, the execution engine coupled to the process designer and operable to execute an instance of the business process according to the Java classes wherein the execution engine determines that a task of the instance of the business process has failed and executes a compensation task associated with said task in order to attain a steady and consistent state within the business process.
26 . The method of claim 1 , wherein publishing the business process further includes:
generating business process metadata and storing the business process metadata in the repository.
27 . The method of claim 1 , wherein generating a publish screen further includes:
generating a variation window used to show the variation of the published business process per specific organizational unit.
28 . The method of claim 1 , wherein generating a publish screen further includes:
generating a version window that tracks the number of times the business process has been published to the data repository.
29 . (canceled)