Claims
- 1. A method for generating a workflow, comprising:
displaying a plurality of graphical user interfaces (GUI) panels through which a user is capable of defining nodes of a workflow and associating at least one action and user with each node, wherein the defined associated user performs the associated action at the node when executing the workflow, and wherein multiple nodes define actions that process at least one object that is routed through multiple nodes of the workflow; generating from information entered into the GUI panels a workflow model including the nodes and workflow defined by the user through the GUI panels that process the at least one object; transforming the workflow model into a workflow definition language (WDL) file; and transferring the WDL file to a workflow server, wherein the workflow server interacts with a database to implement the workflow model defined in the WDL file in the database.
- 2. The method of claim 1, wherein the workflow definition language (WDL) comprises the FlowMark Definition Language (FDL).
- 3. The method of claim 1, wherein one displayed GUI panel illustrates a layout of the workflow including graphical representations of nodes and paths between the nodes to enable the user to manipulate instances of the graphical representations of the nodes and paths in the work flow within the GUI panel to design a layout of the nodes of the workflow.
- 4. The method of claim 3, wherein at least one graphical representation represents a work node, wherein for each graphical representation of the work node added to the GUI panel, further comprising:
displaying a GUI panel including fields in which the user associates the at least one user and action with the work node.
- 5. The method of claim 3, wherein at least one graphical representation represents a user exit node, wherein for each graphical representation of the user exit node added to the GUI panel, further comprising:
displaying a GUI panel including fields in which the user associates at least one action to be performed in the background, wherein the workflow proceeds to the next node while the associated at least one background action is performed.
- 6. The method of claim 5, wherein the background action comprises a call to an application to perform an action with respect to the object.
- 7. The method of claim 1, further comprising:
receiving a request by one user associated with one node to access the node when no other user is accessing the node; granting the user requesting access to the node access to the node to perform the action associated with the node; locking the node to prevent other users associated with the node from accessing the node; and releasing the lock on the node when the user granted access to the node completes the action associated with the node, wherein other users can access the node after the lock is released.
- 8. The method of claim 1, wherein if multiple nodes lead to one node in the workflow, then the workflow server when executing one instance of the workflow only proceeds to the node to which multiple nodes connect when the multiple nodes complete processing.
- 9. The method of claim 1, wherein the at least one object routed through the nodes for processing comprises at least one electronic document that is modified by users and routed through the nodes of the workflow.
- 10. The method of claim 1, wherein the object processed at the nodes is included in a work packet, wherein the work packet is capable of including multiple objects, further comprising:
receiving modifications to at least one object in the work packet by one user performing actions associated with one node, wherein multiple users perform actions at different nodes to process objects in the work packet routed through the nodes.
- 11. The method of claim 10, further comprising:
receiving at least one additional object to add to the work packet from at least one user performing actions from at least one node, wherein the work packet, including any added objects, is routed through the nodes of the workflow.
- 12. The method of claim 10, wherein the objects in the work packet are capable of comprising documents, images, sound files, video files, and application data.
- 13. The method of claim 10, wherein multiple users at different nodes may concurrently process objects in the work packet.
- 14. A system for generating a workflow, comprising:
a database; a workflow server capable of interacting with the database; a computer readable medium in communication with the workflow server; means for displaying a plurality of graphical user interfaces (GUI) panels through which a user is capable of defining nodes of a workflow and associating at least one action and user with each node, wherein the associated user performs the associated action at the node when executing the workflow, and wherein multiple nodes define actions that process at least one object that is routed through multiple nodes of the workflow; means for generating from information entered into the GUI panels a workflow model into the computer readable medium including the nodes and workflow defined by the user through the GUI panels that process the at least one object; means for transforming the workflow model into a workflow definition language (WDL) file in the computer readable medium; and means for transferring the WDL file from the computer readable medium to the workflow server, wherein the workflow server interacts with the database to implement the workflow model defined in the WDL file in the database.
- 15. The system of claim 14, wherein the workflow definition language (WDL) comprises the FlowMark Definition Language (FDL).
- 16. The system of claim 14, wherein one displayed GUI panel illustrates a layout of the workflow including graphical representations of nodes and paths between the nodes to enable the user to manipulate instances of the graphical representations of the nodes and paths in the work flow within the GUI panel to design a layout of the nodes of the workflow.
- 17. The system of claim 16, wherein at least one graphical representation indicates a work node, further comprising:
means for displaying a GUI panel including fields in which the user associates the at least one user and action with the work node for each graphical representation of the work node added to the GUI panel.
- 18. The system of claim 16, wherein at least one graphical representation indicates a user exit node, further comprising:
means for displaying a GUI panel including fields in which the user associates at least one action to be performed in the background for each graphical representation of the user exit node added to the GUI panel, wherein the workflow proceeds to the next node while the associated at least one background action is performed.
- 19. The system of claim 18, wherein the background action comprises a call to an application to perform an action with respect to the object.
- 20. The system of claim 14, further comprising:
means for receiving a request by one user associated with one node to access the node when no other user is accessing the node; means for granting the user requesting access to the node access to the node to perform the action associated with the node; means for locking the node to prevent other users associated with the node from accessing the node; and means for releasing the lock on the node when the user granted access to the node completes the action associated with the node, wherein other users can access the node after the lock is released.
- 21. The system of claim 14, wherein if multiple nodes lead to one node in the workflow, then the workflow server when executing one instance of the workflow only proceeds to the node to which multiple nodes connect when the multiple nodes complete processing.
- 22. The system of claim 14, wherein the at least one object routed through the nodes for processing comprises at least one electronic document that is modified by users and routed through the nodes of the workflow.
- 23. The system of claim 14, wherein the object processed at the nodes is included in a work packet, wherein the work packet is capable of including multiple objects, further comprising:
means for receiving modifications to at least one object in the work packet by one user performing actions associated from at least one node, wherein multiple users perform actions at different nodes to process objects in the work packet routed through the nodes.
- 24. The system of claim 23, further comprising:
means for receiving at least one additional object to add to the work packet from at least one user performing actions at least node, wherein the work packet, including any added objects, is routed through the nodes of the workflow.
- 25. The system of claim 23, wherein the objects in the work packet are capable of comprising documents, images, sound files, video files, and application data.
- 26. The system of claim 23, wherein multiple users at different nodes may concurrently process objects in the work packet.
- 27. An article of manufacture including code for generating a workflow by:
displaying a plurality of graphical user interfaces (GUI) panels through which a user is capable of defining nodes of a workflow and associating at least one action and user with each node, wherein the defined associated user performs the associated action at the node when executing the workflow, and wherein multiple nodes define actions that process at least one object that is routed through multiple nodes of the workflow; generating from information entered into the GUI panels a workflow model including the nodes and workflow defined by the user through the GUI panels that process the at least one object; transforming the workflow model into a workflow definition language (WDL) file; and transferring the WDL file to a workflow server, wherein the workflow server interacts with a database to implement the workflow model defined in the WDL file in the database.
- 28. The article of manufacture of claim 27, wherein the workflow definition language (WDL) comprises the FlowMark Definition Language (FDL).
- 29. The article of manufacture of claim 27, wherein one displayed GUI panel illustrates a layout of the workflow including graphical representations of nodes and paths between the nodes to enable the user to manipulate instances of the graphical representations of the nodes and paths in the work flow within the GUI panel to design a layout of the nodes of the workflow.
- 30. The article of manufacture of claim 29, wherein at least one graphical representation represents a work node, wherein for each graphical representation of the work node added to the GUI panel, further comprising:
displaying a GUI panel including fields in which the user associates the at least one user and action with the work node.
- 31. The article of manufacture of claim 29, wherein at least one graphical representation represents a user exit node, wherein for each graphical representation of the user exit node added to the GUI panel, further comprising: displaying a GUI panel including fields in which the user associates at least one action to be performed in the background, wherein the workflow proceeds to the next node while the associated at least one background action is performed.
- 32. The article of manufacture of claim 31, wherein the background action comprises a call to an application to perform an action with respect to the object.
- 33. The article of manufacture of claim 27, further comprising:
receiving a request by one user associated with one node to access the node when no other user is accessing the node; granting the user requesting access to the node access to the node to perform the action associated with the node; locking the node to prevent other users associated with the node from accessing the node; and releasing the lock on the node when the user granted access to the node completes the action associated with the node, wherein other users can access the node after the lock is released.
- 34. The article of manufacture of claim 27, wherein if multiple nodes lead to one node in the workflow, then the workflow server when executing one instance of the workflow only proceeds to the node to which multiple nodes connect when the multiple nodes complete processing.
- 35. The article of manufacture of claim 27, wherein the at least one object routed through the nodes for processing comprises at least one electronic document that is modified by users and routed through the nodes of the workflow.
- 36. The article of manufacture of claim 27, wherein the object processed at the nodes is included in a work packet, wherein the work packet is capable of including multiple objects, further comprising:
receiving modifications to at least one object in the work packet by one user performing actions associated with at least one node, wherein multiple users perform actions at different nodes to process objects in the work packet routed through the nodes.
- 37. The article of manufacture of claim 36, further comprising:
receiving at least one additional object to add to the work packet from at least one user performing actions from at least node, wherein the work packet, including any added objects, is routed through the nodes of the workflow.
- 38. The article of manufacture of claim 36, wherein the objects in the work packet are capable of comprising documents, images, sound files, video files, and application data.
- 39. The article of manufacture of claim 36, wherein multiple users at different nodes may concurrently process objects in the work packet.
RELATED APPLICATIONS
[0001] This application is related to the following copending and commonly assigned patent filed on the same date herewith, which are incorporated herein by reference in their entirety:
[0002] “Method, System, and Program for Using Objects In Data Stores During Execution of a Workflow”, having attorney docket no. STL920000095US1; and “Method, System, and Program for Executing a Workflow”, having attorney docket no. STL920000099US1.