34
<Insert Picture Here> Oracle Enterprise Service Bus: The Foundation for Service-Oriented Architecture Demed L’Her, Sr. Principal Product Manager, Oracle Integration Dave Berry, Sr. Manager, Oracle Integration

Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

  • Upload
    others

  • View
    31

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

<Insert Picture Here>

Oracle Enterprise Service Bus: The Foundation for Service-Oriented ArchitectureDemed L’Her, Sr. Principal Product Manager, Oracle IntegrationDave Berry, Sr. Manager, Oracle Integration

Page 2: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

<Insert Picture Here>

Program

• The Oracle SOA Suite• Enterprise Service Bus: Foundation for SOA• ESB Usage Patterns• Features & Characteristics• Conclusion

Page 3: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Oracle Fusion Middleware

Page 4: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Apps Legacy

AdaptersAdapters

Partners

B2BB2B

RFID

SESSES

DB

EVENTS & CONNECTIVITY

Multi Protocol

RoutingXSLTTransform

Enterprise Service BusEnterprise Service Bus

NativeBPEL

Business Rules

Human Workflow

BPEL Process ManagerBPEL Process Manager

ROUTING & ORCHESTRATION

The Oracle SOA Platform

J2EE Application ServerOracle AS, JBoss, WebLogic, WebSphere

Messaging

UDDI

Policies

Security

Web Services Web Services ManagerManager

RegistryRegistry

GOVERNANCEEvents AnalyticsBusiness

MonitoringSystem

Monitoring

Enterprise Enterprise ManagerManager

BAMBAM BIBIMANAGEMENT

&MONITORING

App DevFramework

JDeveloperJDeveloper

Analyst Tools

BPA SuiteBPA Suite

Page 5: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

<Insert Picture Here>

Program

• The Oracle SOA Suite • Enterprise Service Bus: Foundation for SOA• ESB Usage Patterns• Features & Characteristics• Conclusion

Page 6: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Oracle Enterprise Service Bus:Objectives

• No Coding Required

• Put proprietary technologies at the edges of SOA

• Abstract IT resources as services

Achieve “Separation of Concerns”

Between IT and Business

Page 7: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

How IT events can negatively impact business processes

DB

SAP

jdbc :oracle :thin :

saturn:1521:orcl

Host:10.10.10.10

Port:2320

BPM

Loan

app

rova

l pro

cess

jdbc :oracle :thin :

mars :1521:orcl

Host:10.10.10.10

Port:2320

BPM

Loan

app

rova

l pro

cess

DB

SAP

���� Business processneeds revision!

Database moves

Page 8: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

AuditDB

jdbc :oracle :thin :

jupiter:1523:audit

Audit DB added

Achieving Separation of Concerns

ESB

DB

SAP

jdbc :oracle :thin :saturn:1521:orcl

Host:10.10.10.10Port:2320

BPM

Loan

app

rova

l pro

cess

���� Business processremains unchanged

Cre

ateC

usto

mer

.wsd

l

ESB

DB

SAP

jdbc :oracle :thin :mars :1521:orcl

Host:10.10.10.10Port:2320

BPM

Loan

app

rova

l pro

cess

Cre

ateC

usto

mer

.wsd

l

Database moves

Page 9: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Oracle Enterprise Service Bus: The Foundation for SOA

ESB is a multi-protocol fabric to separate integrat ionconcerns from applications and business logic

How is this achieved?

1. Virtualize Endpoints: From resources to services

2. Transform: Convert data to target formats3. Route: Reliably transport and route data over a variety of protocols

Expose everything as web services

1. Standards-based: XPath, XSLT, SOAP, JMS, JCA, …

2. Hot-pluggable: J2EE, JMS, Database, …

Page 10: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Virtualize Endpoints: Connecting to Target Systems

1. Web Services: PeopleSoft, Amazon, …2. Applications: e-Business Suite, SAP, …3. Legacy: CICS, Tuxedo, …4. Technologies: database, file, JMS, …

Non-WS Connectivity through Adapters

• Standard JCA 1.5• Transactional (whenever possible)• Sync, Async, bi-directional• Wizards-driven, graphical introspection of target systems

Adapters Bundled with ESBAQ, MQ, RDBMS, File, FTP, JMS, MQ, Oracle Applications… and 300+ more available via OEM (iWay, Attunity)!

Page 11: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Virtualize Endpoints: Web-service enablement of existing resources

CRM

Host:10.10.10.10, Port:2320

[proprietary protocol] Nat

ive

AP

I

Nat

ive

AP

I

Service Consumer

CreateCustomer.wsdl

ESB

CRM

Host:10.10.10.10Port:2320

Nat

ive

AP

I

Nat

ive

AP

I

JCA AdapterService

Consumer[proprietaryprotocol]

[SOAP]

� Service consumers no longer need to talk proprietary protocols

Page 12: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Virtualize Endpoints: Introspecting Target Systems

JMS ����

DB

e-Business Suite

Page 13: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

TransformConvert data as it flows through the bus

• Canonical or point-to-pointtransformations

• Standard XSLT for expressing transformations

• Drag-and-drop graphical mapping tool

• “Smart” mapping tool , dictionary-based

• Domain-Value Maps for fast, static, in-memory lookups

Page 14: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

RouteReliably transport and route data over a variety of protocols

Reliable messaging and guaranteed delivery are key in highly-distributed, asynchronous, “fire-and-forget” SOA where senders do not wait for a response.

• Internally: uses JMS for asynchronous flows

• On the edges: wide support of transportsSOAP, JMS, legacy messaging

• Hot-pluggable transport: 3rd Party JMS, DB, J2EE…

Page 15: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Route: Taking Decisions

• Content-based:if total_price > 500, route to FedEx

• Header-based:if message_type = order, route to fulfillment

• Standard XPath to define routing expressions

• Graphical expression builder

• Routing rules can be altered at runtime

Page 16: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Expose Everything As A Web-Service

• By default, any ESB service is exposed as a web service (WSDL auto-generated)

• Each step of an ESB flow is a potential entry point

• Each web-service can be secured

Page 17: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

<Insert Picture Here>

Program

• The Oracle SOA Suite • Enterprise Service Bus: Foundation for SOA• ESB Usage Patterns• Features & Characteristics• Conclusion

Page 18: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Usage Patterns: simple synchronous request/reply flow

Basic RPC mechanism

requestor

GetCustomer.wsdl

Page 19: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Usage Patterns: non-deterministic synchronous request/reply flow

• Consumer does not explicitly know the service provider

• Service provider selection based on message content/header

requestor

GetCustomer.wsdl

Page 20: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Usage Patterns: simple 1-way asynchronous flow

• The simplest but also the most typical ESB pattern• “Fire-and-forget”

eventCreateCustomer.wsdl

Page 21: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Usage Patterns: fan-out 1-way asynchronous flow

• 1 event triggers multiple parallel operations• All outbound operations can be grouped in one or more

transactions

eventCreateCustomer.wsdl

11

22Customer details arelogged in the auditdatabase

An event is placed onthe bus to notify of a new customer. Payloadis customer details.

22Customer details are enqueued onJMS to the CRM

22Customer details are enqueued onMQ to the mainframe

Page 22: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Usage Patterns: Response-forwarding

eventShipOrder.wsdl

11

22

33

Get customer addressfrom database

Combine order detailsand customer detailsto prepare shipping

Can be used for• Routing based on lookup • Asynchronous “request/reply”

An event is placed onthe bus to indicate anorder is ready for shipment.Payload consists of order details and customer ID.

Page 23: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Usage Patterns: Canonical Data Model

CRM

• All messages on the bus are converted to a common data model→ Reduces the overall number of maps to generate→ Respective application owners only need to know about 2 data

models: their own one + the canonical one.

ERP

Billing Shipping

COMMON DATA MODEL(Customer Object)

CRM ERP

Billing Shipping

Page 24: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

<Insert Picture Here>

Program

• The Oracle SOA Suite • Enterprise Service Bus: Foundation for SOA• ESB Usage Patterns• Features & Characteristics• Conclusion

Page 25: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

ESB Control Overview

Routing Services

Transformation

Filter Expression

JMS Adapter

DB Adapter

FlowInstances

Overview Navigator BPEL Process

Manage& Search

FlexibleError Retry

Page 26: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

ESB Designer Overview

Routing Services Transformation

Filters

File Adapter

JMSAdapter

DBAdapter

JDev Application

Component Palette

Metadata• WSDL• XSD• XSL

JDev Project

AdapterServices

Operation

Page 27: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

ESB Control(monitoring)

JDeveloper(design)

monitorexportimportupdaterouting

3-Tiered Architecture

UI Tier

Middle Tier

Data Tier

JDBC JDBC

MDS

Artifacts

XSD, XSLTWSDL, Maps

Relational

Service MD,Routing Rules,

Instances, Errors

JMS

MetadataServer

J2EE

RuntimeServers

J2EE

Page 28: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Transactions & Exceptions Handling

Submitter is in charge:

• Persists messages

• Resubmit

SYNCHRONOUS FLOW ASYNCHRONOUS FLOW

ESB is in charge:

• Persists messages

• Retries, resubmit

End-to-end transaction/XA support via JTA

Ability to set transaction boundaries

Built-in “error hospital” to persist and resubmit failed messages

Page 29: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Standards

• VirtualizeXML, XSD, JCA, WSDL, WSIF, WSIL, JNDI, JDBC

• TransformXML, XSD, XSLT, PL/SQL

• RouteXPath, JMS, SOAP, HTTP, JDBC, XA, JTA

Standards Drive Hot Pluggability

Page 30: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Security

Main security challenges in distributed environments

• Islands of security lead to security gaps• No end-to-end visibility• Developers are not necessarily security experts• Modifying policies is extremely complex

ESB leverages the Oracle SOA infrastructure for security

� J2EE Container (OC4J) at service level � Oracle Web Services Manager to configure global policies� No security hard-coded in endpoints� Deployment options: gateway or agent modes� ESB sets and propagates security headers (WS-Security)

Page 31: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

ESB, part of a truly integrated suite

1. Installation• Single installer – J2EE to Human Workflow under 20mn• Single deployment platform

2. Design-Time• Single design environment

3. Runtime• Single monitoring UI (web browser) with Single Sign -On• Direct Java binding between co-located components• End-to-end instance tracking

Page 32: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

<Insert Picture Here>

Program

• The Oracle SOA Suite • Enterprise Service Bus: Foundation for SOA• ESB Usage Patterns• Features & Characteristics• Conclusion

Page 33: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications

Multi-protocol bus, Foundation for SOA22

Oracle Enterprise Service Bus

33 Virtualize, Transform, Route

44 High-Availability / Scalability

55 Hot-pluggable based on Open Standards

11 Achieve Separation of Concerns IT/Business

For more info: visit http://otn.oracle.com/soa

Page 34: Oracle Enterprise Service Bus: The Foundation for …...Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications