400 likes | 416 Views
Explore how hyperlinks redefine workflow models for enhanced efficiency and flexibility. Learn about abstract data models, state transitions, link-based implementations, and more. Take a deep dive into designing concrete workflows with real-world applications.
E N D
Preserving Process Hyperlink-Based Workflow Representation W. Eliot Kimber, DataChannel, Inc DataChannel, Inc
Agenda • The Problem • Workflow Analysis Model • Workflow Document DTDs • Workflow Processing Model • Conclusions DataChannel, Inc
The Problem • Dissatisfaction with existing workflow solutions • WfMC abstract model just not right • Feels like people are just not thinking about the problem in the right way: • Too simple • Too complicated • Too implementation specific DataChannel, Inc
“Workflow Is An Application of Hyperlinks” • I Have been saying for years that workflow is just behavior applied to hyperlinks • Never put this to the test • Could be totally of full of it • Finally have the motivation and tools to put it to the test DataChannel, Inc
The Question • Does using hyperlinks to model and implement workflow actually add value? • If so, what are the implementation implications? DataChannel, Inc
The Approach • Define abstract data model for workflows • Map abstract model to hyperdocument-based implementation model • Implement behaviors for links to make workflows active DataChannel, Inc
Workflow Analysis Model • Workflow can be modeled as transition graph between states • Two forms of workflow: • Workflow templates: define abstract process • Concrete workflows: bind process to objects and users • Concrete workflows generated from workflow templates DataChannel, Inc
Abstract Workflow DataChannel, Inc
Key Concepts • Workflow aggregates states • States related to possible next states • States have precondidtions and postconditions • Conditions relate to properties of information objects, workflows, and information management systems DataChannel, Inc
States and Conditions • Preconditions define rules for entry into a state • Postconditions must hold when in state DataChannel, Inc
Concrete Workflows • Extends abstract workflows by: • Binding states to information objects • Adding concept of “agent” • State transitions become first-class objects • Adding promotion action • InformationObjects are the things managed through the workflow • Agents set property values and promote objects from state to state. DataChannel, Inc
Concrete Workflow Class DataChannel, Inc
State Transition Class DataChannel, Inc
Promotion Action DataChannel, Inc
Summary of Abstract Models • Model feels pretty good • Could be implemented fairly directly as normal engineering exercise • Would still need way to persist and interchange workflow templates • Would not leverage existing information management functionality DataChannel, Inc
Link-Based Implementation • Have standards for writing down hyperlinks in XML: • HyTime • Xlink • Have existing link management systems • Should be able to use generic link management functions to make “workflow documents” active • Should be easier than one-off implementation of abstract model (maybe) DataChannel, Inc
Basic Approach • Use XML documents to define workflows: • States are normal elements • State transitions are hyperlinks • For workflow templates must: • Declare information object classes • Declare relevant properties of information objects, workflow instances, and information management systems. DataChannel, Inc
Approach (Cont.) • Concrete workflows are separate documents • Objects are progressed through workflow by traversing state transition links • Change in workflow state results in new version of workflow document • Documents could be literal or “virtual” (DOM or grove only) DataChannel, Inc
Workflow Template DTD DataChannel, Inc
Property Declarations DataChannel, Inc
State Template DataChannel, Inc
State Transition DataChannel, Inc
Workflow Template Refinements DataChannel, Inc
Workflow Template DTD Summary • Workflow template documents define abstract processes • Not bound to any implementation • Can be interchanged • Can include arbitrary information • Can serve as primary process documentation (e.g., ISO 9000 documentation) • Relatively simple to create • Purely declarative DataChannel, Inc
Review: Abstract Hyperlink Model DataChannel, Inc
Concrete Workflow DTD DataChannel, Inc
Transition Links DataChannel, Inc
State Element Type DataChannel, Inc
Concrete Workflow DTD Refinements DataChannel, Inc
Concrete Workflow DTD Summary • Here, links are from objects to potential states • All preconditions and post conditions provided by workflow template • ManagedObject elements serve as proxies for real managed objects • A concrete workflow document reflects the state of the workflow at a given point in time • Still completely declarative • May be underspecified wrt agents and tasks DataChannel, Inc
Concrete Workflow Document Processing Model • Traversal from managed object to potential state causes promotion of object to new state • If traversal succeeds, a new version of the workflow document is created reflecting the movement • Preconditions checked on traversal start • Postconditions checked on traversal completion DataChannel, Inc
Example: Part 1 • Time T[0] MyCWF.xml, v0: <?xml version=“1.0”?> <Workflow> <State id=“state1”> <ManagedObject id=“ent1”>entity1</ManagedObject> </State> <State id=“state2”/> <TransitionLink> <ManagedObjects>ent1</ManagedObjects> <StartingState>state1</StartingState> <PotentialState>state2</PotentialState> </TransitionLink> </Workflow> DataChannel, Inc
Example: Part 2 • Time T[1] MyCWF.xml, v1: <?xml version=“1.0”?> <Workflow> <State id=“state1”/> <State id=“state2”> <ManagedObject id=“ent1”>entity1</ManagedObject> </State> <TransitionLink> <ManagedObjects></ManagedObjects> <StartingState>state1</StartingState> <PotentialState>state2</PotentialState> </TransitionLink> </Workflow> DataChannel, Inc
Making It Active: Activity Policies • If traversal is promotion, have to hook the traversal action • HyTime concept of “activity policies” provide standardized way to model these hooks • Activity policies bind actions to nodes and agents • The “policy” can be any script or program component • Provides a single point of integration • Requires appropriate link management infrastructure DataChannel, Inc
Traversal Actions • Two relevant traversal actions: • Traverse from node • Traverse to node • Traverse-from policies check preconditions for target anchor • Traverse-to policies check post conditions for target anchor • Traverse-to policies can also perform actions that cause post conditions to be true DataChannel, Inc
Traversal With Policies Traverse-From Policy Traverse-To Policy ? ? Transition Link ManagedObjects PotentialState Managed Object State DataChannel, Inc
Agents Set Properties • Agents set the properties checked by preconditions and post conditions • Agents may be humans or software components • Tasks are represented by actions agents must perform to set states to satisfy preconditions or post conditions DataChannel, Inc
Tasks are Implementation Details • Tasks and their supporting software are always system specific • Will change as information management system changes and as technology evolves • Processes may not change over long periods of time (decades) • Activity policy approach clearly separates the abstract workflow from implementation details • User interfaces may present a task-primary view of workflow DataChannel, Inc
Some Interesting Characteristics of Workflow Documents • If documents are versioned, maintains complete historical record of the process activity • Workflow documents are system independent • Reduces implementation task to a scripting exercise (given appropriate infrastructure) DataChannel, Inc
Conclusions • Overall model is sound • Seems to be pretty easy to implement • Use of documents to model workflows feels appropriate • Need more implementation experience to really prove value • Need to think more about modeling relationships to users, groups, and tasks • Good potential synergy with versioned document management systems • It helps to have a sophisticated link management system handy. DataChannel, Inc