US20060074737A1 - Interactive composition of workflow activities - Google Patents

Interactive composition of workflow activities Download PDF

Info

Publication number
US20060074737A1
US20060074737A1 US11/155,454 US15545405A US2006074737A1 US 20060074737 A1 US20060074737 A1 US 20060074737A1 US 15545405 A US15545405 A US 15545405A US 2006074737 A1 US2006074737 A1 US 2006074737A1
Authority
US
United States
Prior art keywords
activity
activities
workflow
property
composite
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/155,454
Inventor
Dharma Shukla
Mayank Mehta
Aditya Bhandarkar
John Whytock
Dennis Pilarinos
Shiqiu Guo
Eli Hisdai
Kumarswamy Valegerepura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US11/155,454 priority Critical patent/US20060074737A1/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BHANDARKAR, ADITYA G., GUO, SHIQIU SHELLY, HISDAI, ELI, MEHTA, MAYANK, PILARINOS, DENNIS, SHUKLA, DHARMA K., VALEGEREPURA, KUMARSWAMY P., WHYTOCK, JOHN CHRISTOPHER
Publication of US20060074737A1 publication Critical patent/US20060074737A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling

Definitions

  • a workflow models a business process.
  • Typical workflows include execution units referred to as activities.
  • Some current systems lack a mechanism to enable users to visually create activities for use in the workflow. Further, some of the current systems enumerate activities at the workflow level (e.g., during execution of the workflow), but lack a design time mechanism for creating activities based on predefined activities.
  • Embodiments of the invention include a user interface for visually creating an activity from predefined activities.
  • a composite activity is created at the activity level during design time.
  • the user interface enables users to modify properties of the composite activity to specify, for example, design time, compile time, runtime and other behaviors associated with the composite activity.
  • Properties associated with each activity within the composite activity may also be defined.
  • the composite activity may be considered completely configured, partially configured, or minimally configured based on one or more configuration properties associated with the composite activity.
  • FIG. 1 is an exemplary workflow containing tasks and control flow composite activities.
  • FIG. 2 is an exemplary block diagram illustrating a component model associated with an activity.
  • FIG. 3 is an exemplary flow chart illustrating activity composition.
  • FIG. 4 is an exemplary block diagram illustrating an exemplary activity designer.
  • FIG. 5 is an exemplary user interface displaying properties and associated property values of an activity.
  • FIG. 6 is a block diagram illustrating an exemplary computer-readable medium on which aspects of the invention may be stored.
  • FIG. 7 is an exemplary user interface illustrating an activity designer.
  • FIG. 8 is an exemplary user interface illustrating the activity designer of FIG. 7 with a composite activity under development by a user.
  • FIG. 9 is an exemplary user interface illustrating the composite activity of FIG. 8 in a workflow.
  • FIG. 10 is an exemplary user interface illustrating the composite activity of FIG. 8 with particular activities locked.
  • FIG. 11 is an exemplary user interface illustrating the composite activity of FIG. 10 in a workflow.
  • Appendix A includes a set of properties that describe characteristics of an activity.
  • Appendix B includes another set of properties that define the behavior of an activity.
  • FIG. 1 illustrates an exemplary workflow.
  • Embodiments of the invention are operable with a workflow representing a process, such as a business process.
  • Business processes are dependent on ordered tasks, activities, or the like that result in predictable and repeatable outcomes. Including the operating procedures, institutional working knowledge, and information resources of an organization, business processes are designed to satisfy defined business objectives in an efficient and timely manner.
  • the functional components of a process can be readily identified, adapted, and deployed to address ever-changing corporate requirements.
  • the workflow is an end user's experience interacting with the tasks in a business process. Tasks are modeled as activities, components, or the like, each representing a unit of work that is performed by a person or machine.
  • workflows and activities are generally analogous to the relationship between a computer program and its statements. Activities are reusable components which encapsulate metadata for a step in a workflow process and can be used in either modeling workflows or in composition of activities. For example, activities may be used to compose complex activities.
  • a plurality of activities is presented to a user via a workflow designer application program. The user selects and organizes the activities to create the workflow representative of a business process. The created workflow is executed to model the business process.
  • FIG. 1 is an exemplary workflow containing tasks and control flow composite activities.
  • Exemplary activities include the following: Send, SendRequest, SendResponse, Receive, ReceiveRequest, ReceiveResponse, Code, Delay, Fault, Suspend, Terminate, InvokeSchedule, InvokeSchedules, InvokeWebService, EventSource, EventSink, Sequence, Parallel, While, ConditionalBranch, Conditional, Constrained, ConstrainedActivityGroup, EventDriven, Listen, EventHandlers, ExceptionHandler, ExceptionHandlers, Compensate, CompensationHandler, Scope, and Schedule.
  • the activity is the basic unit of execution in the workflow model and has associated properties, handlers, constraints and events.
  • Each activity may be configured by user code in any programming language.
  • the user code may represent business or application logic or rules written in common language runtime (CLR) languages.
  • Each activity supports pre-interception hooks and post-interception hooks into execution in the user code.
  • Each activity has associated runtime execution semantics and behavior (e.g., state management, transactions, event handling and exception handling). Activities may share state with other activities. Activities may also be primitive activities or grouped into a composite activity.
  • a primitive or basic activity has no substructure (e.g., child activities), and thus is a leaf node in a tree structure.
  • a composite activity contains substructure (e.g., it is the parent of one or more child activities or contains one or more child activities).
  • each activity in the illustrated embodiment has an associated set of components that forms a component model for the activity.
  • the components have properties that define the behavior of the components.
  • the associated set of components includes an activity executor, an activity designer, an activity serializer, an activity validator (e.g., semantic checker), and an activity code generator, among other components or properties of the activity.
  • the activity executor is a stateless component that implements the execution semantics for the activity.
  • the activity executor works with the metadata of an activity to implement the activity.
  • a core scheduler acts as a service provider for the activity executor to provide services to the activity executor.
  • the activity designer visually displays the design time visual representation of the activity.
  • FIG. 4 illustrates an activity designer user interface for an activity designer.
  • the activity designer is a node in a designer hierarchy and may be themed or skinned.
  • the activity designer is hosted in a design environment (e.g., an application program) and interacts with the host design environment via services.
  • the activity validator enforces the activity semantics at compile time as well as runtime.
  • the activity validator operates on the context of the workflow model and uses the services provided by the environment (e.g., compiler, designer, or runtime). Validation occurs at various points in the lifecycle of a workflow. Structural compliance checks are made when creating serialized representations of the workflow, when compiling, and in response to the user's request.
  • the semantic checks may be stronger at runtime than those performed at compile-time to ensure the safety of a runtime operation such as the addition or replacement of an activity in the activity tree of a running instance.
  • Aspects of the invention evaluate semantics associated with each of the activities for conformance or compliance with, for example, predefined interface requirements.
  • the activity serializer of FIG. 2 is a component that serializes the metadata of an activity.
  • the activity serializer is called from the various model/format serializers.
  • the entire workflow model is serialized based on an extensible schema into a declarative markup language which may be further translated into other workflow languages as desired.
  • users may reuse complex business process logic by composing custom activities as illustrated in FIG. 3 .
  • Embodiments of the invention enable an activity writer to declaratively (e.g., using a markup language) and/or programmatically (e.g., via code) generate reusable composite activities from existing activities interactively using a visual designer.
  • Activity composition includes declaring activity metadata, associating business logic with an activity via an activity component, defining design time behavior and visualization of activity via an activity designer, validation of activity semantics via a semantic validation component, defining runtime behavior of the activity via an activity executor, serialization of an activity via an activity serializer, code generation of an activity via an activity code generator, etc.
  • aspects of the invention include a visually interactive composition designer (e.g., a user interface) to allow developers to create activities by visually defining a hierarchy of the activity, declaring activity metadata, associating business logic and building other required components and associating them with the activity.
  • the user interface reduces the time for activity development.
  • Primitive activities e.g., activities with no child activities
  • composite activities may be defined by the user in embodiments of the invention.
  • Activity writers define the aspects of an activity including, but not limited to, a metadata class definition, an executor that provides runtime execution logic, a validator that provides design-time and runtime validation logic, a designer that describes appearance and behavior in the authoring environment, a serializer that provides custom serialization behavior if required, and a code generator that allows a developer to participate in compile-time code generation.
  • the custom activity designer helps configure these options and introduces further features which are valuable when creating composite activities.
  • a method of one aspect of the invention enables a user to create a composite workflow activity for use in a workflow.
  • the method operates in a computing system having a display and a user interface selection device.
  • the method includes displaying at least one predefined workflow activity to a user on the display at design time (e.g., not during execution of the workflow) at 302 .
  • the method also includes receiving, from the user via the user interface selection device, a selection of at least one of the displayed activities to define a composite activity at 304 .
  • the user selects at least two activities and arranges the selected activities via flow information (e.g., the activities may be arranged in sequence or in parallel).
  • the flow information defines a relationship between the selected activities.
  • the user interface displays, on the display, the selected activities arranged via the flow information at 306 . For example, the user may drag and drop activities (as children) to the composite activity that is currently being designed.
  • the computing system receives, via the user interface selection device, a value for a configuration property or the like associated with the one or more selected activities at 308 .
  • the configuration property value defines access in the workflow by a user to one or more properties or the structure associated with the selected activity. For example, the value may define whether any of the properties or structure of the selected activity are visible, editable, and/or locked in the user interface or programmatically. Visibility of an activity identifies whether the activity may be “seen” by the programmer during the authoring (e.g., available in the parent's collection during enumeration). The ability to “edit” an activity determines if the metadata of the activity may be programmed by the programmer during the authoring (e.g., activity properties are available for programming). Locking an activity prevents child activities of a parent activity from being moved or removed from the parent activity's collection.
  • the received value for the configuration property may define the activity as fully configured, partially configured, or minimally configured.
  • the configuration property may be associated with a particular activity and/or with a particular property of the activity.
  • the method configures, based on the received value for the configuration property, the selected activity as the composite activity at 310 .
  • the method generates software code implementing the composite activity at 312 and provides the composite activity to the developer or other user for use in the workflow at 314 .
  • a compiler packages the activities into binary form for their reuse in the workflow or in the composition of other activities.
  • aspects of the invention enable the user to include the composite activity in the workflow and extend the functionality of the composite activity in the workflow as a function of the configuration property.
  • the user may view and/or configure the properties of the composite activity as determined by the configuration property.
  • the user views and/or configures the properties of the composite activity as determined by a plurality of configuration properties, with each of the configuration properties defining access by the user to a particular activity or property of the composite activity.
  • a compiler in one aspect of the invention enforces the ways in which the activities can be reused as a function of the configuration property.
  • a first activity writer may specify via the configuration property that only a subset of the properties of an activity be shown in the activity designer of a second activity writer. This occurs when the first activity writer is creating an activity for user by the second activity writer to create a composite activity.
  • an attribute such as [ActivityDesignerBrowsable] may be associated with one of the properties of the activity and may define whether the associated property is displayed in the activity designer of the second activity writer.
  • one or more computer-readable media have computer-executable instructions for implementing the method illustrated in FIG. 3 .
  • an exemplary block diagram illustrates an exemplary activity designer user interface 402 for implementing the method illustrated in FIG. 3 .
  • the activity designer user interface 402 includes one or more display areas or portions.
  • the display area includes an activity list portion 404 displaying a list of predefined activities, a designer portion 406 displaying activities selected by the user (e.g., dragged and dropped from the activity list portion 404 ), and a property portion 408 displaying a list of properties and corresponding property values for the selected activities.
  • the activity writer uses a property browser, for example, in the property portion 408 and configures a set of properties for an activity selected in the designer portion 406 .
  • a set of properties that describe the basic characteristics of an activity are listed in Appendix A.
  • a user also may add other properties and handlers for the activity being designed. The user may specify properties such as those listed in Appendix B for each property that the user adds.
  • an exemplary user interface displays properties and associated property values of an activity.
  • the workflow author who re-uses the activity may define the values of activity properties or otherwise configure the activity during workflow creation and deployment.
  • the activity designer enables users to create activities which can be reused in a workflow according to various levels or models specified by the properties associated with the activities (e.g., the configuration property).
  • levels or models of re-use include black box, grey box and white box.
  • the activities which the user is able to create using the designer are structurally complete and completely configured using a set of preexisting activities or inheriting from a set of preexisting activities.
  • the activity metadata is specified at the time of designing the activities.
  • the user embeds and associates business logic with these activities.
  • the user selectively hides the parts of an activity which the user does not want exposed at the time of reuse in a workflow but executed implicitly in the workflow. These type of activities are preconfigured and non modifiable on reuse in the workflow.
  • the designer enables the user to create structurally modifiable and partially configured activities which the user is able to fully configure at the time of its use in a workflow.
  • These activities typically contain a set of partially configured preexisting activities which are then completely configured by the user at the time of their reuse in the workflow.
  • the user embeds a set of activities useful in accomplishing a certain task even though the activities are not structurally complete.
  • the metadata of such activities may also be partly configured when designing the activities.
  • White box activities are non-configured and the user modifies their structure and metadata at the time of their reuse in the workflow.
  • the configuration of an activity in a composite activity being designed is determined by the configuration properties of “Visibility” and “ContainerLocked”. These configuration properties are merely exemplary, and other properties or attributes that define whether an activity or any aspect thereof may be visible, editable, removable, or otherwise configurable during workflow or composite activity creation are within the scope of embodiments of the invention.
  • the Visibility property e.g., a Boolean property such as IsVisible
  • the ContainerLocked property e.g., a Boolean property such as IsLocked
  • the Visibility property on a child activity in particular composite activity may be set (e.g., true or false) such that the user or developer is unable to view the child activity when creating a workflow or other composite activity using the particular composite activity. This means that the child activity does not visually appear to the user in the composite activity but the functionality of the child activity is within the composite activity.
  • the ContainerLocked property on a composite activity may be set (e.g., true or false) such that the user or developer who re-uses the composite activity is unable add new activities to the composite activity and, in an alternative embodiment, remove any activities from the composite activity. If the composite activity is unlocked, the developer may add child activities at the end of the composite activity.
  • another configuration property specifies whether the metadata of an activity may be edited.
  • each activity exposes a Boolean read-only property, such as IsEditable.
  • FIG. 6 a block diagram illustrates an exemplary computer-readable medium 602 on which aspects of the invention may be stored.
  • aspects of the invention include one or more computer-readable media, such as computer-readable medium 602 , having computer-executable components for interactive visual composition of activities.
  • Exemplary components include a designer component 604 , a display component 606 , a property component 608 , and a preview component 610 .
  • the designer component 604 provides a set of predefined workflow activities to the user and receives a selection of one or more of the predefined workflow activities.
  • the display component 606 displays the selected activities to the user as a composite activity.
  • the property component 608 receives a value for a configuration property associated with one of the selected activities displayed by the display component 606 .
  • the value for the configuration property may specify that one or more of the selected activities or properties associated therewith will be partially hidden within the composite activity in the workflow.
  • one or more of the predefined activities inherits a property value from another one of the predefined activities.
  • the preview component 610 displays the selected activities as the composite activity in a workflow as a function of the value received by the property component 608 for the configuration property.
  • the exemplary operating environment includes a general purpose computing device such as a computer executing computer-executable instructions.
  • the computing device typically has at least some form of computer readable media.
  • Computer readable media which include both volatile and nonvolatile media, removable and non-removable media, may be any available medium that may be accessed by the general purpose computing device.
  • Computer readable media comprise computer storage media and communication media.
  • Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Communication media typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media.
  • the computing device includes or has access to computer storage media in the form of removable and/or non-removable, volatile and/or nonvolatile memory.
  • input devices or user interface selection devices such as a keyboard and a pointing device (e.g., a mouse, trackball, pen, or touch pad).
  • Other input devices may be connected to the computing device.
  • the computing device may operate in a networked environment using logical connections to one or more remote computers.
  • Examples of well known computing systems, environments, and/or configurations that may be suitable for use in embodiments of the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
  • Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices.
  • program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types.
  • aspects of the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote computer storage media including memory storage devices.
  • An interface in the context of a software architecture includes a software module, component, code portion, or other sequence of computer-executable instructions.
  • the interface includes, for example, a first module accessing a second module to perform computing tasks on behalf of the first module.
  • the first and second modules include, in one example, application programming interfaces (APIs) such as provided by operating systems, component object model (COM) interfaces (e.g., for peer-to-peer application communication), and extensible markup language metadata interchange format (XMI) interfaces (e.g., for communication between web services).
  • APIs application programming interfaces
  • COM component object model
  • XMI extensible markup language metadata interchange format
  • the interface may be a tightly coupled, synchronous implementation such as in Java 2 Platform Enterprise Edition (J2EE), COM, or distributed COM (DCOM) examples.
  • the interface may be a loosely coupled, asynchronous implementation such as in a web service (e.g., using the simple object access protocol).
  • the interface includes any combination of the following characteristics: tightly coupled, loosely coupled, synchronous, and asynchronous.
  • the interface may conform to a standard protocol, a proprietary protocol, or any combination of standard and proprietary protocols.
  • the interfaces described herein may all be part of a single interface or may be implemented as separate interfaces or any combination therein.
  • the interfaces may execute locally or remotely to provide functionality. Further, the interfaces may include additional or less functionality than illustrated or described herein.
  • the computing device executes computer-executable instructions such as those illustrated in the figures to implement embodiments of the invention.
  • FIG. 7 through FIG. 11 include exemplary user interfaces implementing embodiments of the invention. Aspects of the invention are also operable with other user interfaces not explicitly contained herein, but functionally similar (e.g., the layout or design of the user interface may differ, but still be within the scope of an embodiment of the invention).
  • FIG. 7 illustrates an exemplary user interface for an activity designer.
  • FIG. 8 is an exemplary user interface illustrating the activity designer of FIG. 7 with a composite activity under development by a user.
  • FIG. 9 an exemplary user interface illustrates the composite activity of FIG. 8 in a workflow. In this example, none of the activities in the composite activity are locked, and as such, all the activities are visible within the workflow.
  • FIG. 10 an exemplary user interface illustrates the composite activity of FIG. 8 with particular activities specified as locked in the activity designer. In this example, the sequence1 activity and the code1 activity within the sequence2 activity are marked as locked or invisible.
  • FIG. 11 is an exemplary user interface illustrating the composite activity of FIG. 10 in a workflow. In this example, the sequence1 activity and the code1 activity are not visible in the workflow.
  • aspects of the invention include a computerized system for interactive composition of a workflow activity for use in a workflow.
  • Hardware, software, firmware, computer-executable components, computer-executable instructions, and/or FIGS. 7-11 constitute the following means.
  • the system includes means for presenting a plurality of workflow activities to a user at design time. Each of the plurality of activities has one or more properties associated therewith. Each of the properties defines a behavior of the associated activity.
  • the system also includes means for receiving a selection from the user of at least one of the plurality of activities to define a composite activity, means for presenting to the user a plurality of properties associated with the received selection of activities, and means for receiving from the user a property value for at least one of the properties.
  • the received property value defines a behavior of the activity in the composite activity in a workflow.
  • the system further includes means for configuring, as a function of the received property value, the received selection of activities as the composite activity for use in the workflow.
  • each of the properties defines one or more of the following associated with the received selection of activities: a design time behavior, a runtime behavior, a semantic behavior, and a visualization behavior.
  • the system includes means for enabling the user to create the workflow with the composite activity.
  • Designer Companion Classes This is the name of the The property browser designer class specific launches the Type picker. to this activity. The type picker shows all activities whose designer derives from the selected base type. Executor Companion Classes This is the name of the The property browser executor class specific launches the Type picker. to this activity. The type picker shows all activities whose executor derives from the selected basetype. Validator Companion Classes This is the name of the The property browser validator class specific launches the Type picker. to this activity. The type picker shows all activities whose validator derives from the selected base type. RootActivity DataContext This is a Boolean indicating if this activity supports the IRootActivity interface.
  • IRootActivity inherits from IDataContext, setting this property to true it will set the “Supports DataContext” property to true and make it read only. Setting this property to false, will set “Supports DataContext” property to false.
  • Supports DataContext When the custom activity DataContext supports a data context, upon usage within a workflow, a new class is generated in the datacontext of calling workflow. This is a True/False Boolean field. The required ISupportDataContext code is put into the hidden Designer.cs file, not the custom activity code. If the selected base type supports a data context, this property is set to true and becomes read only.
  • Companion DataContext This is the name of the Class Name class which the activity's datacontext will derive from.
  • a developer could define this class within the activity and introduce properties which could be referenced by other activities in the containing workflow. This property is hidden until the developer sets “Supports DataContext” to True and then is nested in the property browser when this occurs.
  • UITypeEditor Advanced This is a read only field. This is a discoverability Attributes mechanism for the UI type editor. If the property type (like Boolean, Bind, Condition, ParameterBindingCollection) has a UIEditor associated with it, this field will display it. Supports Databinding Databinding This is a ‘True/False’ combo box. Default is false. If set to true, a field of the Type defined above and a getter/setter which supports bind is generated.

Abstract

Visual composition of an activity for re-use in a composite activity or in a workflow. A user declaratively and/or programmatically generates reusable composite activities from existing activities interactively using a visual designer. The activity has one or more configuration properties associated therewith that define the behavior of an aspect of the activity. Depending on the value of the configuration properties, the activity may be, for example, partially configured, fully configured, or minimally configured. A user or developer completes the configuration of the activity during re-use of the activity in a composite activity or in a workflow.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application claims the benefit of U.S. provisional patent application No. 60/615,543 filed Oct. 1, 2004.
  • BACKGROUND
  • A workflow models a business process. Typical workflows include execution units referred to as activities. Some current systems lack a mechanism to enable users to visually create activities for use in the workflow. Further, some of the current systems enumerate activities at the workflow level (e.g., during execution of the workflow), but lack a design time mechanism for creating activities based on predefined activities.
  • SUMMARY
  • Embodiments of the invention include a user interface for visually creating an activity from predefined activities. In one embodiment, a composite activity is created at the activity level during design time. The user interface enables users to modify properties of the composite activity to specify, for example, design time, compile time, runtime and other behaviors associated with the composite activity. Properties associated with each activity within the composite activity may also be defined. For example, the composite activity may be considered completely configured, partially configured, or minimally configured based on one or more configuration properties associated with the composite activity.
  • Other features will be in part apparent and in part pointed out hereinafter. This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is an exemplary workflow containing tasks and control flow composite activities.
  • FIG. 2 is an exemplary block diagram illustrating a component model associated with an activity.
  • FIG. 3 is an exemplary flow chart illustrating activity composition.
  • FIG. 4 is an exemplary block diagram illustrating an exemplary activity designer.
  • FIG. 5 is an exemplary user interface displaying properties and associated property values of an activity.
  • FIG. 6 is a block diagram illustrating an exemplary computer-readable medium on which aspects of the invention may be stored.
  • FIG. 7 is an exemplary user interface illustrating an activity designer.
  • FIG. 8 is an exemplary user interface illustrating the activity designer of FIG. 7 with a composite activity under development by a user.
  • FIG. 9 is an exemplary user interface illustrating the composite activity of FIG. 8 in a workflow.
  • FIG. 10 is an exemplary user interface illustrating the composite activity of FIG. 8 with particular activities locked.
  • FIG. 11 is an exemplary user interface illustrating the composite activity of FIG. 10 in a workflow.
  • Appendix A includes a set of properties that describe characteristics of an activity.
  • Appendix B includes another set of properties that define the behavior of an activity.
  • Corresponding reference characters indicate corresponding parts throughout the drawings.
  • DETAILED DESCRIPTION
  • FIG. 1 illustrates an exemplary workflow. Embodiments of the invention are operable with a workflow representing a process, such as a business process. Business processes are dependent on ordered tasks, activities, or the like that result in predictable and repeatable outcomes. Including the operating procedures, institutional working knowledge, and information resources of an organization, business processes are designed to satisfy defined business objectives in an efficient and timely manner. In an efficient environment, the functional components of a process can be readily identified, adapted, and deployed to address ever-changing corporate requirements. The workflow is an end user's experience interacting with the tasks in a business process. Tasks are modeled as activities, components, or the like, each representing a unit of work that is performed by a person or machine.
  • The relationship between workflows and activities is generally analogous to the relationship between a computer program and its statements. Activities are reusable components which encapsulate metadata for a step in a workflow process and can be used in either modeling workflows or in composition of activities. For example, activities may be used to compose complex activities. In one embodiment, a plurality of activities is presented to a user via a workflow designer application program. The user selects and organizes the activities to create the workflow representative of a business process. The created workflow is executed to model the business process. An example of a workflow is shown in FIG. 1. FIG. 1 is an exemplary workflow containing tasks and control flow composite activities.
  • Exemplary activities include the following: Send, SendRequest, SendResponse, Receive, ReceiveRequest, ReceiveResponse, Code, Delay, Fault, Suspend, Terminate, InvokeSchedule, InvokeSchedules, InvokeWebService, EventSource, EventSink, Sequence, Parallel, While, ConditionalBranch, Conditional, Constrained, ConstrainedActivityGroup, EventDriven, Listen, EventHandlers, ExceptionHandler, ExceptionHandlers, Compensate, CompensationHandler, Scope, and Schedule.
  • According to embodiments of the invention, the activity is the basic unit of execution in the workflow model and has associated properties, handlers, constraints and events. Each activity may be configured by user code in any programming language. For example, the user code may represent business or application logic or rules written in common language runtime (CLR) languages. Each activity supports pre-interception hooks and post-interception hooks into execution in the user code. Each activity has associated runtime execution semantics and behavior (e.g., state management, transactions, event handling and exception handling). Activities may share state with other activities. Activities may also be primitive activities or grouped into a composite activity. A primitive or basic activity has no substructure (e.g., child activities), and thus is a leaf node in a tree structure. On the other hand, a composite activity contains substructure (e.g., it is the parent of one or more child activities or contains one or more child activities).
  • Referring next to FIG. 2, each activity in the illustrated embodiment has an associated set of components that forms a component model for the activity. The components have properties that define the behavior of the components. The associated set of components includes an activity executor, an activity designer, an activity serializer, an activity validator (e.g., semantic checker), and an activity code generator, among other components or properties of the activity. The activity executor is a stateless component that implements the execution semantics for the activity. The activity executor works with the metadata of an activity to implement the activity. A core scheduler acts as a service provider for the activity executor to provide services to the activity executor.
  • The activity designer visually displays the design time visual representation of the activity. FIG. 4, described below, illustrates an activity designer user interface for an activity designer. The activity designer is a node in a designer hierarchy and may be themed or skinned. The activity designer is hosted in a design environment (e.g., an application program) and interacts with the host design environment via services. The activity validator enforces the activity semantics at compile time as well as runtime. The activity validator operates on the context of the workflow model and uses the services provided by the environment (e.g., compiler, designer, or runtime). Validation occurs at various points in the lifecycle of a workflow. Structural compliance checks are made when creating serialized representations of the workflow, when compiling, and in response to the user's request. The semantic checks may be stronger at runtime than those performed at compile-time to ensure the safety of a runtime operation such as the addition or replacement of an activity in the activity tree of a running instance. Aspects of the invention evaluate semantics associated with each of the activities for conformance or compliance with, for example, predefined interface requirements.
  • The activity serializer of FIG. 2 is a component that serializes the metadata of an activity. The activity serializer is called from the various model/format serializers. The entire workflow model is serialized based on an extensible schema into a declarative markup language which may be further translated into other workflow languages as desired.
  • In one embodiment of the invention, users may reuse complex business process logic by composing custom activities as illustrated in FIG. 3. Embodiments of the invention enable an activity writer to declaratively (e.g., using a markup language) and/or programmatically (e.g., via code) generate reusable composite activities from existing activities interactively using a visual designer. Activity composition includes declaring activity metadata, associating business logic with an activity via an activity component, defining design time behavior and visualization of activity via an activity designer, validation of activity semantics via a semantic validation component, defining runtime behavior of the activity via an activity executor, serialization of an activity via an activity serializer, code generation of an activity via an activity code generator, etc. To facilitate the process of activity creation, aspects of the invention include a visually interactive composition designer (e.g., a user interface) to allow developers to create activities by visually defining a hierarchy of the activity, declaring activity metadata, associating business logic and building other required components and associating them with the activity. The user interface reduces the time for activity development. Primitive activities (e.g., activities with no child activities) and/or composite activities may be defined by the user in embodiments of the invention.
  • Activity writers define the aspects of an activity including, but not limited to, a metadata class definition, an executor that provides runtime execution logic, a validator that provides design-time and runtime validation logic, a designer that describes appearance and behavior in the authoring environment, a serializer that provides custom serialization behavior if required, and a code generator that allows a developer to participate in compile-time code generation. The custom activity designer helps configure these options and introduces further features which are valuable when creating composite activities.
  • Referring again to FIG. 3, a method of one aspect of the invention enables a user to create a composite workflow activity for use in a workflow. The method operates in a computing system having a display and a user interface selection device. The method includes displaying at least one predefined workflow activity to a user on the display at design time (e.g., not during execution of the workflow) at 302. The method also includes receiving, from the user via the user interface selection device, a selection of at least one of the displayed activities to define a composite activity at 304. In one example, the user selects at least two activities and arranges the selected activities via flow information (e.g., the activities may be arranged in sequence or in parallel). The flow information defines a relationship between the selected activities. According to the exemplary method, the user interface displays, on the display, the selected activities arranged via the flow information at 306. For example, the user may drag and drop activities (as children) to the composite activity that is currently being designed.
  • The computing system receives, via the user interface selection device, a value for a configuration property or the like associated with the one or more selected activities at 308. The configuration property value defines access in the workflow by a user to one or more properties or the structure associated with the selected activity. For example, the value may define whether any of the properties or structure of the selected activity are visible, editable, and/or locked in the user interface or programmatically. Visibility of an activity identifies whether the activity may be “seen” by the programmer during the authoring (e.g., available in the parent's collection during enumeration). The ability to “edit” an activity determines if the metadata of the activity may be programmed by the programmer during the authoring (e.g., activity properties are available for programming). Locking an activity prevents child activities of a parent activity from being moved or removed from the parent activity's collection.
  • The received value for the configuration property may define the activity as fully configured, partially configured, or minimally configured. The configuration property may be associated with a particular activity and/or with a particular property of the activity. The method configures, based on the received value for the configuration property, the selected activity as the composite activity at 310. The method generates software code implementing the composite activity at 312 and provides the composite activity to the developer or other user for use in the workflow at 314. In one embodiment, a compiler packages the activities into binary form for their reuse in the workflow or in the composition of other activities.
  • Aspects of the invention enable the user to include the composite activity in the workflow and extend the functionality of the composite activity in the workflow as a function of the configuration property. When creating the workflow, the user may view and/or configure the properties of the composite activity as determined by the configuration property. In an alternative embodiment, the user views and/or configures the properties of the composite activity as determined by a plurality of configuration properties, with each of the configuration properties defining access by the user to a particular activity or property of the composite activity. A compiler in one aspect of the invention enforces the ways in which the activities can be reused as a function of the configuration property.
  • A first activity writer may specify via the configuration property that only a subset of the properties of an activity be shown in the activity designer of a second activity writer. This occurs when the first activity writer is creating an activity for user by the second activity writer to create a composite activity. For example, an attribute such as [ActivityDesignerBrowsable] may be associated with one of the properties of the activity and may define whether the associated property is displayed in the activity designer of the second activity writer.
  • In one embodiment, one or more computer-readable media have computer-executable instructions for implementing the method illustrated in FIG. 3.
  • Referring next to FIG. 4, an exemplary block diagram illustrates an exemplary activity designer user interface 402 for implementing the method illustrated in FIG. 3. The activity designer user interface 402 includes one or more display areas or portions. For example, the display area includes an activity list portion 404 displaying a list of predefined activities, a designer portion 406 displaying activities selected by the user (e.g., dragged and dropped from the activity list portion 404), and a property portion 408 displaying a list of properties and corresponding property values for the selected activities. The activity writer uses a property browser, for example, in the property portion 408 and configures a set of properties for an activity selected in the designer portion 406. A set of properties that describe the basic characteristics of an activity are listed in Appendix A. A user also may add other properties and handlers for the activity being designed. The user may specify properties such as those listed in Appendix B for each property that the user adds.
  • Referring next to FIG. 5, an exemplary user interface displays properties and associated property values of an activity. Depending on the value associated with the configuration property of an activity, the workflow author who re-uses the activity may define the values of activity properties or otherwise configure the activity during workflow creation and deployment.
  • In one embodiment of the invention, the activity designer enables users to create activities which can be reused in a workflow according to various levels or models specified by the properties associated with the activities (e.g., the configuration property). Exemplary levels or models of re-use include black box, grey box and white box.
  • In the case of black box re-use, the activities which the user is able to create using the designer are structurally complete and completely configured using a set of preexisting activities or inheriting from a set of preexisting activities. The activity metadata is specified at the time of designing the activities. The user embeds and associates business logic with these activities. The user selectively hides the parts of an activity which the user does not want exposed at the time of reuse in a workflow but executed implicitly in the workflow. These type of activities are preconfigured and non modifiable on reuse in the workflow.
  • In the case of grey box reuse, the designer enables the user to create structurally modifiable and partially configured activities which the user is able to fully configure at the time of its use in a workflow. These activities typically contain a set of partially configured preexisting activities which are then completely configured by the user at the time of their reuse in the workflow. In this case, the user embeds a set of activities useful in accomplishing a certain task even though the activities are not structurally complete. The metadata of such activities may also be partly configured when designing the activities.
  • White box activities are non-configured and the user modifies their structure and metadata at the time of their reuse in the workflow.
  • In one embodiment, the configuration of an activity in a composite activity being designed is determined by the configuration properties of “Visibility” and “ContainerLocked”. These configuration properties are merely exemplary, and other properties or attributes that define whether an activity or any aspect thereof may be visible, editable, removable, or otherwise configurable during workflow or composite activity creation are within the scope of embodiments of the invention. The Visibility property (e.g., a Boolean property such as IsVisible) and the ContainerLocked property (e.g., a Boolean property such as IsLocked) enable users or developers to hide or otherwise not expose the inner workings of a composite activity to workflow authors. The Visibility property on a child activity in particular composite activity may be set (e.g., true or false) such that the user or developer is unable to view the child activity when creating a workflow or other composite activity using the particular composite activity. This means that the child activity does not visually appear to the user in the composite activity but the functionality of the child activity is within the composite activity. The ContainerLocked property on a composite activity may be set (e.g., true or false) such that the user or developer who re-uses the composite activity is unable add new activities to the composite activity and, in an alternative embodiment, remove any activities from the composite activity. If the composite activity is unlocked, the developer may add child activities at the end of the composite activity.
  • In an alternative embodiment, another configuration property specifies whether the metadata of an activity may be edited. In this example, each activity exposes a Boolean read-only property, such as IsEditable.
  • Referring next to FIG. 6, a block diagram illustrates an exemplary computer-readable medium 602 on which aspects of the invention may be stored. Aspects of the invention include one or more computer-readable media, such as computer-readable medium 602, having computer-executable components for interactive visual composition of activities. Exemplary components include a designer component 604, a display component 606, a property component 608, and a preview component 610. The designer component 604 provides a set of predefined workflow activities to the user and receives a selection of one or more of the predefined workflow activities. The display component 606 displays the selected activities to the user as a composite activity. The property component 608 receives a value for a configuration property associated with one of the selected activities displayed by the display component 606. For example, the value for the configuration property may specify that one or more of the selected activities or properties associated therewith will be partially hidden within the composite activity in the workflow. In one embodiment, one or more of the predefined activities inherits a property value from another one of the predefined activities. The preview component 610 displays the selected activities as the composite activity in a workflow as a function of the value received by the property component 608 for the configuration property.
  • Exemplary Operating Environment
  • The exemplary operating environment includes a general purpose computing device such as a computer executing computer-executable instructions. The computing device typically has at least some form of computer readable media. Computer readable media, which include both volatile and nonvolatile media, removable and non-removable media, may be any available medium that may be accessed by the general purpose computing device. By way of example and not limitation, computer readable media comprise computer storage media and communication media. Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media. Those skilled in the art are familiar with the modulated data signal, which has one or more of its characteristics set or changed in such a manner as to encode information in the signal. Wired media, such as a wired network or direct-wired connection, and wireless media, such as acoustic, RF, infrared, and other wireless media, are examples of communication media. Combinations of any of the above are also included within the scope of computer readable media. The computing device includes or has access to computer storage media in the form of removable and/or non-removable, volatile and/or nonvolatile memory. A user may enter commands and information into the computing device through input devices or user interface selection devices such as a keyboard and a pointing device (e.g., a mouse, trackball, pen, or touch pad). Other input devices (not shown) may be connected to the computing device. The computing device may operate in a networked environment using logical connections to one or more remote computers.
  • Although described in connection with an exemplary computing system environment, aspects of the invention are operational with numerous other general purpose or special purpose computing system environments or configurations. The computing system environment is not intended to suggest any limitation as to the scope of use or functionality of aspects of the invention. Moreover, the computing system environment should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment. Examples of well known computing systems, environments, and/or configurations that may be suitable for use in embodiments of the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
  • Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. Aspects of the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
  • An interface in the context of a software architecture includes a software module, component, code portion, or other sequence of computer-executable instructions. The interface includes, for example, a first module accessing a second module to perform computing tasks on behalf of the first module. The first and second modules include, in one example, application programming interfaces (APIs) such as provided by operating systems, component object model (COM) interfaces (e.g., for peer-to-peer application communication), and extensible markup language metadata interchange format (XMI) interfaces (e.g., for communication between web services).
  • The interface may be a tightly coupled, synchronous implementation such as in Java 2 Platform Enterprise Edition (J2EE), COM, or distributed COM (DCOM) examples. Alternatively or in addition, the interface may be a loosely coupled, asynchronous implementation such as in a web service (e.g., using the simple object access protocol). In general, the interface includes any combination of the following characteristics: tightly coupled, loosely coupled, synchronous, and asynchronous. Further, the interface may conform to a standard protocol, a proprietary protocol, or any combination of standard and proprietary protocols. The interfaces described herein may all be part of a single interface or may be implemented as separate interfaces or any combination therein. The interfaces may execute locally or remotely to provide functionality. Further, the interfaces may include additional or less functionality than illustrated or described herein.
  • In operation, the computing device executes computer-executable instructions such as those illustrated in the figures to implement embodiments of the invention.
  • The following examples further illustrate aspects of the invention. FIG. 7 through FIG. 11 include exemplary user interfaces implementing embodiments of the invention. Aspects of the invention are also operable with other user interfaces not explicitly contained herein, but functionally similar (e.g., the layout or design of the user interface may differ, but still be within the scope of an embodiment of the invention).
  • FIG. 7 illustrates an exemplary user interface for an activity designer. FIG. 8 is an exemplary user interface illustrating the activity designer of FIG. 7 with a composite activity under development by a user. Referring next to FIG. 9, an exemplary user interface illustrates the composite activity of FIG. 8 in a workflow. In this example, none of the activities in the composite activity are locked, and as such, all the activities are visible within the workflow. Referring next to FIG. 10, an exemplary user interface illustrates the composite activity of FIG. 8 with particular activities specified as locked in the activity designer. In this example, the sequence1 activity and the code1 activity within the sequence2 activity are marked as locked or invisible. FIG. 11 is an exemplary user interface illustrating the composite activity of FIG. 10 in a workflow. In this example, the sequence1 activity and the code1 activity are not visible in the workflow.
  • In general, aspects of the invention include a computerized system for interactive composition of a workflow activity for use in a workflow. Hardware, software, firmware, computer-executable components, computer-executable instructions, and/or FIGS. 7-11 constitute the following means. The system includes means for presenting a plurality of workflow activities to a user at design time. Each of the plurality of activities has one or more properties associated therewith. Each of the properties defines a behavior of the associated activity. The system also includes means for receiving a selection from the user of at least one of the plurality of activities to define a composite activity, means for presenting to the user a plurality of properties associated with the received selection of activities, and means for receiving from the user a property value for at least one of the properties. The received property value defines a behavior of the activity in the composite activity in a workflow. The system further includes means for configuring, as a function of the received property value, the received selection of activities as the composite activity for use in the workflow. For example, each of the properties defines one or more of the following associated with the received selection of activities: a design time behavior, a runtime behavior, a semantic behavior, and a visualization behavior. Additionally, the system includes means for enabling the user to create the workflow with the composite activity.
  • The order of execution or performance of the operations illustrated and described herein is not essential, unless otherwise specified. That is, the operations may be performed in any order, unless otherwise specified, and the operations may include more or less elements than those disclosed herein. For example, it is contemplated that executing or performing a particular operation or element before, contemporaneously with, or after another operation or element is within the scope of an embodiment of the invention.
  • When introducing elements of embodiments of the invention, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
  • Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described herein. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
  • Appendix A
  • An exemplary set of properties that describe characteristics of an activity is shown below.
    TABLE A1
    Activity Properties.
    Property
    Name Category Comment Editor
    (Name) Activity This is a string that will be
    used to iterate upon as
    this custom activity is
    used within the workflow.
    For example, if a
    developer specifies
    “MyCustomActivityName”
    then the first use of this
    custom activity will be
    MyCustomActivityName1
    and the second
    MyCustomActivityName2.
    Base Class Activity This is the base class that
    the activity derives from.
    The default base class is
    Sequence.
    Description Activity This is a standard
    description of the
    property.
    Activity Properties Activity Properties This allows a developer to The property browser
    define the properties on ellipsis launches the
    their custom activities. collection editor. The
    When a property has been properties within here
    fully defined, it is added to are defined below.
    the metadata class
    definition with
    corresponding types,
    getters and setters.
    Designer Companion Classes This is the name of the The property browser
    designer class specific launches the Type picker.
    to this activity. The type picker shows all
    activities whose designer
    derives from the selected
    base type.
    Executor Companion Classes This is the name of the The property browser
    executor class specific launches the Type picker.
    to this activity. The type picker shows all
    activities whose executor
    derives from the selected
    basetype.
    Validator Companion Classes This is the name of the The property browser
    validator class specific launches the Type picker.
    to this activity. The type picker shows all
    activities whose validator
    derives from the selected
    base type.
    RootActivity DataContext This is a Boolean
    indicating if this activity
    supports the IRootActivity
    interface.
    Since IRootActivity
    inherits from
    IDataContext, setting this
    property to true it will
    set the “Supports
    DataContext” property
    to true and make it
    read only.
    Setting this property to
    false, will set “Supports
    DataContext” property to
    false.
    Supports DataContext When the custom activity
    DataContext supports a data context,
    upon usage within a
    workflow, a new class is
    generated in the
    datacontext of calling
    workflow.
    This is a True/False
    Boolean field.
    The required
    ISupportDataContext code
    is put into the hidden
    Designer.cs file, not the
    custom activity code.
    If the selected base type
    supports a data context,
    this property is set to true
    and becomes read only.
    Companion DataContext This is the name of the
    Class Name class which the activity's
    datacontext will derive
    from. A developer could
    define this class within the
    activity and introduce
    properties which could be
    referenced by other
    activities in the containing
    workflow.
    This property is hidden
    until the developer sets
    “Supports
    DataContext” to
    True and then is nested in
    the property browser
    when this occurs.
  • Appendix B
  • An exemplary set of properties that define the behavior of an activity is set forth below.
    TABLE B1
    Activity Properties.
    Name Category Comments
    Name Property This is the name of the property.
    Type Property This is the Type of the property.
    The Type Picker will be launched from here.
    Browsable Attributes This defines whether a property or event should be
    displayed in a Properties window
    Category Attributes This specifies the name of the category in which to
    group the property or event when displayed in the
    PropertyGrid control set to Categorized mode.
    Description Attributes This specifies a description for a property or event.
    This description is displayed in the PropertyGrid
    control when the activity being used in a workflow
    and is selected.
    Validation Attributes The developer can select from
    Optional - the property can accept null values.
    Required - values must be specified for property and
    we automatically check to see that this is the case.
    Hidden - no automatic validation.
    If ‘Required’ is selected, upon re-use, the custom
    activity will require that the property be configured
    via smart tags. This essentially provides a short cut
    to writing this validation in the Validator class.
    DesignerSerializationVisiblity Advanced This determines how/if properties will be serialized.
    Attributes Setting to visible (the default) will cause the property
    to be serialized normally.
    Setting to hidden will prevent property serialization
    (disables undo/redo and does property does not show
    up in XOML, etc)
    Setting to content is used for collection properties.
    The collection object itself are not serialized,
    however the contents of the collection are.
    If a developer chooses a collection type, this property
    will be set to ‘content‘.
    If a developer chooses a non serializable type, this
    property will be set to ‘hidden‘.
    UITypeEditor Advanced This is a read only field. This is a discoverability
    Attributes mechanism for the UI type editor.
    If the property type (like Boolean, Bind, Condition,
    ParameterBindingCollection) has a UIEditor
    associated with it, this field will display it.
    Supports Databinding Databinding This is a ‘True/False’ combo box. Default is false.
    If set to true, a field of the Type defined above and a
    getter/setter which supports bind is generated.
    For example, if System.String is the type for a
    property called “MyProperty” then the following
    code would be generated:
    private BindBase myProp;
    [BaseType(typeof(String))]
    public BindBase MyProperty
    {
    get
    {
    return this.myProp;
    }
    set
    {
    if (this.IsRuntimeMode)
    throw new ReadOnlyException( );
    }
    }

Claims (20)

1. A computerized system for interactive composition of a workflow activity for use in a workflow, said computerized system comprising:
means for presenting a plurality of workflow activities to a user at design time, each of the plurality of activities having one or more properties associated therewith, each of said properties defining a behavior of the associated activity;
means for receiving a selection from the user of at least one of the plurality of activities to define a composite activity;
means for presenting to the user a plurality of properties associated with the received selection of activities;
means for receiving from the user a property value for at least one of the properties, said received property value defining a behavior of the activity in the composite activity in a workflow; and
means for configuring, as a function of the received property value, the received selection of activities as the composite activity for use in the workflow.
2. The computerized system of claim 1, further comprising means for enabling the user to create the workflow with the composite activity.
3. The computerized system of claim 1, further comprising a display area having:
an activity portion for displaying the plurality of workflow activities;
a property portion for displaying a list of the properties and values associated therewith; and
a designer portion for displaying the composite activity.
4. The computerized system of claim 1, wherein the property value comprises a value defining visibility of the properties in the composite activity in the workflow.
5. The computerized system of claim 1, wherein the property value comprises a value specifying whether a particular property of the composite activity is editable in the workflow.
6. The computerized system of claim 1, wherein each of the properties defines one or more of the following associated with the received selection of activities: a design time behavior, a runtime behavior, a semantic behavior, and a visualization behavior.
7. The computerized system of claim 1, further comprising a compiler for enforcing the defined behavior of the activity during workflow creation,
8. The computerized system of claim 1, wherein the properties define whether the activities are one or more of the following: visible, editable, and lockable.
9. The computerized system of claim 1, further comprising means for authoring the composite activity declaratively or programmatically.
10. In a computing system having a display and a user interface selection device, a method of enabling a user to create a composite workflow activity for use in a workflow, said method comprising:
displaying predefined workflow activities to a user on the display at design time;
receiving, via the user interface selection device, a selection of at least one of the displayed activities to define a composite activity;
displaying, on the display, the selected activity;
receiving, via the user interface selection device, a value for a configuration property associated with the selected activity, said value configuring other properties associated with the selected activity;
configuring, based on the received value for the configuration property, the selected activity as the composite activity;
providing the composite activity to the user for use in the workflow.
11. The method of claim 10, further comprising generating software code implementing the composite activity.
12. The method of claim 10, further comprising:
receiving, via the user interface selection device, a selection of at least two of the displayed activities and flow information defining a relationship between the selected activities; and
displaying, on the display, the selected activities arranged via the flow information.
13. The method of claim 10, wherein the received value for the configuration property corresponds to one or more of the following: a fully-configured activity, a partially-configured activity, and a minimally-configured activity.
14. The method of claim 10, further comprising enabling the user to extend the functionality of the composite activity in the workflow as a function of the configuration property.
15. The method of claim 10, wherein the configuration property is associated with a particular property of the selected activity.
16. The method of claim 10, wherein one or more computer-readable media have computer-executable instructions for implementing the method of claim 10.
17. One or more computer-readable media having computer-executable components for interactive visual composition of activities, said components comprising:
a designer component for providing a set of predefined workflow activities to a user and receiving a selection of one or more of the predefined workflow activities;
a display component for displaying the selected activities to the user as a composite activity;
a property component for receiving a value for a configuration property associated with one of the selected activities displayed by the display component; and
a preview component for displaying the selected activities as the composite activity in a workflow as a function of the value received by the property component for the configuration property.
18. The computer-readable media of claim 17, wherein one or more of the predefined activities inherits a property value from another one of the predefined activities.
19. The computer-readable media of claim 17, wherein the value for the configuration property specifies access in the workflow to one of the selected activities.
20. The computer-readable media of claim 17, wherein the value for the configuration property specifies that one or more of the selected activities or properties associated therewith be partially hidden within the composite activity in the workflow.
US11/155,454 2004-10-01 2005-06-17 Interactive composition of workflow activities Abandoned US20060074737A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/155,454 US20060074737A1 (en) 2004-10-01 2005-06-17 Interactive composition of workflow activities

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US61554304P 2004-10-01 2004-10-01
US11/155,454 US20060074737A1 (en) 2004-10-01 2005-06-17 Interactive composition of workflow activities

Publications (1)

Publication Number Publication Date
US20060074737A1 true US20060074737A1 (en) 2006-04-06

Family

ID=36688926

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/047,017 Expired - Fee Related US7451432B2 (en) 2004-10-01 2005-01-31 Transformation of componentized and extensible workflow to a declarative format
US11/155,454 Abandoned US20060074737A1 (en) 2004-10-01 2005-06-17 Interactive composition of workflow activities

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/047,017 Expired - Fee Related US7451432B2 (en) 2004-10-01 2005-01-31 Transformation of componentized and extensible workflow to a declarative format

Country Status (2)

Country Link
US (2) US7451432B2 (en)
CN (1) CN1755721A (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016902A1 (en) * 2005-07-13 2007-01-18 Konica Minolta Business Technologies, Inc. Installation support method and workflow generation support method
US20070174342A1 (en) * 2006-01-11 2007-07-26 Kaoru Maeda Workflow management system
US20080109467A1 (en) * 2006-11-03 2008-05-08 Microsoft Corporation Data entity centric approach for designing workflows
US20090112932A1 (en) * 2007-10-26 2009-04-30 Microsoft Corporation Visualizing key performance indicators for model-based applications
US20090222794A1 (en) * 2008-02-29 2009-09-03 Microsoft Corporation Unified expression and location framework
US20100205238A1 (en) * 2009-02-06 2010-08-12 International Business Machines Corporation Methods and apparatus for intelligent exploratory visualization and analysis
US20100251155A1 (en) * 2009-03-25 2010-09-30 Microsoft Corporation Placeholder activities and in-lining of code editors in workflow designer
US20100280865A1 (en) * 2009-04-30 2010-11-04 United Parcel Service Of America, Inc. Systems and Methods for a Real-Time Workflow Platform
US20100281462A1 (en) * 2009-04-30 2010-11-04 United Parcel Service Of America, Inc. Systems and methods for generating source code for workflow platform
US20120030612A1 (en) * 2010-07-30 2012-02-02 Sap Ag Dynamic property attributes
CN102486730A (en) * 2010-12-06 2012-06-06 上海协讯软件有限公司 Workflow realization method and workflow system capable of customizing flow in user-defined manner
CN102520968A (en) * 2011-12-28 2012-06-27 用友软件股份有限公司 Design and demonstration device for process capable of being customized and method
US20130014038A1 (en) * 2008-03-05 2013-01-10 Microsoft Corporation Definition for Service Interface
US20130282424A1 (en) * 2012-04-20 2013-10-24 Tata Consultancy Services Limited Configurable process management system
US8839252B1 (en) * 2010-09-01 2014-09-16 Misys Ireland Limited Parallel execution of batch data based on modeled batch processing workflow and contention context information
US20160321041A1 (en) * 2015-04-30 2016-11-03 OpenMethods, Inc. Method, system and apparatus for visual programming of interaction workflows for omni-channel customer contact centers with integrated customer relationship management
US9588685B1 (en) * 2013-05-03 2017-03-07 EMC IP Holding Company LLC Distributed workflow manager
US11062246B2 (en) 2018-04-16 2021-07-13 Bank Of America Corporation Enterprise framework for efficient and adaptable workflow application data distribution

Families Citing this family (210)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516054B2 (en) * 2000-12-20 2013-08-20 Aurea Software, Inc. Message handling
US7802007B2 (en) 2004-05-19 2010-09-21 Salesforce.Com, Inc. Techniques for providing connections to services in a network environment
US20060074735A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Ink-enabled workflow authoring
US7451432B2 (en) * 2004-10-01 2008-11-11 Microsoft Corporation Transformation of componentized and extensible workflow to a declarative format
US7805324B2 (en) 2004-10-01 2010-09-28 Microsoft Corporation Unified model for authoring and executing flow-based and constraint-based workflows
US8170901B2 (en) * 2004-10-01 2012-05-01 Microsoft Corporation Extensible framework for designing workflows
US9645712B2 (en) * 2004-10-01 2017-05-09 Grand Central Communications, Inc. Multiple stakeholders for a single business process
US20060074703A1 (en) * 2004-10-04 2006-04-06 Grand Central Communications, Inc. Providing and managing business processes
US20060179430A1 (en) * 2004-11-18 2006-08-10 Besbris David G Service grouping
US7665093B2 (en) * 2004-12-22 2010-02-16 Microsoft Corporation Synchronization of runtime and application state via batching of workflow transactions
US7694299B2 (en) 2005-02-15 2010-04-06 Bea Systems, Inc. Composite task framework
US20060190476A1 (en) * 2005-02-18 2006-08-24 Mettovaara Risto K Database storage system and associated method
US8375372B2 (en) * 2005-02-23 2013-02-12 International Business Machines Corporation Business process execution language program simulation
US7793255B1 (en) * 2005-03-01 2010-09-07 Oracle America, Inc. System and method for maintaining alternate object views
US20060293941A1 (en) * 2005-06-07 2006-12-28 Konstantin Ivanov Systems and methods for modeling business processes using graphical symbols
US20070005618A1 (en) * 2005-06-07 2007-01-04 Konstantin Ivanov Systems and methods for modeling business processes
US8527938B2 (en) * 2005-06-21 2013-09-03 The Boeing Company Worklet modeling
US7617230B2 (en) * 2005-07-28 2009-11-10 International Business Machines Corporation Finding similarity among sets of coordinated tasks
US20070038492A1 (en) * 2005-08-12 2007-02-15 Microsoft Corporation Model for process and workflows
US8224853B2 (en) * 2005-11-02 2012-07-17 Sourcecode Technologies Holdings, Inc. Methods and apparatus for updating a plurality of data fields in an electronic form
US8370794B2 (en) 2005-12-30 2013-02-05 Sap Ag Software model process component
US8407664B2 (en) 2005-12-30 2013-03-26 Sap Ag Software model business objects
US8326703B2 (en) 2005-12-30 2012-12-04 Sap Ag Architectural design for product catalog management application software
US8321831B2 (en) 2005-12-30 2012-11-27 Sap Ag Architectural design for internal projects application software
US8327319B2 (en) * 2005-12-30 2012-12-04 Sap Ag Software model process interaction
US8522194B2 (en) 2005-12-30 2013-08-27 Sap Ag Software modeling
US8660904B2 (en) 2005-12-30 2014-02-25 Sap Ag Architectural design for service request and order management application software
US8316344B2 (en) 2005-12-30 2012-11-20 Sap Ag Software model deployment units
US8676617B2 (en) 2005-12-30 2014-03-18 Sap Ag Architectural design for self-service procurement application software
US8402426B2 (en) 2005-12-30 2013-03-19 Sap Ag Architectural design for make to stock application software
US8396731B2 (en) 2005-12-30 2013-03-12 Sap Ag Architectural design for service procurement application software
US8380553B2 (en) 2005-12-30 2013-02-19 Sap Ag Architectural design for plan-driven procurement application software
US8448137B2 (en) 2005-12-30 2013-05-21 Sap Ag Software model integration scenarios
US7627852B1 (en) * 2006-01-17 2009-12-01 Xilinx, Inc. Embedding an interpreter within an application written in a different programming language
US7599861B2 (en) 2006-03-02 2009-10-06 Convergys Customer Management Group, Inc. System and method for closed loop decisionmaking in an automated care system
US8438119B2 (en) 2006-03-30 2013-05-07 Sap Ag Foundation layer for services based enterprise software architecture
US8326702B2 (en) 2006-03-30 2012-12-04 Sap Ag Providing supplier relationship management software application as enterprise services
US8396761B2 (en) 2006-03-30 2013-03-12 Sap Ag Providing product catalog software application as enterprise services
US8538864B2 (en) 2006-03-30 2013-09-17 Sap Ag Providing payment software application as enterprise services
US8442850B2 (en) 2006-03-30 2013-05-14 Sap Ag Providing accounting software application as enterprise services
US20070239498A1 (en) * 2006-03-30 2007-10-11 Microsoft Corporation Framework for modeling cancellation for process-centric programs
US8396749B2 (en) 2006-03-30 2013-03-12 Sap Ag Providing customer relationship management application as enterprise services
US8321832B2 (en) * 2006-03-31 2012-11-27 Sap Ag Composite application modeling
US8468496B2 (en) * 2006-04-07 2013-06-18 Ricoh Production Print Solutions LLC Flexible attribute management in workflow processing systems
US20080040702A1 (en) * 2006-04-10 2008-02-14 Tibco Software Inc. Nonlinear workflow assembly for visual programming
US8312416B2 (en) 2006-04-13 2012-11-13 Sap Ag Software model business process variant types
US7774746B2 (en) * 2006-04-19 2010-08-10 Apple, Inc. Generating a format translator
US8396736B2 (en) * 2006-04-21 2013-03-12 Process Assets, Llc Systems and methods for providing documentation having succinct communication with scalability
US8181150B2 (en) 2006-05-12 2012-05-15 The Mathworks, Inc. System and method for synchronized workflow management
US7809663B1 (en) 2006-05-22 2010-10-05 Convergys Cmg Utah, Inc. System and method for supporting the utilization of machine language
US8379830B1 (en) 2006-05-22 2013-02-19 Convergys Customer Management Delaware Llc System and method for automated customer service with contingent live interaction
US8111260B2 (en) 2006-06-28 2012-02-07 Microsoft Corporation Fast reconfiguration of graphics pipeline state
US8954947B2 (en) * 2006-06-29 2015-02-10 Microsoft Corporation Fast variable validation for state management of a graphics pipeline
US7940916B2 (en) * 2006-08-28 2011-05-10 Avaya Inc. Orchestration engine as an intermediary between telephony functions and business processes
US8146051B2 (en) * 2006-10-02 2012-03-27 International Business Machines Corporation Method and computer program product for providing a representation of software modeled by a model
US20080127343A1 (en) * 2006-11-28 2008-05-29 Avaya Technology Llc Self-Operating Security Platform
US8375362B1 (en) * 2006-11-28 2013-02-12 Emc Corporation Wizard for web service search adapter
EP1933242A1 (en) * 2006-12-11 2008-06-18 Sitecore A/S A method for ensuring internet content compliance
US20080140472A1 (en) * 2006-12-12 2008-06-12 Dagan Gilat Method and Computer Program Product for Modeling an Organization
US20080155559A1 (en) * 2006-12-21 2008-06-26 Ilja Fischer Portal eventing directory
US20080177556A1 (en) * 2007-01-19 2008-07-24 Long Fung Cheng Business object status management
US9009234B2 (en) 2007-02-06 2015-04-14 Software Ag Complex event processing system having multiple redundant event processing engines
WO2008097912A2 (en) * 2007-02-06 2008-08-14 Progress Software Corporation Event-based process configuration
US8276115B2 (en) * 2007-02-06 2012-09-25 Progress Software Corporation Automated construction and deployment of complex event processing applications and business activity monitoring dashboards
GB0702822D0 (en) * 2007-02-14 2007-03-28 Salamander Organization The Lt Organisation representational system
US20080263453A1 (en) * 2007-04-20 2008-10-23 Vijay Kumar Aggarwal Method and apparatus for process configuration
US7987446B2 (en) * 2007-04-24 2011-07-26 International Business Machines Corporation Method for automating variables in end-user programming system
US9175547B2 (en) * 2007-06-05 2015-11-03 Schlumberger Technology Corporation System and method for performing oilfield production operations
US8799174B1 (en) * 2007-06-15 2014-08-05 Crimson Corporation Systems and methods for facilitating the reuse of a child workflow process by multiple parent workflow processes
US7890523B2 (en) 2007-06-28 2011-02-15 Microsoft Corporation Search-based filtering for property grids
US20090006162A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Workflows Leveraging Process Stages and Cross-Entity Records
US8112738B2 (en) * 2007-09-26 2012-02-07 Sap Ag Apparatus and method of customizable model import and export to and from XML schema formats
US7827127B2 (en) * 2007-10-26 2010-11-02 Microsoft Corporation Data scoping and data flow in a continuation based runtime
US20090112915A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Class configuration for locally cached remote data binding
US20090119618A1 (en) * 2007-11-06 2009-05-07 David Everton Norman User-specified configuration of prediction services
US20090119669A1 (en) * 2007-11-06 2009-05-07 David Everton Norman User-specified configuration of scheduling services
CA2705319C (en) * 2007-11-10 2019-01-15 Laurence Reid Systems and methods for workflow automation, adaptation and integration
US20090138273A1 (en) * 2007-11-23 2009-05-28 International Business Machines Corporation Systems and methods for transforming a business process into reusable services
US8397207B2 (en) * 2007-11-26 2013-03-12 Microsoft Corporation Logical structure design surface
US8683436B2 (en) * 2007-12-19 2014-03-25 Sap Ag Timer patterns for process models
US8401936B2 (en) 2007-12-31 2013-03-19 Sap Ag Architectural design for expense reimbursement application software
US8510143B2 (en) 2007-12-31 2013-08-13 Sap Ag Architectural design for ad-hoc goods movement software
US8671034B2 (en) 2007-12-31 2014-03-11 Sap Ag Providing human capital management software application as enterprise services
US8315900B2 (en) 2007-12-31 2012-11-20 Sap Ag Architectural design for self-service procurement application software
US8671032B2 (en) 2007-12-31 2014-03-11 Sap Ag Providing payment software application as enterprise services
US8671033B2 (en) 2007-12-31 2014-03-11 Sap Ag Architectural design for personnel events application software
US8447657B2 (en) 2007-12-31 2013-05-21 Sap Ag Architectural design for service procurement application software
US20090183185A1 (en) * 2008-01-16 2009-07-16 Microsoft Corporation Declarative and Extensible Process Definition
US8341598B2 (en) * 2008-01-18 2012-12-25 Microsoft Corporation Declartive commands using workflows
US7968999B2 (en) * 2008-02-28 2011-06-28 Lsi Corporation Process of grounding heat spreader/stiffener to a flip chip package using solder and film adhesive
US8438539B2 (en) * 2008-04-11 2013-05-07 International Business Machines Corporation Using a menu slideshow framework for generating a custom menu-driven slideshow containing definable content
ES2569666T3 (en) * 2008-04-28 2016-05-12 Fujitsu Limited Re-connection after connection rejection
US8837491B2 (en) 2008-05-27 2014-09-16 Glue Networks Regional virtual VPN
US20100002864A1 (en) * 2008-07-02 2010-01-07 International Business Machines Corporation Method and System for Discerning Learning Characteristics of Individual Knowledge Worker and Associated Team In Service Delivery
US20100004941A1 (en) * 2008-07-02 2010-01-07 International Business Machines Corporation Method and Apparatus for Generating Customized Provisioning Workflows from One Flow Models
US20100005469A1 (en) * 2008-07-02 2010-01-07 International Business Machines Corporation Method and System for Defining One Flow Models with Varied Abstractions for Scalable lean Implementations
US20100004967A1 (en) * 2008-07-02 2010-01-07 International Business Machines Corporation Method and System for Generating One Flow Models from Runtime Service Delivery Process
TW201009688A (en) * 2008-08-20 2010-03-01 Clevest Solutions Inc Method and system of editing workflow logic and screens with a GUI tool
US8386325B2 (en) 2008-09-18 2013-02-26 Sap Ag Architectural design for plan-driven procurement application software
US8380549B2 (en) 2008-09-18 2013-02-19 Sap Ag Architectural design for embedded support application software
US8374896B2 (en) 2008-09-18 2013-02-12 Sap Ag Architectural design for opportunity management application software
US8321250B2 (en) 2008-09-18 2012-11-27 Sap Ag Architectural design for sell from stock application software
US8595077B2 (en) 2008-09-18 2013-11-26 Sap Ag Architectural design for service request and order management application software
US8352338B2 (en) 2008-09-18 2013-01-08 Sap Ag Architectural design for time recording application software
US8818884B2 (en) 2008-09-18 2014-08-26 Sap Ag Architectural design for customer returns handling application software
US8401928B2 (en) 2008-09-18 2013-03-19 Sap Ag Providing supplier relationship management software application as enterprise services
US8326706B2 (en) 2008-09-18 2012-12-04 Sap Ag Providing logistics execution application as enterprise services
US8315926B2 (en) 2008-09-18 2012-11-20 Sap Ag Architectural design for tax declaration application software
US8832580B2 (en) 2008-11-05 2014-09-09 Aurea Software, Inc. Software with improved view of a business process
US8401908B2 (en) 2008-12-03 2013-03-19 Sap Ag Architectural design for make-to-specification application software
US8321306B2 (en) 2008-12-03 2012-11-27 Sap Ag Architectural design for selling project-based services application software
US8321308B2 (en) 2008-12-03 2012-11-27 Sap Ag Architectural design for manual invoicing application software
US8311904B2 (en) 2008-12-03 2012-11-13 Sap Ag Architectural design for intra-company stock transfer application software
US8738476B2 (en) 2008-12-03 2014-05-27 Sap Ag Architectural design for selling standardized services application software
US8671035B2 (en) 2008-12-11 2014-03-11 Sap Ag Providing payroll software application as enterprise services
US8656346B2 (en) * 2009-02-18 2014-02-18 Microsoft Corporation Converting command units into workflow activities
US8458111B2 (en) * 2009-05-21 2013-06-04 Microsoft Corporation Runtime interpretation of declarative programs
US20110022978A1 (en) * 2009-07-23 2011-01-27 Rockwell Automation Technologies, Inc. Intelligent device framework
US8635331B2 (en) * 2009-08-05 2014-01-21 Microsoft Corporation Distributed workflow framework
CN102082682B (en) * 2009-11-26 2013-11-06 中兴通讯股份有限公司 Method and device for configuring performance statistic counter
US20110190916A1 (en) * 2010-01-29 2011-08-04 Siemens Product Lifecycle Managemet Software Inc. System and Method for Management of Parameters Using Options and Variants in a Product Lifecycle Management System
US8484610B2 (en) 2010-03-17 2013-07-09 Microsoft Corporation Workflow execution model
CN103460228A (en) * 2010-04-08 2013-12-18 敏捷尖端公司 Method and apparatus for improving business process management systems
US8572574B2 (en) * 2010-07-16 2013-10-29 Fujitsu Limited Solving hybrid constraints to validate specification requirements of a software module
JP5652114B2 (en) * 2010-10-19 2015-01-14 株式会社リコー Workflow execution device, preview creation method and program
US8682936B2 (en) 2010-12-15 2014-03-25 Microsoft Corporation Inherited entity storage model
US8645913B2 (en) * 2010-12-21 2014-02-04 Sap Ag Web-service based generation of business objects
US9632763B2 (en) * 2011-03-09 2017-04-25 International Business Machines Corporation Sharing of flows in a stream processing system
US8645957B2 (en) * 2011-08-02 2014-02-04 Microsoft Corporation Optimized datacenter management by centralized task execution through dependency inversion
US8671389B1 (en) * 2011-09-27 2014-03-11 Google Inc. Web application resource manager on the web and localizable components
US8954475B2 (en) 2011-11-10 2015-02-10 Microsoft Technology Licensing, Llc Deep cloning of objects using binary format
US20130179208A1 (en) * 2012-01-11 2013-07-11 Microsoft Corporation Workflow tasks
US9135034B2 (en) 2012-08-16 2015-09-15 Microsoft Technology Licensing, Llc Imperative attribution for elements in managed runtimes
US9519879B1 (en) * 2012-08-24 2016-12-13 Tibco Software Inc. Just in time compilation (JIT) for business process execution
US9104781B2 (en) 2012-08-28 2015-08-11 Microsoft Technology Licensing, Llc Obtaining metadata set by imperative statement
US9031975B2 (en) 2012-11-06 2015-05-12 Rockwell Automation Technologies, Inc. Content management
US9563861B2 (en) 2012-11-06 2017-02-07 Rockwell Automation Technologies, Inc. Integration of workflow and library modules
US9135000B2 (en) * 2012-11-06 2015-09-15 Rockwell Automation Technologies, Inc. Runtime process diagnostics
US9530115B2 (en) 2013-01-07 2016-12-27 Sap Se Message evaluation tool
US9063809B2 (en) * 2013-01-15 2015-06-23 International Business Machines Corporation Content space environment representation
US9760528B1 (en) 2013-03-14 2017-09-12 Glue Networks, Inc. Methods and systems for creating a network
JP2014182411A (en) * 2013-03-15 2014-09-29 Ricoh Co Ltd Information processing device, network system, processing execution method, and processing execution program
US9928082B1 (en) 2013-03-19 2018-03-27 Gluware, Inc. Methods and systems for remote device configuration
US9052891B2 (en) * 2013-05-14 2015-06-09 International Business Machines Corporation Declarative configuration and execution of card content management operations for trusted service manager
CN104252391B (en) * 2013-06-28 2017-09-12 国际商业机器公司 Method and apparatus for managing multiple operations in distributed computing system
US10013238B2 (en) * 2013-08-12 2018-07-03 Telefonaktiebolaget Lm Ericsson (Publ) Predicting elements for workflow development
US9280319B2 (en) 2013-10-18 2016-03-08 Microsoft Technology Licensing, Llc Integrated visualization for modeled customizations
US20150127412A1 (en) * 2013-11-04 2015-05-07 Amazon Technologies, Inc. Workflow management system
CN103577941A (en) * 2013-11-25 2014-02-12 方正国际软件有限公司 Configurable medical information management platform and medical information management method
US20150248203A1 (en) * 2014-03-03 2015-09-03 Microsoft Technology Licensing, Llc Portable business logic with branching and gating
US9946516B2 (en) * 2014-03-14 2018-04-17 Starbucks Corporation Application workflow framework
US9354922B2 (en) * 2014-04-02 2016-05-31 International Business Machines Corporation Metadata-driven workflows and integration with genomic data processing systems and techniques
US10861110B2 (en) * 2014-08-04 2020-12-08 Schlumberger Technology Corporation Collaborative system and method for performing wellsite tasks
US10270840B2 (en) 2015-01-01 2019-04-23 Bank Of America Corporation Modular system for holistic data transmission across an enterprise
US10706124B2 (en) * 2015-01-12 2020-07-07 Microsoft Technology Licensing, Llc Storage and retrieval of structured content in unstructured user-editable content stores
US9575803B2 (en) * 2015-02-13 2017-02-21 International Business Machines Corporation Determining an ordering to use to open and close programs that call other programs
US9785412B1 (en) 2015-02-27 2017-10-10 Glue Networks, Inc. Methods and systems for object-oriented modeling of networks
US9772822B2 (en) 2015-03-16 2017-09-26 Microsoft Technology Licensing, Llc Visualization framework for customizable types in a development environment
US9311083B1 (en) * 2015-04-10 2016-04-12 CypressX LLC Machine interface configuration system for coerced inconsistencies on different machine platforms
US9946983B1 (en) * 2015-06-10 2018-04-17 Amazon Technologies, Inc. Rule-based electronic workflow processing
US10019684B2 (en) * 2015-06-19 2018-07-10 Bank Of America Corporation Adaptive enterprise workflow management system
AU2016302390B2 (en) * 2015-07-31 2022-06-23 WiseTech Global (Licensing) Pty Ltd Systems and methods for executable content and executable content flow creation
US9965533B2 (en) * 2015-08-28 2018-05-08 6Connect, Inc. Reverse application programming interface (API) endpoint creation process and standardized schema
US10203939B2 (en) * 2015-10-30 2019-02-12 Sap Se Method and system for parameter model framework
CN106648569B (en) * 2015-11-02 2021-04-20 腾讯科技(深圳)有限公司 Target serialization realization method and device
CN105447680A (en) * 2015-11-20 2016-03-30 上海携程商务有限公司 Order processing method and system based on workflow
US9652203B1 (en) * 2015-11-24 2017-05-16 Corpa Inc. Application development framework using configurable data types
EP3384380B1 (en) * 2015-11-30 2022-04-20 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for declarative action orchestration
CN107015794B (en) * 2015-12-18 2021-07-06 Sap欧洲公司 Software-as-a-service reference flow extension verification framework
US10467635B1 (en) 2016-01-28 2019-11-05 Numerify, Inc. Efficient cross customer analytics
US10353560B2 (en) 2016-04-28 2019-07-16 Microsoft Technology Licensing, Llc Debugging a flow
US10698954B2 (en) * 2016-06-30 2020-06-30 Facebook, Inc. Computation platform agnostic data classification workflows
US10672156B2 (en) 2016-08-19 2020-06-02 Seven Bridges Genomics Inc. Systems and methods for processing computational workflows
US10545792B2 (en) 2016-09-12 2020-01-28 Seven Bridges Genomics Inc. Hashing data-processing steps in workflow environments
US10545951B1 (en) 2016-12-15 2020-01-28 Amazon Technologies, Inc. Workflow dependency management system
CN107066248B (en) * 2016-12-29 2020-11-10 北京五八信息技术有限公司 Processing model determining method and device
US10732796B2 (en) 2017-03-29 2020-08-04 Microsoft Technology Licensing, Llc Control of displayed activity information using navigational mnemonics
US10671245B2 (en) 2017-03-29 2020-06-02 Microsoft Technology Licensing, Llc Collection and control of user activity set data and activity set user interface
US10853220B2 (en) 2017-04-12 2020-12-01 Microsoft Technology Licensing, Llc Determining user engagement with software applications
US10693748B2 (en) 2017-04-12 2020-06-23 Microsoft Technology Licensing, Llc Activity feed service
US11055135B2 (en) 2017-06-02 2021-07-06 Seven Bridges Genomics, Inc. Systems and methods for scheduling jobs from computational workflows
US11188390B2 (en) 2017-06-05 2021-11-30 Umajin Inc. Method for configuring a server kit by a server management system
US11922564B2 (en) 2017-06-05 2024-03-05 Umajin Inc. Generative content system that supports location-based services and methods therefor
EP3635538A4 (en) * 2017-06-05 2021-03-10 Umajin Inc. Methods and systems for an application system
US11726822B2 (en) 2017-06-05 2023-08-15 Umajin Inc. Systems and methods for providing digital twin-enabled applications
US20190050378A1 (en) * 2017-08-11 2019-02-14 Microsoft Technology Licensing, Llc Serializable and serialized interaction representations
US11580088B2 (en) 2017-08-11 2023-02-14 Microsoft Technology Licensing, Llc Creation, management, and transfer of interaction representation sets
US11138539B2 (en) * 2017-08-25 2021-10-05 Target Brands, Inc. Robtic business process automation system utilizing reusable task-based microbots
US10678613B2 (en) 2017-10-31 2020-06-09 Seven Bridges Genomics Inc. System and method for dynamic control of workflow execution
CN109933326B (en) * 2017-12-15 2023-03-17 北京奇虎科技有限公司 Compiling method and device for rewriting codes and corresponding terminal
CN108052085A (en) * 2017-12-28 2018-05-18 成都数成科技有限公司 A kind of method of industry control instruction Transfer path analysis
CN114282686A (en) * 2018-06-26 2022-04-05 第四范式(北京)技术有限公司 Method and system for constructing machine learning modeling process
CN108960433B (en) * 2018-06-26 2022-04-05 第四范式(北京)技术有限公司 Method and system for running machine learning modeling process
US11087259B2 (en) * 2018-07-12 2021-08-10 Nintex UK Ltd. Business designer
CN111061723B (en) * 2018-10-16 2023-05-09 中国移动通信有限公司研究院 Workflow realization method and device
CN109460418B (en) * 2018-10-22 2021-04-13 武汉达梦数据库有限公司 Query service execution method based on database
CN109359949B (en) * 2018-10-30 2022-05-27 中国建设银行股份有限公司 Flow display method and device
US10789048B2 (en) * 2019-01-30 2020-09-29 Salesforce.Com, Inc. Namespace and class utilities for managed packages
US11100075B2 (en) * 2019-03-19 2021-08-24 Servicenow, Inc. Graphical user interfaces for incorporating complex data objects into a workflow
CN110007913A (en) * 2019-03-21 2019-07-12 佳都新太科技股份有限公司 Visual flow chart of data processing setting method, device, equipment and storage medium
CN110221833A (en) * 2019-06-05 2019-09-10 浙江魔豆科技有限公司 A kind of wisdom enterprise platform based on no code development
CN110377356B (en) * 2019-06-14 2022-09-20 北京奇艺世纪科技有限公司 Task processing method, device and system and computer readable storage medium
CN110989977B (en) * 2019-10-31 2023-05-05 复旦大学 Intelligent home environment personalized customization method for disabled people
CN110990635B (en) * 2019-11-28 2023-11-03 东华大学 Dynamic modeling method based on dyeing and finishing equipment
CN112748914B (en) * 2020-03-18 2023-09-19 腾讯科技(深圳)有限公司 Application program development method and device, electronic equipment and storage medium
CN111924664B (en) * 2020-07-08 2022-04-19 北自所(北京)科技发展有限公司 Chemical fiber filament doffing method and system adopting centralized control and automatic doffing equipment
CN113094125B (en) * 2021-04-21 2023-12-22 上海弹业信息科技有限公司 Business process processing method, device, server and storage medium
CN113467759B (en) * 2021-06-29 2022-02-22 北京三维天地科技股份有限公司 Method for constructing software architecture model
CN113791772A (en) * 2021-08-27 2021-12-14 成都摹客科技有限公司 Visual editor and use method
WO2023142074A1 (en) * 2022-01-29 2023-08-03 西门子股份公司 Information processing method and apparatus, and computing device and computer-readable medium

Citations (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301320A (en) * 1991-06-28 1994-04-05 Digital Equipment Corporation Workflow management and control system
US5634127A (en) * 1994-11-30 1997-05-27 International Business Machines Corporation Methods and apparatus for implementing a message driven processor in a client-server environment
US5734837A (en) * 1994-01-14 1998-03-31 Action Technologies, Inc. Method and apparatus for building business process applications in terms of its workflows
US5774661A (en) * 1995-04-18 1998-06-30 Network Imaging Corporation Rule engine interface for a visual workflow builder
US5930512A (en) * 1996-10-18 1999-07-27 International Business Machines Corporation Method and apparatus for building and running workflow process models using a hypertext markup language
US5999911A (en) * 1995-06-02 1999-12-07 Mentor Graphics Corporation Method and system for managing workflow
US6016394A (en) * 1997-09-17 2000-01-18 Tenfold Corporation Method and system for database application software creation requiring minimal programming
US6028997A (en) * 1992-05-30 2000-02-22 International Business Machines Corporation Method of generating an implementation of reusable parts from containers of a workflow process-model
US6065009A (en) * 1997-01-20 2000-05-16 International Business Machines Corporation Events as activities in process models of workflow management systems
US6073109A (en) * 1993-02-08 2000-06-06 Action Technologies, Inc. Computerized method and system for managing business processes using linked workflows
US6115646A (en) * 1997-12-18 2000-09-05 Nortel Networks Limited Dynamic and generic process automation system
US6225998B1 (en) * 1997-12-02 2001-05-01 Aspect Communications Visual design of workflows for transaction processing
US20010044738A1 (en) * 2000-03-22 2001-11-22 Alex Elkin Method and system for top-down business process definition and execution
US20020032692A1 (en) * 2000-09-08 2002-03-14 Atsuhito Suzuki Workflow management method and workflow management system of controlling workflow process
US20020035606A1 (en) * 2000-05-18 2002-03-21 Kenton Stephen J. Method and system for straight through processing
US20020040312A1 (en) * 2000-10-02 2002-04-04 Dhar Kuldeep K. Object based workflow system and method
US6397192B1 (en) * 1998-06-05 2002-05-28 I2 Technologies Us, Inc. Synchronizing one or more workflows using one or more synchronization-join activities that include synchronization logic
US20020065701A1 (en) * 2000-11-30 2002-05-30 Kim Kyu Dong System and method for automating a process of business decision and workflow
US6405364B1 (en) * 1999-08-31 2002-06-11 Accenture Llp Building techniques in a development architecture framework
US6421700B1 (en) * 1995-12-22 2002-07-16 Xerox Corporation Method and system for work process support using independent system and user states
US20020147606A1 (en) * 2001-03-14 2002-10-10 Norbert Hoffmann Application development method
US20020161859A1 (en) * 2001-02-20 2002-10-31 Willcox William J. Workflow engine and system
US20020170035A1 (en) * 2001-02-28 2002-11-14 Fabio Casati Event-based scheduling method and system for workflow activities
US20020184610A1 (en) * 2001-01-22 2002-12-05 Kelvin Chong System and method for building multi-modal and multi-channel applications
US20020188644A1 (en) * 2001-06-08 2002-12-12 Verano Workflow automated task component manager
US20020188597A1 (en) * 2000-09-01 2002-12-12 Jonathan Kern Methods and systems for linking tasks to workflow
US20030004767A1 (en) * 2001-06-28 2003-01-02 International Business Machines Corporation Workflow system, information processor, and method and program for workflow management
US20030004771A1 (en) * 2001-06-28 2003-01-02 International Business Machines Corporation Method, system, and program for executing a workflow
US20030023622A1 (en) * 2001-07-27 2003-01-30 Liaison Technology, Inc. Manual activity persistence in content management workflow systems
US20030023604A1 (en) * 2001-04-18 2003-01-30 International Business Machines Corporation Process for data driven application integration for B2B
US20030055668A1 (en) * 2001-08-08 2003-03-20 Amitabh Saran Workflow engine for automating business processes in scalable multiprocessor computer platforms
US20030084016A1 (en) * 2001-10-26 2003-05-01 Resultmaker A/S Method for generating a workflow on a computer, and a computer system adapted for performing the method
US6567783B1 (en) * 1998-06-05 2003-05-20 I2 Technologies Us, Inc. Communication across one or more enterprise boundaries regarding the occurrence of a workflow event
US20030135659A1 (en) * 2002-01-16 2003-07-17 Xerox Corporation Message-based system having embedded information management capabilities
US6604104B1 (en) * 2000-10-02 2003-08-05 Sbi Scient Inc. System and process for managing data within an operational data store
US20030150908A1 (en) * 2001-12-28 2003-08-14 Kimberly-Clark Worldwide, Inc. User interface for reporting event-based production information in product manufacturing
US6621505B1 (en) * 1997-09-30 2003-09-16 Journee Software Corp. Dynamic process-based enterprise computing system and method
US20030177046A1 (en) * 2001-12-03 2003-09-18 John Socha-Leialoha Method and system for reusing components
US20030195762A1 (en) * 2002-04-12 2003-10-16 David Gleason Automated workflow
US20030217053A1 (en) * 2002-04-15 2003-11-20 Bachman George E. Context control mechanism for data executed in workflows of process, factory-floor, environmental, computer aided manufacturing-based or other control system
US20030225769A1 (en) * 2002-05-31 2003-12-04 Microsoft Corporation Support for real-time queries concerning current state, data and history of a process
US6678882B1 (en) * 1999-06-30 2004-01-13 Qwest Communications International Inc. Collaborative model for software systems with synchronization submodel with merge feature, automatic conflict resolution and isolation of potential changes for reuse
US20040078373A1 (en) * 1998-08-24 2004-04-22 Adel Ghoneimy Workflow system and method
US20040078105A1 (en) * 2002-09-03 2004-04-22 Charles Moon System and method for workflow process management
US20040078778A1 (en) * 2002-10-21 2004-04-22 International Business Machines Corporation Resource scheduling in workflow management systems
US20040133457A1 (en) * 2003-01-07 2004-07-08 Shazia Sadiq Flexible workflow management
US20040139426A1 (en) * 2002-10-25 2004-07-15 Yuh-Cherng Wu Enterprise multi-agent software system
US6768986B2 (en) * 2000-04-03 2004-07-27 Business Objects, S.A. Mapping of an RDBMS schema onto a multidimensional data model
US20040148213A1 (en) * 2002-11-25 2004-07-29 Microsoft Corporation Automated workflow constraints
US20040148214A1 (en) * 2002-11-25 2004-07-29 Microsoft Corporation Workflow services architecture
US20040148299A1 (en) * 2002-11-25 2004-07-29 Microsoft Corporation Automated workflow composable action model
US20040153350A1 (en) * 2003-01-31 2004-08-05 Handysoft Corporation System and method of executing and controlling workflow processes
US20040162741A1 (en) * 2003-02-07 2004-08-19 David Flaxer Method and apparatus for product lifecycle management in a distributed environment enabled by dynamic business process composition and execution by rule inference
US20040168155A1 (en) * 2003-02-13 2004-08-26 International Business Machines Corporations Flow debugging software and method
US6807583B2 (en) * 1997-09-24 2004-10-19 Carleton University Method of determining causal connections between events recorded during process execution
US20040221261A1 (en) * 2002-05-01 2004-11-04 Mike Blevins Collaborative business plug-in framework
US20050034098A1 (en) * 2003-08-05 2005-02-10 Accenture Global Services Gmbh Methodology framework and delivery vehicle
US20050050311A1 (en) * 2003-08-28 2005-03-03 International Business Machines Corporation Pluggable state meta-data processors based on meta information modeling in a service oriented architecture
US20050066002A1 (en) * 2003-07-31 2005-03-24 Arnold Teres Workflow compatible healthcare information message communication system
US20050066287A1 (en) * 2003-09-11 2005-03-24 Tattrie Scott I. User-friendly data binding, such as drag-and-drop data binding in a workflow application
US20050071209A1 (en) * 2003-09-26 2005-03-31 International Business Machines Corporation Binding a workflow engine to a data model
US6898604B1 (en) * 2001-06-29 2005-05-24 Microsoft Corporation XML serialization and deserialization
US20050149908A1 (en) * 2002-12-12 2005-07-07 Extrapoles Pty Limited Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity
US20050177820A1 (en) * 2003-12-19 2005-08-11 International Business Machines Corporation Method and system for debugging business process flow
US20050192963A1 (en) * 2002-02-26 2005-09-01 Tschiegg Mark A. Risk management information interface system and associated methods
US20050193286A1 (en) * 2000-04-28 2005-09-01 Microsoft Corporation Compensation framework for long running transactions
US20050204333A1 (en) * 2002-10-22 2005-09-15 Denby Philip M. Integrated system-of-systems modeling environment and related methods
US6954747B1 (en) * 2000-11-14 2005-10-11 Microsoft Corporation Methods for comparing versions of a program
US6964034B1 (en) * 2000-04-20 2005-11-08 International Business Machines Corporation Application development server and a mechanism for providing different views into the same constructs within a strongly encapsulated environment
US20050267889A1 (en) * 2004-02-09 2005-12-01 Coremetrics, Inc. System and method of managing software product-line customizations
US20060004845A1 (en) * 2004-06-03 2006-01-05 Microsoft Corporation Method and apparatus for generating user interfaces based upon automation with full flexibility
US6985939B2 (en) * 2001-09-19 2006-01-10 International Business Machines Corporation Building distributed software services as aggregations of other services
US20060064335A1 (en) * 2004-08-17 2006-03-23 International Business Machines Corporation Method, system, and storage medium for performing business process modeling
US20060074736A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Programming interface for a componentized and extensible workflow model
US20060074734A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Declarative representation for an extensible workflow model
US20060106663A1 (en) * 2003-06-02 2006-05-18 Mitsubishi Denki Kabushiki Kaisha Workflow management device
US20060112122A1 (en) * 2004-11-23 2006-05-25 International Business Machines Corporation Method, system, and storage medium for implementing business process modules
US20060129443A1 (en) * 2004-12-15 2006-06-15 International Business Machines Corporation Content aware workflow builder and workflow engine
US20060143193A1 (en) * 2004-12-29 2006-06-29 Microsoft Corporation Method and apparatus for metadata driven business logic processing
US7093207B1 (en) * 2003-11-17 2006-08-15 Kla-Tencor Technologies Corporation Data analysis flow engine
US7096454B2 (en) * 2000-03-30 2006-08-22 Tyrsted Management Aps Method for gesture based modeling
US20060206863A1 (en) * 2005-03-14 2006-09-14 Michael Shenfield System and method for designing component based applications
US20060225032A1 (en) * 2004-10-29 2006-10-05 Klerk Adrian D Business application development and execution environment
US20060236304A1 (en) * 2005-04-18 2006-10-19 Research In Motion Limited System and method for enabling assisted visual development of workflow for application tasks
US20060241954A1 (en) * 2005-04-22 2006-10-26 International Business Machines Corporation Method and system for adaptive action management for business solutions
US7133833B1 (en) * 1998-10-27 2006-11-07 Netscape Communications Corporation Lightweight directory access protocol workflow management system
US20060271927A1 (en) * 2005-05-27 2006-11-30 Morales Javier A Method and system for workflow process node synchronization
US7222334B2 (en) * 2001-07-24 2007-05-22 Hewlett-Packard Development Comapny, L.P. Modeling tool for electronic services and associated methods and businesses
US7272816B2 (en) * 2002-07-31 2007-09-18 Sap Aktiengesellschaft Transformations between private and shared workflows
US7451432B2 (en) * 2004-10-01 2008-11-11 Microsoft Corporation Transformation of componentized and extensible workflow to a declarative format
US20080320486A1 (en) * 2003-06-12 2008-12-25 Reuters America Business Process Automation

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0697652A1 (en) 1994-08-16 1996-02-21 International Business Machines Corporation Method for re-executing a process on a computer system for fault correction
US6430538B1 (en) 1998-04-30 2002-08-06 Enterworks Workflow management system, method and medium with personal subflows
US6606740B1 (en) 1998-10-05 2003-08-12 American Management Systems, Inc. Development framework for case and workflow systems
US6411961B1 (en) 1999-01-15 2002-06-25 Metaedge Corporation Apparatus for providing a reverse star schema data model
US7233952B1 (en) 1999-01-15 2007-06-19 Hon Hai Precision Industry, Ltd. Apparatus for visualizing information in a data warehousing environment
WO2000054202A2 (en) 1999-03-11 2000-09-14 Paysys International, Inc. Methods and systems for developing applications and for interfacing with users
CA2281331A1 (en) 1999-09-03 2001-03-03 Cognos Incorporated Database management system
US6898790B1 (en) 1999-12-06 2005-05-24 International Business Machines Corporation Mapping actions to tasks within customer service processing systems
US6708186B1 (en) 2000-08-14 2004-03-16 Oracle International Corporation Aggregating and manipulating dictionary metadata in a database system
US7120896B2 (en) 2001-10-31 2006-10-10 Vitria Technology, Inc. Integrated business process modeling environment and models created thereby
US20030233374A1 (en) 2002-03-14 2003-12-18 Ulrich Spinola Dynamic workflow process
DE10215653A1 (en) 2002-04-09 2003-11-06 Bernhard Voslamber Program code automatic generation method in which program code sections are generated using input and output controls or masks so that flexible engineering workflows can be gernated
US7114146B2 (en) 2003-05-02 2006-09-26 International Business Machines Corporation System and method of dynamic service composition for business process outsourcing
CA2443447A1 (en) 2003-09-30 2005-03-30 Ibm Canada Limited-Ibm Canada Limitee System and method for conversion between graph-based representations and structural text-based representations of business processes
US7359909B2 (en) 2004-03-23 2008-04-15 International Business Machines Corporation Generating an information catalog for a business model
US20060053120A1 (en) 2004-09-07 2006-03-09 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Web service registry and method of operation

Patent Citations (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301320A (en) * 1991-06-28 1994-04-05 Digital Equipment Corporation Workflow management and control system
US6028997A (en) * 1992-05-30 2000-02-22 International Business Machines Corporation Method of generating an implementation of reusable parts from containers of a workflow process-model
US6073109A (en) * 1993-02-08 2000-06-06 Action Technologies, Inc. Computerized method and system for managing business processes using linked workflows
US5734837A (en) * 1994-01-14 1998-03-31 Action Technologies, Inc. Method and apparatus for building business process applications in terms of its workflows
US5634127A (en) * 1994-11-30 1997-05-27 International Business Machines Corporation Methods and apparatus for implementing a message driven processor in a client-server environment
US6253369B1 (en) * 1994-11-30 2001-06-26 International Business Machines Corp. Workflow object compiler with user interrogated information incorporated into skeleton of source code for generating executable workflow objects
US5774661A (en) * 1995-04-18 1998-06-30 Network Imaging Corporation Rule engine interface for a visual workflow builder
US5999911A (en) * 1995-06-02 1999-12-07 Mentor Graphics Corporation Method and system for managing workflow
US6421700B1 (en) * 1995-12-22 2002-07-16 Xerox Corporation Method and system for work process support using independent system and user states
US5930512A (en) * 1996-10-18 1999-07-27 International Business Machines Corporation Method and apparatus for building and running workflow process models using a hypertext markup language
US6065009A (en) * 1997-01-20 2000-05-16 International Business Machines Corporation Events as activities in process models of workflow management systems
US6016394A (en) * 1997-09-17 2000-01-18 Tenfold Corporation Method and system for database application software creation requiring minimal programming
US6807583B2 (en) * 1997-09-24 2004-10-19 Carleton University Method of determining causal connections between events recorded during process execution
US6621505B1 (en) * 1997-09-30 2003-09-16 Journee Software Corp. Dynamic process-based enterprise computing system and method
US6225998B1 (en) * 1997-12-02 2001-05-01 Aspect Communications Visual design of workflows for transaction processing
US6115646A (en) * 1997-12-18 2000-09-05 Nortel Networks Limited Dynamic and generic process automation system
US6397192B1 (en) * 1998-06-05 2002-05-28 I2 Technologies Us, Inc. Synchronizing one or more workflows using one or more synchronization-join activities that include synchronization logic
US6567783B1 (en) * 1998-06-05 2003-05-20 I2 Technologies Us, Inc. Communication across one or more enterprise boundaries regarding the occurrence of a workflow event
US20040078373A1 (en) * 1998-08-24 2004-04-22 Adel Ghoneimy Workflow system and method
US7133833B1 (en) * 1998-10-27 2006-11-07 Netscape Communications Corporation Lightweight directory access protocol workflow management system
US6678882B1 (en) * 1999-06-30 2004-01-13 Qwest Communications International Inc. Collaborative model for software systems with synchronization submodel with merge feature, automatic conflict resolution and isolation of potential changes for reuse
US6405364B1 (en) * 1999-08-31 2002-06-11 Accenture Llp Building techniques in a development architecture framework
US20010044738A1 (en) * 2000-03-22 2001-11-22 Alex Elkin Method and system for top-down business process definition and execution
US7096454B2 (en) * 2000-03-30 2006-08-22 Tyrsted Management Aps Method for gesture based modeling
US7181440B2 (en) * 2000-04-03 2007-02-20 Business Objects, S.A. Mapping of an RDBMS schema onto a multidimensional data model
US6768986B2 (en) * 2000-04-03 2004-07-27 Business Objects, S.A. Mapping of an RDBMS schema onto a multidimensional data model
US6964034B1 (en) * 2000-04-20 2005-11-08 International Business Machines Corporation Application development server and a mechanism for providing different views into the same constructs within a strongly encapsulated environment
US20050193286A1 (en) * 2000-04-28 2005-09-01 Microsoft Corporation Compensation framework for long running transactions
US20020035606A1 (en) * 2000-05-18 2002-03-21 Kenton Stephen J. Method and system for straight through processing
US6845507B2 (en) * 2000-05-18 2005-01-18 Ss & C Technologies, Inc. Method and system for straight through processing
US20020188597A1 (en) * 2000-09-01 2002-12-12 Jonathan Kern Methods and systems for linking tasks to workflow
US20020032692A1 (en) * 2000-09-08 2002-03-14 Atsuhito Suzuki Workflow management method and workflow management system of controlling workflow process
US20020040312A1 (en) * 2000-10-02 2002-04-04 Dhar Kuldeep K. Object based workflow system and method
US6604104B1 (en) * 2000-10-02 2003-08-05 Sbi Scient Inc. System and process for managing data within an operational data store
US6954747B1 (en) * 2000-11-14 2005-10-11 Microsoft Corporation Methods for comparing versions of a program
US20020065701A1 (en) * 2000-11-30 2002-05-30 Kim Kyu Dong System and method for automating a process of business decision and workflow
US20020184610A1 (en) * 2001-01-22 2002-12-05 Kelvin Chong System and method for building multi-modal and multi-channel applications
US20020161859A1 (en) * 2001-02-20 2002-10-31 Willcox William J. Workflow engine and system
US7240324B2 (en) * 2001-02-28 2007-07-03 Hewlett-Packard Development Company, L.P. Event-based scheduling method and system for workflow activities
US20020170035A1 (en) * 2001-02-28 2002-11-14 Fabio Casati Event-based scheduling method and system for workflow activities
US20020147606A1 (en) * 2001-03-14 2002-10-10 Norbert Hoffmann Application development method
US20030023604A1 (en) * 2001-04-18 2003-01-30 International Business Machines Corporation Process for data driven application integration for B2B
US20020188644A1 (en) * 2001-06-08 2002-12-12 Verano Workflow automated task component manager
US7349864B2 (en) * 2001-06-28 2008-03-25 International Business Machines Corporation Workflow system, information processor, and method and program for workflow management
US7069536B2 (en) * 2001-06-28 2006-06-27 International Business Machines Corporation Method, system, and program for executing a workflow
US20030004771A1 (en) * 2001-06-28 2003-01-02 International Business Machines Corporation Method, system, and program for executing a workflow
US20030004767A1 (en) * 2001-06-28 2003-01-02 International Business Machines Corporation Workflow system, information processor, and method and program for workflow management
US6898604B1 (en) * 2001-06-29 2005-05-24 Microsoft Corporation XML serialization and deserialization
US7222334B2 (en) * 2001-07-24 2007-05-22 Hewlett-Packard Development Comapny, L.P. Modeling tool for electronic services and associated methods and businesses
US20030023622A1 (en) * 2001-07-27 2003-01-30 Liaison Technology, Inc. Manual activity persistence in content management workflow systems
US20030055668A1 (en) * 2001-08-08 2003-03-20 Amitabh Saran Workflow engine for automating business processes in scalable multiprocessor computer platforms
US6985939B2 (en) * 2001-09-19 2006-01-10 International Business Machines Corporation Building distributed software services as aggregations of other services
US20030084016A1 (en) * 2001-10-26 2003-05-01 Resultmaker A/S Method for generating a workflow on a computer, and a computer system adapted for performing the method
US20030177046A1 (en) * 2001-12-03 2003-09-18 John Socha-Leialoha Method and system for reusing components
US20030150908A1 (en) * 2001-12-28 2003-08-14 Kimberly-Clark Worldwide, Inc. User interface for reporting event-based production information in product manufacturing
US20030135659A1 (en) * 2002-01-16 2003-07-17 Xerox Corporation Message-based system having embedded information management capabilities
US20050192963A1 (en) * 2002-02-26 2005-09-01 Tschiegg Mark A. Risk management information interface system and associated methods
US20030195762A1 (en) * 2002-04-12 2003-10-16 David Gleason Automated workflow
US20030217053A1 (en) * 2002-04-15 2003-11-20 Bachman George E. Context control mechanism for data executed in workflows of process, factory-floor, environmental, computer aided manufacturing-based or other control system
US20030220707A1 (en) * 2002-04-15 2003-11-27 Budinger Bruce D. Workflow control configurator for use with process, factory-floor, environmental, computer aided manufacturing-based or other control system
US20040221261A1 (en) * 2002-05-01 2004-11-04 Mike Blevins Collaborative business plug-in framework
US20030225769A1 (en) * 2002-05-31 2003-12-04 Microsoft Corporation Support for real-time queries concerning current state, data and history of a process
US7272816B2 (en) * 2002-07-31 2007-09-18 Sap Aktiengesellschaft Transformations between private and shared workflows
US20040078105A1 (en) * 2002-09-03 2004-04-22 Charles Moon System and method for workflow process management
US20040078778A1 (en) * 2002-10-21 2004-04-22 International Business Machines Corporation Resource scheduling in workflow management systems
US20050204333A1 (en) * 2002-10-22 2005-09-15 Denby Philip M. Integrated system-of-systems modeling environment and related methods
US20040139426A1 (en) * 2002-10-25 2004-07-15 Yuh-Cherng Wu Enterprise multi-agent software system
US20040148213A1 (en) * 2002-11-25 2004-07-29 Microsoft Corporation Automated workflow constraints
US20040148299A1 (en) * 2002-11-25 2004-07-29 Microsoft Corporation Automated workflow composable action model
US20040148214A1 (en) * 2002-11-25 2004-07-29 Microsoft Corporation Workflow services architecture
US20050149908A1 (en) * 2002-12-12 2005-07-07 Extrapoles Pty Limited Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity
US20040133457A1 (en) * 2003-01-07 2004-07-08 Shazia Sadiq Flexible workflow management
US20040153350A1 (en) * 2003-01-31 2004-08-05 Handysoft Corporation System and method of executing and controlling workflow processes
US20040162741A1 (en) * 2003-02-07 2004-08-19 David Flaxer Method and apparatus for product lifecycle management in a distributed environment enabled by dynamic business process composition and execution by rule inference
US20040168155A1 (en) * 2003-02-13 2004-08-26 International Business Machines Corporations Flow debugging software and method
US20060106663A1 (en) * 2003-06-02 2006-05-18 Mitsubishi Denki Kabushiki Kaisha Workflow management device
US20080320486A1 (en) * 2003-06-12 2008-12-25 Reuters America Business Process Automation
US20050066002A1 (en) * 2003-07-31 2005-03-24 Arnold Teres Workflow compatible healthcare information message communication system
US20050034098A1 (en) * 2003-08-05 2005-02-10 Accenture Global Services Gmbh Methodology framework and delivery vehicle
US20050050311A1 (en) * 2003-08-28 2005-03-03 International Business Machines Corporation Pluggable state meta-data processors based on meta information modeling in a service oriented architecture
US20050066287A1 (en) * 2003-09-11 2005-03-24 Tattrie Scott I. User-friendly data binding, such as drag-and-drop data binding in a workflow application
US20050071209A1 (en) * 2003-09-26 2005-03-31 International Business Machines Corporation Binding a workflow engine to a data model
US7093207B1 (en) * 2003-11-17 2006-08-15 Kla-Tencor Technologies Corporation Data analysis flow engine
US20050177820A1 (en) * 2003-12-19 2005-08-11 International Business Machines Corporation Method and system for debugging business process flow
US20050267889A1 (en) * 2004-02-09 2005-12-01 Coremetrics, Inc. System and method of managing software product-line customizations
US20060004845A1 (en) * 2004-06-03 2006-01-05 Microsoft Corporation Method and apparatus for generating user interfaces based upon automation with full flexibility
US20060064335A1 (en) * 2004-08-17 2006-03-23 International Business Machines Corporation Method, system, and storage medium for performing business process modeling
US20060074734A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Declarative representation for an extensible workflow model
US7464366B2 (en) * 2004-10-01 2008-12-09 Microsoft Corporation Programming interface for a componentized and extensible workflow model
US7451432B2 (en) * 2004-10-01 2008-11-11 Microsoft Corporation Transformation of componentized and extensible workflow to a declarative format
US20060074736A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Programming interface for a componentized and extensible workflow model
US20060225032A1 (en) * 2004-10-29 2006-10-05 Klerk Adrian D Business application development and execution environment
US20060112122A1 (en) * 2004-11-23 2006-05-25 International Business Machines Corporation Method, system, and storage medium for implementing business process modules
US20060129443A1 (en) * 2004-12-15 2006-06-15 International Business Machines Corporation Content aware workflow builder and workflow engine
US20060143193A1 (en) * 2004-12-29 2006-06-29 Microsoft Corporation Method and apparatus for metadata driven business logic processing
US20060206863A1 (en) * 2005-03-14 2006-09-14 Michael Shenfield System and method for designing component based applications
US20060236304A1 (en) * 2005-04-18 2006-10-19 Research In Motion Limited System and method for enabling assisted visual development of workflow for application tasks
US20060241954A1 (en) * 2005-04-22 2006-10-26 International Business Machines Corporation Method and system for adaptive action management for business solutions
US20060271927A1 (en) * 2005-05-27 2006-11-30 Morales Javier A Method and system for workflow process node synchronization

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533290B2 (en) * 2005-07-13 2013-09-10 Konica Minolta Business Technologies, Inc. Installation support method and workflow generation support method
US20070016902A1 (en) * 2005-07-13 2007-01-18 Konica Minolta Business Technologies, Inc. Installation support method and workflow generation support method
US8219431B2 (en) * 2006-01-11 2012-07-10 Ricoh Company, Ltd. Workflow management system, method and device for managing a workflow including plural hierarchically-classified tasks
US20070174342A1 (en) * 2006-01-11 2007-07-26 Kaoru Maeda Workflow management system
US20080109467A1 (en) * 2006-11-03 2008-05-08 Microsoft Corporation Data entity centric approach for designing workflows
US20090112932A1 (en) * 2007-10-26 2009-04-30 Microsoft Corporation Visualizing key performance indicators for model-based applications
US20090222827A1 (en) * 2008-02-29 2009-09-03 Microsoft Corporation Continuation based declarative definition and composition
US20090222794A1 (en) * 2008-02-29 2009-09-03 Microsoft Corporation Unified expression and location framework
US8181155B2 (en) * 2008-02-29 2012-05-15 Microsoft Corporation Unified expression and location framework
US8191042B2 (en) 2008-02-29 2012-05-29 Microsoft Corporation Continuation based declarative definition and composition
US8898580B2 (en) * 2008-03-05 2014-11-25 Microsoft Corporation Definition for service interface
US20130014038A1 (en) * 2008-03-05 2013-01-10 Microsoft Corporation Definition for Service Interface
US20100205238A1 (en) * 2009-02-06 2010-08-12 International Business Machines Corporation Methods and apparatus for intelligent exploratory visualization and analysis
US20100251155A1 (en) * 2009-03-25 2010-09-30 Microsoft Corporation Placeholder activities and in-lining of code editors in workflow designer
US8332811B2 (en) 2009-04-30 2012-12-11 United Parcel Service Of America, Inc. Systems and methods for generating source code for workflow platform
US9911092B2 (en) 2009-04-30 2018-03-06 United Parcel Service Of America, Inc. Systems and methods for a real-time workflow platform
US10713608B2 (en) 2009-04-30 2020-07-14 United Parcel Service Of America, Inc. Systems and methods for a real-time workflow platform
US20100281462A1 (en) * 2009-04-30 2010-11-04 United Parcel Service Of America, Inc. Systems and methods for generating source code for workflow platform
US20100280865A1 (en) * 2009-04-30 2010-11-04 United Parcel Service Of America, Inc. Systems and Methods for a Real-Time Workflow Platform
US8751284B2 (en) 2009-04-30 2014-06-10 United Parcel Service Of America, Inc. Systems and methods for a real-time workflow platform using Petri net model mappings
US20120030612A1 (en) * 2010-07-30 2012-02-02 Sap Ag Dynamic property attributes
US8839252B1 (en) * 2010-09-01 2014-09-16 Misys Ireland Limited Parallel execution of batch data based on modeled batch processing workflow and contention context information
US9262131B1 (en) 2010-09-01 2016-02-16 Misys Ireland Limited Systems, methods and machine readable mediums for batch process straight through modeling
CN102486730A (en) * 2010-12-06 2012-06-06 上海协讯软件有限公司 Workflow realization method and workflow system capable of customizing flow in user-defined manner
CN102520968A (en) * 2011-12-28 2012-06-27 用友软件股份有限公司 Design and demonstration device for process capable of being customized and method
US20130282424A1 (en) * 2012-04-20 2013-10-24 Tata Consultancy Services Limited Configurable process management system
US9588685B1 (en) * 2013-05-03 2017-03-07 EMC IP Holding Company LLC Distributed workflow manager
US20160321041A1 (en) * 2015-04-30 2016-11-03 OpenMethods, Inc. Method, system and apparatus for visual programming of interaction workflows for omni-channel customer contact centers with integrated customer relationship management
US10101976B2 (en) * 2015-04-30 2018-10-16 OpenMethods, Inc. Method, system and apparatus for visual programming of interaction workflows for omni-channel customer contact centers with integrated customer relationship management
US10534586B2 (en) 2015-04-30 2020-01-14 OpenMethods, Inc. Method, system and apparatus for visual programming of interaction workflows for omni-channel customer contact centers with integrated customer relationship management
US11062246B2 (en) 2018-04-16 2021-07-13 Bank Of America Corporation Enterprise framework for efficient and adaptable workflow application data distribution

Also Published As

Publication number Publication date
US20060074732A1 (en) 2006-04-06
US7451432B2 (en) 2008-11-11
CN1755721A (en) 2006-04-05

Similar Documents

Publication Publication Date Title
US20060074737A1 (en) Interactive composition of workflow activities
JP4806240B2 (en) Componentized and extensible workflow model
JP5710852B2 (en) A framework for seamless authoring and editing of workflows at design and runtime
JP5173128B2 (en) A unified model for authoring and executing flow-based and constraint-based workflows
US7631291B2 (en) Declarative representation for an extensible workflow model
US8170901B2 (en) Extensible framework for designing workflows
EP1643435B1 (en) An extensible framework for designing workflows
EP1643430A1 (en) Framework to model cross-cutting behavioral concerns in the workflow domain
JP5049280B2 (en) Extensible XML format and object model for localization data
Dewan Increasing the automation of a toolkit without reducing its abstraction and user-interface flexibility
Scheedler et al. Rationally Software Architecture Specification
Brito et al. Tool Support for Aspect-Oriented Requirements
Kalnins et al. Behaviour modelling notation for information system design
Armstrong Developing Reusable Components: The Skinned Page-Message Control
Jemal Study of Rational Rose with UMI
Rumbaugh OO CASE Marketing Research

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHUKLA, DHARMA K.;MEHTA, MAYANK;BHANDARKAR, ADITYA G.;AND OTHERS;REEL/FRAME:016266/0237

Effective date: 20050617

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001

Effective date: 20141014