soa suite overview - oracle academy initiative 2009honim.typepad.com/files/soa.pdf · peter...

58

Upload: phamnhu

Post on 04-Mar-2018

219 views

Category:

Documents


2 download

TRANSCRIPT

Peter Oosterlynck - Oracle Belgium 2

SOA :SOA :SOA :SOA :Service Oriented ArchitecturesService Oriented ArchitecturesService Oriented ArchitecturesService Oriented ArchitecturesSOA :SOA :SOA :SOA :SOA :SOA :SOA :SOA :Service Oriented ArchitecturesService Oriented ArchitecturesService Oriented ArchitecturesService Oriented ArchitecturesService Oriented ArchitecturesService Oriented ArchitecturesService Oriented ArchitecturesService Oriented Architectures

Peter OosterlynckMaster Principal Sales ConsultantOracle Belgium

[email protected]

Peter Oosterlynck - Oracle Belgium 3

AgendaAgendaAgendaAgendaAgendaAgendaAgendaAgendaAgendaAgendaAgendaAgenda

� SOA defined

� Service Enablement, Adapter Framework

� Service Contract vs. Service Implemantation

� Routing and Transformation

� Services Orchestration

� SOA Governance

� Real-Time Visibilty

� BPM: Business Process Management

� (SCA: Service Component Architecture)

Peter Oosterlynck - Oracle Belgium 4

SOA : Service Oriented ArchitectureSOA : Service Oriented ArchitectureSOA : Service Oriented ArchitectureSOA : Service Oriented ArchitectureSOA : Service Oriented ArchitectureSOA : Service Oriented ArchitectureSOA : Service Oriented ArchitectureSOA : Service Oriented ArchitectureSOA : Service Oriented ArchitectureSOA : Service Oriented ArchitectureSOA : Service Oriented ArchitectureSOA : Service Oriented Architecture

� A method for …

� Systems development

� Systems integration

� … whereby functionality is …

� grouped around business processes

� packaged as interoperable services

� … aimed at …

� Increasing agility

� Improving total system quality

� Limiting IT TCO

“SOA is about turning

spaghetti into lasagna.“Gartner analyst Massimo Pezzini

“SOA is about turning

spaghetti into lasagna.“Gartner analyst Massimo Pezzini

Peter Oosterlynck - Oracle Belgium 5

BPM : BPM : BPM : BPM : Business Process ManagementBusiness Process ManagementBusiness Process ManagementBusiness Process ManagementBPM : BPM : BPM : BPM : BPM : BPM : BPM : BPM : Business Process ManagementBusiness Process ManagementBusiness Process ManagementBusiness Process ManagementBusiness Process ManagementBusiness Process ManagementBusiness Process ManagementBusiness Process Management

� "BPM is a management practice that provides for governance of a business's process environment toward the goal of improving agility and operational performance.

� BPM is a structured approach employing methods, policies, metrics, management practices and software tools to manage and continuously optimize an organization's activities and processes."

(Gartner)

Peter Oosterlynck - Oracle Belgium 6

SOA by example: Order Management SOA by example: Order Management SOA by example: Order Management SOA by example: Order Management ProjectProjectProjectProjectSOA by example: Order Management SOA by example: Order Management SOA by example: Order Management SOA by example: Order Management SOA by example: Order Management SOA by example: Order Management SOA by example: Order Management SOA by example: Order Management ProjectProjectProjectProjectProjectProjectProjectProject

Get Account

Information

Manage

New OrdersKey Processes

Business Process

Service Enablement

System Access (Adapters)

Customer Orders Portlet

Order Approval

Key Portlets

Portal

Account

InformationOrder Invoice Service

Get Order

iDoc

Issue Invoice

Service Enablement

System Access (Adapters)

Routing/

Transformation

Orchestration

“Granularity”

Aggregate Account

Information

LO

B C

EN

TR

IC IT

CE

NT

RIC

Service

Enablement

UI

Peter Oosterlynck - Oracle Belgium 7

Apps

AdaptersAdapters B2BB2B

PartnersDB Legacy

CONNECTIVITY

Routing Transform DataQuality

ETL &Replication

Data IntegratorData IntegratorOracle Service BusOracle Service Bus

SOA Agility

ROUTING & DATA SERVICES

NativeBPEL

Business Rules

Human Workflow

BPEL Process ManagerBPEL Process Manager

ORCHESTRATION

Coherence Cache

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

Messaging

GOVERNANCESystem

Monitoring

Enterprise Enterprise ManagerManager

UDDI

WS PoliciesSecurity

Web Services Web Services ManagerManager

RegistryRegistry

GOVERNANCE

SOA lifecyclegovernance

EnterpriseEnterpriseRepositoryRepository

JRockit VM & RT

REAL-TIMEVISIBILITY

& PROCESSING AlertsBusiness Monitoring

BAMBAM

EventsData Streams

CEPCEP

ApplicationDevelopmentFramework

EnterpriseModeling

BPA SuiteBPA Suite

JDeveloperJDeveloper

Business UserModeling

BPM SuiteBPM Suite

Oracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event Technologies

Peter Oosterlynck - Oracle Belgium 8

Apps

AdaptersAdapters B2BB2B

PartnersDB Legacy

CONNECTIVITY

Coherence Cache

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

Messaging JRockit VM & RT

The Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformEVENTS & CONNECTIVITYEVENTS & CONNECTIVITYEVENTS & CONNECTIVITYEVENTS & CONNECTIVITY

The Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformEVENTS & CONNECTIVITYEVENTS & CONNECTIVITYEVENTS & CONNECTIVITYEVENTS & CONNECTIVITYEVENTS & CONNECTIVITYEVENTS & CONNECTIVITYEVENTS & CONNECTIVITYEVENTS & CONNECTIVITY

Peter Oosterlynck - Oracle Belgium 9

Adapter FrameworkAdapter FrameworkAdapter FrameworkAdapter FrameworkAdapter FrameworkAdapter FrameworkAdapter FrameworkAdapter Framework

Providing Connectivity

Capturing Events

Peter Oosterlynck - Oracle Belgium 10

Adapter FrameworkAdapter FrameworkAdapter FrameworkAdapter FrameworkAdapter FrameworkAdapter FrameworkAdapter FrameworkAdapter Framework

Enterprise-strength infrastructure for connectivity to enterprise information systems (EIS).

J2EE Application Server

(Oracle Application Server & 3rd party

Application Servers) �

OracleAS Adapters

• Comprehensive and

pervasive

connectivity

• Support for SOA

/EDA

• Open Standards

Support

• Hot Pluggable

• Rapid development

• Robust & highly

scalable.

• Managed through

Oracle Application

Server 10g

Legacy Applications

Oracle Applications

Packaged Applications

BPEL PM

Technology

ESB

PORTAL

Adapter

Design-time

(JDeveloper)�

WSDL

JCA

Native

Interfaces

BAM

J2EE

Applications

Peter Oosterlynck - Oracle Belgium 11

A Service …A Service …A Service …A Service …A Service …A Service …A Service …A Service …A Service …A Service …A Service …A Service …

<rate>

5.6%

</rate>

Payload

XML

Network Centric

Self describing

WSDL

GetCustomerInfo

GetReport

ListProducts

Search

CreditAccount

ProcessOrder

•A ContractA ContractA ContractA Contract

•An implementationAn implementationAn implementationAn implementation

••A ContractA ContractA ContractA ContractA ContractA ContractA ContractA Contract

••An implementationAn implementationAn implementationAn implementationAn implementationAn implementationAn implementationAn implementation

Peter Oosterlynck - Oracle Belgium 12

<?xml version="1.0" encoding="UTF-8"?><definitions name="EmpDept"

xmlns="http://schemas.xmlsoap.org/wsdl/" … ><types><schema xmlns="http://www.w3.org/2001/XMLSchema" … ><element name="empno" type="int"/><element name="emp" type="tns:emp_t"/><complexType name="emp_t"><sequence><element name="empno" type="int"/><element name="ename" type="string"/>…

</sequence></complexType>

</schema></types>

The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”

Peter Oosterlynck - Oracle Belgium 13

The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”The WSDL “contract”

…<message name="getEmpRequestMessage"><part name="empno" element="tns:empno"/>

</message><message name="getEmpResponseMessage"><part name="payload" element="tns:emp"/>

</message><portType name="EmpDeptPortType"><operation name="getEmp"><input name="getEmpRequest"

message="tns:getEmpRequestMessage"/><output name="getEmpResponse"

message="tns:getEmpResponseMessage"/><fault … />

</operation></portType>

Peter Oosterlynck - Oracle Belgium 14

A Service …A Service …A Service …A Service …A Service …A Service …A Service …A Service …A Service …A Service …A Service …A Service …

.NET, Axis Service

Java Service

Database

Stored Procedures

RMI

HTTP

JDBC

BINDING

BINDING

ERPJCA

BINDING

INTERFACE

WSDL

… Should Offer … Should Offer … Should Offer … Should Offer OptimizedOptimizedOptimizedOptimized BindingsBindingsBindingsBindings… Should Offer … Should Offer … Should Offer … Should Offer … Should Offer … Should Offer … Should Offer … Should Offer OptimizedOptimizedOptimizedOptimizedOptimizedOptimizedOptimizedOptimized BindingsBindingsBindingsBindingsBindingsBindingsBindingsBindings

Peter Oosterlynck - Oracle Belgium 15

Service binding in the WSDLService binding in the WSDLService binding in the WSDLService binding in the WSDLService binding in the WSDLService binding in the WSDLService binding in the WSDLService binding in the WSDLService binding in the WSDLService binding in the WSDLService binding in the WSDLService binding in the WSDL…

<binding name="EmpDeptSOAPBinding"type="tns:EmpDeptPortType">

<soap:bindingstyle="document"transport="http://schemas.xmlsoap.org/soap/http"/>

<operation name="getEmp"><soap:operation style="document" soapAction="getEmp"/><input><soap:body use="literal"/>

</input><output><soap:body use="literal"/>

</output></operation>

</binding><service name="EmpDeptSOAPService"><port name="EmpDeptPort"

binding="tns:EmpDeptSOAPBinding"><soap:address location="http://some.soap.endpoint"/>

</port></service>

</definitions>

Peter Oosterlynck - Oracle Belgium 16

… but not only SOAP… but not only SOAP… but not only SOAP… but not only SOAP… but not only SOAP… but not only SOAP… but not only SOAP… but not only SOAP… but not only SOAP… but not only SOAP… but not only SOAP… but not only SOAP…<binding name="EmpDeptEJBBinding"

type="tns:EmpDeptPortType"><ejb:binding/><format:typeMapping encoding="Java" style="Java">…<operation name="getEmp"><ejb:operation methodName="getEmp"

parameterOrder="empno"interface="remote"returnPart="payload"/>

<input name="getEmpRequest"/><output name="getEmpResponse"/>

</operation></binding><service name="EmpDeptEJBService"><port name="EmpDeptPort" binding="tns:EmpDeptEJBBinding"><ejb:address className="p_oosterlynck.EmpDeptEJBHome"

jndiName="EmpDeptEJB"initialContextFactory="p_oosterlynck.naming.RMIContextFactory"

jndiProviderURL="ormi://poosterl-vm0:23792/EmpDeptEJB"/>

</port></service>

</definitions>

Peter Oosterlynck - Oracle Belgium 17

WSIF WSIF WSIF WSIF –––– Web Services Invocation FrameworkWeb Services Invocation FrameworkWeb Services Invocation FrameworkWeb Services Invocation FrameworkWSIF WSIF WSIF WSIF WSIF WSIF WSIF WSIF –––––––– Web Services Invocation FrameworkWeb Services Invocation FrameworkWeb Services Invocation FrameworkWeb Services Invocation FrameworkWeb Services Invocation FrameworkWeb Services Invocation FrameworkWeb Services Invocation FrameworkWeb Services Invocation Framework

� Java API/Library for invoking (Web) services

� … no matter how or where the services are provided

WSIF Framework

Java A

PI

EJB

Java

HTTP

SOAP

WS

IF P

rovid

ers

JCA

AQ

Database

JMS

File/FTP

factory.getService(<WSDL URL>…)

service.getPort(<port name>)

port.createOperation(<operation name>…)

operation.executeRequestResponseOperation(…)

getObjectPart(<partname>)

Peter Oosterlynck - Oracle Belgium 18

Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…

Databases� Oracle 8i and above

� IBM DB/2 UDB

� Informix

� Clarion

� Clipper

� Cloudscape

� DBASE

� Dialog

� Essbase

� FOCUS Data Access

� Great Plains

� Microsoft SQL Server

� MUMPS (Digital Standard MUMPS)

� Navision Financials (ODBC 3.x)

� Nucleus

� Paradox

� Pointbase

� PROGRESS

� Red Brick

� RMS

� SAS Transport Format

� Sybase

� Teradata

� Unisys DMS 1100/2200

� UniVerse

Applications� Oracle Applications

� SAP R/3

� Peoplesoft

� JD Edwards

� Siebel

� Clarify

� Lotus Notes

� Ariba

� AXIOM mx/open

� Baan

� BroadVision

� Clarify

� Commerce One

� Hogan Financials

� i2 Technologies

� Lawson

� Livelink

� Manugistics

� Microsoft CRM

� Vantive

� Walker Interactive

� Remedy

� Salesforce.com

Technology� SOAP

� HTTP, HTTP-S

� Email – POP3, SMTP, IMAP

� FTP, FTP-S

� Flat File

� LDAP

� JMS

� Oracle AQ

� IBM MQSeries

� TIBCO Rendezvous

� Socket

Legacy� CICS

� IMS/DB

� IMS/TM

� VSAM

� ADABAS

� Natural

� Tuxedo

� CA-Datacom

� Screen Scraping

� CA-IDMS

� C-ISAM,D-ISAM,K-SAM,

QSAM

Peter Oosterlynck - Oracle Belgium 19

Apps

AdaptersAdapters B2BB2B

PartnersDB Legacy

CONNECTIVITY

Routing Transform DataQuality

ETL &Replication

Data IntegratorData IntegratorOracle Service BusOracle Service Bus

SOA Agility

ROUTING & DATA SERVICES

Coherence Cache

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

Messaging JRockit VM & RT

The Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformEnterprise Service BusEnterprise Service BusEnterprise Service BusEnterprise Service BusThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformEnterprise Service BusEnterprise Service BusEnterprise Service BusEnterprise Service BusEnterprise Service BusEnterprise Service BusEnterprise Service BusEnterprise Service Bus

Peter Oosterlynck - Oracle Belgium 20

ESB: ESB: ESB: ESB: ESB: ESB: ESB: ESB: Enterprise Service BusEnterprise Service BusEnterprise Service BusEnterprise Service BusEnterprise Service BusEnterprise Service BusEnterprise Service BusEnterprise Service Bus

Decoupling Contract from Provider(s)K

Service Virtualisation

Peter Oosterlynck - Oracle Belgium 21

An ESB Moves DataAn ESB Moves DataAn ESB Moves DataAn ESB Moves DataAn ESB Moves DataAn ESB Moves DataAn ESB Moves DataAn ESB Moves Data

ConnectAdapters

Metadata

WS Manager

Security

Apps Events

ConnectConnectAdaptersAdapters

MetadataMetadata

WS ManagerWS Manager

SecuritySecurity

Apps EventsApps Events

EnrichTransformation

Value Mappings

Business Rules

Workflow

System Xref

EnrichEnrichTransformationTransformation

Value MappingsValue Mappings

Business RulesBusiness Rules

WorkflowWorkflow

System XrefSystem Xref

DistributeRouting

Protocol Bus

Messaging

Interoperability

HA, Scalability

DistributeDistributeRoutingRouting

Protocol BusProtocol Bus

MessagingMessaging

InteroperabilityInteroperability

HA, ScalabilityHA, Scalability

Monitoring and Configuration Monitoring and Configuration Monitoring and Configuration

Peter Oosterlynck - Oracle Belgium 22

Oracle ESB Oracle ESB Oracle ESB Oracle ESB Oracle ESB Oracle ESB Oracle ESB Oracle ESB –––––––– DiagrammerDiagrammerDiagrammerDiagrammerDiagrammerDiagrammerDiagrammerDiagrammer

Peter Oosterlynck - Oracle Belgium 23

Routing ServicesRouting ServicesRouting ServicesRouting ServicesRouting ServicesRouting ServicesRouting ServicesRouting ServicesRouting ServicesRouting ServicesRouting ServicesRouting Services

Peter Oosterlynck - Oracle Belgium 24

XPath Expression BuilderXPath Expression BuilderXPath Expression BuilderXPath Expression BuilderXPath Expression BuilderXPath Expression BuilderXPath Expression BuilderXPath Expression Builder

Peter Oosterlynck - Oracle Belgium 25

Routing ServicesRouting ServicesRouting ServicesRouting ServicesRouting ServicesRouting ServicesRouting ServicesRouting ServicesRouting ServicesRouting ServicesRouting ServicesRouting Services

Peter Oosterlynck - Oracle Belgium 26

XSLT MapperXSLT MapperXSLT MapperXSLT MapperXSLT MapperXSLT MapperXSLT MapperXSLT Mapper

• Visual XSLT Mapping tool

• Caching and Configurable Validation

• Unit Debugger

• DVM/Code Conversions/Lookups

• Dictionaries - “Smart” mapping

• BPEL, ESB, PeopleSoft Tools

JDev XSLT Mapper

Peter Oosterlynck - Oracle Belgium 27

Apps

AdaptersAdapters B2BB2B

PartnersDB Legacy

CONNECTIVITY

Routing Transform DataQuality

ETL &Replication

Data IntegratorData IntegratorOracle Service BusOracle Service Bus

SOA Agility

ROUTING & DATA SERVICES

NativeBPEL

Business Rules

Human Workflow

BPEL Process ManagerBPEL Process Manager

ORCHESTRATION

Coherence Cache

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

Messaging JRockit VM & RT

The Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformBPEL Process ManagerBPEL Process ManagerBPEL Process ManagerBPEL Process ManagerThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformBPEL Process ManagerBPEL Process ManagerBPEL Process ManagerBPEL Process ManagerBPEL Process ManagerBPEL Process ManagerBPEL Process ManagerBPEL Process Manager

Peter Oosterlynck - Oracle Belgium 28

BPEL Process ManagerBPEL Process ManagerBPEL Process ManagerBPEL Process ManagerBPEL Process ManagerBPEL Process ManagerBPEL Process ManagerBPEL Process Manager

Services Orchestration

Peter Oosterlynck - Oracle Belgium 29

What is BPEL?What is BPEL?What is BPEL?What is BPEL?What is BPEL?What is BPEL?What is BPEL?What is BPEL?

SalesDB start

end

Router

Billing

Business Process Execution Language

Standardized markup language for composing a set of discrete services

into an end-to-end process flow

• Coordinate process flow (parallel,

switch, while, …)�

• Invoke (Web) services

• Expose a process flow as a Web

service

• Expose asynchronous services and

Receive asynchronous callbacks

• Copy and manipulate XML

Documents using XPATH, XSLT, …

• Manage events and exceptions

• Define compensation handlers

• Bind to SOAP but also JMS, JCA, …

Peter Oosterlynck - Oracle Belgium 30

BPELBPELBPELBPELBPELBPELBPELBPEL

A first glance at the BPEL Source code

Peter Oosterlynck - Oracle Belgium 31

A first glance at the A first glance at the A first glance at the A first glance at the A first glance at the A first glance at the A first glance at the A first glance at the BPEL Source codeBPEL Source codeBPEL Source codeBPEL Source codeBPEL Source codeBPEL Source codeBPEL Source codeBPEL Source code

Peter Oosterlynck - Oracle Belgium 32

A first glance at the A first glance at the A first glance at the A first glance at the A first glance at the A first glance at the A first glance at the A first glance at the BPEL Source codeBPEL Source codeBPEL Source codeBPEL Source codeBPEL Source codeBPEL Source codeBPEL Source codeBPEL Source code

Peter Oosterlynck - Oracle Belgium 33

Select Lowest Price

10:00am

Handle Negative

Credit Exception

Credit Service

start

end

BPEL Flow

?

Rapid Distributors SelectManufacturers

Get Rating

Send Order Info

Receive Price

03:00pm

Send Order Info

Receive Price

BPEL by ExampleBPEL by ExampleBPEL by ExampleBPEL by ExampleBPEL by ExampleBPEL by ExampleBPEL by ExampleBPEL by ExampleBPEL by ExampleBPEL by ExampleBPEL by ExampleBPEL by Example

BPEL Flow<process>

</process>

<switch>

<faultHandlers>

<receive>

<invoke>

<invoke><flow>

</flow>

<partnerLink>

<partnerLink> <partnerLink>

Peter Oosterlynck - Oracle Belgium 34

Oracle BPEL Process ManagerOracle BPEL Process ManagerOracle BPEL Process ManagerOracle BPEL Process ManagerOracle BPEL Process ManagerOracle BPEL Process ManagerOracle BPEL Process ManagerOracle BPEL Process ManagerOracle BPEL Process ManagerOracle BPEL Process ManagerOracle BPEL Process ManagerOracle BPEL Process Manager

BPEL Process Manager

Simplifying integration and delivering repeatable, 100% portable processes.

• Comprehensive and native

BPEL implementation

• Easy-to-use modeling tool

• Scalable and reliable engine

• Flexible binding framework

• Rich management and

monitoring

• App Server neutral

• Get up and running in less

than 15 minutes!

BPEL ConsoleMANAGE

Oracle Database

DEHYDRATE

Oracle DB

Eclipse, JDeveloper

BPEL Designer

BPEL

WSDL Binding

JCA

Web Service

JMS

Email

Built-in Integration Services

XPath XSLT User

TasksBPELJ

Core BPEL Engine

J2EE Application Server

(WebLogic, Oracle AS, JBoss, WebSphere)

Peter Oosterlynck - Oracle Belgium 35

Core BPEL EngineCore BPEL EngineCore BPEL EngineCore BPEL EngineCore BPEL EngineCore BPEL EngineCore BPEL EngineCore BPEL EngineCore BPEL EngineCore BPEL EngineCore BPEL EngineCore BPEL Engine

BPEL Process Manager

Enterprise-strength infrastructure for deploying, executing and managing BPEL business processes.

• Comprehensive and native

BPEL 1.1 implementation

• Sync and async messaging

• Side-by-side versioning

• App Server neutral

• Context dehydration

Core BPEL Engine

J2EE Application Server

(WebLogic, Oracle AS, JBoss, WebSphere)

BPEL ConsoleMANAGE

Database

DEHYDRATE

Oracle DB

Eclipse, JDeveloper

BPEL Designer

BPEL

WSDL Binding

JCA

Web Service

JMS

Email

Built-in Integration Services

XPath XSLT User

TasksBPELJ

Peter Oosterlynck - Oracle Belgium 36

Extensible Binding Framework Extensible Binding Framework Extensible Binding Framework Extensible Binding Framework (WSIF)(WSIF)(WSIF)(WSIF)Extensible Binding Framework Extensible Binding Framework Extensible Binding Framework Extensible Binding Framework Extensible Binding Framework Extensible Binding Framework Extensible Binding Framework Extensible Binding Framework (WSIF)(WSIF)(WSIF)(WSIF)(WSIF)(WSIF)(WSIF)(WSIF)

BPEL Process Manager

Integrate SOAP Web services but also EJB, JCA, JMS, POJO, … components

• Define custom WSDL bindings

• Implement custom WSIF

providers (custom data format,

custom protocols)

• Leverage JCA Adapters

• Oracle, SAP, Toplink, JMS,

FTP, …

• iWay, Atunity, Pervasive, …

Core BPEL Engine

J2EE Application Server

(WebLogic, Oracle AS, JBoss, WebSphere)

BPEL ConsoleMANAGE

Oracle Database

DEHYDRATE

Oracle DB

Eclipse, JDeveloper

BPEL Designer

BPEL

WSDL Binding

JCA

Web Service

JMS

Email

Built-in Integration Services

XPath XSLT User

TasksBPELJ

Peter Oosterlynck - Oracle Belgium 37

Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Some of the Adapters Available for Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…Oracle SOA Suite…

Databases� Oracle 8i and above

� IBM DB/2 UDB

� Informix

� Clarion

� Clipper

� Cloudscape

� DBASE

� Dialog

� Essbase

� FOCUS Data Access

� Great Plains

� Microsoft SQL Server

� MUMPS (Digital Standard MUMPS)

� Navision Financials (ODBC 3.x)

� Nucleus

� Paradox

� Pointbase

� PROGRESS

� Red Brick

� RMS

� SAS Transport Format

� Sybase

� Teradata

� Unisys DMS 1100/2200

� UniVerse

Applications� Oracle Applications

� SAP R/3

� Peoplesoft

� JD Edwards

� Siebel

� Clarify

� Lotus Notes

� Ariba

� AXIOM mx/open

� Baan

� BroadVision

� Clarify

� Commerce One

� Hogan Financials

� i2 Technologies

� Lawson

� Livelink

� Manugistics

� Microsoft CRM

� Vantive

� Walker Interactive

� Remedy

� Salesforce.com

Technology� SOAP

� HTTP, HTTP-S

� Email – POP3, SMTP, IMAP

� FTP, FTP-S

� Flat File

� LDAP

� JMS

� Oracle AQ

� IBM MQSeries

� TIBCO Rendezvous

� Socket

Legacy� CICS

� IMS/DB

� IMS/TM

� VSAM

� ADABAS

� Natural

� Tuxedo

� CA-Datacom

� Screen Scraping

� CA-IDMS

� C-ISAM,D-ISAM,K-SAM,

QSAM

Peter Oosterlynck - Oracle Belgium 38

BuiltBuiltBuiltBuilt----in Integration Servicesin Integration Servicesin Integration Servicesin Integration ServicesBuiltBuiltBuiltBuiltBuiltBuiltBuiltBuilt--------in Integration Servicesin Integration Servicesin Integration Servicesin Integration Servicesin Integration Servicesin Integration Servicesin Integration Servicesin Integration Services

BPEL Process Manager

Common building blocks needed to design sophisticated BPEL business processes

• XSLT, Xpath, …

transformation and query

services

• Java integration/In-lining

• User task/workflow manager

Core BPEL Engine

J2EE Application Server

(WebLogic, Oracle AS, JBoss, WebSphere)

BPEL ConsoleMANAGE

Oracle Database

DEHYDRATE

Oracle DB

Eclipse, JDeveloper

BPEL Designer

BPEL

WSDL Binding

JCA

Web Service

JMS

Email

Built-in Integration Services

XPath XSLT User

TasksBPELJ

Peter Oosterlynck - Oracle Belgium 39

Workflow as a ServiceWorkflow as a ServiceWorkflow as a ServiceWorkflow as a ServiceWorkflow as a ServiceWorkflow as a ServiceWorkflow as a ServiceWorkflow as a ServiceWorkflow as a ServiceWorkflow as a ServiceWorkflow as a ServiceWorkflow as a Service

Worklist

Assign Task

TaskComplete

Workflow Service

(1) assign tasks to a user/role

(2) wait for task completion as part of an end to end process flow

Update

Task

BPEL

Process

WSDL Contract

Peter Oosterlynck - Oracle Belgium 40

Human Workflow Features Human Workflow Features Human Workflow Features Human Workflow Features Human Workflow Features Human Workflow Features Human Workflow Features Human Workflow Features Human Workflow Features Human Workflow Features Human Workflow Features Human Workflow Features

Task assignment to

Users, roles, groups

Task routing –

various flow patterns and

assignment rules

Notification to users/groups -

Email, Voice, Pager, SMS …Escalation and

Delegation rules

Task History and Audit,

Productivity Reports

Customizable Worklist,

Task forms, attachments

Peter Oosterlynck - Oracle Belgium 41

User Task/Workflow ManagerUser Task/Workflow ManagerUser Task/Workflow ManagerUser Task/Workflow ManagerUser Task/Workflow ManagerUser Task/Workflow ManagerUser Task/Workflow ManagerUser Task/Workflow ManagerUser Task/Workflow ManagerUser Task/Workflow ManagerUser Task/Workflow ManagerUser Task/Workflow Manager

Peter Oosterlynck - Oracle Belgium 42

Designer EditorsDesigner EditorsDesigner EditorsDesigner EditorsDesigner EditorsDesigner EditorsDesigner EditorsDesigner Editors

Peter Oosterlynck - Oracle Belgium 43

Apps

AdaptersAdapters B2BB2B

PartnersDB Legacy

CONNECTIVITY

Routing Transform DataQuality

ETL &Replication

Data IntegratorData IntegratorOracle Service BusOracle Service Bus

SOA Agility

ROUTING & DATA SERVICES

NativeBPEL

Business Rules

Human Workflow

BPEL Process ManagerBPEL Process Manager

ORCHESTRATION

Coherence Cache

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

Messaging

GOVERNANCESystem

Monitoring

Enterprise Enterprise ManagerManager

UDDI

WS PoliciesSecurity

Web Services Web Services ManagerManager

RegistryRegistry

GOVERNANCE

SOA lifecyclegovernance

EnterpriseEnterpriseRepositoryRepository

JRockit VM & RT

Oracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event TechnologiesOracle SOA and Event Technologies

Peter Oosterlynck - Oracle Belgium 44

Governance : Some definitionsGovernance : Some definitionsGovernance : Some definitionsGovernance : Some definitionsGovernance : Some definitionsGovernance : Some definitionsGovernance : Some definitionsGovernance : Some definitionsGovernance : Some definitionsGovernance : Some definitionsGovernance : Some definitionsGovernance : Some definitions

� Governance

� Latin origins: suggest the notion of “steering” as opposed to the traditional "top-down" approach of "driving" a society or an organization.

� “a decision process that defines expectations, grants power, or verifies performance.”

� “… develops and manages consistent, cohesive policies, processes and decision-rights for a given area of responsibility.”

� Corporate Governance

� “the set of processes, customs, policies, laws and institutions affecting the way in which a corporation is directed, administered or controlled.”

� SOA Governance

� “… is a concept used for activities related to exercising control over services in a SOA”

Source wikipedia

Peter Oosterlynck - Oracle Belgium 45

SOA GovernanceSOA GovernanceSOA GovernanceSOA GovernanceSOA GovernanceSOA GovernanceSOA GovernanceSOA GovernanceSOA GovernanceSOA GovernanceSOA GovernanceSOA Governance

� No one single nicely confined definition.

� In essence: “a framework that blends the flexibility of SOA with the control and predictability of a traditional IT architecture”*

� Usually includes:

� Lifecycle management

� Policy management

� Contract management

� Metadata management

� No one single solution

� Need for a suite of integrated tools.

* Source SOA World Magazine

Peter Oosterlynck - Oracle Belgium 46

Apps

AdaptersAdapters B2BB2B

PartnersDB Legacy

CONNECTIVITY

Routing Transform DataQuality

ETL &Replication

Data IntegratorData IntegratorOracle Service BusOracle Service Bus

SOA Agility

ROUTING & DATA SERVICES

NativeBPEL

Business Rules

Human Workflow

BPEL Process ManagerBPEL Process Manager

ORCHESTRATION

Coherence Cache

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

Messaging

GOVERNANCESystem

Monitoring

Enterprise Enterprise ManagerManager

UDDI

WS PoliciesSecurity

Web Services Web Services ManagerManager

RegistryRegistry

GOVERNANCE

SOA lifecyclegovernance

EnterpriseEnterpriseRepositoryRepository

JRockit VM & RT

REAL-TIMEVISIBILITY

& PROCESSING AlertsBusiness Monitoring

BAMBAM

EventsData Streams

CEPCEP

The Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformREALREALREALREAL----TIME VISIBILITY & PROCESSINGTIME VISIBILITY & PROCESSINGTIME VISIBILITY & PROCESSINGTIME VISIBILITY & PROCESSINGThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformREALREALREALREALREALREALREALREAL--------TIME VISIBILITY & PROCESSINGTIME VISIBILITY & PROCESSINGTIME VISIBILITY & PROCESSINGTIME VISIBILITY & PROCESSINGTIME VISIBILITY & PROCESSINGTIME VISIBILITY & PROCESSINGTIME VISIBILITY & PROCESSINGTIME VISIBILITY & PROCESSING

Peter Oosterlynck - Oracle Belgium 47

Apps

AdaptersAdapters B2BB2B

PartnersDB Legacy

CONNECTIVITY

Routing Transform DataQuality

ETL &Replication

Data IntegratorData IntegratorOracle Service BusOracle Service Bus

SOA Agility

ROUTING & DATA SERVICES

NativeBPEL

Business Rules

Human Workflow

BPEL Process ManagerBPEL Process Manager

ORCHESTRATION

Coherence Cache

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

Messaging

GOVERNANCESystem

Monitoring

Enterprise Enterprise ManagerManager

UDDI

WS PoliciesSecurity

Web Services Web Services ManagerManager

RegistryRegistry

GOVERNANCE

SOA lifecyclegovernance

EnterpriseEnterpriseRepositoryRepository

JRockit VM & RT

REAL-TIMEVISIBILITY

& PROCESSING AlertsBusiness Monitoring

BAMBAM

EventsData Streams

CEPCEP

ApplicationDevelopmentFramework

EnterpriseModeling

BPA SuiteBPA Suite

JDeveloperJDeveloper

Business UserModeling

BPM SuiteBPM Suite

The Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA Platform

Peter Oosterlynck - Oracle Belgium 48

Apps

AdaptersAdapters B2BB2B

PartnersDB Legacy

CONNECTIVITY

Routing Transform Data

Quality

ETL &Replication

Data IntegratorData IntegratorOracle Service BusOracle Service Bus

Mediation

ROUTING & DATA SERVICES

Native

BPEL

Business

Rules

Human

Workflow

BPEL Process ManagerBPEL Process Manager

ORCHESTRATION

Coherence Cache

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

Messaging

GOVERNANCESystem

Monitoring

Enterprise Enterprise ManagerManager

UDDI

WS PoliciesSecurity

Web Web Services Services ManagerManager

RegistryRegistry

GOVERNANCE

SOA lifecyclegovernance

EnterpriseEnterpriseRepositoryRepository

JRockit VM & RT

REAL-TIMEVISIBILITY

& PROCESSING AlertsBusiness Monitoring

BAMBAM

Events

Data Streams

CEPCEP

ApplicationDevelopment

Framework

Enterprise

Modeling

BPA SuiteBPA Suite

JDeveloperJDeveloper

Business User

Modeling

BPM SuiteBPM Suite

The Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformThe Oracle SOA PlatformModeling and DevelopmentModeling and DevelopmentModeling and DevelopmentModeling and DevelopmentModeling and DevelopmentModeling and DevelopmentModeling and DevelopmentModeling and Development

Peter Oosterlynck - Oracle Belgium 49

The BPM LifecycleThe BPM LifecycleThe BPM LifecycleThe BPM LifecycleThe BPM LifecycleThe BPM LifecycleThe BPM LifecycleThe BPM Lifecycle

BPM is about

� Process Modeling, Execution and Management

� Continuous Process Improvement

� Business and IT working together to achieve business objectives

� Making IT more responsive to changing business needs and conditions

BPM is about

� Process Modeling, Execution and Management

� Continuous Process Improvement

� Business and IT working together to achieve business objectives

� Making IT more responsive to changing business needs and conditions

Model

Simulate

Implement

Deploy

Execute

Monitor

Optimize

BPM

Lifecycle

Business Process

Analysis (BPA) ‏

Peter Oosterlynck - Oracle Belgium 50

Organization BPM

Entry Model

Business Process Modeling & AnalysisBusiness Process Modeling & AnalysisBusiness Process Modeling & AnalysisBusiness Process Modeling & AnalysisBusiness Process Modeling & AnalysisBusiness Process Modeling & AnalysisBusiness Process Modeling & AnalysisBusiness Process Modeling & Analysis

Organization

Processes

Overview

Service-Oriented

Process Model

Process Simulation

Peter Oosterlynck - Oracle Belgium 51

Business Process Modeling (contd..)Business Process Modeling (contd..)Business Process Modeling (contd..)Business Process Modeling (contd..)ABusiness Process Modeling (contd..)Business Process Modeling (contd..)Business Process Modeling (contd..)Business Process Modeling (contd..)A

Detailed Business Process Modeled with Oracle BPA Method

Peter Oosterlynck - Oracle Belgium 52

Technical

Modeling

Oracle Process Designer (BPEL)‏

Business

Modeling

Oracle BPA Suite (EPC, BPMN)‏

Conceptual Model

Executable

Model

Logical

Design

Metadata

Model

Shared

Metadata

Key Underpinnings of our Integration Key Underpinnings of our Integration Key Underpinnings of our Integration Key Underpinnings of our Integration Key Underpinnings of our Integration Key Underpinnings of our Integration Key Underpinnings of our Integration Key Underpinnings of our Integration Approach Business and Technical Modeling AlignmentApproach Business and Technical Modeling AlignmentApproach Business and Technical Modeling AlignmentApproach Business and Technical Modeling AlignmentApproach Business and Technical Modeling AlignmentApproach Business and Technical Modeling AlignmentApproach Business and Technical Modeling AlignmentApproach Business and Technical Modeling Alignment

Peter Oosterlynck - Oracle Belgium 53

What is SCA?What is SCA?What is SCA?What is SCA?What is SCA?What is SCA?What is SCA?What is SCA?

� Service Component Architecture:

� language-neutral

�component model

�assembly model

� Specifications backed by a growing number of leading industry vendors

SCA terminology:

� Composite: deployment unit

� Service: entry-point into composite

� Component: provides logic

� Reference: refers to external services

� Wire: connects services, components and references – no special semantic.

C1

C2

wire

component

composite

service

reference

S

R

S S

R

R

properties

Java interface

WSDL portType

Binding:

SOAP

JMS

JCS

Peter Oosterlynck - Oracle Belgium 54

SOA CompositeSOA CompositeSOA CompositeSOA CompositeSOA CompositeSOA CompositeSOA CompositeSOA Composite

� SOA composite is a standards-based deployment unit

� Leverages the SCA assembly model

� Can mix variety of components: ESB routing (Mediator), BPEL, Human Workflow, etc.

Mediator

BPEL

wire

SOA composite

service reference

S S

R

R

properties

BPEL

WS

WS

WSR

S

S

R

R

R

� Unit testingof composites (wires, components)‏

� Side-by-side versioningof composites

� JSR-88 deployment plansfor composites

Peter Oosterlynck - Oracle Belgium 55

11g SCA Composite Editor11g SCA Composite Editor11g SCA Composite Editor11g SCA Composite Editor11g SCA Composite Editor11g SCA Composite Editor11g SCA Composite Editor11g SCA Composite Editor

SCA Composite Editor

Mediation

BPEL orchestration

Business Rules

Human Tasks

Web servicesand adapters

Mediation

Peter Oosterlynck - Oracle Belgium 56

SDOADF BC

Service Oriented ArchitectureService Oriented ArchitectureService Oriented ArchitectureService Oriented ArchitectureService Oriented ArchitectureService Oriented ArchitectureService Oriented ArchitectureService Oriented ArchitectureComposite ApplicationsComposite ApplicationsComposite ApplicationsComposite ApplicationsComposite ApplicationsComposite ApplicationsComposite ApplicationsComposite Applications

OptimizedService & Eventing

Infrastructure

Service Infrastructure

Policy Manager

Policy Management

JCAETLB2B

Common Connectivity Infrastructure

…SOAP

Pluggable Service Engines

Rules BPELHuman

Task

SCA Composite

SOA Composite Editor

BPEL

HumanTask

RulesMediation

BPEL orchestration

Business Rules

Human Tasks

Web services

and adapters

Mediation

Peter Oosterlynck - Oracle Belgium 57

Q&AQ&AQ&AQ&AQ&AQ&AQ&AQ&A