Business Process Management
      for SOA & Mashups

           Milinda Pathirage
           Product Manager, WSO2 BPS, WSO2 Inc.
           milinda@wso2.com
Summary
Business   Processes
BPM   and SOA
Modeling   Business Processes
Mashups
Building a Better Business
Every    one's goals
   Reduce costs
   Improve responsiveness
   Improve reliability
   Increase agility and flexibility
   Decrease overall risks
Why Business Processes Matter
What     is business process?
    A method or system for achieving a commercial result
    It describes how enterprises performs its business functions
    Any well-defined interaction between systems and people,
        triggered by events, using logical decision points, and with
        clearly defined flows
   To achieve the business goals, need to continuously
      optimize your processes
Business Process Example
Business Process Management
Management     model or framework that helps or-
  ganizations to manage their business process-
  es while optimizing and leveraging IT assets
Is   about improving business
BPM    Life Cycle
SOA and BPM
SOA   is an architectural style for developing dis-
 tributed system
BPM   provides the bridge between business goals
 and IT solutions
SOA   needs the service coordination and orches-
 tration provided by BPM
BPM   needs SOA to deliver business-user access
 to the data and functionality housed in other en-
 terprise systems
BPM and SOA


                        BPM
            Long running coordination state




                        SOA
            Stateless Service Interactions




       Applications, Databases, Legacy
              Persistent application state
Modeling Business Processes
BPMN
    Standard for business process modeling
    Provides graphical notation for specifying business processes

Executable       business process modeling
    XPDL
    YAWL
    EPML
    BPEL4WS 1.1
    WS- BPEL 2.0 (Industry standard)
    BPELScript (JavaScript like language)
Business Processes in SOA
Web    services are the preferred standards-based
  way to realize SOA
BPEL     can be used for composition, orchestra-
  tion or coordination of Web services
BPEL     fill the gap between BPM and SOA
BPEL     in your SOA
     Business process from services and human activities
     Coarse grained business services from fine grained services
     Flow based integration of various existing applications
WS-BPEL 2.0
XML   based language for the specification of Executable
  and Abstract business processes
Extends   the Web Services interaction model and en-
  ables it to support business processes
BPEL   support distributed transactions
BPEL   is the standard used by major BPM vendors (IBM,
  Oracle, Apache ODE, WSO2, Intalio)
Xpath,   XSLT and Xquery for XML data manipulation
WS-BPEL Example
Why use BPEL instead of Java?
Managed       execution
    Monitor the progress of the process
    Start, stop, suspend, resume process instances

Structured     approach to long running processes
    Easy to build processes that can be suspended, resumed and interact with sys-
        tems in asynchronous patters

Excellent     support for transactions and compensation
    Implement clear logic that which deals with problems in long-running processes

Visualizing     the flows helps communication between the spon-
     sors and implementors


  None of this is impossible in Java – you could use a framework to gain these
                benefits - But BPEL has it all in a simple package
Human Interactions in BPEL
Many     business process scenarios require human interac-
  tions
With   pure BPEL you can interact with people
     But you have to the integration work

Two    new specs which standardize the human interactions
     WS-Human Tasks
     BPEL4People

Advance       human interaction patterns
     4-Eyes principal
     Escalation
     Nomination
     Chained execution
BPEL4People Model
When to Use BPEL
Orchestrate   a business process with complex
  logic
Long-running business process where state is
  maintained and human interactions are in-
  volved
Mashups
What is a mashup?
Term   originates in music – remix of existing
  music into something new and unique
Uses   the existing data (tracks) as they are
  found
Enabled   and popularized by technological in-
  novation, lowering cost and skills for entry
Mashups in IT
Remix   of existing data (usually Internet) into
  something new and unique
Uses   the existing data (web pages, web ser-
  vices, feeds) as they are found
Mashup Long-tail Scenarios
Bridging      domains
     Mining data from Web pages
     Processing events

Aggregation/correlation

Reporting
     Reports & visualizations
     Notifications
     Dashboards

Customization/personalization

Decision      “Agents”
Periodic     tasks
Monitoring        conditions
What technological innovation?
Emergence          of readily accessible information
  sources (the Internet, enterprise SOA, desktop
  data)
Standard       formats and protocols
Mashup       platforms and tools
     Lower the barriers to entry
     Lower the cost of each project
Components of a Mashup Plat-
form
Ability
       to simply access a wide variety of infor-
  mation sources
       Web services
       Feeds
       Scraped web pages
       Files
       Email
       Instant messages and other event sources
Logic     language
       Graphical designer
       Declarative language
       Scripting language
       Programming language
Tradeoffs- list increases in power, decreases in
  accessibility
Components of a Mashup Plat-
form
Providing or presenting               output
  Machine readable
        Web services
        Feeds
        Database/File system writes
    Human readable
        Web pages
        Widgets/Gadgets
        Feeds
        Email
        Instant messages/SMS
WSO2 Mashup Server Architec-
ture

                            Data
                            Sources


                Web Pages
                                      Mashup
        Feeds
                                       Logic


     Web Services
WSO2 Mashup Server Architec-
ture

             Javascript (E4X)
                Simple service

                 deployment
                Service composition
 Mashup         Workflows
  Logic         Service translation

                Service UI building

                Rapid prototyping
WSO2 Mashup Server Architec-
ture

                     Web
  Mashup             Services

   Logic                             Rich
                                     HTML
                                     Applications
                         Emails/IM


                 Files

         Feeds
Why use Mashup instead of
BPEL?
Lighter weight
Rapid development
Broader developer base
Broader definition of “services”
Typically serves end users
Mashups vs BPEL
Services  are not always defined by traditional
  “service interfaces”
Business processes drive demand for a rich
  ecosystem of services
Mashups & BPM both consume and provide
  services
Development time and effort are important fac-
  tors in choosing the right approach
WSO2 Mashups and BPM

WSO2 Mashups and BPM

  • 1.
    Business Process Management for SOA & Mashups Milinda Pathirage Product Manager, WSO2 BPS, WSO2 Inc. milinda@wso2.com
  • 2.
    Summary Business Processes BPM and SOA Modeling Business Processes Mashups
  • 3.
    Building a BetterBusiness Every one's goals  Reduce costs  Improve responsiveness  Improve reliability  Increase agility and flexibility  Decrease overall risks
  • 4.
    Why Business ProcessesMatter What is business process?  A method or system for achieving a commercial result  It describes how enterprises performs its business functions  Any well-defined interaction between systems and people, triggered by events, using logical decision points, and with clearly defined flows  To achieve the business goals, need to continuously optimize your processes
  • 5.
  • 6.
    Business Process Management Management model or framework that helps or- ganizations to manage their business process- es while optimizing and leveraging IT assets Is about improving business BPM Life Cycle
  • 7.
    SOA and BPM SOA is an architectural style for developing dis- tributed system BPM provides the bridge between business goals and IT solutions SOA needs the service coordination and orches- tration provided by BPM BPM needs SOA to deliver business-user access to the data and functionality housed in other en- terprise systems
  • 8.
    BPM and SOA BPM Long running coordination state SOA Stateless Service Interactions Applications, Databases, Legacy Persistent application state
  • 9.
    Modeling Business Processes BPMN  Standard for business process modeling  Provides graphical notation for specifying business processes Executable business process modeling  XPDL  YAWL  EPML  BPEL4WS 1.1  WS- BPEL 2.0 (Industry standard)  BPELScript (JavaScript like language)
  • 10.
    Business Processes inSOA Web services are the preferred standards-based way to realize SOA BPEL can be used for composition, orchestra- tion or coordination of Web services BPEL fill the gap between BPM and SOA BPEL in your SOA  Business process from services and human activities  Coarse grained business services from fine grained services  Flow based integration of various existing applications
  • 11.
    WS-BPEL 2.0 XML based language for the specification of Executable and Abstract business processes Extends the Web Services interaction model and en- ables it to support business processes BPEL support distributed transactions BPEL is the standard used by major BPM vendors (IBM, Oracle, Apache ODE, WSO2, Intalio) Xpath, XSLT and Xquery for XML data manipulation
  • 12.
  • 13.
    Why use BPELinstead of Java? Managed execution  Monitor the progress of the process  Start, stop, suspend, resume process instances Structured approach to long running processes  Easy to build processes that can be suspended, resumed and interact with sys- tems in asynchronous patters Excellent support for transactions and compensation  Implement clear logic that which deals with problems in long-running processes Visualizing the flows helps communication between the spon- sors and implementors None of this is impossible in Java – you could use a framework to gain these benefits - But BPEL has it all in a simple package
  • 14.
    Human Interactions inBPEL Many business process scenarios require human interac- tions With pure BPEL you can interact with people  But you have to the integration work Two new specs which standardize the human interactions  WS-Human Tasks  BPEL4People Advance human interaction patterns  4-Eyes principal  Escalation  Nomination  Chained execution
  • 15.
  • 16.
    When to UseBPEL Orchestrate a business process with complex logic Long-running business process where state is maintained and human interactions are in- volved
  • 17.
  • 18.
    What is amashup? Term originates in music – remix of existing music into something new and unique Uses the existing data (tracks) as they are found Enabled and popularized by technological in- novation, lowering cost and skills for entry
  • 19.
    Mashups in IT Remix of existing data (usually Internet) into something new and unique Uses the existing data (web pages, web ser- vices, feeds) as they are found
  • 20.
    Mashup Long-tail Scenarios Bridging domains  Mining data from Web pages  Processing events Aggregation/correlation Reporting  Reports & visualizations  Notifications  Dashboards Customization/personalization Decision “Agents” Periodic tasks Monitoring conditions
  • 21.
    What technological innovation? Emergence of readily accessible information sources (the Internet, enterprise SOA, desktop data) Standard formats and protocols Mashup platforms and tools  Lower the barriers to entry  Lower the cost of each project
  • 22.
    Components of aMashup Plat- form Ability to simply access a wide variety of infor- mation sources  Web services  Feeds  Scraped web pages  Files  Email  Instant messages and other event sources Logic language  Graphical designer  Declarative language  Scripting language  Programming language Tradeoffs- list increases in power, decreases in accessibility
  • 23.
    Components of aMashup Plat- form Providing or presenting output  Machine readable  Web services  Feeds  Database/File system writes  Human readable  Web pages  Widgets/Gadgets  Feeds  Email  Instant messages/SMS
  • 24.
    WSO2 Mashup ServerArchitec- ture Data Sources Web Pages Mashup Feeds Logic Web Services
  • 25.
    WSO2 Mashup ServerArchitec- ture Javascript (E4X)  Simple service deployment  Service composition Mashup  Workflows Logic  Service translation  Service UI building  Rapid prototyping
  • 26.
    WSO2 Mashup ServerArchitec- ture Web Mashup Services Logic Rich HTML Applications Emails/IM Files Feeds
  • 27.
    Why use Mashupinstead of BPEL? Lighter weight Rapid development Broader developer base Broader definition of “services” Typically serves end users
  • 28.
    Mashups vs BPEL Services are not always defined by traditional “service interfaces” Business processes drive demand for a rich ecosystem of services Mashups & BPM both consume and provide services Development time and effort are important fac- tors in choosing the right approach