350 likes | 491 Views
"SOA en BPEL" Is Service Orchestratie een overdraagbare aandoening? Sandor Nieuwenhuijs. No Application is an Island. Example: Modern Web Application. Application for the provisioning and activation of cell phone plans. Telco Activation Services. SMS Activation Manager.
E N D
"SOA en BPEL" Is Service Orchestratie een overdraagbare aandoening? Sandor Nieuwenhuijs
No Application is an Island Example: Modern Web Application Application for the provisioning and activation of cell phone plans Telco Activation Services SMS Activation Manager GPRS Activation Manager China Roaming Activation Manager Application Server Automatic Payment Approval New Plan Selection User Interface Service Not Available Exception ADF Orchestration Billing Services Payment Services Credit Card Payment Services
Orchestration Today Not enough metadata Not tool friendly Proprietary flow languages Rare skill sets, consulting Hard Wired/Code Rigid, difficult to change Incompatible Infrastructures Difficult to manage and scale Java + JCA + JMS + EAI = “Not Enough” Java Services (EJB) Messaging Destinations (JMS) Legacy Applications (JCA, adapters) Portal Java Platform ? User Tasks Web Services (Sync and Async) ADF Orchestration
SOA Oracle IBM Microsoft BEA Tibco SAP Sun
A Service… XML <rate> 5.6% </rate> Metadata GetCustomerInfo GetReport ListProducts Search CreditAccountProcessOrder Network Centric
…Can Be Asynchronous 10:05 Receive Order10:10 Processing …. 10:25 <risk>4</risk> WS-Addressing Correlation Callback Location Performance Reliability Business Time
…Can Be Secured WS-Security, SAML Signature Encryption Role and Access Control <Patient> Disease A </Patient>
…Can Offer Optimized Bindings WSDL HTTP .NET, Axis Service INTERFACE BINDING RMI Java Service BINDING Database Stored Procedures JDBC BINDING JCA ERP
Web Service PORTAL Java Service Database Stored Procedures J2EE ERP SAP, Oracle, etc. BPEL User Tasks IU TOMCAT BPEL, The Orchestrator ?
What is BPEL? 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 • SOAP but also Java, JCA • Rich Flow Semantics • Optimized Bindings • XPATH+XSLT+XQuery • WS-Security • A Process is a Service Duplicate Number! Billing Router end
BPEL by Example (1) <sequence> Example: Chaining Start <receive> Client GetAccount <invoke> Customer App mapping ListIncidents <invoke> Support DB End <reply> Client </sequence>
BPEL by Example (2) Example: Asynchrony Initiate <receive> Client ProcessOrder <invoke> …. Computer Store OnOrderComplete <receive> End <invoke> Client
BPEL by Example (3) Example: Parallelism Initiate <receive> <flow> GetQuote <invoke> GetQuote <invoke> Partner B Partner A </flow> End <invoke>
BPEL by Example (4) Start <receive> Client Example: Exception Management and Compensation Release Flight <invoke> Book Flight <invoke> Travel Service Cancel Hotel <invoke> Reserve Hotel <invoke> Hotel Service End <reply> Client
BPEL by Example (5) Example: WSIF and Java Binding Start <receive> … GetRating <invoke> RMI … Rating SessionBean End <reply>
BPEL by Example (6) Example: A Process Is A Service Client Java Web App BPELC# Initiate <receive> ProcessOrder <invoke> …. OnOrderComplete <receive> End <invoke>
The Buzz Gartner believes that BPEL will emerge as the leading industry standard for Web service orchestration and coordination of business processes. - David Smith, Research Vice President and fellow, Gartner “ ” “ BPEL is the future of the integration space. - John Rymer, Vice President, Forrester Research, Inc. ”
BPEL Methodology Expose Services Flow Transformation Exception User Tasks Change Unit Test Monitor Sensors Audit Perf Test
The Top Down Perspective Notation LayerBPMN or UML Business Analyst Activity Activity Activity Executable LayerXML, XQuery, BPEL, Rules Integration Developer receive assign assign invoke Business ServicesAdapters, Java, Struts, JSF Service Developer Existing Systems JAVA DATABASE PACKAGED APPLICATIONS MAINFRAME
Oracle BPEL Process Manager For OracleAS, WebLogic, WebSphere and JBoss
Oracle BPEL Process Manager Event Correlation, Analytics, Dashboards, Alerts BAM • BPEL PM • Orchestration • Transformation • Auditing BPEL Designer XSLT Mapper BPEL Console BPEL Server Application Server Security, Management WS Gateway • Service Adapters • WSIF/JCA Framework • 200+ Back Ends • Rich Metadata User Tasks Mainframe Packaged Apps EJBs Database
Eclipse BPEL Designer KEY FEATURES • Native BPEL Support • Drag-and-drop process modeler • UDDI and WSIL service browser • Visual XSLT mapper • Visual XPATH editor • Visual Assign editor • One-click build and deploy
Preview JDeveloper BPEL Designer KEY FEATURES • Native BPEL Support • Drag-and-drop process modeler • UDDI and WSIL service browser • Visual XSLT mapper • Visual XPATH editor • Visual Assign editor • One-click build and deploy
Preview XSLT Mapper KEY FEATURES • Drag-and-drop Interface • Built-in Library of Functions • Support for Lists and Iterations • Auto-mapping • Version Resiliency
Preview Service Adapters KEY FEATURES • WSIF + JCA + XML • Rich Metadata • Requests and Events • Optimized Bindings • 200+ Systems • Fail Over Management
Preview Workflow Service KEY FEATURES • Routing • Roles • Attachments and Version Control • Built-in Approval Patterns • Simple Form Framework • Email and Wireless Notification • Built-in Worklist Application
BPEL Server KEY FEATURES • Plug and Play • Cross Platform • Massively Scalable BPEL BPEL Process Manager Built-in Integration Services WSDL Binding Web Service JMS User Tasks XQuery XSLT BPELJ JCA Oracle DB Oracle Database Database Core BPEL Engine Email BPEL Console MANAGE J2EE Application Server (WebLogic, Oracle AS, JBoss, WebSphere)
LOAD BALANCER Need for Performance Write-through Cache BPEL Server BPEL-Optimized SOAP Stack App. Server • Compact Binary DOM • Lazy Loading • Smart Partitioning • W3C DOM Interface • Support for Large Documents BPEL Server App. Server Dehydration Store (Oracle Database) BPEL Server • Stateless Architecture • Clustering • Fail Over Support for large BPEL Processes (20,000+ activities) App. Server
Need for Scalability KEY FEATURES • Scale on demand • No code change • Easy-to-manage • Intel+Linux Friendly
BPEL Console KEY FEATURES • Visual Monitoring • Auditing • BPEL Debugging • In-flight Instance Administration • Performance Tuning • Partitioning/Domains
Service Adapters .NET, Axis Web Services KEY FEATURES WSDL • 100% Standard • Rich Metadata • Requests and Events • Optimized Bindings • XSLT, Auto-Mapping • 200+ Systems • Fail Over Management Java, JCA Components WSDL Database WSDL Oracle eBusiness Suite WSDL Files WSDL JMS Queue or Topic WSDL 200+ iWay Adapters WSDL BPEL XML,WSIF,JCA
BAM Friendly KEY FEATURES • Event Capture • Correlation • Metrics and KPI • Real-time Dashboards • Alerts
ESA - Satellite Imaging Services • The Challenge • Provision satellite-imaging services over the Internet • Data from over 30 geospatial partners and resources • Large data sets with complex schemas • The Solution • Provision, chain, and deliver information via web services and Oracle BPEL PM • Why Oracle BPEL Process Manager • Native BPEL, 100% standards compliant
BPEL PM Performance Numbers Oracle 9i BPEL PM Pentium 4, 2.8Ghz, 1GB RAM Numbers for the European Space Agency Order Processing BPEL Process