IP Library Granted Patent US 7,464,366
Granted Patent B2
US 7,464,366 · App. 11/063,954 · Granted Dec 9, 2008

Programming interface for a componentized and extensible workflow model

Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,464,366
App. No.
11/063,954
Granted
Dec 9, 2008
Kind
B2
Abstract

Building a componentized workflow model via an application programming interface. Each step of the workflow is modeled as an activity that has metadata to describe design time aspects, compile time aspects, and runtime aspects of the workflow step. A user selects and arranges the activities to create the workflow via the application programming interfaces. The metadata associated with each of the activities in the workflow is collected to create a persistent representation of the workflow. Users extend the workflow model by authoring custom activities. Users also compile the workflow via the application programming interface.

Claims (28)

1. A computerized system for authoring a workflow, said workflow modeling a business process, said computerized system comprising:

a processor having configured to execute computer-executable instructions embodied in the following;

a design application programming interface for graphically authoring the workflow with no input of code from the user for the workflow, said workflow having a plurality of activities associated therewith, wherein each of the plurality of activities has a component model associated therewith, said component model specifying properties of the activity associated therewith, said specified properties including the following: a description namespace, a uses namespace and a binary namespace,

wherein the graphically authoring from the design application program interface comprises at least one of the following designer authoring operations to th e plurality of activities associated with the workflow: undo/redo, drag/drop, cut/copy/paste, zoom, pan, search/replace, bookmarks, adornments, smart tags for validation errors, valid drop-target indicators for activities, auto layout, view pagination, navigation markers, drag indicators, print and preview with headers/footers;

a compilation application programming interface for compiling the workflow authored via the design application programming interface, wherein the compilation application programming interface comprises the following:

means for serializing the workflow, means for customizing a visual appearance of the workflow and means for compiling the workflow authored via the design application programming interface; and

a type provider application programming interface for associating a type with each of the activities in the workflow.

2. The computerized system of claim 1 , wherein the design application programming interface comprises means for authoring a workflow.

3. The computerized system of claim 1 , wherein the design application programming interface comprises means for selecting one or more of the activities to create the workflow.

4. The computerized system of claim 1 , wherein the compilation application programming interface comprises means for validating the workflow.

5. The computerized system of claim 1 , wherein the type provider

application programming interface comprises means for associating the type with each of the activities in the workflow.

6. The computerized system of claim 1 , wherein the properties comprise one or more of the following: design time behavior, compile time behavior, and run time behavior.

7. The computerized system of claim 1 , wherein the design application programming interface comprises means for authoring the workflow, and wherein the compilation application programming interface comprises means for compiling the workflow.

8. A method for authoring a componentized workflow, said workflow being executable on a computer, said method comprising:

providing a schedule application programming interface for creating a schedule associated with the workflow;

providing a scope application programming interface for creating a scope associated with the schedule;

providing an activity application programming interface for selecting the following activities;

arranging the selected activities to create a workflow within the created schedule for execution within the created scope, wherein the provided schedule API and the provided scope API are associated with user code, said user code including user-created rules for the activities, said user code having the following modes which enables round-tripping of the user code to the workflow in real time: code-beside, code-within and code-only;

providing a component model for association with each of the arranged activities, said component model defining properties of the arranged activities, said defined properties including the following: a description namespace, a uses namespace and a binary namespace;

providing a metadata interface for receiving metadata for each of the activities from the component model associated therewith, said received metadata having semantics;

providing a validate interface for validating the received metadata by examining the semantics associated with the received metadata;

providing a code generator interface for generating software code associated with the received metadata as a function of said validating; and

providing a code compile interface for compiling the generated software code.

9. The method of claim 8 , further comprising serializing each of the arranged activities to create a persistent representation of the workflow.

10. The method of claim 8 , further comprising compiling the arranged activities to create an executable workflow.

11. The method of claim 8 , further comprising executing the created workflow according to the created schedule and within the created scope.

12. The method of claim 8 , wherein one or more computer-storage media have computer-executable instructions for performing the method recited in claim 8 .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2005
From: SHUKLA, DHARMA K.; MEHTA, MAYANK; BHANDARKAR, ADITYA G.; PARASNIS, ABHAY VINAYAK; SAGAR, AKASH J.; VALEGEREPURA, KUMARSWAMY P.; SCHMIDT, ROBERT B.
To: MICROSOFT CORPORATION
Reel/Frame 015875/0959 →
Continuity (3)
Continuation 1104701700 · Jan 31, 2005
Provisional Application 6061554300 · Oct 1, 2004
Related Publication 20060074736A1 · Apr 6, 2006