| US 7,451,432 B2 | ||
| Transformation of componentized and extensible workflow to a declarative format | ||
| Dharma K. Shukla, Sammamish, Wash. (US); Mayank Mehta, Bellevue, Wash. (US); Aditya G. Bhandarkar, Redmond, Wash. (US); Abhay Vinayak Parasnis, Sammamish, Wash. (US); Akash J. Sagar, Redmond, Wash. (US); Kumarswamy P. Valegerepura, Bellevue, Wash. (US); and Robert B. Schmidt, Woodinville, Wash. (US) | ||
| Assigned to Microsoft Corporation, Redmond, Wash. (US) | ||
| Filed on Jan. 31, 2005, as Appl. No. 11/47,017. | ||
| Claims priority of provisional application 60/615543, filed on Oct. 01, 2004. | ||
| Prior Publication US 2006/0074732 A1, Apr. 06, 2006 | ||
| Int. Cl. G06F 9/44 (2006.01) | ||
| U.S. Cl. 717—106 [718/104; 717/105; 717/109; 717/121] | 19 Claims |

| 1. A computer-implemented method to be executed on a computing device for modeling a workflow, said workflow including activities,
said method comprising:
presenting a plurality of activities via an interface, said plurality of activities comprising a structured set of steps including
an ordered sequence of events, a set of asynchronous events, or both, each of the plurality of activities including metadata
for a step in the workflow;
receiving, via an input interface, a selection of the presented activities by a user;
serializing the received activities to create a declarative and persistent representation of the workflow to model a business
logic, said serializing comprising binding metadata to objects associated with the received activities and transferring the
included metadata of the received activities into the declarative and persistent representation of the workflow such that
the computing device can process the workflow based on the declarative representation, said declarative and persistent representation
being based on a serialization format, said serialization format defining the following rules: an object is serialized as
an XML element, a property of an object is categorized as simple property or complex property, and a child object of an object
is serialized as a child element, wherein the serialized is in the form of code statement collection in the declarative and
persistent representation of the workflow;
wherein the serialized activities are mapped to an extensible schema definition namespace for validation;
compiling the serialized workflow representation and the received selection into a single assembly containing an executable
representation of the workflow, wherein the compiling is not tied to a particular programming language and the declarative
representation of the workflow does not need a translation to the particular programming language for the compiling; and
executing the executable representation of the workflow created by the compiling.
|