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