Вы находитесь на странице: 1из 53

SOA Suite: Oracle Service Bus Workshop

Tal Brown Oracle SOA Team


http://tech.theoracles.co.il

High Level Reference Architecture


Composite Applications
Process Portals

Mashups

Docs

Collab

Business Processes
SOA Governance
SOA Management

SOA Security

Systems, data & services Integration


Messaging Partners Orchestration

Services & Event Infrastructure


Connectivity Data Access Events

Legacy

ERP

Core

Adaptive Messaging

Adaptive Messaging In a Nutshell


Service Clients
Application Client Application Client Application Client Application Client Application Client HTTP/SOAP

Oracle Service Bus


Service Messaging
WS-RM

Enterprise Services
Service TUX Service

Request / Response
JMS

Synch / Asynch
FTP REST

MQ Service

Split / Join Publish / Subscribe

EJB
Service JCA Service

File

Any to Any Protocol Any to Any Payload

Multiple communications paradigms


Request/response Synchronous and asynchronous One-to-many, many-to-one Pub-sub Mix-and-match (e.g. sync-to-async)

XML non-XML Binary


No WSDL Required

Applications & Database Integration


Message Enrichment and Chaining

Adaptive Messaging

Adapter Certifications
Packaged with OSB install AQ Database EBusiness Suite Packaged separately SAP PeopleSoft Siebel JD Edwards

Connectivity
Web Service Transports
HTTP/SOAP WS-Security WS-Policy WS-Addressing WS-RM JMS MQ EJB/RMI Tuxedo FTP / SFTP SMTP File Native Database Lookup
Messaging
Services Transport Layer Transport SDK

Traditional Messaging
Service Service Service Service

Transport SDK
Enterprise-specific custom transports

Interoperability

NET, Tibco EMS, IBM MQ, IBM WebSphere, Apache Axis, B2B Interchange, iWay 5.5 adapters
.

Reliably connects services by leveraging standards

OSB Solves Brittle Integration


Costs
OSB reduces complexity and increases visibility and re-use

Time to Market
OSB insulates business logic from overhead

Scalability
Proven to handle all dimensions of scalability

Multi-channel Delivery
Separates service functionality from presentation layers

Risk
Allows cached cloud service results to ensure high availability and retain control

28

Value Proposition
Oracle Service Bus Oracle Service Bus delivers business agility, scalability, and performance into the business infrastructure to allow businesses to rapidly respond to new business requests

Unlike traditional ESBs Oracle Service Bus provides predictable scalability for reducing risk, automated service pooling for high availability, and service virtualization for agility delivered within a single solution for a lower total cost of ownership
29

Key Deliverables
Oracle Service Bus

Solutio

Agility

Scalability and Performance

Oracle Service Bus


Rapid Service Enablement Complete, Open & Integrated

30

Business Challenge
Brittle Architecture
Worklist Process Portal MS Office Online Shopping Mobile Devices

MAINFRAME

31

Oracle Service Bus


Worklist Process Portal MS Office Online Shopping

Feature Overview

Agile Architecture - Rapidly Respond to Change


Mobile Devices

ORACLE SERVICE BUS

MAINFRAME

32

Service Virtualization
Agility within OSB
Worklist Portal MS Office

Feature Overview

Online Shopping

Mobile Devices

Proxy Services
Enforces agility by replacing direct coupling with a flexible virtual endpoint to the consumer

Service Consumer Proxy Services


ORACLE SERVICE BUS

Service Endpoints

MAINFRAME

33

Automated Service Pooling


Agility within OSB
Proxy Services
Worklist Portal MS Office Online Shopping Mobile Devices

Enforces agility by replacing direct coupling with a flexible virtual endpoint to the consumer
ORACLE SERVICE BUS

Business Services

Access service from multiple endpoints Automated Service Pooling ensures high availability when apps go down and during maintenance
34

X
MAINFRAME
Application Instance 1 Application Instance 2 Application Instance 3

Business Challenge
Expanding Infrastructure into the Cloud
Cloud Vendor A

Feature Overview

Increased Risk
Less control with increasing dependence on multiple cloud service providers

Cloud Vendor B

Performance Degradation
Increasing cloud service usage results in higher latency due to Internet vs. LAN based communication

Dependence on cloud vendor reliability Higher latency with Internet vs. LAN & Firewalls ENTERPRISE SERVICE BUS

Unpredictable Scalability
Uncertain ability to handle spike in load
Business Apps

CRM

ERP

Sales

35

Service Result Cache


Reduced Risk
Service results available even when application is down

Feature Overview

Reliability, Performance and Predictable Scalability


Cloud Vendor A Cloud Vendor B

Improved Performance
Eliminate repeated application requests for static data
Result accessed from cache

Predictable Scalability
Cached results maintained internally resulting in less dependence on 3rd party service provider availability
ORACLE SERVICE BUS

Result accessed from cache Business Apps Failure

CRM

ERP

Sales

36

Service Result Cache


Checkbox enabled
Cache Results?
Cache Token Time To Live

Feature Overview

Leveraging Coherence and Oracle Fusion Middleware

37

Service Change Center


Rapid Service Enablement with OSB

Feature Overview

Change Center
Allows for fine-grained tuning of infrastructure No need to redeploy entire project Intuitive interface for nondeveloper/administrator View & resolve conflicts Undo, Re-do tasks Audit changes

38

Leverage Existing Infrastructure


Rapid Service Enablement with OSB Embrace & Extend Strategy
Reassure customer they dont have to re-invent the wheel E.g. Retain existing services and existing ESB OSB will make all existing services (even tightly coupled ones) and enforce loose coupling to introduce agility to their existing architecture

Ease of Use
Fit-to-Purpose interfaces - Available in a Web-based console and deeper-dive IDE

Any-to-Any Protocol Support


Regardless of new business request, OSB is pre-configured to handle the format

39

Feature Overview

Market Leading ESB


Complete - Single ESBnot three like IBM

Integrated - Seamless onramp to SOA and Governance


Open - Any-to-Any protocol support for open standards

Best of Breed - Forrester ESB Wave Leader 2009


Complete
Integrated Open
Best of Breed

#1

# 1

40

Overview
The goal: Give customers the ability to extend the set of standard functions used in XQuery expressions and XQuery/XSLT resources with their own implementations, written in Java. The rationale: Certain transformations are too complicated or too inefficient to be done with XQuery/XSLT language. For example, reuse utility complex transformation functions already existing in java or even to do something with a database or some external system.

OSB XQuery Expression / resource

XQ Standard functions fn:concat fn:abs OSB built-in extensions fn-bea:uuid fn-bea:isUserInRole Custom functions ns0:myfunc

OSB XSLT resource

BEA/Oracle XQuery 1.0 2004 draft engine

XSLT Engine (e.g. Apache Xalan)

41

Feature Highlights Java Support


OSB enhanced to support Java Objects In the Pipeline, Java Object is represented as
<ctx:java-content ref=key1 xmlns:ctx="http://www.bea.com/wli/sb/context/> Request Pipeline

POJOs
Application Client

Transport Layer

Request Pipeline

$body
Register to Object Repository

Key1={obj}
42

<ctx:javacontent ref=key1/>

Feature Highlights Java Support


Message Format in the Pipeline
The invocation point is the top element Each argument is listed as a sub-element Primitives and string arguments are inlined POJO parameters referred by java-content ref.

<soap:Body> <tes:some-method xmlns:tes=default/someURI" <arg0>99</arg0> <arg1>true</arg1> <arg2><con:java-content ref=key1 xmlns:con="http://www.bea.com/wli/sb/context/></arg2> <arg3><someXML .../></arg3> </tes:some-method> </soap:Body>

XmlObject arguments can be inlined or passed as ref.

POJOs can only be modified in the pipeline through Java Callout


43

Client Application

Invocation Point = Method1 Args= {Pojo1, } Method1 Result

Feature Highlights JEJB Inbound


Stateless Session Bean

Method1(Pojo1,)

Request Pipeline

Method2(Pojo2,)

Response Pipeline

44

Inbound EJB Transport exposes the Pipeline as a Stateless Session Bean Communication between the client and proxy service is an EJB invocation Client defines the SLSB interface exposed by the JEJB Proxy service EJB artifacts are generated on the fly at the time of proxy creation Transaction and security context is propagated from the client into the Bus

Feature Highlights JEJB Outbound


Business Service URI points to the JNDI Provider and JNDI name of the Remote EJB

45

Feature Highlights JEJB Outbound


User Configurations:
Dispatch Policy EJB Spec Version Pass XMLBeans by value Security Information Client Jar

Client Jar contains the remote/home or business interfaces to be accessed by the Business Service
User selects the EJB Interface to be accessed by the JEJB Business service

46

Feature Highlights JMS Transport JMS


Oracle Service Bus

JMS Proxy

Object JMS Message

JMS Business Service

$bodyRequest
Pipeline

Object Message

Busine ss JMS Queue

Queue

Register the Object with Object Repository

<ctx:java-content ref=jcid" />

Retrieve the Object from Object Repository

JMS Services configured with Messaging type Java can receive/send JMS Objects messages Java Object Support for both JMS inbound and outbound

47

Overview - Message Flow Transaction


Service Clients Application Client
FTP HTTP/SOAP JMS

Oracle Service Bus


HTTP

Enterprise Services
JMS

Prox y

Busine ss

Service

Atomic Message Flow


Simple as checking a box All transactional work in message flow committed or aborted
E.g. Publish, Service Callouts (QOS EO), Reporting, Java Callout, Route

Two settings for Proxy


Transaction Required ? Same Transaction For Response ? Benefits Message flow can execute within TX regardless of the Inbound Protocol
48

Diagram of Use Case


JMS proxy (NON XA)

Demo
JMS store

Request path

route

Response Path

JMS store

JCA DB business service Oracle XE

Publish QOS = EO

49

Overview - Service Result Caching

Service Provider

Legacy

Oracle Service Bus

Problem
External service is invoked every time for results that may be reasonably static Eg. Product details, discount info

Service Consumer

Solution
Service Result Caching

Benefits
Faster response times to clients/users Reduce load on potentially slow (legacy) backend systems Cache data is always consistent and available Operational ease in managing cache capacity

Process Flow / Orchestration

50

Overview - Service Result Caching


If results not in cache, invoke service & cache results

Service Provider

Legacy

Oracle Service Bus

Side Cache Pattern

Service Consumer

Check cache

Coherence Data Grid


Get / Put (Cachekey) Service Data

Primary Node

OSB Result Cache Process Flow / Orchestration

Backup Node

51

Feature Highlights
Business Service - Configuration Details

How to calculate the Cache Token

How long the cached result will be kept for

52

Feature Highlights
Global Settings

53

Feature Highlights
Business Service - Operational Settings

54

Feature Highlights
Dashboard - Service Health

How often the external service is invoked

How often the cache is hit How often the cache is hit to the external service
55

Вам также может понравиться