US20060074737A1 - Interactive composition of workflow activities - Google Patents
Interactive composition of workflow activities Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/067—Enterprise 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
Description
- This application claims the benefit of U.S. provisional patent application No. 60/615,543 filed Oct. 1, 2004.
- 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. 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.
-
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 ofFIG. 7 with a composite activity under development by a user. -
FIG. 9 is an exemplary user interface illustrating the composite activity ofFIG. 8 in a workflow. -
FIG. 10 is an exemplary user interface illustrating the composite activity ofFIG. 8 with particular activities locked. -
FIG. 11 is an exemplary user interface illustrating the composite activity ofFIG. 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.
-
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 activitydesigner user interface 402 for implementing the method illustrated inFIG. 3 . The activitydesigner user interface 402 includes one or more display areas or portions. For example, the display area includes anactivity list portion 404 displaying a list of predefined activities, adesigner portion 406 displaying activities selected by the user (e.g., dragged and dropped from the activity list portion 404), and aproperty 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 theproperty portion 408 and configures a set of properties for an activity selected in thedesigner 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 adesigner component 604, adisplay component 606, aproperty component 608, and apreview component 610. Thedesigner 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. Thedisplay component 606 displays the selected activities to the user as a composite activity. Theproperty component 608 receives a value for a configuration property associated with one of the selected activities displayed by thedisplay 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. Thepreview component 610 displays the selected activities as the composite activity in a workflow as a function of the value received by theproperty 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 throughFIG. 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 ofFIG. 7 with a composite activity under development by a user. Referring next toFIG. 9 , an exemplary user interface illustrates the composite activity ofFIG. 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 toFIG. 10 , an exemplary user interface illustrates the composite activity ofFIG. 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 ofFIG. 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.
- 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. - 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)
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)
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)
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)
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)
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 |
-
2005
- 2005-01-31 US US11/047,017 patent/US7451432B2/en not_active Expired - Fee Related
- 2005-06-17 US US11/155,454 patent/US20060074737A1/en not_active Abandoned
- 2005-09-01 CN CNA2005101036586A patent/CN1755721A/en active Pending
Patent Citations (99)
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)
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 |