a flow based approach for end to end mashups

40
IBM Research © 2007 IBM Corporation A Flow-based Approach for End to End Mashups Rania Khalaf [email protected] IBM Research T.J. Watson Research Center Keynote Presentation. OOPSLA Mashups Workshop 2009

Upload: raniakhalaf

Post on 09-Jul-2015

565 views

Category:

Technology


1 download

DESCRIPTION

Keynote presentation, OOPSLA 2009, Mashups Workshop

TRANSCRIPT

Page 1: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

A Flow-based Approach for End to End Mashups

Rania Khalaf

[email protected]

IBM Research T.J. Watson Research Center

Keynote Presentation. OOPSLA Mashups Workshop 2009

Page 2: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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

Page 3: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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.

Page 4: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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

Page 5: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

� 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

Characteristics of a Mashup Solution

Page 6: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Bite:Process Composition for the Web

Page 7: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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

Page 8: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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.

Page 9: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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

Page 10: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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)

Page 11: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Operational semantics

� Data links:

– Carry single data item by value

– Implies control and data dependency

� BPEL like execution semantics

– Graph style

– Dead path elimination and associated restrictions in place

� Control links

– When a dependency is not associated with data passing

– E.g. manager approval requirement

– Data variables

� Data variables

– Can be combined with data flows

<receivePOST name="orderRcv" url=“initiateCase" />

<sendMail name="sendToManager" >(…)

</sendMail>

<receive-replyGET name=“MgrApproval”><control value=“sendToManager/>

</receive-replyGET/>

<sendMail name="sendToSupplier" address="orderRcv.mfrEmail[0]" …><control value="MgrApproval"/><input value="orderRcv"/>

</sendMail>

Page 12: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Bite: language constructs

Control primitives

Non interactive steps

Utility activities<wait> <empty> <terminate>

Data dependency that serves as a control link as well if the value is an activity

<input>

Control link. <control>

Iteration<while> <foreach>

Call local code<action>

Sending HTTP requests<GET> <PUT>

<POST> <DELETE>

Also *POST. Receiving and replying to messages coming over HTTP. Contain a relative URL attribute used to match an incomingmessage.

<receiveGET>, <replyGET>,

<receiveReplyGET>

NotesInteraction activities

Page 13: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

feed aggregation

Fetch customized

catalog

Customized catalog

and prices

Fetch price and

availability updates

GET FEEDGET FEED

A document pipeline model

Page 14: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Adding interaction capabilities

Page 15: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Data flow

Control flow

Plus primitives to encode business logic

Page 16: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Collaborative Flows

Page 17: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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

Page 18: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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

Page 19: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Examples of Free Flowing actions

Naming clearance

Code delivery

Page 20: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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.

Page 21: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Using Bite to Create a Collaborative Service Mashup

Page 22: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Putting it all together :

A lightweight BPM as a Service system

Page 23: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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

• Flows Editor and Flows Runtime

• Forms Editor and Forms Runtime

3rd Party

REST

Services

Bluehouse

Store & ShareEmail

ActivitiesDatabase

Feeds

Forms

Designer

Page 24: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Available Flow Activities

Store and Share

MQ Action (Get, Post, Delete)

Create Lotus Activity

Create Message Activity Create File Activity

Create Todo Activity

Activity Wait for Completion

Receive Reply

HTTP Action (Get, Post, Put, Delete)

Receive-Reply

HTTP Activities

Connect Disconnect

Update Query

Database Connectivity

Lotus Activities

Input Form

Send Email

Receive Email Reply Email

Collaboration Activities

This is an extensible set.

Can be exteneded by IBM, ISVs or even users

Sametime Chat

Page 25: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

A simple scenario

Page 26: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Forms and Flows

Page 27: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

End Users Interact with Flow Instance

End UserEnd User

End User

flow Instance

Page 28: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Collaboration and Sharing:

Focus on Extension Activities

Page 29: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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.

Page 30: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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

• Forms Editor and Forms Runtime

• Catalog and Respotory of Extension Activities

• Workflow Model and Instance Sharing

Discover and use extension activities

Catalog of Extension Activities

IT Developer

Designer

Development Environment

of choice

Page 31: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Creating Extension Activities

Catalog of Extension Activities

IT Developer

Script based extension

activities can be input

direcly into the Catalog

(browser UI)

Page 32: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Creating Extension Activities

Catalog of Extension Activities

Development Environment

of choice

IT Developer

Publish via IDE extension

Publishing an activity includes the implementation artifact + meta-data such as

author, tags, function description.

Create (Java

or script)

Implementation

in IDE

Page 33: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Developer Community around Extensions

IT Developer

Publish EA1

Search, View, Comment

IT Developer 2

Update and Re-Publish EA1

Add functionality or create/publish new EA

EA

Catalog

Import an EA

Page 34: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

Extension Activities and the Designer

Designer

Search, View, Comment

Select and Use an Extension

Page 35: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

End-to-End Mashups

Page 36: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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.

Page 37: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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.

Page 38: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

IBM Mashup Center

Scenario Architecture

CM DB

Other DBLotus Mashup

(Widgets)

Bite flows in

BPM as a Service system

Infosphere

Mashup Hub

(DB2 to Feeds)

External

Services (Search, etc)

Page 39: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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

Page 40: A Flow Based Approach for End to End Mashups

IBM Research

© 2007 IBM Corporation

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?

[email protected]