2nd International Workshop on
Event-Driven Business Process Management
   edBPM09 – http://icep-edbpm09.fzi.de/




External and Internal Events in EPCs:
               e²EPCs



     Oliver Kopp, Matthias Wieland, Frank Leymann
          Institute of Architecture of Application Systems




                                                             kopp@iaas.uni-stuttgart.de
Motivation
            We created a development method for workflow based
            applications based on event-driven service-oriented
            architectures (SOEDA)
                      Wieland, M., Martin, D., Kopp, O., Leymann, F.: SOEDA: A
                      Methodology for Specification and Implementation of
                      Applications on a Service-Oriented Event-Driven Architecture.
                      In: BIS 2009. (2009)
            SOEDA uses MDA (Model-Driven Architecture) approach
                      Save development time by automated transformations
                      Transformation of EPCs to detailed abstract BPEL workflows
            SOEDA Methodology steps
                      Step 1: Process Definition
                      Step 2: Complex Event Extraction
                      Step 3: Process to Workflow Transformation
                      Step 4: CEP Rules Specification
                      Step 5: Executable Completion
Presented by Matthias Wieland
SOEDA - High-Level Architecture
                                                Event e1    event specification   Business process relevant
                                                                                       complex events
                                                                                        e1          e2
                    Specification               Function
                       layer                       f1

                                                                                   s1     m1     f1e     s2
                          transformation




                                                Event e2    event specification       Low Level Events
                             automatic




                                             BPEL engine                                CEP System
                                           <process>
                                                                                          Event e1:
                                            <receive e1 ... >        event          select avg(price) from
                                            <invoke f1 ...>        notification
                    Execution                                                        OrderEvent.win:time
                                            <receive e2 ...>
                      layer                                                                (30 sec)
                                           </process>



           Automatic transformation based on: Vanhatalo, J., Völzer,
           H., Koehler, J.: The Refined Process Structure Tree. In:
           BPM 2008, Springer (2008)
Presented by Matthias Wieland
Problem

            All EPC events are treated the same way in the
            automatic transformation
                      For every event a complex event description has to
                      be defined
                      All events have to be observed by a CEP system
            But: Many events are process internal events
                      Could be handled “inside” the workflow without CEP
                      system
                      Manual optimization required
            We need a EPC transformation that distinguishes
            external and internal events

Presented by Matthias Wieland                                              4
Example
            External event,
            triggered by external system




                                           Internal event,
                                           triggered by process data
Adapted from:
Scheer, A.W. & Thomas, O. & Adam, O.:
Process Modeling Using Event-Driven Process Chains.
In: Process-Aware Information Systems: Bridging People and
Software Through Process Technology. Wiley & Sons (2005)
 Presented by Matthias Wieland                                         5
Current Transformation
     Approaches



                         6
Drop Intermediate Events




          Mendling, J. et al, 2008
          ARIS Toolset (Stein, S. & Ivanov, K. 2007)
Presented by Matthias Wieland                          7
Drop Start and End Events




            Kopp, O. et al., 2006
            Specht, T. et al., 2005
            Ziemann, J. et al., 2005
Presented by Matthias Wieland          8
Interpret all Events as External Events




            SOEDA: Wieland, M. et al., 2009
Presented by Matthias Wieland                 9
Summary




Presented by Matthias Wieland   10
Our new Approach:
      e²EPCs



                    11
Input: e²EPCs




          Explicit distinction between internal and external events
          by new annotations (red lines) in eEPC
          Aim: Keep change of eEPC notation as small as possible
          – only following two new connections allowed
                     External event with organizational unit
                     Internal event with process data
          Alternatives
                     Store type in repository
                     Place in swim lanes
Presented by Matthias Wieland                                         12
Transformation Result




Presented by Matthias Wieland   13
Possible Annotations




Presented by Matthias Wieland   14
Transformation Overview




Presented by Matthias Wieland   15
BPEL4Chor Result




Presented by Matthias Wieland   16
Conclusion and Outlook

            Motivated why events in EPC should be
            distinguished between internal and external ones
            Showed extension of eEPC notation for modeling
            internal and external events: e²EPCs
            Showed an adequate automatic transformation to
            WS-BPEL and BPEL4Chor

            Future Work: Evaluation of the Approach
                      Annotation or annotation in the repository?
                      Chaining of EPCs?
                                End Event: invoke instead of receive


Presented by Matthias Wieland                                          17

External And Internal Events In EPCs: E²EPCs

  • 1.
    2nd International Workshopon Event-Driven Business Process Management edBPM09 – http://icep-edbpm09.fzi.de/ External and Internal Events in EPCs: e²EPCs Oliver Kopp, Matthias Wieland, Frank Leymann Institute of Architecture of Application Systems kopp@iaas.uni-stuttgart.de
  • 2.
    Motivation We created a development method for workflow based applications based on event-driven service-oriented architectures (SOEDA) Wieland, M., Martin, D., Kopp, O., Leymann, F.: SOEDA: A Methodology for Specification and Implementation of Applications on a Service-Oriented Event-Driven Architecture. In: BIS 2009. (2009) SOEDA uses MDA (Model-Driven Architecture) approach Save development time by automated transformations Transformation of EPCs to detailed abstract BPEL workflows SOEDA Methodology steps Step 1: Process Definition Step 2: Complex Event Extraction Step 3: Process to Workflow Transformation Step 4: CEP Rules Specification Step 5: Executable Completion Presented by Matthias Wieland
  • 3.
    SOEDA - High-LevelArchitecture Event e1 event specification Business process relevant complex events e1 e2 Specification Function layer f1 s1 m1 f1e s2 transformation Event e2 event specification Low Level Events automatic BPEL engine CEP System <process> Event e1: <receive e1 ... > event select avg(price) from <invoke f1 ...> notification Execution OrderEvent.win:time <receive e2 ...> layer (30 sec) </process> Automatic transformation based on: Vanhatalo, J., Völzer, H., Koehler, J.: The Refined Process Structure Tree. In: BPM 2008, Springer (2008) Presented by Matthias Wieland
  • 4.
    Problem All EPC events are treated the same way in the automatic transformation For every event a complex event description has to be defined All events have to be observed by a CEP system But: Many events are process internal events Could be handled “inside” the workflow without CEP system Manual optimization required We need a EPC transformation that distinguishes external and internal events Presented by Matthias Wieland 4
  • 5.
    Example External event, triggered by external system Internal event, triggered by process data Adapted from: Scheer, A.W. & Thomas, O. & Adam, O.: Process Modeling Using Event-Driven Process Chains. In: Process-Aware Information Systems: Bridging People and Software Through Process Technology. Wiley & Sons (2005) Presented by Matthias Wieland 5
  • 6.
  • 7.
    Drop Intermediate Events Mendling, J. et al, 2008 ARIS Toolset (Stein, S. & Ivanov, K. 2007) Presented by Matthias Wieland 7
  • 8.
    Drop Start andEnd Events Kopp, O. et al., 2006 Specht, T. et al., 2005 Ziemann, J. et al., 2005 Presented by Matthias Wieland 8
  • 9.
    Interpret all Eventsas External Events SOEDA: Wieland, M. et al., 2009 Presented by Matthias Wieland 9
  • 10.
  • 11.
  • 12.
    Input: e²EPCs Explicit distinction between internal and external events by new annotations (red lines) in eEPC Aim: Keep change of eEPC notation as small as possible – only following two new connections allowed External event with organizational unit Internal event with process data Alternatives Store type in repository Place in swim lanes Presented by Matthias Wieland 12
  • 13.
  • 14.
  • 15.
  • 16.
    BPEL4Chor Result Presented byMatthias Wieland 16
  • 17.
    Conclusion and Outlook Motivated why events in EPC should be distinguished between internal and external ones Showed extension of eEPC notation for modeling internal and external events: e²EPCs Showed an adequate automatic transformation to WS-BPEL and BPEL4Chor Future Work: Evaluation of the Approach Annotation or annotation in the repository? Chaining of EPCs? End Event: invoke instead of receive Presented by Matthias Wieland 17