1 / 34

Jie Meng Ph.D. Candidate CISE Department January 04, 2002

Achieving Dynamic Inter-Organizational Workflow Management by Integrating Business Processes, E-Services, Events and Rules. Jie Meng Ph.D. Candidate CISE Department January 04, 2002. Outline. Introduction Related Research Architecture of DynaFlow Dynamic Workflow Model E-Services

anisa
Download Presentation

Jie Meng Ph.D. Candidate CISE Department January 04, 2002

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Achieving Dynamic Inter-Organizational Workflow Management by Integrating Business Processes, E-Services, Events and Rules Jie Meng Ph.D. Candidate CISE Department January 04, 2002

  2. Outline • Introduction • Related Research • Architecture of DynaFlow • Dynamic Workflow Model • E-Services • Dynamic Workflow Model • Workflow Event Definition • Dynamic Properties of DWM and DynaFlow • DynaFlow Design • DynaFlow Implementation • Code Generation Approach • Workflow Engine Architecture • Run-time Modification to a Process Model • Summary and Future Work This research project is supported by an NSF grant #EIA-0075284.

  3. Motivation • Global marketplace is competitive and changing • Internet gains a great success • Trend of publishing services on Internet emerges • Different organizations need to work together Virtual Enterprise Dynamic Inter-organizational Workflow

  4. Inter-organizational Workflow should be Dynamic • Business processes need to be integrated with business events and rules. The rules can: • In turn enact other business processes or do some work (active). • Enforce customized business constraints and policies (customizable). • Runtime modifications to process model should be supported (adaptive). • Dynamic binding of service requests made in a process model to services and their providers should be supported (flexible).

  5. Our Solution • Basic idea: use dynamic inter-organizational workflow technology to integrate distributed and heterogeneous services. • Develop a dynamic workflow model (DWM) by extending WPDL to enable the specification of dynamic properties associated with a business process model. • Treat sharable tasks in a virtual enterprise as e-services. • Propose constraint-based dynamic service binding technology. • Integrate business processes with events and rules. • Provide run-time modification to process models. • Build a dynamic workflow management system (DynaFlow) as a part of the ISEE Infrastructure

  6. Related Work • WfMC • Workflow Reference Model • WPDL • Workflow Projects that Make Use of Events and Rules • WIDE: Events and rules are used for exception handling. • EvE: Events and rules are used for defining and enforcing workflow logic. A distributed ECA rule-based enactment architecture is also investigated in EvE. • Run-time Modification to Process Model • ADEPT_flex. • Rule-based approach. • Virtual Enterprise and Workflow Technology • WISE • CrossFlow • Web Service Technologies • SOAP • WSDL • UDDI • WSFL

  7. App . . . ISEE Hub Internet Communication Infrastructure ISEE Hub ISEE-HUB Workflow Server Event Server Other Servers Security Server Web Server Negotiation Server ETR Server ISEE Hub ISEE Hub ISEE Hub ISEE Infrastructure Warehouses & Distribution Centers Transportation Companies Browser DO Agent ADO ISEE Infrastructure Internet Communication Infrastructure . . . Manufacturers & Suppliers Retailers

  8. Organization 1 E-Services E-Service Adapter Event Server Event Server Event Server ETR Server ETR Server ETR Server Web Server Web Server Web Server Workflow Server Workflow Server Workflow Server Broker Proxy Broker Proxy Broker Proxy E-Service Adapter E-Service Adapter E-Service Adapter E-Services E-Services E-Services Architecture of DynaFlow ISEE Hub Broker Server Internet ISEE Hub ISEE Hub Organization 2 Organization 3 Organization 4

  9. Components in DynaFlow ISEE Hub Knowledge Profile Manager Install events, triggers and rules Receive Events ISEE Hub Forward Events ETR Server Event Server Distribute Events INTERNET Invoke Post Async Events Post Sync Events Install WF Events Distribute Events Service Provider Inquiry Generate Runtime WF Structures Process Definition Tool WF Engine Broker Proxy Receive Events Service Invocation Browse E-Service Information ISEE Hub E-Service Adapter Broker Server E-Services

  10. E-Services • E-Services are services offered on the Internet that can be accessed programmatically using a standard Internet Protocol and representation format like HTTP and XML. • Categorize e-services by the types of business that the providers conduct. • For each type of e-service, a e-service template is defined to standardize the specification of an e-service. • E-service templates are managed by the Broker Server. • Service providers register the e-service they provided to the Broker Server according to e-service templates. E-service specifications are maintained by the Broker Server. • Process model designers specify e-service requests in a process model according to e-service templates.

  11. Build-time Relationship among the Broker Server, Service Providers and Process Model Designer Broker Server E-Service Template E-Service Specification register reference Process Model Designer Service Provider E-Services E-Service Adapter Service Service Service E-Service Rquests

  12. An Example of E-Service Template Business Type: Distributor E-Service: OrderProcessing

  13. An Example of E-Service Constraint • E-Service Constraint restricts the kind of data that the requester of an e-service can provide when the e-service is invoked. • Distributor Worldwide which provides the e-service OrderProcessing may specify constraints on the operation Process Order as follows: ATTRIBUTE_CONSTRAINT: Product_Name String ENUMERATION [“Computer”] priority[1] Model_Name String ANY priority[2] Quantity Integer RANGE [1-1000] priority[3] INTER_ATTRIBUTE_CONSTRAINT: Iac1 Quantity > 500 implies Duration>10

  14. E-Service Request • E-service requests in a process model are defined according to e-service templates. • An e-service request contains two parts: • Variable mappings of the input/output attributes. • Constraints on the service attributes. ATTRIBUTE_CONSTRAINT: Duration int RANGE[0 .. 10] priority[1] Cost float RANGE[0 .. 1000] priority[2] INTER_ATTRIBUTE_CONSTRAINT Iac1: Duration >4 implies Cost < 800

  15. Constraint-based Brokering • An important function of the Broker Server is to do constraint-based brokering and service provider selection. • Procedures • Call Constraint Satisfaction Processor (CSP) to match the e-service request constraints with the e-service constraints in the e-service specifications of different service providers. • Three possible results: • None: fail. • Only one: succeed. • More than one: call Cost Benefit Module (CBM) to get the best service provider.

  16. E-Service Invocation Mechanism ISEEHub Broker Proxy WF Engine Internet (HTTP) SOAP MSG E-Service Adapter E-Service Adapter Legacy Application Distributed Object Local Workflow

  17. Extension to WPDL • Introduction to Connector • Encapsulation of the activity definition • Inclusion of e-service requests in activity definitions • Inclusion of explicit data flow specification • Introduction of events and rules • Before-Activity-Event • After-Activity-Event • External Event Workflow Events

  18. Workflow Events • Workflow Events are automatically generated based on the process model name, the activity name, and the input and output data of the activity. • Synchronous workflow event • The rules attached to the synchronous workflow events of a process model can only be defined by the model designer and by the organizations that use the business process model. • Organization customization: different organizations defines business rules attached to the synchronous workflow events to reflect their local business policies. • Instance customization: a workflow instance can also trigger a different set of rules when an unexpected event happens. • Asynchronous workflow events: • The organizations in the virtual enterprise can subscribe to the asynchronous workflow events and receive notifications on some processing milestones of an enacted business process or exceptions.

  19. BE AE EE Graphical Representation of a Process Model in DWM Legend: Begin-Activity or End-Activity Activity Subflow Block Connector Condition Before- Activity-Event After- Activity-Event BE EE External Event AE Rule Transition Data flow Triggers

  20. Activity Definition... • Activity specification ACTIVITY <activity id> [DESCRIPTION <description>] [PERFORMER < participant assignment>] IN_PARAMETER <input parameter list> OUT_PARAMETER <output parameter list> [WF_EVENTS] <workflow event list> [ACTIVITY_VAR <variable list>] IMPLEMENTATION <activity body> END_ACTIVITY • Task items in activity body • E-service requests SERVICE <business type name>. <e-service name> INPUT <in_attributes mapping> [OUTPUT <out_attributes mapping>] CONSTRAINT <constraint definition> END_SERVICE • Inline code • External event posting

  21. ...Activity Definition • PERFORMER specification PERFORMER<business type name> (<performer selection constraint>) • performer selection constraint • CONSTANT PERFORMER Distributor (CONSTANT IBM) • ANY PERFORMER Transportation_Agency (ANY) • SAME_AS PERFORMER Distributor (SAME_AS Activity1) • VARIABLE PERFORMER Manufacturer (VARIABLE Activity2.bestManufacturer)

  22. Sample Activity Definition • ACTIVITY Shipping • DESCRIPTION “Ship the order to the customer”. • IN_PARAMETERS ProductDesc prod_desc, Integer quantity, • UserInfo user_info • OUT_PARAMETERS Boolean shipping_status • PERFORMER TransportationAgency (ANY) • WF_EVENT async-after • IMPLEMENTATION • E-SERVICE ShipOrder.InitiateShipping • INPUT prod_desc, quantity, user_info • OUTPUT shipping_status • CONSTRAINT • ATTRIBUTE_CONSTRAINT: • duration int [0 .. 5] priority[1] • END_CONSTRAINT • END_SERVICE • END_IMPLEMENTATION • END_ACTIVITY

  23. Dynamic Properties of DWM • Active: Business process may post synchronous and/or asynchronous events to trigger the processing of business rules. • Flexible: The e-service requests specified inside a process model are bound to suitable service providers during the enactment of the business process through a dynamic service binding mechanism. • Adaptive: Process models can be easily modified to adapt to the changing business environment. • Customizable: Organizational customization and instance customization can be achieved through the customization of business rules attached to synchronous workflow events.

  24. Begin Sample Scenario T1 Distributor (ANY) A1: B E SYNC Order Entry T2 Distributor (SAMEAS A1) A2: Check and Adjust Inventory AE ASYNC T3 T4 T5 Distributor (SAMEAS A1) AND Transportation Agency (ANY) A5: A4: Acknowledge Purchase Order Initiate Shipping AE AND T6 ASYNC T7 End

  25. Build-time Environment ETR Server Event Server Install Events, Triggers, Rules Install Events Install Events Invoke Process Definition Tool WF Code Generator Constraint GUI KPM Invoke Invoke E-Service Request Constraints E-service Templates Process Models Triggers, Rules, Data Classes, Events Process Models Metadata Manager Runtime WF Structures, Activity Codes, Process Models, E-service Constraints, E-service Templates, Events, Triggers, Rules

  26. Process Definition Tool

  27. Code Generation Approach • Code Generation approach is used to implement the Workflow Engine. • The Workflow Code Generator is used to process a process model’s meta-information and to generate run-time workflow structuresand activity codes. • The Workflow Engine uses run-time workflow structures to schedule the transitions and data flows between activities, blocks, and subflows. • When an activity is scheduled for execution, the Workflow Engine simply loads the corresponding activity code from a run-time repository and executes the code directly to perform the specified task items. • Code Generation approach results in a lightweight, efficient, and adaptive Workflow Engine.

  28. Run-time Workflow Structures • An entity structure provides the necessary information to schedule and execute each of the following entities in a process model: activities, blocks, and subflows. • A control flow structure is generated for each of the following entities of a process model: activity, subflow, block, connector, and End-Activity. It captures the control dependency between the entity and its preceding entities in a process model. • Entity name: The name of the entity of the control flow structure • Aggregation property: • JOIN connector: same as the aggregation property of the connector (i.e., AND, OR, or XOR). • Otherwise, the aggregation property is SIMPLE. • Transition(s): • JOIN connector: multiple transitions. • Otherwise, only one transition. • A data flow structure specifies data dependency, i.e., the parameter mapping information between two entities in a process model.

  29. Dynamic Service Binding • Get e-services that need to be provided by the same service provider • E-Services inside an activity definition • SAME_AS • Put e-service request constraint and the values of input attributes together • Constraint on the service attributes of an e-service • ATTRIBUTE_CONSTRAINT: • duration int RANGE[0 .. 10] priority[1] • cost float RANGE[0 .. 1000] priority[2] INTER_ATTRIBUTE_CONSTRAINT iac1: duration >4 implies cost < 800 • The values of input parameters of an e-service request ATTRIBUTE_CONSTRAINT: • Product_Name String EQUAL “Compaq” Priority [1] • Model_Name String EQUAL “PentiumIII 800” Priority [1] • Contact the Broker Server to get the proper service provider.

  30. Activity Code Import statements Class processName::activityName { variable declaration processName::activityName() // Constructor { [ Get reference of the broker proxy ] /* If there are e-service requests in the activity.*/ [ Get references of the event server and the ETR server ] /* If there are event postings.*/ } ActivityResult activate(Vector inputValues, String businessType, Hashtable serviceConstraints ) { Initialization of input variables … /* Following statements are for dynamic service binding */ [ Put input attribute values of an e-service to the e-service request constraint ] [ Contact broker proxy to get the service provider’s URL (dynamic service binding) ] … /* Following statements are for an e-service invocation */ [ Generate SOAP request message ] [ Invoke e-service and get SOAP response message ] [ Get the return value from the SOAP response message ] … /* Following statements are for an event posting. */ [ Construct the event object ] [ Post synchronous event to the ETR Server ] [ Post asynchronous event to the Event Server ] … /* For inline code, directly copy it to the activity code. */ [ inline code ] … }

  31. Workflow Scheduler E-Service Adapter E-Service Adapter E-Service Adapter Workflow Engine Architecture Initiate Workflow Instance Runtime WF Structure Subflow Scheduler Block Scheduler ETR Server Activity Handler Activity Codes Event Server Service Client

  32. Run-time Modification to Process Model • Run-time modifications to a process model is achieved by the modification to the run-time workflow structure. • Delete/Add a Transition • Delete/Add a Data flow • Replace an Activity • Modify Condition

  33. Summary of Research and Contributions • The design of a Dynamic Workflow Model (DWM) by extending WfMC’s WPDL: adding the concepts of events and rules into WPDL, introducing the Connector construct, encapsulating activity definitions, and supporting e-service requests. DWM is active, flexible, adaptive, and customizable. • The introduction of a constraint-based dynamic service binding mechanism for the enactment of business processes. • The design of an DynaFlow, which is a part of the ISEE information infrastructure for supporting e-business enterprises. • The technique for run-time modifications of the run-time workflow structures to alter the course of executing workflow instances. How Dynamic? (1) Constraint-based dynamic service binding (2) Organizational customization of process model (3) Instance customization of process model (4) Run-time modification to process model (5) Notification of Milestones of the enactment of business processes

  34. Future Work • Security issues • Process models • Workflow events • E-services • Correctness proof of a process model • The assumptions on standardized e-service templates may not be realistic because different organizations may use different ontologies. Also, the e-services they provide may have different operations and attributes. • Further research can be done on e-service composition.

More Related