oracle enterprise service bus: the foundation for …...oracle enterprise service bus: the...
TRANSCRIPT
<Insert Picture Here>
Oracle Enterprise Service Bus: The Foundation for Service-Oriented ArchitectureDemed L’Her, Sr. Principal Product Manager, Oracle IntegrationDave Berry, Sr. Manager, Oracle Integration
<Insert Picture Here>
Program
• The Oracle SOA Suite• Enterprise Service Bus: Foundation for SOA• ESB Usage Patterns• Features & Characteristics• Conclusion
Oracle Fusion Middleware
Apps Legacy
AdaptersAdapters
Partners
B2BB2B
RFID
SESSES
DB
EVENTS & CONNECTIVITY
Multi Protocol
RoutingXSLTTransform
Enterprise Service BusEnterprise Service Bus
NativeBPEL
Business Rules
Human Workflow
BPEL Process ManagerBPEL Process Manager
ROUTING & ORCHESTRATION
The Oracle SOA Platform
J2EE Application ServerOracle AS, JBoss, WebLogic, WebSphere
Messaging
UDDI
Policies
Security
Web Services Web Services ManagerManager
RegistryRegistry
GOVERNANCEEvents AnalyticsBusiness
MonitoringSystem
Monitoring
Enterprise Enterprise ManagerManager
BAMBAM BIBIMANAGEMENT
&MONITORING
App DevFramework
JDeveloperJDeveloper
Analyst Tools
BPA SuiteBPA Suite
<Insert Picture Here>
Program
• The Oracle SOA Suite • Enterprise Service Bus: Foundation for SOA• ESB Usage Patterns• Features & Characteristics• Conclusion
Oracle Enterprise Service Bus:Objectives
• No Coding Required
• Put proprietary technologies at the edges of SOA
• Abstract IT resources as services
Achieve “Separation of Concerns”
Between IT and Business
How IT events can negatively impact business processes
DB
SAP
jdbc :oracle :thin :
saturn:1521:orcl
Host:10.10.10.10
Port:2320
BPM
Loan
app
rova
l pro
cess
jdbc :oracle :thin :
mars :1521:orcl
Host:10.10.10.10
Port:2320
BPM
Loan
app
rova
l pro
cess
DB
SAP
���� Business processneeds revision!
Database moves
AuditDB
jdbc :oracle :thin :
jupiter:1523:audit
Audit DB added
Achieving Separation of Concerns
ESB
DB
SAP
jdbc :oracle :thin :saturn:1521:orcl
Host:10.10.10.10Port:2320
BPM
Loan
app
rova
l pro
cess
���� Business processremains unchanged
Cre
ateC
usto
mer
.wsd
l
ESB
DB
SAP
jdbc :oracle :thin :mars :1521:orcl
Host:10.10.10.10Port:2320
BPM
Loan
app
rova
l pro
cess
Cre
ateC
usto
mer
.wsd
l
Database moves
Oracle Enterprise Service Bus: The Foundation for SOA
ESB is a multi-protocol fabric to separate integrat ionconcerns from applications and business logic
How is this achieved?
1. Virtualize Endpoints: From resources to services
2. Transform: Convert data to target formats3. Route: Reliably transport and route data over a variety of protocols
Expose everything as web services
1. Standards-based: XPath, XSLT, SOAP, JMS, JCA, …
2. Hot-pluggable: J2EE, JMS, Database, …
Virtualize Endpoints: Connecting to Target Systems
1. Web Services: PeopleSoft, Amazon, …2. Applications: e-Business Suite, SAP, …3. Legacy: CICS, Tuxedo, …4. Technologies: database, file, JMS, …
Non-WS Connectivity through Adapters
• Standard JCA 1.5• Transactional (whenever possible)• Sync, Async, bi-directional• Wizards-driven, graphical introspection of target systems
Adapters Bundled with ESBAQ, MQ, RDBMS, File, FTP, JMS, MQ, Oracle Applications… and 300+ more available via OEM (iWay, Attunity)!
Virtualize Endpoints: Web-service enablement of existing resources
CRM
Host:10.10.10.10, Port:2320
[proprietary protocol] Nat
ive
AP
I
Nat
ive
AP
I
Service Consumer
CreateCustomer.wsdl
ESB
CRM
Host:10.10.10.10Port:2320
Nat
ive
AP
I
Nat
ive
AP
I
JCA AdapterService
Consumer[proprietaryprotocol]
[SOAP]
� Service consumers no longer need to talk proprietary protocols
Virtualize Endpoints: Introspecting Target Systems
JMS ����
DB
e-Business Suite
TransformConvert data as it flows through the bus
• Canonical or point-to-pointtransformations
• Standard XSLT for expressing transformations
• Drag-and-drop graphical mapping tool
• “Smart” mapping tool , dictionary-based
• Domain-Value Maps for fast, static, in-memory lookups
RouteReliably transport and route data over a variety of protocols
Reliable messaging and guaranteed delivery are key in highly-distributed, asynchronous, “fire-and-forget” SOA where senders do not wait for a response.
• Internally: uses JMS for asynchronous flows
• On the edges: wide support of transportsSOAP, JMS, legacy messaging
• Hot-pluggable transport: 3rd Party JMS, DB, J2EE…
Route: Taking Decisions
• Content-based:if total_price > 500, route to FedEx
• Header-based:if message_type = order, route to fulfillment
• Standard XPath to define routing expressions
• Graphical expression builder
• Routing rules can be altered at runtime
Expose Everything As A Web-Service
• By default, any ESB service is exposed as a web service (WSDL auto-generated)
• Each step of an ESB flow is a potential entry point
• Each web-service can be secured
<Insert Picture Here>
Program
• The Oracle SOA Suite • Enterprise Service Bus: Foundation for SOA• ESB Usage Patterns• Features & Characteristics• Conclusion
Usage Patterns: simple synchronous request/reply flow
Basic RPC mechanism
requestor
GetCustomer.wsdl
Usage Patterns: non-deterministic synchronous request/reply flow
• Consumer does not explicitly know the service provider
• Service provider selection based on message content/header
requestor
GetCustomer.wsdl
Usage Patterns: simple 1-way asynchronous flow
• The simplest but also the most typical ESB pattern• “Fire-and-forget”
eventCreateCustomer.wsdl
Usage Patterns: fan-out 1-way asynchronous flow
• 1 event triggers multiple parallel operations• All outbound operations can be grouped in one or more
transactions
eventCreateCustomer.wsdl
11
22Customer details arelogged in the auditdatabase
An event is placed onthe bus to notify of a new customer. Payloadis customer details.
22Customer details are enqueued onJMS to the CRM
22Customer details are enqueued onMQ to the mainframe
Usage Patterns: Response-forwarding
eventShipOrder.wsdl
11
22
33
Get customer addressfrom database
Combine order detailsand customer detailsto prepare shipping
Can be used for• Routing based on lookup • Asynchronous “request/reply”
An event is placed onthe bus to indicate anorder is ready for shipment.Payload consists of order details and customer ID.
Usage Patterns: Canonical Data Model
CRM
• All messages on the bus are converted to a common data model→ Reduces the overall number of maps to generate→ Respective application owners only need to know about 2 data
models: their own one + the canonical one.
ERP
Billing Shipping
COMMON DATA MODEL(Customer Object)
CRM ERP
Billing Shipping
<Insert Picture Here>
Program
• The Oracle SOA Suite • Enterprise Service Bus: Foundation for SOA• ESB Usage Patterns• Features & Characteristics• Conclusion
ESB Control Overview
Routing Services
Transformation
Filter Expression
JMS Adapter
DB Adapter
FlowInstances
Overview Navigator BPEL Process
Manage& Search
FlexibleError Retry
ESB Designer Overview
Routing Services Transformation
Filters
File Adapter
JMSAdapter
DBAdapter
JDev Application
Component Palette
Metadata• WSDL• XSD• XSL
JDev Project
AdapterServices
Operation
ESB Control(monitoring)
JDeveloper(design)
monitorexportimportupdaterouting
3-Tiered Architecture
UI Tier
Middle Tier
Data Tier
JDBC JDBC
MDS
Artifacts
XSD, XSLTWSDL, Maps
Relational
Service MD,Routing Rules,
Instances, Errors
JMS
MetadataServer
J2EE
RuntimeServers
J2EE
Transactions & Exceptions Handling
Submitter is in charge:
• Persists messages
• Resubmit
SYNCHRONOUS FLOW ASYNCHRONOUS FLOW
ESB is in charge:
• Persists messages
• Retries, resubmit
End-to-end transaction/XA support via JTA
Ability to set transaction boundaries
Built-in “error hospital” to persist and resubmit failed messages
Standards
• VirtualizeXML, XSD, JCA, WSDL, WSIF, WSIL, JNDI, JDBC
• TransformXML, XSD, XSLT, PL/SQL
• RouteXPath, JMS, SOAP, HTTP, JDBC, XA, JTA
Standards Drive Hot Pluggability
Security
Main security challenges in distributed environments
• Islands of security lead to security gaps• No end-to-end visibility• Developers are not necessarily security experts• Modifying policies is extremely complex
ESB leverages the Oracle SOA infrastructure for security
� J2EE Container (OC4J) at service level � Oracle Web Services Manager to configure global policies� No security hard-coded in endpoints� Deployment options: gateway or agent modes� ESB sets and propagates security headers (WS-Security)
ESB, part of a truly integrated suite
1. Installation• Single installer – J2EE to Human Workflow under 20mn• Single deployment platform
2. Design-Time• Single design environment
3. Runtime• Single monitoring UI (web browser) with Single Sign -On• Direct Java binding between co-located components• End-to-end instance tracking
<Insert Picture Here>
Program
• The Oracle SOA Suite • Enterprise Service Bus: Foundation for SOA• ESB Usage Patterns• Features & Characteristics• Conclusion
Multi-protocol bus, Foundation for SOA22
Oracle Enterprise Service Bus
33 Virtualize, Transform, Route
44 High-Availability / Scalability
55 Hot-pluggable based on Open Standards
11 Achieve Separation of Concerns IT/Business
For more info: visit http://otn.oracle.com/soa