04.01.2014 Views

Oracle Service Bus: A New Road to Enterprise-wide ... - GSE Belux

Oracle Service Bus: A New Road to Enterprise-wide ... - GSE Belux

Oracle Service Bus: A New Road to Enterprise-wide ... - GSE Belux

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong>: A <strong>New</strong> <strong>Road</strong> <strong>to</strong> <strong>Enterprise</strong>-<strong>wide</strong><br />

SOA for the Agile <strong>Enterprise</strong><br />

Kurt Lefevre<br />

Senior Manager Sales Consulting, Middleware Solutions


1. Role of an ESB for Application Integration<br />

2. <strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong>: General functions and features<br />

3. Supported integration scenarios<br />

4. Coexistence with <strong>Bus</strong>iness Process Management and<br />

<strong>Bus</strong>iness Rules Management Engines<br />

5. <strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong> strengths<br />

6. Some major cus<strong>to</strong>mers in Belgium<br />

7. <strong>Oracle</strong> Supported Platforms<br />

8. <strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong> QoS<br />

9. Questions & Answers<br />

2


Role of an ESB for Application Integration<br />

Today’s challenges<br />

Lack<br />

of<br />

Agility<br />

• Delayed response <strong>to</strong> new business requests<br />

• Cus<strong>to</strong>mer expectation for multi-channel delivery<br />

Poor<br />

Scalability &<br />

Performance<br />

• Back-end systems can’t scale for peak load<br />

• Difficulty meeting performance SLAs<br />

Slow<br />

<strong>Service</strong><br />

Enablement<br />

• Heavyweight SOA <strong>to</strong>ols<br />

• Disparate <strong>to</strong>ols across SOA lifecycle<br />

3


Role of an ESB for Application Integration<br />

Brittle Architecture<br />

Worklist Process Portal MS Office<br />

Online Shopping<br />

Mobile Devices<br />

MAINFRAME<br />

4


Role of an ESB for Application Integration<br />

Brittle Architecture, Redundant <strong>Service</strong>s<br />

<strong>Bus</strong>iness<br />

Processes<br />

DeleteOrder<strong>Service</strong><br />

RemoveOrder<br />

DeleteOrder<br />

CRUDOrder<strong>Service</strong><br />

NotifyCus<strong>to</strong>mer NotifyCus<strong>to</strong>mer<strong>Service</strong> UpdateCus<strong>to</strong>mer<br />

<strong>Service</strong>s<br />

CheckCredit CreditCheck CheckCredit<strong>Service</strong><br />

MAINFRAME<br />

5


Role of an ESB for Application Integration<br />

Solution: ESB > Shared <strong>Service</strong>s; Adaptive <strong>to</strong> change<br />

<strong>Bus</strong>iness<br />

Processes<br />

Foundation<br />

Shared <strong>Service</strong>s Infrastructure<br />

<strong>Service</strong>s<br />

Inven<strong>to</strong>ry<br />

Check<br />

<strong>Service</strong><br />

Credit<br />

Check<br />

<strong>Service</strong><br />

Production<br />

<strong>Service</strong><br />

Cus<strong>to</strong>mer<br />

Status<br />

<strong>Service</strong><br />

Order<br />

<strong>Service</strong><br />

Billing<br />

<strong>Service</strong><br />

MAINFRAME<br />

6


<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong><br />

General functions and features<br />

<strong>Service</strong> Management<br />

Moni<strong>to</strong>ring SLA Alerts Reporting<br />

<strong>Service</strong> Virtualization<br />

Content Based Routing<br />

Transformation<br />

<strong>Service</strong> Chaining<br />

Configuration<br />

Framework<br />

Change Center<br />

Validation<br />

Import / Export<br />

Unified Security<br />

Authentication Authorization Identity<br />

Sign/Encrypt<br />

Metadata<br />

Adaptive Messaging SBL JDE PSFT EBS SAP AQ JDBC<br />

HTTP/S JCA JMS WSRM REST MQ SMTP FTP File Tux EJB<br />

7


<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong><br />

General functions and features<br />

<strong>Service</strong><br />

Clients<br />

Application<br />

Client<br />

Application<br />

Client<br />

Application<br />

Client<br />

Application<br />

Client<br />

Application<br />

Client<br />

HTTP/SOAP<br />

JMS<br />

FTP<br />

SMTP<br />

File<br />

<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong><br />

<strong>Service</strong> Messaging<br />

Request / Response<br />

Synch / Asynch<br />

Split / Join<br />

Publish / Subscribe<br />

WS-RM<br />

TUX<br />

MQ<br />

EJB<br />

JCA<br />

<strong>Enterprise</strong><br />

<strong>Service</strong>s<br />

<strong>Service</strong><br />

<strong>Service</strong><br />

<strong>Service</strong><br />

<strong>Service</strong><br />

<strong>Service</strong><br />

• Any <strong>to</strong> Any Pro<strong>to</strong>col<br />

• Transport SDK<br />

• Any <strong>to</strong> Any Payload<br />

• XML<br />

• non-XML<br />

• Binary<br />

• No WSDL Required<br />

• Multiple communications paradigms<br />

• Request/response<br />

• Synchronous and asynchronous<br />

• One-<strong>to</strong>-many, many-<strong>to</strong>-one<br />

• Pub-sub<br />

• Mix-and-match (e.g. sync-<strong>to</strong>-async)<br />

8


Supported integration scenarios<br />

Location Transparency<br />

• Isolate from changes <strong>to</strong> service location<br />

<strong>Service</strong><br />

Consumer<br />

<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong><br />

Route <strong>to</strong><br />

Host Two<br />

Before<br />

After<br />

Host One<br />

Initialize Benefits<br />

<strong>Service</strong><br />

Host Two<br />

Move<br />

Initialize Benefits<br />

<strong>Service</strong><br />

9


Supported integration scenarios<br />

Backwards Compatibility<br />

• Isolate from changes <strong>to</strong> service contract/interface<br />

Cus<strong>to</strong>mer<br />

Portal<br />

CSR App<br />

<br />

<br />

<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong><br />

Transform<br />

Message<br />

<br />

<strong>Service</strong><br />

Provider<br />

<br />

<br />

10


Supported integration scenarios<br />

Split and Join For Parallel Action<br />

• Incoming payload is split in<strong>to</strong> multiple<br />

service invocations<br />

• Multiple service responses are<br />

aggregated in<strong>to</strong> single payload<br />

• Parallel action results in<strong>to</strong> significant<br />

performance improvement<br />

Request<br />

Payload<br />

Response<br />

Payload<br />

<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong><br />

JOIN<br />

Split<br />

ForEach<br />

15<br />

ProcessOrder<br />

ProcessOrder<br />

Join<br />

SPLIT<br />

Order 1 Order 2 Order 3<br />

Response<br />

1<br />

Response<br />

2<br />

Response<br />

3<br />

11


Supported integration scenarios<br />

Split and Join: Dynamic with ForEach<br />

• Number of invocations determined from incoming<br />

payload<br />

• <strong>Service</strong>s invoked with ForEach (parallel) and<br />

responses aggregated<br />

<br />

<br />

...<br />

<br />

<br />

...<br />

...<br />

<br />

<br />

Orders<br />

<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong><br />

<br />

<br />

InS<strong>to</strong>ck<br />

<br />

<br />

BackOrder<br />

...<br />

<br />

<br />

Begin<br />

ForEach<br />

ProcessLineItem<br />

Join<br />

ProcessLineIttem<br />

CheckInS<strong>to</strong>ck<br />

12


Supported integration scenarios<br />

Split and Join: Static with Parallel Node<br />

• Number of split invocations determined at design time<br />

• <strong>Service</strong>s invoked with Parallel Node and responses<br />

aggregated<br />

<br />

<br />

...<br />

<br />

<br />

...<br />

...<br />

<br />

<br />

Orders<br />

<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong><br />

<br />

<br />

...<br />

<br />

<br />

...<br />

...<br />

<br />

<br />

Begin<br />

Parallel<br />

activateDSL<br />

activatePhone<br />

Join<br />

activatePhone<br />

activateDSL<br />

activatePager<br />

13


Supported integration scenarios<br />

<strong>Service</strong> Enrichment<br />

• Enrich services by combining transformation and<br />

routing <strong>to</strong>gether. Enables better re-usability of<br />

enriched services.<br />

getCustProfile<br />

getCustProfile<br />

<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong><br />

Proxy<br />

Callouts<br />

getCustAddress<br />

getCustInfo<br />

Aggregated<br />

Results<br />

Route<br />

getCustCredit1<br />

getCustCredit2<br />

Transform Append<br />

Return<br />

getCustInfo<br />

getCustAddress<br />

getCustCreditv1<br />

getCustCreditv2<br />

14


Supported integration scenarios<br />

Content Based Routing<br />

• Content based routing enables better loose-coupling of<br />

SOA endpoints. Enables versioning scenario as one<br />

example.<br />

getCustCredit<br />

<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong><br />

Begin<br />

Route<br />

getCustCredit1<br />

getCustCredit2<br />

getCustProfile<br />

getCustAddress<br />

getCustCreditv1<br />

getCustCreditv2<br />

15


<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong> Coexistence<br />

With <strong>Bus</strong>iness Process Management and <strong>Bus</strong>iness Rules<br />

Management Engines<br />

• One<br />

infrastructure <strong>to</strong>:<br />

• Install<br />

• Cluster<br />

• Configure<br />

• Moni<strong>to</strong>r<br />

• Radically<br />

simplified<br />

administration<br />

task<br />

16


<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong> strengths<br />

Unique Differentia<strong>to</strong>rs<br />

<strong>Service</strong> Result Caching<br />

• Dramatic improvement in performance and high<br />

availability through cached service results<br />

leveraging <strong>Oracle</strong> Coherence<br />

Change Center<br />

• Fine grained deployment tuning eliminating need<br />

for full re-deploys<br />

Au<strong>to</strong>mated <strong>Service</strong> Pooling<br />

• Fault detection au<strong>to</strong>matically balancing service<br />

load across servers<br />

Multi-dimensional Scaling<br />

• Proven scalability <strong>to</strong> large number of services,<br />

developers, and high volume<br />

Complete, Open and Integrated<br />

• Every release supports out of the box<br />

connectivity with <strong>Oracle</strong> SOA Suite… BPM,<br />

BAM, SOA governance, application integration<br />

and more<br />

Cloud Vendor A<br />

SaaS app<br />

Result accessed<br />

from cache<br />

X<br />

CRM<br />

<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong> 11g<br />

ERP<br />

Cloud Private Vendor Cloud B<br />

SaaS app<br />

Result accessed<br />

from cache<br />

Sales<br />

17


Some Major Cus<strong>to</strong>mers<br />

Fedict: Federal <strong>Service</strong> <strong>Bus</strong><br />

18


<strong>Oracle</strong> Supported Platforms<br />

All major hardware & operating systems<br />

• CPU’s:<br />

• x86, SPARC, POWER, PA-RISC, Itanium-2<br />

• Operating Sytems:<br />

• <strong>Oracle</strong> Linux, Solaris, AIX, Windows, HP-UX, Red Hat EL, SUSE<br />

• Complete list on:<br />

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-<br />

100350.html<br />

19


<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong> QoS<br />

Reliability, Availability, Scalability, Performance<br />

<strong>Service</strong> Clients<br />

Replicated Cluster<br />

<strong>Bus</strong>iness <strong>Service</strong>s<br />

• Clustered<br />

Architecture<br />

<strong>Service</strong> <strong>Bus</strong><br />

Routing<br />

Transformation<br />

Validation<br />

Adapter<br />

• Efficient,<br />

Stateless<br />

Portal<br />

End User<br />

Integration<br />

MQSeries<br />

• Linear<br />

Scalability<br />

• Failover/HA<br />

support<br />

Partners<br />

WebLogic Cluster<br />

Messaging<br />

Management<br />

<strong>Service</strong> Mgt Console<br />

WLS<br />

WLI<br />

ERP<br />

CRM<br />

20


<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong> QoS<br />

<strong>Service</strong> Pooling<br />

Proxy <strong>Service</strong>s<br />

Worklist Portal MS Office<br />

Online<br />

Shopping<br />

Mobile<br />

Devices<br />

• Enforces agility by replacing direct<br />

coupling with a flexible virtual<br />

endpoint <strong>to</strong> the consumer<br />

ORACLE SERVICE BUS<br />

<strong>Bus</strong>iness <strong>Service</strong>s<br />

• Access service from multiple<br />

endpoints<br />

• Ensures high availability when apps<br />

go down and during maintenance<br />

MAINFRAME<br />

Application<br />

Instance 1<br />

X<br />

Application<br />

Instance 2<br />

Application<br />

Instance 3<br />

21


<strong>Oracle</strong> <strong>Service</strong> <strong>Bus</strong> QoS<br />

<strong>Enterprise</strong>-<strong>wide</strong> <strong>Service</strong> Network<br />

• Mediate & route between multiple<br />

ESB instances using JMS/SAF and<br />

WS-RM<br />

• Ensure consistent security, policies<br />

and QoS across the service<br />

network<br />

• Leverage the assets from your<br />

entire service network<br />

• Build high-value, composite<br />

applications that cross domain<br />

boundaries<br />

<strong>Enterprise</strong> Wide <strong>Service</strong> Network<br />

OSB 1<br />

OSB 2<br />

Domain A<br />

Domain B<br />

OSB 3<br />

Domain C<br />

22


For More Information<br />

http://www.oracle.com/technetwork/middleware/service-bus/overview/index.html<br />

23


Questions<br />

24


Thank you!<br />

kurt.lefevre@oracle.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!