37
Mashups and Business Process Management in SOA Jonathan Marsh VP Business Development Director of Mashup Architecture

Mashups and Business Process Management in SOA

  • Upload
    wso2

  • View
    6.950

  • Download
    1

Embed Size (px)

DESCRIPTION

Jonathan Marsh, VP Business Development, Director of Mashup Architecture, WSO2 at the SOA Workshop in Colombo, Sri Lanka (September 17, 2009) makes the case on how Business Process Management (BPM) and Mashups drive SOA evolution and illustrates how WSO2 Mashup Server fits into this space.

Citation preview

Page 1: Mashups and Business Process Management in SOA

Mashups and Business Process

Management in SOAJonathan Marsh

VP Business DevelopmentDirector of Mashup Architecture

Page 2: Mashups and Business Process Management in SOA

Overview

Mapping SOA to Business Goals

Business Process Automation

Mashups

Services Ecosystem Stages

A Mashup Story

Page 3: Mashups and Business Process Management in SOA

Building a better business

Typical goals:

Lower costs

Improve response times

Improve reliability

Support customization

Decrease overall risks

Trend towards increasing automation

Page 4: Mashups and Business Process Management in SOA

What is a Business Process?

What is a business process? A process you need to run your business!

Any well-defined interaction between systems and

people, triggered by events, using logical decision

points, and with clearly defined flows

Examples: When processing an order, connect to the billing

system and raise an invoice.

When handling a problem ticket, escalate

unresolved tickets.

Page 5: Mashups and Business Process Management in SOA

Business Process Management

Defining,

Executing, and

Monitoring Business Processes

Typically long-running, stateful processes

SOA enables BPM Connecting services on diverse systems workflows

Use and reuse of data and services from other

applications

Almost everything useful to a business is a

process

Page 6: Mashups and Business Process Management in SOA

Executable business processes

There are many approaches to executable

business processes: XPDL

BPML

YAWL

jBPM

WS-BPEL 1.1

BPEL 2.0 The industry standard

Page 7: Mashups and Business Process Management in SOA

BPEL

Business Process Execution Language 2.0 An executable XML language

With some graphical views (but not standardized)

Used by the major BPM vendors (IBM, Oracle,

Apache ODE, WSO2, Intalio, ActiveVOS, etc)

<sequence> <!-- Receive the initial request --><receive partnerLink="partner"

portType=“p:PartnerPT" operation=“approval" variable=“approvalRequest" createInstance="yes" />

Page 8: Mashups and Business Process Management in SOA

Why use BPEL instead of Java?

1. Managed execution Monitor the progress of processes Stop, start, restart, inspect

2. Structured approach to long-running processes Easy to build processes that stop, restart and interact with

systems in asynchronous patterns 3. Excellent support for transactions and

compensation Build clear logic for dealing with problems in long-running

flows 4. Visualizing the flows helps communicate between

the sponsors and the coders Managers, analysts and users can be taken through the logic

and validate it

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

Page 9: Mashups and Business Process Management in SOA

Executing Business Processes

Develop Business Process definitions Business Process Modeling Notation

Synchronizing Business and Technical goals

Write BPEL Graphical Editor

XML coding

Run a Business Process Server WSO2 Business Process Server

Microsoft Biztalk

Oracle BPEL Process Manager

IBM WebSphere Process Server

Page 10: Mashups and Business Process Management in SOA

Bridging People and technology

Many processes interact with people

With pure BPEL you can interact with people But you have to do the work

Integrate a portal with a process server

Two new specs help out massively WS-HumanTask

BPEL4People

Patterns: 4-eyes

Escalation

Nomination

Chained execution

Page 11: Mashups and Business Process Management in SOA

BPEL4People model

Page 12: Mashups and Business Process Management in SOA

Mashups

What is a Mashup?

Page 13: Mashups and Business Process Management in SOA

Mashups in Music

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 innovation,

lowering cost and skills for

entry

Page 14: Mashups and Business Process Management in SOA

Mashups in IT

Remix of existing data (usually internet) into

something new and unique

Uses the existing data (web pages, web

services, feeds) as they are found

Enabled and popularized by technological

innovation, lowering cost of entry

Page 15: Mashups and Business Process Management in SOA

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

Page 16: Mashups and Business Process Management in SOA

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

Page 17: Mashups and Business Process Management in SOA

Components of a Mashup

Platform Ability to simply access a wide variety of

information sources Web services

Feeds

Scraped web pages

Files

Email

Instant messages and other event sources

Page 18: Mashups and Business Process Management in SOA

Components of a Mashup

Platform Logic language Graphical designer

Declarative language

Scripting language

Programming language

Tradeoffs - list increases in power, decreases

in accessibility

Page 19: Mashups and Business Process Management in SOA

Components of a Mashup

Platform Providing or presenting output Machine readable Web services

Feeds

Database/File system writes

Human readable Web pages

Widgets/Gadgets

Feeds

Email

Instant messages/SMS

Page 20: Mashups and Business Process Management in SOA

WSO2 Mashup Server

Architecture

Web Services

Feeds

Web Pages

Data Sources

MashupLogic

Page 21: Mashups and Business Process Management in SOA

WSO2 Mashup Server

Architecture

Javascript (E4X) Simple service deployment

Service composition

Workflows

Service translation

Service UI building

Rapid prototyping

MashupLogic

Page 22: Mashups and Business Process Management in SOA

WSO2 Mashup Server

Architecture

MashupLogic

Web Services

Rich HTML Applications

Files

Email/IM

Feeds

Page 23: Mashups and Business Process Management in SOA

Why use Mashup instead of

BPEL? Lighter weight

Rapid development

Broader developer base

Broader definition of “services”

Typically serves end users

Similar outcomes – different approaches

Page 24: Mashups and Business Process Management in SOA

SOA Stages of Evolution

BPM and Mashups drive SOA evolution Stage 1: Exposing services, connecting systems

Stage 2: Automating high value business processes

(BPEL)

Stage 3: Helping knowledge workers leverage the

business infrastructure (mashups)

Stage 4: Recurse

Page 25: Mashups and Business Process Management in SOA

SOA Stage 1 – High Value

Exposing services, connecting systems

EAI, App Servers, ESBs

Page 26: Mashups and Business Process Management in SOA

SOA Stage 2 – Medium Value

Business Process Execution Language for

Web Services (BPEL4WS) is a declarative

language for defining a “business” process as a

series of interactions between services.

Output is more services.

Used for automated flows – what happens in

the SOA stays in the SOA.

Page 27: Mashups and Business Process Management in SOA

SOA Stage 3 – Long Tail

Low investment

Small user community

Limited lifetime applications

Situational applications

Page 28: Mashups and Business Process Management in SOA

Services Ecosystem

BPEL services and Mashups serve the long tail of

services

More Services => More possible connections

More connections => More potential

applications

More potential applications => Business agility

Business agility => Competitive advantage

Competitive advantage => Leads to profits

Page 29: Mashups and Business Process Management in SOA

Metcalfe's Law

Metcalfe's law states that the value of atelecommunications network is proportional to the square of the number of connected users of the system (n2).

Page 30: Mashups and Business Process Management in SOA

Metcalfe's Law

Page 31: Mashups and Business Process Management in SOA

Metcalfe's Law Adjusted...

Page 32: Mashups and Business Process Management in SOA

A Mashup Story

“Business” goal Automated check-in on Southwest Airlines

Best seats available exactly 24 hours before

departure

No service interface (just a web site)

Page 33: Mashups and Business Process Management in SOA

Workflow

Register a flight Provide flight details

Scrape confirmation email

Provide notification information Preferred channel (email, SMS, IM, Twitter…)

Account info (email address, phone number…)

Schedule events Access check-in page

Send notifications to user

Check flight status

Clean up

Page 34: Mashups and Business Process Management in SOA

Services needed

Southwest Web Site Check-in

Flight status

Alertme – flexible notifications Twitter REST service

IM services (MSN, Yahoo, etc.)

Email

Southwest Auto-checkin “workflow”

Other services: Airport code to timezone converter

Daylight savings time converter

Page 35: Mashups and Business Process Management in SOA

Southwest Auto-Checkin

southwestAutoCheckin

email

timezone

reservation

checkin

flight status

Page 36: Mashups and Business Process Management in SOA

Mashup Lessons

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

factors in choosing the right approach

Governance can be a challenge (even within

an organization)

Page 37: Mashups and Business Process Management in SOA

Questions?