A Flow Based Approach for End to End Mashups


Published on

Keynote presentation, OOPSLA 2009, Mashups Workshop

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

A Flow Based Approach for End to End Mashups

  1. 1. IBM ResearchA Flow-based Approach forEnd 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. 2. IBM Research“Imagine a fearsomely comprehensive disclaimer […]. Now fear, comprehensively” -http://www.cliki.net/cCLan © 2007 IBM Corporation
  3. 3. IBM ResearchIn reality, slightly less fearsome..The information in this deck represents past and ongoing research, often involving products in IBMsportfolio. 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 nocommitment, 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 productsremains at IBMs sole discretion. © 2007 IBM Corporation
  4. 4. IBM ResearchThe 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. 5. IBM ResearchCharacteristics 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. 6. IBM Research Bite: Process Composition for the Web © 2007 IBM Corporation
  7. 7. IBM ResearchGoals 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. 8. IBM ResearchHighlights 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. 9. IBM ResearchLightweight 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. 10. IBM ResearchCustomization: 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. 11. IBM ResearchOperational 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. 12. IBM ResearchBite: 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. 13. IBM Researchfeed 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. 14. IBM ResearchAdding interaction capabilities © 2007 IBM Corporation
  15. 15. IBM ResearchPlus primitives to encode business logic Data flow Control flow © 2007 IBM Corporation
  16. 16. IBM Research Collaborative Flows © 2007 IBM Corporation
  17. 17. IBM ResearchScenario: 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. 18. IBM ResearchFree-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. 19. IBM ResearchExamples of Free Flowing actions Code delivery Naming clearance © 2007 IBM Corporation
  20. 20. IBM ResearchCoordination 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. 21. IBM ResearchUsing Bite to Create a Collaborative Service Mashup © 2007 IBM Corporation
  22. 22. IBM Research Putting it all together : A lightweight BPM as a Service system © 2007 IBM Corporation
  23. 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 ComponentsDesigner • 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. 24. IBM ResearchAvailable Flow ActivitiesHTTP 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 CompletionDatabase 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. 25. IBM ResearchA simple scenario © 2007 IBM Corporation
  26. 26. IBM ResearchForms and Flows © 2007 IBM Corporation
  27. 27. IBM ResearchEnd Users Interact with Flow InstanceEnd User End User End User flow Instance © 2007 IBM Corporation
  28. 28. IBM Research Collaboration and Sharing: Focus on Extension Activities © 2007 IBM Corporation
  29. 29. IBM ResearchCollaboration 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. 30. IBM ResearchCreating, 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 activitiesIT Developer Development Environment of choice Catalog of Extension Activities © 2007 IBM Corporation
  31. 31. IBM ResearchCreating 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. 32. IBM ResearchCreating 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. 33. IBM ResearchDeveloper 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. 34. IBM ResearchExtension Activities and the Designer Search, View, Comment Designer Select and Use an Extension © 2007 IBM Corporation
  35. 35. IBM Research End-to-End Mashups © 2007 IBM Corporation
  36. 36. IBM ResearchA 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. 37. IBM ResearchDigging 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. 38. IBM ResearchScenario 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. 39. IBM ResearchConclusion 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. 40. IBM ResearchWhere 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