"SOA en BPEL" Is Service Orchestratie een overdraagbare aandoening? Sandor Nieuwenhuijs.

35

Transcript of "SOA en BPEL" Is Service Orchestratie een overdraagbare aandoening? Sandor Nieuwenhuijs.

"SOA en BPEL" Is Service Orchestratie een

overdraagbare aandoening?

Sandor Nieuwenhuijs

No Application is an Island

ADF

Orchestration

Telco Activation Services

SMS Activation Manager

GPRS Activation Manager

China Roaming Activation Manager

Automatic Payment Approval

Service Not Available Exception

Billing Services

Credit Card Payment Services

Payment Services

New Plan SelectionUser Interface

Application Server

Application for the provisioning and activation of cell phone plans

Example: Modern Web Application

Java + JCA + JMS + EAI = “Not Enough”

?

Java Platform

Portal

ADF

Java Services (EJB)

Messaging Destinations (JMS)

User Tasks

Web Services (Sync and Async)

Legacy Applications (JCA, adapters)

Orchestration

Orchestration Today

Not enough metadata Not tool friendly

Proprietary flow languages Rare skill sets, consulting

Hard Wired/Code Rigid, difficult to change

Incompatible Infrastructures Difficult to manage and scale

SOASOAOracle IBM Microsoft BEA Tibco SAP SunOracle IBM Microsoft BEA Tibco SAP Sun

A Service…

<rate>5.6%

</rate>

XML

Network Centric

Metadata

GetCustomerInfoGetReportListProductsSearchCreditAccountProcessOrder

…Can Be Asynchronous

10:05 Receive Order10:10 Processing….

10:25 <risk>4</risk> WS-AddressingCorrelationCallback Location

PerformanceReliabilityBusiness Time

…Can Be Secured

<Patient>Disease A</Patient>

WS-Security, SAMLSignatureEncryptionRole and Access Control

…Can Offer Optimized Bindings

.NET, Axis Service

Java Service

DatabaseStored Procedures

RMI

HTTP

JDBC

BINDING

BINDING

ERPJCA

BINDING

INTERFACE

WSDL

?

BPEL, The Orchestrator

BPEL

IU

PORTAL

J2EE

TOMCAT

Web Service

Java Service

ERPSAP, Oracle, etc.

User Tasks

DatabaseStored Procedures

What is BPEL?

Duplicate Number!

SalesDB start

end

Router

Billing

Markup language for composing a set of discrete services into

an end-to-end process flow

• 10+ years of R&D from MSFT and IBM

• SOAP but also Java, JCA

• Rich Flow Semantics

• Optimized Bindings

• XPATH+XSLT+XQuery

• WS-Security

• A Process is a Service

BPEL by Example (1)

Example: Chaining

Start<receive>

Customer App

Support DB

Client

Client

GetAccount<invoke>

ListIncidents<invoke>

End<reply>

mapping

<sequence>

</sequence>

BPEL by Example (2)

Example: Asynchrony

Initiate<receive>

Computer Store

Client

Client

ProcessOrder<invoke>

OnOrderComplete<receive>

End<invoke>

….

BPEL by Example (3)

Example: Parallelism

Initiate<receive>

Partner APartner B

GetQuote<invoke>

GetQuote<invoke>

<flow>

End<invoke>

</flow>

BPEL by Example (4)

Example: Exception Management and Compensation

Start<receive>

Travel Service

Hotel Service

Client

Client

Release Flight<invoke>

Cancel Hotel<invoke>

End<reply>

Reserve Hotel<invoke>

Book Flight<invoke>

BPEL by Example (5)

Example: WSIF and Java Binding

RatingSessionBean

Start<receive>

GetRating<invoke>

End<reply>

RMI

BPEL by Example (6)

Example: A Process Is A Service

Initiate<receive>

ClientJavaWeb AppBPELC#

ProcessOrder<invoke>

OnOrderComplete<receive>

End<invoke>

….

The Buzz

Gartner believes that BPEL will emerge as the leading

industry standard for Web service orchestration

and coordination of business processes.

- David Smith, Research Vice President and fellow, Gartner ”

BPEL is the future of the integration space.

- John Rymer, Vice President, Forrester Research, Inc.

“ ”

BPEL Methodology

Expose Services Flow Exception

User Tasks

Unit Test

Perf TestAuditSensorsMonitor

Change

Transformation

The Top Down Perspective

Business Analyst

Integration Developer

Notation LayerBPMN or UML

Executable LayerXML, XQuery, BPEL, Rules

Service Developer

Business ServicesAdapters, Java, Struts, JSF

Existing Systems

MAINFRAMEPACKAGEDAPPLICATIONS

JAVADATABASE

Activity Activity Activity

assign invoke receive assign

Oracle BPEL Process Manager

For OracleAS, WebLogic, WebSphere and JBoss

Oracle BPEL Process Manager

For OracleAS, WebLogic, WebSphere and JBoss

Application Server

Oracle BPEL Process Manager

Database Mainframe Packaged Apps EJBsUser Tasks

BPEL PM• Orchestration• Transformation• Auditing

Service Adapters• WSIF/JCA Framework• 200+ Back Ends• Rich Metadata

Event Correlation, Analytics, Dashboards, Alerts BAM

Security, Management WS Gateway

BPEL Server

BPEL Designer

BPEL Console

XSLTMapper

Eclipse BPEL Designer

• Native BPEL Support

• Drag-and-drop process modeler

• UDDI and WSIL service browser

• Visual XSLT mapper

• Visual XPATH editor

• Visual Assign editor

• One-click build and deploy

KEY FEATURES

JDeveloper BPEL Designer

• Native BPEL Support

• Drag-and-drop process modeler

• UDDI and WSIL service browser

• Visual XSLT mapper

• Visual XPATH editor

• Visual Assign editor

• One-click build and deploy

KEY FEATURES

Preview

XSLT Mapper

• Drag-and-drop Interface

• Built-in Library of Functions

• Support for Lists and Iterations

• Auto-mapping

• Version Resiliency

KEY FEATURES

Preview

Service Adapters

• WSIF + JCA + XML

• Rich Metadata

• Requests and Events

• Optimized Bindings

• 200+ Systems

• Fail Over Management

KEY FEATURES

Preview

Workflow Service

• Routing

• Roles

• Attachments and Version Control

• Built-in Approval Patterns

• Simple Form Framework

• Email and Wireless Notification

• Built-in Worklist Application

KEY FEATURES

Preview

BPEL Server• Plug and Play

• Cross Platform

• Massively Scalable

BPEL Console

MA

NA

GE

J2EE Application Server(WebLogic, Oracle AS, JBoss, WebSphere)

Core BPEL Engine

WSDL Binding Built-in Integration Services

JCA

Web Service

JMS

Email

XQuery XSLTUser

Tasks Oracle DB

BPEL Process Manager

BPELJOracle Database

Database

BPEL

KEY FEATURES

Need for Performance

Dehydration Store(Oracle Database)

App. Server

App. Server

App. Server

Write-through Cache

LOA

D B

ALA

NC

ER

BPEL Server

BPEL Server

BPEL Server

BPEL-OptimizedSOAP Stack

Compact Binary DOM• Lazy Loading• Smart Partitioning• W3C DOM Interface• Support for Large

Documents

Support for large BPEL Processes (20,000+ activities)

Stateless Architecture• Clustering• Fail Over

Need for Scalability

• Scale on demand

• No code change

• Easy-to-manage

• Intel+Linux Friendly

KEY FEATURES

BPEL Console

• Visual Monitoring

• Auditing

• BPEL Debugging

• In-flight Instance Administration

• Performance Tuning

• Partitioning/Domains

KEY FEATURES

Service Adapters

.NET, Axis Web Services

Java, JCA Components

Database

200+ iWay Adapters

JMS Queue or Topic

Oracle eBusiness Suite

XML,WSIF,JCA

WSDL

WSDL

WSDL

WSDL

WSDL

WSDL

• 100% Standard

• Rich Metadata

• Requests and Events

• Optimized Bindings

• XSLT, Auto-Mapping

• 200+ Systems

• Fail Over Management

BPEL

FilesWSDL

KEY FEATURES

BAM Friendly

• Event Capture

• Correlation

• Metrics and KPI

• Real-time Dashboards

• Alerts

KEY FEATURES

ESA - Satellite Imaging Services

• The Challenge• Provision satellite-imaging services over the Internet• Data from over 30 geospatial partners and resources• Large data sets with complex schemas

• The Solution• Provision, chain, and deliver information via web services and

Oracle BPEL PM

• Why Oracle BPEL Process Manager• Native BPEL, 100% standards compliant

Performance NumbersOracle 9i

BPEL PMPentium 4, 2.8Ghz, 1GB RAM

BPEL PM

INPUT DOCUMENT

LOAD TOTAL PROCESSING TIME

DAILY THROUGHPUT

CPU USAGE

2KB 25x40 18s 4.80M

10KB 25x40 24s 3.60M

25KB 25x40 30s 2.88M

50KB 25x40 40s 2.16M

100KB 25x40 59s 1.83M

500KB 10x20 30s 0.58M

3MB 10x20 120s 0.15M

10MB 10x20 360s 0.05M

Numbers for the European Space Agency Order Processing BPEL Process