SlideShare a Scribd company logo
IBM Research




A Flow-based Approach for
End to End Mashups

         Rania Khalaf
         rkhalaf@us.ibm.com
         IBM Research T.J. Watson Research Center


         Keynote Presentation. OOPSLA Mashups Workshop 2009




                                                              © 2007 IBM Corporation
IBM Research




“Imagine a fearsomely comprehensive disclaimer […]. Now fear,
  comprehensively” -http://www.cliki.net/cCLan




                                                                © 2007 IBM Corporation
IBM Research




In reality, slightly less fearsome..


The information in this deck represents past and ongoing research, often involving products in IBM's
portfolio. It does not outline product direction and should not be relied on in making purchasing decisions.
It may not be incorporated into any contract.
The research aims to advance the technology in this space and help IBM plan for the future. There is no
commitment, promise, or legal obligation to deliver any material, code, or functionality.
The development, release, and timing of any features or functionality described in this talk for our products
remains at IBM's sole discretion.




                                                                                                © 2007 IBM Corporation
IBM Research




The work you are about to see

    Starting from a lightweight, REST-friendly flow language,
    Bite.
     – The Bite process model
     – Collaborative Flows
    Moving to a hosted BPM as a Service system
     – The overall system
     – Integarting forms and services
     – Extensibility and sharing
    Concluding with an End-to-End Mashup Scenario
     – Backing traditional mashups with flow-based service mashups



                                                           © 2007 IBM Corporation
IBM Research



Characteristics of a Mashup Solution

  Simplified development
  – Quickly and easily create applications combining information from
    many sources, including Web based services: from UI to data to
    lightweight workflows.
  – Zero footprint hosted environment
  – Simplified discovery and composition
  Simplified deployment, execution, and modification
  – Deployed and executed in scalable computing cloud




                                                           © 2007 IBM Corporation
IBM Research




                           Bite:
               Process Composition for the Web




                                                 © 2007 IBM Corporation
IBM Research




Goals and approach

    Expand the reach of flow oriented development
     – An attractive high level development model
     – Large pool of potential consumers
    Approach: Web centric, lightweight, flexible
     – Lightweight model: a minimal set of common process primitives able to support most
       scenarios
     – Lightweight infrastructure: run on the Web platform
     – Lightweight lifecycle: zero deployment cost
     – Flexible: customizable domain specific capabilities
     – Flexible: supporting ad-hoc flows, document centric, human centric, data centric, back-
       end integration, page flows
    What is the opportunity
     – Extend use of workflow as a development model of choice for interactive, Web centric
       applications
     – Appeal to individual domains through extensive customization
     – Able to on-ramp to high QoS process engines through automatic model conversion:
       BPEL, XPDL



                                                                                      © 2007 IBM Corporation
IBM Research




Highlights

    Deep Integration with the Web
     – Processes as Active Resources
     – Dynamic Data Types
     – Extensible Activity Set
    Lightweight Process Model
     – Flat Graph Model
     – Workflow Scripting:
         • Use implies definition
         • Convention over configuration
         • Reduction of redundancy, indirection, and the need for multiple files (by comparison
           with BPEL)
     – Flexible configurability:
         • Values of variables may be set outside the process itself, similar to Java properties.
           This allows late binding to service urls, turning paths of the process on/off.




                                                                                         © 2007 IBM Corporation
IBM Research




Lightweight and flexible

    Lightweight model
     – Compatible subset of BPEL execution semantics
     – Forgiving, script like approach – up and running in seconds
    Lightweight infrastructure:
     – Direct deployment to runtime through REST interaction with server
     – Runs on web platform: sMash, servlet container
    Flexibility: Extensible activities
     – Allow community defined steps with first class XML support within the
       language
     – Defined in Java or Groovy
     – Example: <xquery query=“…”/>, <LotusActivity …/>
    Flexibility: Pluggable data model and expression languages
     – Data and documents, content-type aware: XML, JSON, mime types
     – Pluggable scripting capabilities: Javascript, XPath, Groovy…
     – Short and long running flows, persistence provided transparently


                                                                           © 2007 IBM Corporation
IBM Research




Customization: first class support for Web interactions

     ATOM lifecycle model
      – Deployed flow seen as a collection of flow instances
      – New flow instances created as initial request is posted to collection
      – Flow instances as resources
     First class primitives for REST interaction
      – Web client and server capabilities (GET, PUT, POST)
      – E-mail, forms
     Support for many flavors of Web applications
      – Feed aggregation
      – Form based people flows
      – Synchronous and asynchronous interactions (HTTP, email)




                                                                           © 2007 IBM Corporation
IBM Research




Operational semantics
    Data links:
                                              <receivePOST name="orderRcv"
     – Carry single data item by value                      url=“initiateCase" />
     – Implies control and data dependency
    BPEL like execution semantics             <sendMail name="sendToManager" >
     – Graph style                               (…)
     – Dead path elimination and associated   </sendMail>
       restrictions in place

                                              <receive-replyGET name=“MgrApproval”>
    Control links                                 <control value=“sendToManager/>
     – When a dependency is not associated
       with data passing                      </receive-replyGET/>
     – E.g. manager approval requirement
     – Data variables                         <sendMail name="sendToSupplier"
    Data variables                                 address="orderRcv.mfrEmail[0]" …>
     – Can be combined with data flows             <control value="MgrApproval"/>
                                                   <input value="orderRcv"/>
                                               </sendMail>


                                                                        © 2007 IBM Corporation
IBM Research




Bite: language constructs

   Interaction activities       Notes
   <receiveGET>, <replyGET>,    Also *POST. Receiving and replying to messages coming over
                                HTTP. Contain a relative URL attribute used to match an incoming
   <receiveReplyGET>
                                message.

   <GET> <PUT>                  Sending HTTP requests
   <POST> <DELETE>
   Non interactive steps
   <action>                     Call local code
   <wait> <empty> <terminate>   Utility activities
   Control primitives
   <while> <foreach>            Iteration
   <control>                    Control link.
   <input>                      Data dependency that serves as a control link as well if the value is
                                an activity




                                                                                           © 2007 IBM Corporation
IBM Research




feed aggregation

       GET FEED                              GET FEED



     Fetch price and                        Fetch customized
    availability updates                         catalog




                       Customized catalog
                           and prices




 A document pipeline model


                                                               © 2007 IBM Corporation
IBM Research




Adding interaction capabilities




                                  © 2007 IBM Corporation
IBM Research




Plus primitives to encode business logic
                                           Data flow
                                           Control flow




                                             © 2007 IBM Corporation
IBM Research




               Collaborative Flows




                                     © 2007 IBM Corporation
IBM Research




Scenario: Code Release

    A set of actions needs to be done:
    – Clear name with the lawyers
    – Clear the IP with the lawyers, depending on
      organization.
    – Keep a record of approvals (in database).
    – Deliver code and associated information to distribution
      group
    – Notify interested parties of relevant events




                                                         © 2007 IBM Corporation
IBM Research




Free-Flowing Actions

    Collaborative effort:
     – Different media (phone, e-mail,
     presentations, etc)
     – Multiple parties
     – No fixed sequencing
     – Lots of options how things could go
    Examples:
     – Clear name/IP with the lawyers, depending on organization
     – Deliver code to distribution group



                                                            © 2007 IBM Corporation
IBM Research




Examples of Free Flowing actions




                                         Code delivery




                      Naming clearance




                                                         © 2007 IBM Corporation
IBM Research




Coordination is Often Required

    Sequence a set of free-flowing actions:
    – Send notification after receiving notice from lawyers.
    Use conditions in sequencing free-flowing actions:
    – Only send code after getting a response from the lawyers and
      ensuring that they approved the release.
    Affect free-flowing actions themselves:
    – If the IP clearance is not granted, terminate the naming clearance
      action.




                                                               © 2007 IBM Corporation
IBM Research




Using Bite to Create a Collaborative Service Mashup




                                                      © 2007 IBM Corporation
IBM Research




                   Putting it all together :
               A lightweight BPM as a Service
                           system




                                                © 2007 IBM Corporation
IBM Research



  BPM as a Service
                          •    Hosted Platform - Nothing to install
                          •    Example Scenarios
                                • Forms based approval (e.g. vacation request)
                                • Collaborative web-based ad-hoc workflows
                          •    Main Components
Designer                        • Flows Editor and Flows Runtime
                                • Forms Editor and Forms Runtime




                                           …
                                                                      3rd Party
                                                                      REST
                          Activities
                                                          Database    Services

                                   Bluehouse
                                    Store &
                              Email Share


                                                       Forms

                                               Feeds

                                                                     © 2007 IBM Corporation
IBM Research




Available Flow Activities
HTTP Activities                                        Lotus Activities
      Receive         Reply          Receive-Reply          Create Lotus Activity          Create Todo Activity

                                                            Create Message Activity         Create File Activity
      HTTP Action (Get, Post, Put, Delete)
                                                            Activity Wait for Completion


Database Connectivity
                                                       Collaboration Activities
      Connect         Disconnect                              Receive Email         Reply Email


       Update           Query                                 Send Email            Sametime Chat

                                                              Input Form


    Store and Share


     MQ Action (Get, Post, Delete)                    This is an extensible set.
                                             Can be exteneded by IBM, ISVs or even users

                                                                                              © 2007 IBM Corporation
IBM Research




A simple scenario




                    © 2007 IBM Corporation
IBM Research




Forms and Flows




                   © 2007 IBM Corporation
IBM Research




End Users Interact with Flow Instance




End User
  End User
    End User


                                flow Instance




                                                © 2007 IBM Corporation
IBM Research




                Collaboration and Sharing:
               Focus on Extension Activities




                                               © 2007 IBM Corporation
IBM Research




Collaboration and Sharing around Extension Activities

     Leverage the Bite Language and Runtime:
      – REST-based Interaction
      – Built-in extensibility requiring minimal artifacts
      – Multi-scripting language support for extension activity implementations and
        expressions
     Developers:
      –   Create extension activities in their development environment of choice.
      –   Publish them directly to a catalog, leveraging the SOALive catalog.
      –   Rate/comment on/leverage other developer’s extensions.
      –   Update their extensions based on user feedback.
     Designers:
      – Use the catalog to find and select extension activities to use in their workflows
      – Rate/comment on the extension activities they have used.




                                                                                     © 2007 IBM Corporation
IBM Research




Creating, Sharing, and Using Extension Activities
                                                                                              •   Hosted Platform - Nothing to install
                                                                                              •   Example Scenarios
                                                                                                   • Forms based approval (e.g. vacation request)
                                                                                                   • Collaborative web-based ad-hoc workflows
                                                                                              •   Main Components
                                                                                                   • Flows Editor and Flows Runtime
       Designer
                                                                                                   • Forms Editor and Forms Runtime
                                                                                                   • Catalog and Respotory of Extension Activities
                                                                                                   • Workflow Model and Instance Sharing




                                                                     Discover and use extension activities




IT Developer
                  Development Environment
                         of choice


                                            Catalog of Extension Activities




                                                                                                                              © 2007 IBM Corporation
IBM Research




Creating Extension Activities
                     Script based extension
                      activities can be input
                     direcly into the Catalog
                           (browser UI)
      IT Developer




                                                Catalog of Extension Activities




                                                                     © 2007 IBM Corporation
IBM Research




Creating Extension Activities                      Publish via IDE extension




       IT Developer
                      Development Environment
                             of choice




   Create (Java
                                                Catalog of Extension Activities
     or script)
  Implementation
      in IDE



              Publishing an activity includes the
         implementation artifact + meta-data such as
              author, tags, function description.
                                                                            © 2007 IBM Corporation
IBM Research




Developer Community around Extensions


                 Publish EA1
                                           Search, View, Comment



                Update and Re-                            Import an EA
 IT Developer
                 Publish EA1       EA
                                 Catalog                                  IT Developer 2




                                                     Add functionality or
                                                     create/publish new EA




                                                                     © 2007 IBM Corporation
IBM Research




Extension Activities and the Designer

                 Search, View, Comment


   Designer

                      Select and Use an
                          Extension




                                          © 2007 IBM Corporation
IBM Research




               End-to-End Mashups




                                    © 2007 IBM Corporation
IBM Research




A scenario for an end-to-end mashup

    Financial Services Company investigates financial
    alerts raised due to suspicious activity.
    Once an alert is raised, it must be investigated by
    searching, visualizing, and discussing information
    from many data sources.
    The ability to have flexible dashboard to perform
    the investigation is key.




                                                 © 2007 IBM Corporation
IBM Research




Digging deeper

    A user logs into the system and sees company related
    information and open financial alerts.
     – Calendar, News, Charting user performance metrics, Alerts
    A user may select an alert to work on.
    A user may go to the investigation page where he can work on
    his alerts. The investigation page offers:
     – Federated search
     – Geospatial information
     – Link analysis information
     – Wiki for collaborative research
    When ready, the user can submit a report about the alert and
    assign a resolution.

                                                            © 2007 IBM Corporation
IBM Research




Scenario Architecture
                                                   Bite flows in
                                             BPM as a Service system


                      IBM Mashup Center
                                Infosphere
           Lotus Mashup                             Other DB
                               Mashup Hub
              (Widgets)
                              (DB2 to Feeds)
                                                                  CM DB



                                                     External
                                               Services (Search, etc)

                                                           © 2007 IBM Corporation
IBM Research




Conclusion

    Bridging mashups and workflows
    Enabling a flow-based approach to weaving together UI
    mashups and external services
    A hosted system for creating, running, and collaboratively
    extending flow-based mashups
    Created by a mashup of IBM teams ☺:
    – Developed in internal open source
    – Contributors:
        • Across IBM: Research, Software Group, Global Business Services
        • Across geos: US, Japan, Israel, Canada, and China




                                                                © 2007 IBM Corporation
IBM Research




Where can I get more information on …?
    Bite:
     – A version is the flow language in IBM Project Zero (WebSphere sMash)
            • http://projectzero.org
     – ICSOC 2007
     – Workshop on XQuery Implementation, Experience and Perspectives (XIME-P 2008) at ACM
       SIGMOD 2008
    Bite and Collaborative Flows
            • IEEE Internet Computing, Special Issue on Services Mashups 2008
    BPM as a service system:
     – Devoxx 2008 - presentation by Christina Lau, ‘BPMZero’
    End-to-End Security
     – ICSOC 2009
    Extensibility and Sharing
     – Workshop on Business Process Management and Social Software, BPM 2009
    Anything else?
     – rkhalaf@us.ibm.com




                                                                                   © 2007 IBM Corporation

More Related Content

PDF
Bite: Workflow Composition for the Web. Presented at the ICSOC Conference 2007
PDF
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
PDF
Syer Monitoring Integration And Batch
PDF
Integration of Web Service Stacks in an Esb
PDF
oracle-osb
PDF
Tripit Ajaxworld V5
PPTX
Where to use OSB
PDF
Spring 3 - An Introduction
Bite: Workflow Composition for the Web. Presented at the ICSOC Conference 2007
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Syer Monitoring Integration And Batch
Integration of Web Service Stacks in an Esb
oracle-osb
Tripit Ajaxworld V5
Where to use OSB
Spring 3 - An Introduction

What's hot (20)

PDF
Introduction and Advanced Concepts of BPEL
PPT
Soa & Bpel
PPT
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
PPTX
SOA for PL/SQL Developer (OPP 2010)
PPTX
Exchange 2013 ABC's: Architecture, Best Practices and Client Access
PPTX
SOA Suite 12c - Service Bus new features summary
PDF
Oracle OSB Tutorial 2
PPT
Soa bpel-123
PDF
Enterprise Service Bus and JBI
PPT
Soa & Bpel With Web Sphere
PPTX
Where and when to use the Oracle Service Bus (OSB)
PPTX
To blob or not to blob
PDF
Dave Carroll Application Services Salesforce
PDF
Sqlsat154 maintain your dbs with help from ola hallengren
PDF
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
PDF
Frank Mantek Google G Data
PDF
The Java Content Repository
PPTX
PDF
PDF
Gregor Hohpe Track Intro The Cloud As Middle Ware
Introduction and Advanced Concepts of BPEL
Soa & Bpel
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
SOA for PL/SQL Developer (OPP 2010)
Exchange 2013 ABC's: Architecture, Best Practices and Client Access
SOA Suite 12c - Service Bus new features summary
Oracle OSB Tutorial 2
Soa bpel-123
Enterprise Service Bus and JBI
Soa & Bpel With Web Sphere
Where and when to use the Oracle Service Bus (OSB)
To blob or not to blob
Dave Carroll Application Services Salesforce
Sqlsat154 maintain your dbs with help from ola hallengren
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
Frank Mantek Google G Data
The Java Content Repository
Gregor Hohpe Track Intro The Cloud As Middle Ware
Ad

Viewers also liked (12)

PDF
Da Danio a Oikos
PPT
Scenario Framework
PPTX
Value Reference Model - F&A
PPT
This deck describes the new features in IBM Mashup Center v2
PPTX
Business process modeling and automatic management
PPT
Building Intelligent Mashups
PPTX
Mobile, BPM e Cloud tramite MDD: Una leva tecnologica per il business [ITA]
PPTX
Sa framework
PPTX
Applicazioni Integrabili - Laboratorio di Interaction Design
PPTX
Convertigo Composite Application Platform
PDF
Ultimate guide to_bpmn2_2016_edition_110716
PPTX
From Conceptual to Executable BPMN Process Models A Step-by-Step Method
Da Danio a Oikos
Scenario Framework
Value Reference Model - F&A
This deck describes the new features in IBM Mashup Center v2
Business process modeling and automatic management
Building Intelligent Mashups
Mobile, BPM e Cloud tramite MDD: Una leva tecnologica per il business [ITA]
Sa framework
Applicazioni Integrabili - Laboratorio di Interaction Design
Convertigo Composite Application Platform
Ultimate guide to_bpmn2_2016_edition_110716
From Conceptual to Executable BPMN Process Models A Step-by-Step Method
Ad

Similar to A Flow Based Approach for End to End Mashups (20)

PDF
Designing a Language and System for REST-oriented service composition,as a se...
PDF
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
PPTX
ESB and Mule ESB solution
PDF
Tactics Esb Implementation
PDF
Helping Organizations Realize the Value of DevOps with Continuous Software De...
PDF
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
PPTX
Convertigo Mobile Application Development platform for Enterprises
PPTX
Cloud adoption patterns
PPT
Marco 2014 iib90_overview_port
ODP
JBoss Enterprise Data Services (Data Virtualization)
PDF
M3 Modernization Case Study
PPTX
Cloud adoption patterns April 11 2016
PPT
Introduction to WebSphere Message Broker
PPTX
The Three Stages of Cloud Adoption - RightScale Compute 2013
PPTX
InduSoft Web Studio e Dream Report
PPTX
Business model driven cloud adoption - what NI is doing in the cloud
PPTX
RavenDB overview
PDF
ALM Integration in a Web 2.0 World
PDF
Generated REST Gateways for Mobile Applications
PPTX
system automation, integration and recovery
Designing a Language and System for REST-oriented service composition,as a se...
The Power of Two: Using IBM Standards Processing Engine for EDI Commerce or H...
ESB and Mule ESB solution
Tactics Esb Implementation
Helping Organizations Realize the Value of DevOps with Continuous Software De...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Convertigo Mobile Application Development platform for Enterprises
Cloud adoption patterns
Marco 2014 iib90_overview_port
JBoss Enterprise Data Services (Data Virtualization)
M3 Modernization Case Study
Cloud adoption patterns April 11 2016
Introduction to WebSphere Message Broker
The Three Stages of Cloud Adoption - RightScale Compute 2013
InduSoft Web Studio e Dream Report
Business model driven cloud adoption - what NI is doing in the cloud
RavenDB overview
ALM Integration in a Web 2.0 World
Generated REST Gateways for Mobile Applications
system automation, integration and recovery

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Approach and Philosophy of On baking technology
PDF
Encapsulation theory and applications.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
cuic standard and advanced reporting.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Machine learning based COVID-19 study performance prediction
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Review of recent advances in non-invasive hemoglobin estimation
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
“AI and Expert System Decision Support & Business Intelligence Systems”
Approach and Philosophy of On baking technology
Encapsulation theory and applications.pdf
Empathic Computing: Creating Shared Understanding
Mobile App Security Testing_ A Comprehensive Guide.pdf
cuic standard and advanced reporting.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Building Integrated photovoltaic BIPV_UPV.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
NewMind AI Monthly Chronicles - July 2025
Machine learning based COVID-19 study performance prediction
The Rise and Fall of 3GPP – Time for a Sabbatical?

A Flow Based Approach for End to End Mashups

  • 1. IBM Research A Flow-based Approach for End to End Mashups Rania Khalaf rkhalaf@us.ibm.com IBM Research T.J. Watson Research Center Keynote Presentation. OOPSLA Mashups Workshop 2009 © 2007 IBM Corporation
  • 2. IBM Research “Imagine a fearsomely comprehensive disclaimer […]. Now fear, comprehensively” -http://www.cliki.net/cCLan © 2007 IBM Corporation
  • 3. IBM Research In reality, slightly less fearsome.. The information in this deck represents past and ongoing research, often involving products in IBM's portfolio. It does not outline product direction and should not be relied on in making purchasing decisions. It may not be incorporated into any contract. The research aims to advance the technology in this space and help IBM plan for the future. There is no commitment, promise, or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described in this talk for our products remains at IBM's sole discretion. © 2007 IBM Corporation
  • 4. IBM Research The work you are about to see Starting from a lightweight, REST-friendly flow language, Bite. – The Bite process model – Collaborative Flows Moving to a hosted BPM as a Service system – The overall system – Integarting forms and services – Extensibility and sharing Concluding with an End-to-End Mashup Scenario – Backing traditional mashups with flow-based service mashups © 2007 IBM Corporation
  • 5. IBM Research Characteristics of a Mashup Solution Simplified development – Quickly and easily create applications combining information from many sources, including Web based services: from UI to data to lightweight workflows. – Zero footprint hosted environment – Simplified discovery and composition Simplified deployment, execution, and modification – Deployed and executed in scalable computing cloud © 2007 IBM Corporation
  • 6. IBM Research Bite: Process Composition for the Web © 2007 IBM Corporation
  • 7. IBM Research Goals and approach Expand the reach of flow oriented development – An attractive high level development model – Large pool of potential consumers Approach: Web centric, lightweight, flexible – Lightweight model: a minimal set of common process primitives able to support most scenarios – Lightweight infrastructure: run on the Web platform – Lightweight lifecycle: zero deployment cost – Flexible: customizable domain specific capabilities – Flexible: supporting ad-hoc flows, document centric, human centric, data centric, back- end integration, page flows What is the opportunity – Extend use of workflow as a development model of choice for interactive, Web centric applications – Appeal to individual domains through extensive customization – Able to on-ramp to high QoS process engines through automatic model conversion: BPEL, XPDL © 2007 IBM Corporation
  • 8. IBM Research Highlights Deep Integration with the Web – Processes as Active Resources – Dynamic Data Types – Extensible Activity Set Lightweight Process Model – Flat Graph Model – Workflow Scripting: • Use implies definition • Convention over configuration • Reduction of redundancy, indirection, and the need for multiple files (by comparison with BPEL) – Flexible configurability: • Values of variables may be set outside the process itself, similar to Java properties. This allows late binding to service urls, turning paths of the process on/off. © 2007 IBM Corporation
  • 9. IBM Research Lightweight and flexible Lightweight model – Compatible subset of BPEL execution semantics – Forgiving, script like approach – up and running in seconds Lightweight infrastructure: – Direct deployment to runtime through REST interaction with server – Runs on web platform: sMash, servlet container Flexibility: Extensible activities – Allow community defined steps with first class XML support within the language – Defined in Java or Groovy – Example: <xquery query=“…”/>, <LotusActivity …/> Flexibility: Pluggable data model and expression languages – Data and documents, content-type aware: XML, JSON, mime types – Pluggable scripting capabilities: Javascript, XPath, Groovy… – Short and long running flows, persistence provided transparently © 2007 IBM Corporation
  • 10. IBM Research Customization: first class support for Web interactions ATOM lifecycle model – Deployed flow seen as a collection of flow instances – New flow instances created as initial request is posted to collection – Flow instances as resources First class primitives for REST interaction – Web client and server capabilities (GET, PUT, POST) – E-mail, forms Support for many flavors of Web applications – Feed aggregation – Form based people flows – Synchronous and asynchronous interactions (HTTP, email) © 2007 IBM Corporation
  • 11. IBM Research Operational semantics Data links: <receivePOST name="orderRcv" – Carry single data item by value url=“initiateCase" /> – Implies control and data dependency BPEL like execution semantics <sendMail name="sendToManager" > – Graph style (…) – Dead path elimination and associated </sendMail> restrictions in place <receive-replyGET name=“MgrApproval”> Control links <control value=“sendToManager/> – When a dependency is not associated with data passing </receive-replyGET/> – E.g. manager approval requirement – Data variables <sendMail name="sendToSupplier" Data variables address="orderRcv.mfrEmail[0]" …> – Can be combined with data flows <control value="MgrApproval"/> <input value="orderRcv"/> </sendMail> © 2007 IBM Corporation
  • 12. IBM Research Bite: language constructs Interaction activities Notes <receiveGET>, <replyGET>, Also *POST. Receiving and replying to messages coming over HTTP. Contain a relative URL attribute used to match an incoming <receiveReplyGET> message. <GET> <PUT> Sending HTTP requests <POST> <DELETE> Non interactive steps <action> Call local code <wait> <empty> <terminate> Utility activities Control primitives <while> <foreach> Iteration <control> Control link. <input> Data dependency that serves as a control link as well if the value is an activity © 2007 IBM Corporation
  • 13. IBM Research feed aggregation GET FEED GET FEED Fetch price and Fetch customized availability updates catalog Customized catalog and prices A document pipeline model © 2007 IBM Corporation
  • 14. IBM Research Adding interaction capabilities © 2007 IBM Corporation
  • 15. IBM Research Plus primitives to encode business logic Data flow Control flow © 2007 IBM Corporation
  • 16. IBM Research Collaborative Flows © 2007 IBM Corporation
  • 17. IBM Research Scenario: Code Release A set of actions needs to be done: – Clear name with the lawyers – Clear the IP with the lawyers, depending on organization. – Keep a record of approvals (in database). – Deliver code and associated information to distribution group – Notify interested parties of relevant events © 2007 IBM Corporation
  • 18. IBM Research Free-Flowing Actions Collaborative effort: – Different media (phone, e-mail, presentations, etc) – Multiple parties – No fixed sequencing – Lots of options how things could go Examples: – Clear name/IP with the lawyers, depending on organization – Deliver code to distribution group © 2007 IBM Corporation
  • 19. IBM Research Examples of Free Flowing actions Code delivery Naming clearance © 2007 IBM Corporation
  • 20. IBM Research Coordination is Often Required Sequence a set of free-flowing actions: – Send notification after receiving notice from lawyers. Use conditions in sequencing free-flowing actions: – Only send code after getting a response from the lawyers and ensuring that they approved the release. Affect free-flowing actions themselves: – If the IP clearance is not granted, terminate the naming clearance action. © 2007 IBM Corporation
  • 21. IBM Research Using Bite to Create a Collaborative Service Mashup © 2007 IBM Corporation
  • 22. IBM Research Putting it all together : A lightweight BPM as a Service system © 2007 IBM Corporation
  • 23. IBM Research BPM as a Service • Hosted Platform - Nothing to install • Example Scenarios • Forms based approval (e.g. vacation request) • Collaborative web-based ad-hoc workflows • Main Components Designer • Flows Editor and Flows Runtime • Forms Editor and Forms Runtime … 3rd Party REST Activities Database Services Bluehouse Store & Email Share Forms Feeds © 2007 IBM Corporation
  • 24. IBM Research Available Flow Activities HTTP Activities Lotus Activities Receive Reply Receive-Reply Create Lotus Activity Create Todo Activity Create Message Activity Create File Activity HTTP Action (Get, Post, Put, Delete) Activity Wait for Completion Database Connectivity Collaboration Activities Connect Disconnect Receive Email Reply Email Update Query Send Email Sametime Chat Input Form Store and Share MQ Action (Get, Post, Delete) This is an extensible set. Can be exteneded by IBM, ISVs or even users © 2007 IBM Corporation
  • 25. IBM Research A simple scenario © 2007 IBM Corporation
  • 26. IBM Research Forms and Flows © 2007 IBM Corporation
  • 27. IBM Research End Users Interact with Flow Instance End User End User End User flow Instance © 2007 IBM Corporation
  • 28. IBM Research Collaboration and Sharing: Focus on Extension Activities © 2007 IBM Corporation
  • 29. IBM Research Collaboration and Sharing around Extension Activities Leverage the Bite Language and Runtime: – REST-based Interaction – Built-in extensibility requiring minimal artifacts – Multi-scripting language support for extension activity implementations and expressions Developers: – Create extension activities in their development environment of choice. – Publish them directly to a catalog, leveraging the SOALive catalog. – Rate/comment on/leverage other developer’s extensions. – Update their extensions based on user feedback. Designers: – Use the catalog to find and select extension activities to use in their workflows – Rate/comment on the extension activities they have used. © 2007 IBM Corporation
  • 30. IBM Research Creating, Sharing, and Using Extension Activities • Hosted Platform - Nothing to install • Example Scenarios • Forms based approval (e.g. vacation request) • Collaborative web-based ad-hoc workflows • Main Components • Flows Editor and Flows Runtime Designer • Forms Editor and Forms Runtime • Catalog and Respotory of Extension Activities • Workflow Model and Instance Sharing Discover and use extension activities IT Developer Development Environment of choice Catalog of Extension Activities © 2007 IBM Corporation
  • 31. IBM Research Creating Extension Activities Script based extension activities can be input direcly into the Catalog (browser UI) IT Developer Catalog of Extension Activities © 2007 IBM Corporation
  • 32. IBM Research Creating Extension Activities Publish via IDE extension IT Developer Development Environment of choice Create (Java Catalog of Extension Activities or script) Implementation in IDE Publishing an activity includes the implementation artifact + meta-data such as author, tags, function description. © 2007 IBM Corporation
  • 33. IBM Research Developer Community around Extensions Publish EA1 Search, View, Comment Update and Re- Import an EA IT Developer Publish EA1 EA Catalog IT Developer 2 Add functionality or create/publish new EA © 2007 IBM Corporation
  • 34. IBM Research Extension Activities and the Designer Search, View, Comment Designer Select and Use an Extension © 2007 IBM Corporation
  • 35. IBM Research End-to-End Mashups © 2007 IBM Corporation
  • 36. IBM Research A scenario for an end-to-end mashup Financial Services Company investigates financial alerts raised due to suspicious activity. Once an alert is raised, it must be investigated by searching, visualizing, and discussing information from many data sources. The ability to have flexible dashboard to perform the investigation is key. © 2007 IBM Corporation
  • 37. IBM Research Digging deeper A user logs into the system and sees company related information and open financial alerts. – Calendar, News, Charting user performance metrics, Alerts A user may select an alert to work on. A user may go to the investigation page where he can work on his alerts. The investigation page offers: – Federated search – Geospatial information – Link analysis information – Wiki for collaborative research When ready, the user can submit a report about the alert and assign a resolution. © 2007 IBM Corporation
  • 38. IBM Research Scenario Architecture Bite flows in BPM as a Service system IBM Mashup Center Infosphere Lotus Mashup Other DB Mashup Hub (Widgets) (DB2 to Feeds) CM DB External Services (Search, etc) © 2007 IBM Corporation
  • 39. IBM Research Conclusion Bridging mashups and workflows Enabling a flow-based approach to weaving together UI mashups and external services A hosted system for creating, running, and collaboratively extending flow-based mashups Created by a mashup of IBM teams ☺: – Developed in internal open source – Contributors: • Across IBM: Research, Software Group, Global Business Services • Across geos: US, Japan, Israel, Canada, and China © 2007 IBM Corporation
  • 40. IBM Research Where can I get more information on …? Bite: – A version is the flow language in IBM Project Zero (WebSphere sMash) • http://projectzero.org – ICSOC 2007 – Workshop on XQuery Implementation, Experience and Perspectives (XIME-P 2008) at ACM SIGMOD 2008 Bite and Collaborative Flows • IEEE Internet Computing, Special Issue on Services Mashups 2008 BPM as a service system: – Devoxx 2008 - presentation by Christina Lau, ‘BPMZero’ End-to-End Security – ICSOC 2009 Extensibility and Sharing – Workshop on Business Process Management and Social Software, BPM 2009 Anything else? – rkhalaf@us.ibm.com © 2007 IBM Corporation