25
Closer Look at Enterprise Service Bus Deb L. Ayers Sr. Principle Product Manager Oracle Service Bus SOA Fusion Middleware Division

Closer Look at Enterprise Service Bus - Austin Java Users Group

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Closer Look at Enterprise Service Bus - Austin Java Users Group

Closer Look at Enterprise Service Bus

Deb L. Ayers

Sr. Principle Product Manager

Oracle Service Bus

SOA Fusion Middleware Division

Page 2: Closer Look at Enterprise Service Bus - Austin Java Users Group

2

The Role of the FoundationAddressing the Challenges

©2009 Oracle Corporation

Middleware Foundation

Efficiency

• Utilization

• Operations

Competitiveness

• Performance

• Reliability

• Flexibility

Simplification

• Consolidation

• Standardization

• Automation

Page 3: Closer Look at Enterprise Service Bus - Austin Java Users Group

3

Oracle Fusion Middleware Technologies

Page 4: Closer Look at Enterprise Service Bus - Austin Java Users Group

4

<Insert Picture Here>

Agenda

• Why Service Bus ?

• Enterprise Patterns

• Closer Look

– Sync to Async Bridge

– Service Result Cache

– EJB Proxy

• Q & A

Page 5: Closer Look at Enterprise Service Bus - Austin Java Users Group

5

<Insert Picture Here>

Agenda

• Why Service Bus ?

• Enterprise Patterns

• Closer Look

– Sync to Async Bridge

– Service Result Cache

– EJB Proxy

• Q & A

Page 6: Closer Look at Enterprise Service Bus - Austin Java Users Group

6

Service Integration:

Developer Perspective

ApplicationRemote

Functionality

Page 7: Closer Look at Enterprise Service Bus - Austin Java Users Group

7

Brittle Over Time

With or Without Web Services

Service

Consumers

Enterprise

Services

Application

Portal

Process

Orchestration

Application

Application

Application

Page 8: Closer Look at Enterprise Service Bus - Austin Java Users Group

8

Why SOA Initiatives Fail:Technology or Governance?

Introduction Spreading Exploitation Plateau

Risk of SOA Project Failures

Lack of Governance

Risk

Technology Risk

Less Risk

More Risk

Time

Page 9: Closer Look at Enterprise Service Bus - Austin Java Users Group

9

Coherence

caching

Service BusPO Processing as an example

9 Oracle Restricted and Confidential

Web-basedconsole

pooling

Oracle Service Bus

BusinessService

Proxy

virtualization

IDE

build

deploy

SOAP

transport switching

JMS

Page 10: Closer Look at Enterprise Service Bus - Austin Java Users Group

10

<Insert Picture Here>

Agenda

• Why Service Bus ?

• Enterprise Patterns

• Closer Look

– Service Result Cache

– EJB Proxy

• Q & A

Page 11: Closer Look at Enterprise Service Bus - Austin Java Users Group

11

Patterns for Service Bus

Customer Use Cases:

– Backend Application Integration

– Portal application consumes business services from back-end applications.

– Eliminate the brittleness of services using a SOA based architecture.

• Requires ESB Characteristics:– Heterogeneous messaging backbone

– Content based routing

– Service enrichment

– Monitoring and reporting

– SOA based security

– Service workload and management

– Message Guarantees

– Service orchestration

– Distributed services across the enterprise

– Service discovery

getCustAddress getCustCreditgetCustProfile

getCustAddress getCustCreditgetCustProfile

JMS SOAP MQ

Mainframe.NETWebLogic

Oracle Service Bus

Service

Clients

Page 12: Closer Look at Enterprise Service Bus - Austin Java Users Group

Common Service Types

• TraditionalWeb Services• Pre-negotiated Interfaces Contract (WSDL)

• Standards in place, supported by many vendors

• SOAP over HTTP

• Legacy Services• Non-XML (XML) over File, FTP, MQ, JMS

• POX (Plain Old XML)• Structure of Payload to determines action

• XML over HTTP

• REST (Representational State Transfer)• Based on Pattern of Service Invocation

• Nouns vs. Verbs

• URIs over HTTP

Page 13: Closer Look at Enterprise Service Bus - Austin Java Users Group

Application

Client

Service

Clients

Oracle Service Bus Enterprise

Services

transporttransportService

Proxy

ServiceBusiness

Service

Inbound interface Outbound interface

Proxy & Business Services

Page 14: Closer Look at Enterprise Service Bus - Austin Java Users Group

14

Application

Client

Service

Clients

Oracle Service Bus Enterprise

Services

Service

Application

Client

Application

Client

Application

Client

HTTP/SOAP

JMS

FTP

REST

EJBApplication

Client

WS-RM

TUX

MQ

EJB

JCA

Service

Service

Service

Service

Request / Response

Service Messaging

• Multiple communications paradigms

– Request/response

– Synchronous and asynchronous

– One-to-many, many-to-one

– Pub-sub

– Mix-and-match (e.g. sync-to-async)

Synch / Asynch

Split / Join

Publish / Subscribe

Adaptive Messaging In a Nutshell…

• Any to Any Protocol

• Any to Any Payload

– XML

– non-XML

– Binary

• No WSDL Required

Page 15: Closer Look at Enterprise Service Bus - Austin Java Users Group

15

Web Service (SOAP) -> MQSeries or JMS

Let’s Build It…

Get Mileage

Legacy

Service

XForm Route JMS Request Reply

• Create a simple service with a Web services interface that performs

data translation and protocol conversion to invoke an existing service

through a asynchronous message, wait for a response, and return a

synchronous reply to the caller.

Oracle Service Bus

Multiple correlation patterns for Request/Reply

Web Service

SOAP over HTTP

(AQ, MQ, JMS, Tibco)

requestresponse

id

Page 16: Closer Look at Enterprise Service Bus - Austin Java Users Group

16

Summary of ESB Usage Patterns

�Service Lifecycle Management

�Business Service Load-balancing & Failover

�Transport Header Override

�Monitoring / SLA

�Heterogeneous Messaging

�Error Handling in Pipeline

�Customized Data Reporting

�Data services integration

�Security and Access Control

�Sync client to Async Business Service

�Asynchronous Request/Reply

�Content, Metadata, Identity, -Based Routing

CustomerTypical Use Cases

Page 17: Closer Look at Enterprise Service Bus - Austin Java Users Group

17

<Insert Picture Here>

Agenda

• Why Service Bus ?

• Enterprise Patterns

• Closer Look

– Service Result Cache

– EJB Proxy

• Q & A

Page 18: Closer Look at Enterprise Service Bus - Austin Java Users Group

18

Application

Client

Service

Clients

Oracle Service Bus Enterprise

Services

Service

• Atomic Message Flow

– Simple as checking a box

– All work committed or aborted

• Two settings for Proxy

– Transaction Required ?

– Same Transaction For Response ?

Benefits

Message flow can execute within TX regardless of the Inbound Protocol

Proxy BusinessHTTP/SOAP

Message Flow Transaction

JMS

FTP

OSB 11gR1

Page 19: Closer Look at Enterprise Service Bus - Austin Java Users Group

19

Application

Client

Service

Clients

Oracle Service Bus Enterprise

Services

Service

• New native EJB Transport

– Supports 2.1 and 3.0

– Native Java Types can be passed along to JMS, Java Callout

– Full Transaction semantics supported

Benefits

– Mediate existing legacy EJB infrastructure

Java Callout

Proxy

Business

EJB

Native EJB Inbound and Outbound Transport

EJB

REST

HTTP

SOAP

JMS

OSB 11gR1

Page 20: Closer Look at Enterprise Service Bus - Austin Java Users Group

20

Service Result CacheScaling Application Infrastructure

Process Flow /

Orchestration

Legacy

Service

Consumer

Service

Provider

P

BBackup Node

PrimaryNodeGet / Put (Cachekey)

Service Data

Coherence Data Grid

OSB

Result

Cache

Oracle Service Bus

Check cache

If results not in cache, invoke service & cache results

Side Cache Pattern

OSB 11gR1

Page 21: Closer Look at Enterprise Service Bus - Austin Java Users Group

21

Service Result Cache with CoherenceCheckbox Caching

Result Cache is an implementation of Side Cache pattern

OSB 11gR1

BusinessService

� Cache Results?

� Cache Token

� Time To Live

Page 22: Closer Look at Enterprise Service Bus - Austin Java Users Group

22 Oracle Restricted and Confidential

Service Bus vs. Process Orchestration ?

Process Orchestration

• Service contains business logic

• Service requires complex transaction management

– Requires multiple transactions

– Compensation logic required on rollback

– Short or long-lived process

• Exception handling requires Human workflow

• Service needs to handle asynchronous callbacks reliably

Service Bus

• Service contains protocol, routing and transformation logic

• Service has short-lived, single transaction semantics

Page 23: Closer Look at Enterprise Service Bus - Austin Java Users Group

23 Oracle Restricted and Confidential

Final Thoughts…

Trends Emerging

• Federated ESB

• Not enough to simply distribute across buses.

• Management is KEY.

• Homogenous until vendors decide on management standards to allow uniform service provisioning & routing updates.

• Event-driven SOA

• Dynamic, unpredictable business events being correlated real-time feeding into SOA infrastructure

• Web 2.0 meets SOA & Traditional IT infrastructure

• Watch out - IT Culture class emerging!

• Service Bus will help adapt Traditional SOA to more ad-hoc services like REST, POX with security.

Page 24: Closer Look at Enterprise Service Bus - Austin Java Users Group

24 Oracle Restricted and Confidential

DiscussionDiscussion

Page 25: Closer Look at Enterprise Service Bus - Austin Java Users Group

25 Oracle Restricted and Confidential

Advanced Service PoolingRouting to active endpoints, service load balancing

Service Clients

Endpoint URL 1

Endpoint URL 3

Endpoint URL 2Proxy

SvcClient 1

OSB Cluster

Bus

Svc

If a URI is non-responsive, take the URI out of the pool

Bring the URI back in the pool when it is back-up

• Option for the system to automatically take non-responsive URIs out of the pool, and put them back in as they become responsive

• Alerts will be generated when the status of the endpoint changes from Up � Down and vice versa