Workflow system and method
First Claim
1. A programmed computer system for flexibly changing infrastructure components used for implementing workflow processes, the system comprising:
- a processor;
a workflow engine executed by a first computer based system for defining and enacting a plurality of different workflow processes, a definition of a first workflow process specifying a first sequence of tasks for realizing a first overall project, and a definition of a second workflow process specifying a second sequence of tasks for realizing a second overall project, the first and second sequence of tasks differing from each other and realizing different overall projects;
a client executed by a second computer-based system coupled to said workflow engine and transmitting commands for defining the plurality of different workflow processes;
an infrastructure component configured to provide a service invoked by the workflow engine, the infrastructure component belonging to a particular infrastructure type, wherein a plurality of different infrastructure components belong to the particular infrastructure type; and
a plurality of adapters associated with the plurality of different infrastructure components belonging to the particular infrastructure type, each of the plurality of adapters configured to provide a communication interface between the workflow engine and a corresponding one of the plurality of different infrastructure components, wherein the workflow engine is configured to identify a particular infrastructure component invoked by the service corresponding to a particular one of the plurality of adapters for the infrastructure component for providing the communication interface during the service, wherein the workflow engine is configured to automatically identify another one of the plurality of adapters corresponding to a new infrastructure component selected from the plurality of different infrastructure components with no code changes to the workflow engine, in response to the infrastructure component being replaced with the new infrastructure component.
3 Assignments
0 Petitions
Accused Products
Abstract
A workflow system that automates work processes. The workflow system uses an open architecture to support multiple platforms and includes Application Programming Interfaces (APIs) enabling applications to communicate with a workflow engine. The workflow system supports Relational DataBase Management System (RDBMS) databases and allows routing of any kind of work (forms, images, executables). In addition, its flexible architecture is designed to facilitate changes to a workflow dynamically and to support integration with an existing infrastructure.
The workflow system links software components to enable participants to work on shared data and ensures that business processes follows predetermined rules. Each task in the process is regulated such that the appropriate people have access to the appropriate data and are instructed to perform the task at the appropriate time.
A developer can use a workflow system provided client to get an application up and running relatively quickly. The workflow system provides adapters which enables quick deployment and element flexibility. Adapters have a fixed interface which allows the Document Management System ((DMS)), Directory Services (DS) and DataBase system (DB) to be changed independent of the application in contrast to other workflow systems which tie the application directly to the (DMS), DS, and DB. The adapters allow developers to attach clients of varying types and magnitude and allows developers to mix and match application elements to better serve their application. Thus, the workflow system is not tied to any proprietary (DMS), DS, or DB.
120 Citations
43 Claims
-
1. A programmed computer system for flexibly changing infrastructure components used for implementing workflow processes, the system comprising:
-
a processor; a workflow engine executed by a first computer based system for defining and enacting a plurality of different workflow processes, a definition of a first workflow process specifying a first sequence of tasks for realizing a first overall project, and a definition of a second workflow process specifying a second sequence of tasks for realizing a second overall project, the first and second sequence of tasks differing from each other and realizing different overall projects; a client executed by a second computer-based system coupled to said workflow engine and transmitting commands for defining the plurality of different workflow processes; an infrastructure component configured to provide a service invoked by the workflow engine, the infrastructure component belonging to a particular infrastructure type, wherein a plurality of different infrastructure components belong to the particular infrastructure type; and a plurality of adapters associated with the plurality of different infrastructure components belonging to the particular infrastructure type, each of the plurality of adapters configured to provide a communication interface between the workflow engine and a corresponding one of the plurality of different infrastructure components, wherein the workflow engine is configured to identify a particular infrastructure component invoked by the service corresponding to a particular one of the plurality of adapters for the infrastructure component for providing the communication interface during the service, wherein the workflow engine is configured to automatically identify another one of the plurality of adapters corresponding to a new infrastructure component selected from the plurality of different infrastructure components with no code changes to the workflow engine, in response to the infrastructure component being replaced with the new infrastructure component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 36)
-
-
32. A method for flexibly changing infrastructure components used for implementing workflow processes, the method comprising:
-
receiving by a workflow engine executed by a computer system commands for defining and enacting a plurality of different workflow processes, the definition of a first workflow process specifying a first sequence of tasks for realizing a first overall project, and the definition of a second workflow process specifying a second sequence of tasks for realizing a second overall project; invoking an infrastructure component for providing a service requested by the workflow process, the infrastructure component belonging to a particular infrastructure type, wherein a plurality of different infrastructure components belong to the particular infrastructure type; providing a plurality of adapters for the plurality of different infrastructure components belonging to the particular infrastructure type, each of the plurality of adapters configured to provide a communication interface between the workflow engine and a corresponding one of the plurality of different infrastructure components; identifying by the workflow engine a particular one of the plurality of adapters for providing the communication interface between the workflow engine and the infrastructure component during the service; replacing the infrastructure component with a new infrastructure component selected from the plurality of different infrastructure components; and automatically identifying by the workflow engine another one of the plurality of adapters corresponding to the new infrastructure component, wherein no code changes are made to the workflow engine in replacing the infrastructure component with the new infrastructure component. - View Dependent Claims (33, 34, 35, 37)
-
-
38. A method for flexibly changing infrastructure components used for implementing workflow processes by a workflow engine executed by a computer system, the method comprising:
-
receiving by the workflow engine commands for defining and enacting a plurality of different workflow processes, the definition of a first workflow process specifying a first sequence of tasks for realizing a first overall project, and the definition of a second workflow process specifying a second sequence of tasks for realizing a second overall project; invoking a service for implementing a particular one of the plurality of different workflow processes; identifying an infrastructure component for providing the service, the identified infrastructure component belonging to a particular infrastructure type, wherein a plurality of different infrastructure components belong to the particular infrastructure type; providing a plurality of adapters for the plurality of different infrastructure components belonging to the particular infrastructure type, wherein each of the plurality of adapters is configured to provide a communication interface between the workflow engine and a corresponding one of the plurality of different infrastructure components, wherein the plurality of adapters are provided even if the corresponding infrastructure components are not provided to the workflow engine; selecting one of the plurality of adapters based on the identified infrastructure component for providing a communication interface between the workflow engine and the identified infrastructure component during the service; automatically identifying another one of the plurality of adapters corresponding to a new infrastructure component selected from the plurality of different infrastructure components with no code changes to the workflow engine, in response to the infrastructure component being replaced with the new infrastructure component. - View Dependent Claims (39, 40, 41, 42, 43)
-
Specification