Closer Look at Enterprise Service Bus - Austin Java Users Group

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

Transcript of Closer Look at Enterprise Service Bus - Austin Java Users Group

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