Dynamic process-based enterprise computing system and method
First Claim
1. An enterprise computing system, comprising:
- a process server configured to control process flow and maintain process state for a plurality of client processes;
a process database coupled to said process server, wherein said process database is configured to store process data defining one or more processes, wherein for each process, the process data defines the content and order of steps to perform that process;
a plurality of clients coupled to said process server, wherein each client is configured to display a client interface for performing steps of a respective client process, wherein each client process is one of the one or more processes defined in said processes database, wherein each client is further configured to transmit a request to said process server for each step of its respective client process, and wherein each client is configured to be able to send a request to said process server to pause its respective client process, wherein in response to the request to pause, said process server is configured to save the state of the respective client process; and
a plurality of back-end systems coupled to said process server, wherein each back-end system is configured to store or manipulate data used in performing one or more steps of the one or more processes defined in the process database;
wherein for each request for a process step from one of said clients, said process server is configured to;
access the process data defining the respective client process;
generate a next step in the respective client process according to the state of the respective client process and the process data defining the respective client process; and
transmit the next step to the requesting client.
5 Assignments
0 Petitions
Accused Products
Abstract
Computer processes for carrying out almost any process may be defined as a series of steps using a plurality of standardized user-interface screens. These standardized interface screens may be linked together in predetermined orders to implement on a client computer activities for which the standardized screens are appropriate to accomplish a pre-defined process. Any number of computer processes may be developed and deployed using the standard interfaces. The computer process automatically takes a user from screen to screen, prompting the user to review or provide information or take appropriate action. Processes may be represented using metadata. Metadata may provide data to a screen rendering process running on a user'"'"'s workstation with details on how to render one of a plurality of standard screens in a manner which is specific to a particular process. Metadata may be provided to define the steps of the process for enabling navigational capabilities. Metadata may stored in a database and communicated by a process server to a client computer, which acts as a user'"'"'s workstation. This client-server system architecture allows maintenance of the computer processes in a central location and remote management of their use within a network. Furthermore, any number of application-specific computer processes may be made available and distributed to users without detailed programs for those processes having to be stored at each user workstation. Furthermore, basic interface functions with legacy databases and back-end systems may be provided to each user workstation in a network through the server system.
420 Citations
38 Claims
-
1. An enterprise computing system, comprising:
-
a process server configured to control process flow and maintain process state for a plurality of client processes;
a process database coupled to said process server, wherein said process database is configured to store process data defining one or more processes, wherein for each process, the process data defines the content and order of steps to perform that process;
a plurality of clients coupled to said process server, wherein each client is configured to display a client interface for performing steps of a respective client process, wherein each client process is one of the one or more processes defined in said processes database, wherein each client is further configured to transmit a request to said process server for each step of its respective client process, and wherein each client is configured to be able to send a request to said process server to pause its respective client process, wherein in response to the request to pause, said process server is configured to save the state of the respective client process; and
a plurality of back-end systems coupled to said process server, wherein each back-end system is configured to store or manipulate data used in performing one or more steps of the one or more processes defined in the process database;
wherein for each request for a process step from one of said clients, said process server is configured to;
access the process data defining the respective client process;
generate a next step in the respective client process according to the state of the respective client process and the process data defining the respective client process; and
transmit the next step to the requesting client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
a step display generator coupled to said rules engine, wherein said step display generator is configured to dynamically generate a mark-up language description of a next process step in response to a client request; and
wherein said rules engine is configured to determine information for generating the next process step and sending the information to said step display generator.
-
-
4. The system as recited in claim 3, wherein said mark-up language description of the next process step is an eXtensible Mark-up Language (XML) description, wherein said process server is configured to send the XML description of the next process step to the requesting client.
-
5. The system as recited in claim 2, wherein the process server further comprises a process data manager coupled to said process database, wherein said process data manager is configured to retrieve process data required by said rules engine to determine process steps in response to client requests.
-
6. The system as recited in claim 5, wherein the process server further comprises a shared process context manager coupled to said process data managers wherein said shared process context manager is configured to cache process data from said process database for a plurality of respective client processes, wherein shared process context manager is configured to supply process data required by said rules engine to determine a next process step if the process data for the respective client process is cached, wherein if the process data for the respective client process is not cached, the process data is retrieved from said process database by said process data manager.
-
7. The system as recited in claim 1, wherein the process data for one of said processes indicates one or more business objects for accessing data in one or more of said back-end systems, wherein each business object provides an interface to one of said back-end system.
-
8. The system as recited in claim 7, wherein if a process step requires access to one of said back-end systems, said process server is configured to call the business object indicated by the process data.
-
9. The system as recited in claim 7, wherein said business objects are stored within a business object repository within said process database.
-
10. The system as recited in claim 1, wherein each client is configured to dynamically render the client interface for performing steps of its respective client process according to step information received from said process server, wherein said client dynamically renders a screen indicated by the step information received from said process server within a common navigational framework.
-
11. The system as recited in claim 1, wherein each client is configured to be able to request a next step for its respective client process from said process server.
-
12. The system as recited in claim 1, wherein each client is configured to be able to request a previous step for its respective client process from said process server.
-
13. The system as recited in claim 1, wherein each client is configured to be able to send a request said process server to assign its respective client process to a different user.
-
14. The system as recited in claim 1, wherein each client is configured to be able to send a request said process server to resume a paused client process, wherein in response to the request to resume, said process server is configured to send the step of the client process at the point in the process at which the process was paused.
-
15. The system as recited in claim 1, said process server is configured to access data from one or more of said back-end systems for each respective client process and provide said data from one or more of said back-end systems within the appropriate steps of each respective client process so that said client interface provide a common user interface for performing the respective client process regardless of which back-end systems are accessed.
-
16. The system as recited in claim 1, wherein said plurality of back-end systems comprise a business information database.
-
17. The system as recited in claim 1, wherein said plurality of back-end systems comprise an enterprise resource planning (ERP) system.
-
18. The system as recited in claim 1, wherein said plurality of back-end systems comprise a word processor application.
-
19. The system as recited in claim 1, wherein said plurality of back-end systems comprise a spreadsheet application.
-
20. An enterprise computing system, comprising:
-
a process server configured to control process flow and maintain process state for a plurality of client processes;
a process database coupled to said process server, wherein said process database is configured to store process data defining one or more processes, wherein for each process, the process data defines the content and order of steps to perform that process;
a plurality of clients coupled to said process server, wherein each client is configured to display a client interface for performing steps of a respective client process, wherein each client process is one of the one or more processes defined in said processes database, wherein each client is further configured to transmit a request to said process server for each step of its respective client process, and wherein each client is configured to be able to send a request to said process server to resume a paused client process, wherein in response to the request to resume, said process server is configured to send the step of the client process at the point in the process at which the process was paused; and
a plurality of back-end systems coupled to said process server, wherein each back-end system is configured to store or manipulate data used in performing one or more steps of the one or more processes defined in the process database;
wherein for each request for a process step from one of said clients, said process server is configured to;
access the process data defining the respective client process;
generate a next step in the respective client process according to the state of the respective client process and the process data defining the respective client process; and
transmit the next step to the requesting client. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
a step display generator coupled to said rules engine, wherein said step display generator is configured to dynamically generate a mark-up language description of a next process step in response to a client request; and
wherein said rules engine is configured to determine information for generating the next process step and sending the information to said step display generator.
-
-
23. The system as recited in claim 22, wherein said mark-up language description of the next process step is an eXtensible Mark-up Language (XML) description, wherein said process server is configured to send the XML description of the next process step to the requesting client.
-
24. The system as recited in claim 21, wherein the process server further comprises a process data manager coupled to said process database, wherein said process data manager is configured to retrieve process data required by said rules engine to determine process steps in response to client requests.
-
25. The system as recited in claim 24, wherein the process server further comprises a shared process context manager coupled to said process data manager, wherein said shared process context manager is configured to cache process data from said process database for a plurality of respective client processes, wherein shared process context manager is configured to supply process data required by said rules engine to determine a next process step if the process data for the respective client process is cached, wherein if the process data for the respective client process is not cached, the process data is retrieved from said process database by said process data manager.
-
26. The system as recited in claim 20, wherein the process data for one of said processes indicates one or more business objects for accessing data in one or more of said back-end systems, wherein each business object provides an interface to one of said back-end systems.
-
27. The system as recited in claim 26, wherein if a process step requires access to one of said back-end systems, said process server is configured to call the business object indicated by the process data.
-
28. The system as recited in claim 26, wherein said business objects are stored within a business object repository within said process database.
-
29. The system as recited in claim 20, wherein each client is configured to dynamically render the client interface for performing steps of its respective client process according to step information received from said process server, wherein said client dynamically renders a screen indicated by the step information received from said process server within a common navigational framework.
-
30. The system as recited in claim 20, wherein each client is configured to be able to request a next step for its respective client process from said process server.
-
31. The system as recited in claim 20, wherein each client is configured to be able to request a previous step for its respective client process from said process server.
-
32. The system as recited in claim 20, wherein each client is configured to be able to send a request said process server to assign its respective client process to a different user.
-
33. The system as recited in claim 20, wherein each client is configured to be able to send a request said process server to pause its respective client process, wherein in response to the request to pause, said process server is configured to save the state of the respective client process.
-
34. The system as recited in claim 20, said process server is configured to access data from one or more of said back-end systems for each respective client process and provide said data from one or more of said back-end systems within the appropriate steps of each respective client process so that said client interface provide a common user interface for performing the respective client process regardless of which back-end systems are accessed.
-
35. The system as recited in claim 20, wherein said plurality of back-end systems comprise a business information database.
-
36. The system as recited in claim 20, wherein said plurality of back-end systems comprise an enterprise resource planning (ERP) system.
-
37. The system as recited in claim 20, wherein said plurality of back-end systems comprise a word processor application.
-
38. The system as recited in claim 20, wherein said plurality of back-end systems comprise a spreadsheet application.
Specification