Claims
- 1. A method in a computer system for reusing components, the method comprising:
providing a plurality of components; providing definitions of a plurality of workflow tasks, each definition identifying one or more of the plurality of components and optionally identifying for each identified component an data input rule and a data output rule, wherein the same component is identified in at least two definitions; and executing the workflow tasks defined by the provided definitions by, for each component of a workflow task,
when a data input rule is identified for the component, applying the identified data input rule to data for the workflow to generate input data; executing the component, wherein the component generates output data based on any generated input data; and when a data output rule is identified for the component, applying the data output rule for the component to the generated output data to update data for the workflow wherein multiple workflow tasks reuse the same component.
- 2. The method of claim 1 including providing initial data for a workflow task.
- 3. The method of claim 1 wherein providing a definition of workflow task includes:
receiving a workflow message identifying a type of workflow and identifying initial data for the workflow task; retrieving a workflow plan for the identified type of workflow; and creating a definition a workflow task based on the identified initial data of the workflow message and the retrieved workflow plan.
- 4. The method of claim 3 wherein the workflow task includes context data derived from the received workflow message.
- 5. The method of claim 1 wherein a definition of a workflow task is an XML document.
- 6. The method of claim 1 wherein the data input rule and the data output rule specify an XSL transform.
- 7. The method of claim 1 including persistently storing the input data and output data for each component.
- 8. The method of claim 1 wherein the data for a workflow task is divided into data that is global to all components of the workflow task and data that is specific to the next component of the workflow task to be executed.
- 9. The method of claim 1 wherein a component of a workflow task is instantiated once and executed multiple times during execution of the workflow task.
- 10. A method in a computer system for instantiating a workflow task, the method comprising:
providing a plurality of workflow plans, each workflow plan having a type and one or more steps, each step identifying a component and optionally identifying a data input rule and a data output rule; receiving a workflow message identifying a type of workflow and identify initial data for the workflow task; retrieving a workflow plan for the identified type of workflow; and generating a workflow task based on the identified initial data of the workflow message and the retrieved workflow plan, the workflow task indicating the steps of the workflow plan.
- 11. The method of claim 10 wherein a workflow plan includes a data initialization rule for initializing data of the workflow task based on the identified initial data of received workflow message.
- 12. The method of claim 10 wherein a step of the workflow task identifies a method of the component that is to be invoked when the component is executed.
- 13. The method of claim 10 including performing the steps of the workflow task including applying the data input rule for the component to data for the workflow to generate input data, executing the component passing the input data, wherein the component generates output data, and applying the data output rule for the component to the generated output data to update data for the workflow.
- 14. The method of claim 10 wherein a step includes a select condition that indicates whether the step should be performed based on data of the workflow task.
- 15. The method of claim 10 wherein the workflow message, workflow plan, workflow task, input data, and output data are in XML format.
- 16. A computer-readable medium containing a workflow plan comprising:
a data initialization rule; and a plurality of steps, each step identifying a component, a data input rule, and a data output rule, the data input rule and the data output rule indicating how to generate input data for the component and how to update data of a workflow task based on output data of the component.
- 17. The computer-readable medium of claim 16 wherein the workflow plan is an XML document.
- 18. The computer-readable medium of claim 16 wherein the data input rule and the data output rule include an XSL transform.
- 19. The computer-readable medium of claim 16 wherein the data input rule includes a data name and data value to be passed to the component.
- 20. The computer-readable medium of claim 16 wherein the data initialization rule specifies to retrieve initialization data from a workflow message.
- 21. The computer-readable medium of claim 16 wherein a step of the workflow plan identifies a method of the component that is to be invoked when the component is executed.
- 22. The computer-readable medium of claim 16 wherein a step includes a select condition that indicates whether the step should be performed based on data of a workflow task.
- 23. A method in a computer system for executing a workflow task that reuses a component used by another workflow task, the method comprising:
for a plurality of components of the workflow task,
transforming data of the workflow task to generate input data in a format that is expected by the component; executing the component to generate output data from the generated input data; and transforming the generated output data into data in a format that is expected by the workflow task wherein each workflow tasks that uses the component uses customized transformations for generating the input data and the output data so that the component can be shared by multiple workflow tasks.
- 24. The method of claim 23 wherein a workflow task is defined in an XML document.
- 25. The method of claim 24 wherein the customized transformations are XSL transforms.
- 26. The method of claim 23 wherein a workflow task includes an identifier of a data input rule for a component, wherein the data input rule is applied to transform the data of the workflow task to generate the input data.
- 27. The method of claim 23 wherein a workflow task includes an identifier of an data output rule for a component, wherein the data output rule is applied to transform the generated output data to data of the workflow task.
- 28. The method of claim 23 wherein a workflow task is defined by an XML document and the transformations are specified by an XSL transform.
- 29. The method of claim 23 wherein the workflow task has a plurality of steps that each specify a component and optionally specify a data input rule and an data output rule.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Patent Application No. 60/336,826 filed Dec. 3, 2001, entitled, “METHOD AND SYSTEM FOR REUSING COMPONENTS,” which is hereby incorporated by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60336826 |
Dec 2001 |
US |