Claims
- 1. A programmed computer system for generating and controlling workflow processes, the system comprising:
a workflow engine executed by a first computer based system for the definition and enactment of workflow processes; a client executed by a second computer based system coupled to said workflow engine; one or more services; and an adapter for providing a communication mechanism between the workflow engine and said one of one or more services, the adapter having a fixed interface that is an object oriented, platform independent and language independent interface, enabling the workflow engine to communicate to a common interface, thereby making the workflow engine independent of the service and enabling a service to be changed without any code changes to the workflow engine.
- 2. The programmed computer system of claim 1 wherein said client executes in a web browser.
- 3. The programmed computer system of claim 1 wherein said workflow engine is implemented using the JAVA programming language.
- 4. The programmed computer system of claim 1 wherein one of one or more services is a database management system and the adapter provides a communication mechanism between the workflow engine and the database management system.
- 5. The programmed computer system of claim 1 wherein one of one or more services is a document management system and the adapter provides a communication mechanism between the workflow engine and the document management system.
- 6. The programmed computer system of claim 5 wherein the adapter functions include:
creating a document management service object for a specified user; and destroying a document management service object.
- 7. The programmed computer system of claim 6 wherein the adapter functions further includes:
returning a list of documents/directories for a specified path; checking out a specified file for read or write; and checking in the specified file.
- 8. The programmed computer system of claim 6 wherein the adapter functions further includes:
returning a path of an attachment directory where files are checked out for read mode; and returning a path of an attachment directory where files are checked out for write mode.
- 9. The programmed computer system of claim 1 wherein one of one or more services is a directory service and the adapter provides a communication mechanism between the workflow engine and the directory service.
- 10. The programmed computer system of claim 9 wherein the adapter functions include:
creating a directory session object for a specified user; and destroying a directory session object.
- 11. The programmed computer system of claim 10 wherein the adapter functions further includes:
returning a list of users for a specified group; returning the list of users in a specified group as one long string; and returning a list of groups.
- 12. The programmed computer system of claim 10 wherein the adapter functions further includes:
returning all the properties for a specified user; creating properties for the specified user; updating the properties for the specified user; and deleting the properties of the specified user.
- 13. The programmed computer system of claim 9 wherein a second service is a document management system and a second adapter provides a communication mechanism between the workflow engine and the document management system.
- 14. The programmed computer system of claim 13 further comprising a Document Directory adapter for obtaining a document management system object from the document management system and for obtaining a directory object from the directory services, and providing said objects to the workflow engine.
- 15. The programmed computer system of claim 5 wherein the adapter returns all drives available on a machine where the document management system is running.
- 16. The programmed computer system of claim 1 wherein one of one or more services is a script interpreter and the adapter provides a communication mechanism between the workflow engine and the script interpreter.
- 17. The programmed computer system of claim 1 wherein one of one or more services is an electronic mail system and the adapter provides a communication mechanism between the workflow engine and the electronic mail system.
- 18. The programmed computer system of claim 1 wherein one of one or more services is a naming service that allows a client to refer to an object being executed by the first computer based system by referring to a naming service name for the object without the client having to refer to a pointer to the object as it exists on the first computer based system, thereby allowing a client to refer to an object even though an object may be moved to a different location within the first computer based system.
- 19. The programmed computer system of claim 18 wherein the first computer based system comprises a plurality of connected computers.
- 20. The programmed computer system of claim 1 wherein an interface between the workflow engine and said client is governed by a Common Object Request Broker Architecture interface.
- 21. The programmed computer system of claim 1 wherein an interface between the workflow engine and said client is governed by the Internet Inter-ORB Protocol.
- 22. The programmed computer system of claim 1 wherein an interface between the workflow engine and said adapters is governed by a Common Object Request Broker Architecture interface.
- 23. The programmed computer system of claim 1 wherein an interface between the workflow engine and said adapters is governed by the Internet Inter-ORB Protocol.
- 24. The programmed computer system of claim 4 wherein said database adapter uses the Java DataBase Connectivity standard to provides the communication mechanism between said workflow engine and said database management system.
- 25. The programmed computer system of claim 1 further comprising:
a web server for enabling said client to communicate with said workflow engine and said adapters.
- 26. A workflow client comprising:
a model layer encapsulating the state of client objects; and a user interface layer for client presentation and processing user input.
- 27. The workflow client of claim 26 wherein said model layer comprises:
application logic for event dispatching among all components of the client; a workflow manager model for login, logout, and retrieving lists from the workflow engine; a process model for processing process instances; a form model for the data exchange between forms and said process instances; a workitem model for managing and updating workitems; and a template model for processing plans.
- 28. The workflow client of claim 26 wherein said user interface layer comprises:
an organizer that presents lists of processes, process definitions, and workitems; an overview that presents a miniature thumbnail overview, which is a graphical representation of a selected process or process definition; and a process/template viewer/editor enabling the viewing/editing of processes and process definitions; an activity response bar enabling access to attachments and forms; a activity detailed view providing a detailed view of a process; a response bar enabling a user to specify the completion of an activity with a particular choice; and a form view presenting the content of a user-defined form.
- 29. The workflow client of claim 26 wherein said user interface layer includes executing:
a menu bar display; a tool bar display; a display of a list of processes, process definitions, and workitems; a display of a graphical representation of a selected process and process definition; a display for viewing and editing said process and said process definition; a display for accessing attachments and forms; a display enabling the user to specify the completion of an activity with a particular choice; and a display of the content of a user-defined form.
- 30. The workflow client of claim 29 wherein said displays are integrated using Java Script and HyperText Markup Language.
- 31. A form builder for a workflow system comprising:
means for a user to specify process attributes to placed on a form; and means for generating said form in HyperText Markup Language.
- 32. The form builder of claim 31 wherein said means for generating said form is automatic.
- 33. The form builder of claim 32 wherein said form is automatically connected to a process.
- 34. The form builder of claim 33 wherein said form is automatically connected to an activity inside said process.
- 35. A client for developing workflow process models, which generates a screen layout comprising:
an area for displaying a list of templates, processes, or activities; an area for displaying a graphical representation of a selected item from said list; and an area for displaying and modifying information from a selected item from said list.
- 36. A client screen layout of claim 29 wherein said menu bar is for performing application-wide functions.
- 37. A client activated via a Uniform Resource Locator (URL) that is embedded within an E-mail message, the client generating a screen layout comprising:
an attachment list specific to said tasks; a form list specific to said tasks; and a detail view of an assigned task.
- 38. A client screen for generating a screen layout comprising:
a worklist of tasks assigned to the user; an attachment list specific to said tasks; a form list specific to said tasks; and a detail view of an assigned task.
- 39. A client for the instantiation of processes, which generates a screen layout comprising:
a template list; a detail view of a template; and an attachment list associated with said template; and a forms list associated with said template.
- 40. A method for developing a workflow using a client for operation on a computer, the method comprising:
creating a plan, wherein creating the plan includes defining an activity of a process, defining a participant of the process, and defining attributes of the process; storing the plan as a process template; initiating an active process from the process template; and editing the active process in real-time.
- 41. The method of claim 40 further comprising viewing an attachment wherein the attachment can only be edited when the user checks out the attachment and the edited attachment can only be seen when the edited attachment is checked back in by the user.
- 42. The method of claim 41 further comprising circulation of a master copy of the attachment wherein there are many reads, but only one write.
- 43. The client of claim 40 whereby the activity, participant, and attributes of the process are defined with point and click functionality.
- 44. The method of claim 40 wherein the attributes of the process are defined within forms, whereby the forms may be customized using third-party tools.
- 45. The method of claim 40 further comprising creating an activities list, a process templates list, and an active processes list.
- 46. The method of claim 45 further comprising sorting any of the lists according to a criterion specified by a user.
- 47. The method of claim 45 further comprising filtering any of the lists according to a criterion specified by a user.
- 48. The method of claim 40 further comprising displaying the activity when the activity is ready to be performed by the workflow engine.
- 49. The method of claim 40 further comprising associating a document with the process.
- 50. The method of claim 49 further comprising dissociating the document from the process.
- 51. The method of claim 40 further comprising recording and displaying the history of an active process.
- 52. A method for a user to address an assigned task using a client for operation on a computer, the method comprising:
accessing workitems of a worklist; and instantiating a process.
- 53. The method of claim 52 further comprising attaching, viewing and editing a document as users address their assigned tasks from a worklist.
- 54. The method of claim 52 further comprising viewing and editing a form as users address their assigned tasks from a worklist.
- 55. A method for interacting with a workflow engine through an E-mail connection using a client, the method comprising:
instantiating a process from a predefined template through a Uniform Resource Locator (URL); enabling non-tethered users to receive their work items and related documents; and allowing users to complete their tasks via E-mail.
- 56. A method for instantiation of a process using a client, the method comprising:
initializing a process; filling values into forms; initializing attachments; and creating a new instance of a process with attributes initialized to values input into the forms.
- 57. A programmed computer system having a plurality of clients, including:
a client for developing workflow process models; a client activated via a URL that is embedded within an E-mail message; a client for interacting with a workflow engine through an E-mail connection; a client for instantiation of a process; and a client for a user to address an assigned task.
- 58. The programmed computer system of claim 14 wherein the Document Directory adapter authenticates users.
- 59. The programmed computer system of claim 58 wherein the Document Directory adapter performs role resolution.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent application Ser. No. 09/763,645, filed Feb. 23, 2001, which is a National Phase Patent Application of International Application Number PCT/US99/19232, filed on Aug. 24, 1999, which claims the benefit of the U.S. Provisional applications 60/097,583 filed Aug. 24, 1998; U.S. Provisional patent application 60/097,879 filed Aug. 25, 1998; and U.S. Provisional Application No. 60/097,791 filed Aug. 25, 1998, and are hereby incorporated by reference as if fully set forth herein:
[0002] U.S. Pat. No. 5,490,097, Swenson et al., entitled, “SYSTEM AND METHOD FOR MODELING, ANALYZING AND EXECUTING WORK PROCESS PLANS, issued Feb. 6, 1996 is hereby incorporated by reference for all purposes as if fully set forth herein.
Provisional Applications (3)
|
Number |
Date |
Country |
|
60097583 |
Aug 1998 |
US |
|
60097879 |
Aug 1998 |
US |
|
60097791 |
Aug 1998 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09763645 |
|
US |
Child |
10438698 |
May 2003 |
US |