<Insert Picture Here> Oracle SOA Suite ESB and BPEL Use Case Comparison Oracle Integration Product Management
Agenda <Insert Picture Here> Oracle ESB Oracle BPEL Oracle SOA BPEL + ESB
Oracle Enterprise Service Bus: The Foundation for SOA ESB is a multi-protocol fabric to separate integration concerns from applications and business logic How is this achieved? 1. Virtualize Endpoints: From resources to services 2. Transform: Convert data to target formats 3. 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,
Achieving Separation of Concerns Database moves Loan approval process BPM CreateCustomer.wsdl ESB jdbc:oracle:thin: saturn:1521:orcl Host:10.10.10.10 Port:2320 DB SAP Loan approval process BPM CreateCustomer.wsdl ESB jdbc:oracle:thin: mars :1521:orcl Host:10.10.10.10 Port:2320 jdbc:oracle:thin: jupiter:1523:audit DB SAP Audit DB Business process remains unchanged Audit DB added
Virtualize Endpoints: Web-service enablement of existing resources Host:10.10.10.10, Port:2320 Service Consumer Native API [proprietary protocol] Native API CRM Service Consumer CreateCustomer.wsdl [SOAP] JCA Adapter Native API Host:10.10.10.10 Port:2320 [proprietary protocol] Native API CRM ESB Service consumers no longer need to talk proprietary protocols
ESB Out of Box Patterns Virtualized Service - 2 way sync RPC like - Content based responder - Static inbound WSDL - Operational flexibility Fan In/Out - 1 way store and fwd - fire and forget - Sync or Async - Multiple transactions - End to end Response Forward - 1 way inbound - 2 way outbound - Route based on callout response - Forward original document
ESB Chaining Pattern Custom Solution Web Tier ESB Tier Service Tier SOAP Client ESB RS WSIF POJO ESB SOAP Service ESB SOAP Service Endpoint Search Service Endpoint Product Service - WSIF POJO orchestration point solution - WSIF layer performs outbound Orchestration - Invokes SOAP Services using ESB Invocation API - Uses transformations built using JDev
Usage Patterns: Canonical Data Model 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. CRM ERP CRM ERP COMMON DATA MODEL (Customer Object) Billing Shipping Billing Shipping Out-of-box Quickstart CustomerData Guide Tutorial
ESB Customer Data Scenario Overview Functionality Show how ESB manages data synchronization use case with adapters, transformations and content based routing. Customer Data Synchronization Features - JDeveloper ESB Diagrammer - Adapters: File, DB, JMS - Routing Service Content routing filter expressions Transformations - ESB Control Console Steps - Install ESB Server - Run CustomerData Demo - Install JDeveloper - Configure the BPEL ESB Plug-In - Build the Scenario from scratch ESB Quick Start Guide
ESB Training Samples Adapters: CustomerData Fan-out Scenario File Adapter CSV File Outbound SOAP service callout Domain Value Mappings DB Adapter - Customer Request/Reply ESB BPEL Loanflow Routing Service AQ/JMS to PL/SQL ESB BPEL Manual Task Adapters: File Headers Interconnect Interoperability Go to http://otn.oracle.com/goto/esb
Oracle ESB OTN Samples Sample Endpoint Properties Response Forwarding WSIF-POJO SecureServiceInOC4J SecureServiceIn JMStoJMSHeaders SOAPHeaders Notifications JCAExpeptionHandler ServiceChainingReqResp Description File to SOAP with $parms in File adapter and Location property in SOAP Service Show document merge using XSL variables 2 way WSIF invocation returning a string. Includes deploying Use OC4J/EM to protect ESB RS with WS-Security Use OC4J with EM and OWSM "server" agent and Policyt Mgr to protect ESB RS. File based authorization sending WS-Security headers to ESB RS Base adapter sample plus Header Filter and propogate Base adapter sample plus Header Filter and propogate Send email, cell phone notifications from Error Hospital Define custom actions for non transaction endpoint exception processing Req/resp using a WSIF class to orchestrate merged response from 2 outbound SOAP services Go to http://otn.oracle.com/goto/esb
Agenda <Insert Picture Here> Oracle ESB Oracle BPEL Oracle SOA BPEL + ESB
BPEL, The Orchestrator PORTAL Web Service Java Service J2EE? BPEL Database Stored Procedures ERP SAP, Oracle, etc. TOMCAT IU User Tasks
Core BPEL Patterns Client Initiate <receive> Initiate <receive> Client Start <receive> ProcessOrder <invoke> <flow> Release Flight <invoke> Book Flight <invoke>. Computer Store GetQuote <invoke> GetQuote <invoke> Travel Service OnOrderComplete <receive> Partner B </flow> Partner A Cancel Hotel <invoke> Reserve Hotel <invoke> Client End <invoke> End <invoke> Client End <reply> Hotel Service Chaining, Asynchrony Parallelism Exception Management and Compensation
BPEL PM: Orchestration Standards Standard markup language for composing a set of discrete services into an end-to-end process flow SalesDB start 10+ years of R&D from MSFT and IBM Rich Flow Semantics Duplicate Number! Optimized Bindings (not just Web services) Billing Transformation WS-Security WS-Addressing Router A Process is a Service end Features not in ESB highlighted in Red
BPEL PM: Key Features BPEL DESIGNER WSDL BINDINGS BPEL ENGINE BPEL CONSOLE MODELING CONNECTIVITY EXECUTION RUN-TIME MANAGEMENT Comprehensive BPEL 1.1 Visual Modeling Tool Native Java Embedding XML Facade XSLT Transformation Detailed error reporting Ant-based build and deployment framework Bindings/adapters to 300+ backend systems (JCA) JMS Bridge, MQ Series, TIBCO.NET, Axis, BEA, Systinet, interop User Tasks/Workflow Email with Attachment Comprehensive BPEL 1.1 Sync. Messaging Async. Messaging Context Dehydration Reliability Side-by-side versioning Compensating Transactions Clustering Large XML documents Visual Monitoring Auditing BPEL Debugging In-flight Administration Performance Tuninng Task Management Partitioning/Domains Rich unit test capability Versioning BPEL, XQuery, XSLT, WS-ADDRESSING Application Server (Oracle, WebLogic, WebSphere, JBoss) Features not in ESB highlighted in White
BPEL: Out-of-Box BAM Support BPEL Designer Supports BAM Sensor SDK
BPEL Business Rules Integration Out-of-box Design and Runtime support Rules enabled applications Rule Author facts Rules Application run-time logic results Engine RuleSession Class Rules repository Rules customizing application Rules SDK ESB Rules Integration requires custom WSIF
BPEL BPA Integration Shared Metadata Business Analyst Business Process Model Business Modeling Functional Analyst / Architect Logical Design Shared Metadata Technical Modeling Application/Integration Developer Physical Design ESB does not support BPA
BPEL PM: Loan Flow Demo PORTAL LOAN FLOW BPEL PROCESS receive getssn Oracle ebusiness Suite PORTAL United Load invoke receive getrating select Star Loan invoke receive 5-15 min Web Services Interface: XML, SOAP, WSDL, WSIF Credit Rating.NET Exception Task Async. Loan Providers review end Notification Service Leverages Core BPEL Orchestration Features
BPEL Source Example ESB is stateless and does not support variables <variable> <process> BPEL Flow start 10:00am Credit Rating <partnerlink> Get Rating Send Loan Application <invoke> <flow> Handle Negative Credit Exception Send Loan Application <faulthandlers> United Loan <invoke> Star Loan <partnerlink> Receive Loan Offer <receive> Receive Loan Offer <partnerlink> <switch> </flow>? Select Lowest Offer </process> end 03:00pm
BPEL Maturity and Broad Adoption Financial Services High Tech Telecom Government Transportation Travel Retail Order/Payment Processing New Account Provisioning Process Trade Exception Management Order Management Trading Partner Integration Cell Phone Activation VoIP Provisioning DSL Provisioning Medicare Eligibility Determination and Enrollment Satellite Data Exchange Publish and Process Forms Employee On-boarding Fleet and Asset Management Reservations Sales Data Integration BPEL has 1000 s of customers
Agenda <Insert Picture Here> Oracle ESB Oracle BPEL Oracle SOA BPEL + ESB
SOA Delivers Real Time Invoice & Order Processing COMPANY OVERVIEW Leading online global career network; Monster operates the world's #1 job search Web site and 5th most visited web site worldwide (10M visitors each week, 1 seeker each millisecond) $1 Billion Dollar per year company; Operates online career websites sites in 23 countries around the world CHALLENGES/OPPORTUNITIES Monster to provide collaboration between various international job sites Service reps need real time info to cross-sell and upsell to customers; by having real time info, service rep can act order activity while still fresh to the customer SOLUTIONS ESB and BPEL leveraged to create an order-to-invoice composite application spanning SEBL (CRM) and Oracle Financial application Real-time marketing emails: ESB delivers message to Unica application and Unica immediately sends e-mails based on business rules Business gateway: In an effort to re-architects Monster s B2B, electronic connection to customers for both web-based and file-based activity, Monster will leverage Fusion Middleware that is based on industry standard integration middleware platform RESULTS SOA based architecture allowed Monster to easily add the applications of new regions job sites, CRM, and ERP - without any significant efforts Integrated ESB exception handling into existing BPEL Workflow exception framework Automated process of generating invoices from orders in real time; accelerated order-to-cash process. Increased ability to cross-sell and up sell products to customers Pending customer approval Internal Use Only Dec 2006
Order Booking SOA Demo ESB on the edges Operational dashboard SHOPPING PORTAL ESB Order Booking BPEL PROCESS BAM receive Order DB Insert Order Rule Author Rules repository Rules Engine ESB Decision Service SelectMfr invoke receive getcustinfo Manual Review? Fulfill Order RapidMfr invoke receive 5-15 min Web Services Interface: XML, SOAP, WSDL, WSIF EJB 3.0 Customer service Approval (Rich Workflow) Product Suppliers FedEx USPS Notify Cust end Notification Service
BPEL Loan Flow with ESB Routing ESB outbound routing
ESB with BPEL Manual Task Approval BPEL in the Middle
ESB - BPEL Together Value Add ESB Delivers Increased Visibility Common design time service explorer ESB Shows end-to-end service and instance tracking diagrams Links instance data across component: BPEL to ESB and ESB to BPEL links ESB Provides Improved Service Deployment Topologies Service Virtualization/endpoint logical abstractions Dynamic configuration of routing rules Decoupled lifecycle mgt of processes, routing, transforms and adapters Runtime Optimizations BPEL BPEL BPEL and ESB use Java WSIF bindings when in the same container BPEL uses ESB deferred topic for cross container BPEL to BPEL use case ESB distributed deployment allows user to decouple memory/cpu resources Java JMS Java ESB
Oracle ESB BPEL Usage Table Requirement Usage Tool Decoupled Interfaces Adapters, service virtualization ESB Document Routing Header and Content based routing ESB Optimized for Speed Stateless. 2-5X faster depending on use case ESB Runtime Configurability ESB Control routing rules, adapter properties ESB Service Distribution JMS Async Routing Rules ESB Simplified Data Integration File 2 DB, JMS, SOAP etc ESB 1 Size Fits All Great multipurpose integration tool BPEL Complex Orchestration Stateful, Enrichment, sync async sync BPEL Integrated BAM Built-in instrumentation BPEL Integrated BPA New 10.1.3 analyst designer BPEL Integrated Rules New 10.1.3 designer and decision support BPEL Human Workflow New Manual task workflow support BPEL Product Maturity Many product references BPEL Always Remember to SELL THE SUITE!!!
Oracle SOA Suite Packaging Oracle SOA Suite Oracle Application Server Business Activity Monitoring BPEL Process Manager Web Services Manager Enterprise Service Bus Business Rules B2B JDeveloper Registry* Messaging J2EE Server Oracle SOA Suite for Non Oracle Middleware IBM, BEA, MSFT JBoss, etc. Business Activity Monitoring BPEL Process Manager Web Services Manager Business Rules B2B JDeveloper Registry Messaging J2EE Server Price is often a major decision point Enterprise Service Bus * Dev license only. Up to 50 services
Oracle SOA Links Oracle Internal Integration: http://ias.us.oracle.com BPEL: http://bpel.us.oracle.com ESB: http://esb.us.oracle.com/ Oracle External SOA OTN - http://otn.oracle.com/soa BPEL OTN - http://otn.oracle.com/bpel ESB OTN http://otn.oracle.com/goto/esb