Weitere ähnliche Inhalte
Ähnlich wie A Flow Based Approach for End to End Mashups (20)
Kürzlich hochgeladen (20)
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
- 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
- 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
- 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
- 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
- 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