Oracle Enterprise Service Bus: The Foundation for Service-Oriented - - PowerPoint PPT Presentation

oracle enterprise service bus the foundation for service
SMART_READER_LITE
LIVE PREVIEW

Oracle Enterprise Service Bus: The Foundation for Service-Oriented - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

<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

slide-2
SLIDE 2

<Insert Picture Here>

Program

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

Oracle Fusion Middleware

slide-4
SLIDE 4

Apps Legacy

Adapters Adapters

Partners

B2B B2B

RFID

SES SES

DB

EVENTS & CONNECTIVITY

Multi Protocol Routing XSLT Transform

Enterprise Service Bus Enterprise Service Bus

Native BPEL Business Rules Human Workflow

BPEL Process Manager BPEL Process Manager

ROUTING & ORCHESTRATION

The Oracle SOA Platform

J2EE Application Server Oracle AS, JBoss, WebLogic, WebSphere Messaging

UDDI Policies Security

Web Services Web Services Manager Manager Registry Registry

GOVERNANCE Events Analytics Business Monitoring System Monitoring

Enterprise Enterprise Manager Manager BAM BAM BI BI MANAGEMENT & MONITORING

App Dev Framework

JDeveloper JDeveloper

Analyst Tools

BPA Suite BPA Suite

slide-5
SLIDE 5

<Insert Picture Here>

Program

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

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

slide-7
SLIDE 7

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 approval process

jdbc:oracle:thin: mars:1521:orcl Host:10.10.10.10 Port:2320

BPM

Loan approval process

DB SAP

  • Business process

needs revision!

Database moves

slide-8
SLIDE 8

Audit DB

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.10 Port:2320

BPM

Loan approval process

  • Business process

remains unchanged CreateCustomer.wsdl

ESB

DB SAP

jdbc:oracle:thin: mars :1521:orcl Host:10.10.10.10 Port:2320

BPM

Loan approval process CreateCustomer.wsdl

Database moves

slide-9
SLIDE 9

Oracle Enterprise Service Bus: The Foundation for SOA

ESB is a multi-protocol fabric to separate integration concerns from applications and business logic How is this achieved?

1. Virtualize Endpoints: From resources to services 2. Transform: Convert data to target formats 3. 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, …

slide-10
SLIDE 10

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 ESB

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

slide-11
SLIDE 11

Virtualize Endpoints:

Web-service enablement of existing resources

CRM

Host:10.10.10.10, Port:2320 [proprietary protocol]

Native API Native API

Service Consumer

CreateCustomer.wsdl

ESB

CRM

Host:10.10.10.10 Port:2320

Native API Native API

JCA Adapter Service Consumer

[proprietary protocol] [SOAP]

Service consumers no longer need to talk proprietary protocols

slide-12
SLIDE 12

Virtualize Endpoints: Introspecting Target Systems

JMS

   DB     e-Business Suite

slide-13
SLIDE 13

Transform

Convert data as it flows through the bus

  • Canonical or point-to-point

transformations

  • 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

slide-14
SLIDE 14

Route

Reliably 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 transports

SOAP, JMS, legacy messaging

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

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

slide-16
SLIDE 16

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

slide-17
SLIDE 17

<Insert Picture Here>

Program

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

Usage Patterns: simple synchronous request/reply flow

Basic RPC mechanism

requestor GetCustomer.wsdl

slide-19
SLIDE 19

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

slide-20
SLIDE 20

Usage Patterns: simple 1-way asynchronous flow

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

event CreateCustomer.wsdl

slide-21
SLIDE 21

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

event CreateCustomer.wsdl

1 1 2 2

Customer details are logged in the audit database An event is placed on the bus to notify of a new customer. Payload is customer details.

2 2

Customer details are enqueued on JMS to the CRM

2 2

Customer details are enqueued on MQ to the mainframe

slide-22
SLIDE 22

Usage Patterns: Response-forwarding

event ShipOrder.wsdl

1 1 2 2 3 3

Get customer address from database Combine order details and customer details to prepare shipping

Can be used for

  • Routing based on lookup
  • Asynchronous “request/reply”

An event is placed on the bus to indicate an

  • rder is ready for shipment.

Payload consists of order details and customer ID.

slide-23
SLIDE 23

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

slide-24
SLIDE 24

<Insert Picture Here>

Program

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

ESB Control Overview

Routing Services Transformation Filter Expression JMS Adapter DB Adapter Flow Instances Overview Navigator BPEL Process Manage & Search Flexible Error Retry

slide-26
SLIDE 26

ESB Designer Overview

Routing Services Transformation Filters File Adapter JMS Adapter DB Adapter JDev Application Component Palette Metadata

  • WSDL
  • XSD
  • XSL

JDev Project Adapter Services Operation

slide-27
SLIDE 27

ESB Control (monitoring) JDeveloper (design) monitor export import update routing

3-Tiered Architecture

UI Tier Middle Tier Data Tier

JDBC JDBC MDS

Artifacts

XSD, XSLT WSDL, Maps

Relational

Service MD, Routing Rules, Instances, Errors

JMS

Metadata Server

J2EE

Runtime Servers

J2EE

slide-28
SLIDE 28

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

slide-29
SLIDE 29

Standards

  • Virtualize

XML, XSD, JCA, WSDL, WSIF, WSIL, JNDI, JDBC

  • Transform

XML, XSD, XSLT, PL/SQL

  • Route

XPath, JMS, SOAP, HTTP, JDBC, XA, JTA

Standards Drive Hot Pluggability

slide-30
SLIDE 30

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)

slide-31
SLIDE 31

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
slide-32
SLIDE 32

<Insert Picture Here>

Program

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

Multi-protocol bus, Foundation for SOA

2 2

Oracle Enterprise Service Bus

3 3

Virtualize, Transform, Route

4 4

High-Availability / Scalability

5 5

Hot-pluggable based on Open Standards

1 1

Achieve Separation of Concerns IT/Business For more info: visit http://otn.oracle.com/soa

slide-34
SLIDE 34