Next Generation SOA Development Bill Jones Oracle Corporation bill.jones@oracle.com Bill Jones Next Generation of SOA Development Page 1
Agenda SOA and Web Services Primitive Services Composite Services Service Component Architecture SOA Platform Conclusions Bill Jones Next Generation of SOA Development Page 2
Agenda SOA and Web Services Primitive Services Composite Services Service Component Architecture SOA Platform Conclusions Bill Jones Next Generation of SOA Development Page 3
Service Oriented Architecture Service model for business functions Characteristics Flexibility Autonomous services are highly reusable Non predictive patterns of use Productivity High level of abstraction Comprehension Well-understood system architecture and behavior Bill Jones Next Generation of SOA Development Page 4
Why SOA? The Cruel Reality Screen Scrape Application Application Message Queue Download File Application Application Screen Scrape ORB Download File Application Application Sockets Message CICS Gateway Transaction File Transaction File Message Queue Application Screen Scrape Sockets Application Message Screen Scrape APPC Transaction File CICS Gateway Transaction File Download File RPC Application APPC Application ORB Message Queue RPC Bill Jones Next Generation of SOA Development Page 5
Why SOA? Respond to business changes Address new needs with existing applications Unlock existing application investments Support new channels & complex interactions Support organic business Oracle Financials Standard Interface Custom Order Application Standard Interface New Web Application Standard Interface New Supply Chain Management Application (Business Process or Composite Application) Standard Interface Siebel CRM Standard Interface Mainframe HR Application Standard Interface.NET Inventory Application Bill Jones Next Generation of SOA Development Page 6
Web Services Basic Technologies Described in WSDL Accessed with SOAP Web services emphasize loosely coupled systems that exchange self-contained messages Business functions are modeled as networked services Explicit failure modes Leverage the ubiquitous protocols of the Web Easy interconnectivity Bill Jones Next Generation of SOA Development Page 7
Web Services and SOA SOA the goal, Web services an enabling technology Transparent XML payloads Coarse grained business functions SOAP/WSDL easily abused Externalizing object models problematic Not only Web services Heterogeneity the norm One model, multiple protocols WS* overload unhelpful Bill Jones Next Generation of SOA Development Page 8
Canonical Business Documents XML type definitions Broadly understood Shared types Clear business semantics: accessible to business analysts Services exchange business documents through meaningful contracts Bill Jones Next Generation of SOA Development Page 9
Transforming Business Processes and Interactions Today Hardcoded inside applications Mainly sequential Silo-ed (divisional and functional) One-size fit all Tactical point-to-point integration Black boxes? Tomorrow Mainly parallel Boundary-less Wired through events Modular Continuously optimized Highly personalized Continuously audited Your Business is Only as Flexible as Your Technology Bill Jones Next Generation of SOA Development Page 10
SOA (and EDA) Is Emerging as the Enabling Platform Functional Analyst Data Integration Business Process Optimization SOA Platform Real-time Analytics Requirements Business Savvy Developer Façade/Leverage Existing Core IT Build-to-change End-to-end Security Management and Monitoring Composites SAP Oracle TOMAX Mainframe Outsourced Java.NET Why Now? Network Infrastructure is in place Standards (XML, WSDL, WS-*) Domain Specific Languages (BPEL, XSLT, Rules, BAML, CEPQ ) Support from Packaged Applications Developers Core IT Bill Jones Next Generation of SOA Development Page 11
Agenda SOA and Web Services Primitive Services Composite Services Service Component Architecture SOA Platform Conclusions Bill Jones Next Generation of SOA Development Page 12
Primitive Services Basic building blocks Adapters Tie legacy system into SOA Support transformation/translation Java Connector Architecture baseline for J2EE Java/C# Service Enablement of existing components Bill Jones Next Generation of SOA Development Page 13
Business Logic Model Model EJB 3, JPA Spring, JPA Bill Jones Next Generation of SOA Development Page 14
Persistence Services O-R & O-XML Structured Data Unstructured Data O-R O-XML Bill Jones Next Generation of SOA Development Page 15
Agenda SOA and Web Services Primitive Services Composite Services Service Component Architecture SOA Platform Conclusions Bill Jones Next Generation of SOA Development Page 16
Composite Services BPM model driven by business analysts BPEL development Visual construction of process flow Heavy emphasis on XML manipulation Interactions described by SCA metadata BPEL eases development burden dramatically Ideal for asynchrony Automated state management Bill Jones Next Generation of SOA Development Page 17
Composite Services Human Workflow Business Rules Outliner Full BPA Studio Shared Model Sub Process Automated Activity Notification Business Event Bill Jones Next Generation of SOA Development Page 18
ESB in a Nutshell UDDI Registry MDS Loan Process APR Rule Enterprise Service Bus HTTP SOAP.NET Payment Calculator JMS SOAP Manager Review Task HTTP REST EBS Customer View In Memory Core Features Rich Set of Adapters (technology and applications) Transformation Reliable Message Delivery Content-based Routing Publish and Subscribe Service URL Virtualization Value-Added Features Request/Response and Event Driven Interactions Multi Transport Rich Monitoring Console Native XML and Web Service Support Metadata Repository UDDI Repository Externalized Process Flows Real Time Activity Monitoring Bill Jones Next Generation of SOA Development Page 19
Agenda SOA and Web Services Primitive Services Composite Services Service Component Architecture SOA Platform Conclusions Bill Jones Next Generation of SOA Development Page 20
SCA in a Nutshell SCA models the A in SOA for systems composed of reusable services model for service-based system: service construction service assembly deployment Heterogeneity supports components from multiple languages multiple container technologies multiple service access methods 0.9 Level specification published in November 2005 Bill Jones Next Generation of SOA Development Page 21
SCA High Level Points Unified declarative model describing service assemblies dependency resolution and configuration declarative policies for infrastructure services Security, Transactions, Reliable messaging Business-level model for implementing services service components with service interfaces Binding model for multiple access methods WSDL, SOAP over HTTP but also: JMS TM /messaging, Java TM RMI/IIOP Java TM interfaces are good, as are WSDL porttypes Bill Jones Next Generation of SOA Development Page 22
Service Assembly Model Unified, language-independent way to expose implementations as services Java TM, BPEL, PHP, other languages (including.net) Technology independent modelling and composition of service networks Service dependencies Resolution through wiring Facilities for dynamic service configuration Properties / Protocols / Qualities of service Profiles Design time and deployment time configuration Bill Jones Next Generation of SOA Development Page 23
Assembly Model Concepts Design Time Assembly Composite Implementation Component Service Reference Wire Bill Jones Next Generation of SOA Development Page 24
Service Assembly Model Model for assembling tightly coupled code (Composites) Model for assembling loosely coupled services (Systems) System Composite Composite External Web Service Bill Jones Next Generation of SOA Development Page 25
Composite Bill Jones Next Generation of SOA Development Page 26
SCA Composite Example <?xml version="1.0" encoding="ascii"?> <composite xmlns="http://www.osoa.org/xmlns/sca/0.9" name="bigbank.accountcomposite" > <service name="accountservice"> <interface.bpel process="accountservice"/> <binding.ws port="http://www.bigbank.com/accountservice# wsdl.endpoint(accountservice/accountservicesoap)"/> <reference>accountservicecomponent</reference> </service> <component name="accountservicecomponent"> <implementation.java class="services.account.accountserviceimpl"/> <property name= currency >EURO</property> <reference name="accountdataservice" target="accountdataservicecomponent"/> <reference name="stockquoteservice" target="stockquoteservice"/> </component> <component name="accountdataservicecomponent"> <implementation.java class="services.accountdata.accountdataserviceimpl"/> </component> <reference name="stockquoteservice"> <interface.java interface="services.stockquote.stockquoteservice"/> <binding.ws port="http://www.quickstockquote.com/stockquoteservice# wsdl.endpoint(stockquoteservice/stockquoteservicesoap)"/> </reference> </composite> Bill Jones Next Generation of SOA Development Page 27
Agenda SOA and Web Services Primitive Services Composite Services Service Component Architecture SOA Platform Conclusions Bill Jones Next Generation of SOA Development Page 28
Architecture Goals SOA Technology Requirements Evolving Service Integration to Orchestration to Composite Assemblies Enable more adaptive enterprise applications Through more extensible business processes Simplify integration between enterprise applications Through declarative, metadata-based design & customization Bill Jones Next Generation of SOA Development Page 29
All SOA Platforms Are NOT Equal BPA sec Tool Portal Process Engine Tool Human Workflow sec sec Tool Lipstick on a Pig (proprietary) Hot-pluggable or Not Monolithic versus Modular Slew of disjoint tools Silo-ed Security Breath of Lifecycle Support Metadata Repository Strategy sec Message Bus ESB new Tool Adapters Bill Jones Next Generation of SOA Development Page 30
SOA Evolution Publish Services Integrate Services Orchestrate Flows Assemble Composites rules BI BAM BPEL BPEL Service Bus Service Bus Service Bus Packaged Applications Java.NET Mainframe A B A B C A B C XML, WSDL XSLT, WS-Policy BPEL SCA Bill Jones Next Generation of SOA Development Page 31
Adaptive Business Applications UI Layer Service Layer Data Layer ADF BC EJB3 JAX- WS JSF Page BI BAM JSF Page BPEL rules ESB A C Bill Jones Next Generation of SOA Development Page 32
The SOA Platform Packaged Solutions Business Editor Portal Web 2.0 Office Mobile IDE Metadata Process Human Task Business Rule Business Event CEPQ BAM SLA Monitoring Management SCA Framework Analytics Service Registry Modular and Extensible Enterprise Service Bus Security 300+ Application Adapters B2B Java.NET Web Services Data Hubs Bill Jones Next Generation of SOA Development Page 33
Service Fabric SCA, ESB, Micro Kernel Loan Service Provider Approval Rule Routing Transforms Business Rules Service Engines Pluggable HTTP SOAP HTTP REST JMS SOAP Bill Jones Next Generation of SOA Development Page 34
Service Orchestration BPEL & Workflow Loan Service Provider Financials GL Process Manager Approval Routing BPEL Workflow HTTP SOAP HTTP REST JMS SOAP Bill Jones Next Generation of SOA Development Page 35
Business Events Subscribe Why? Integration Points between Business Activities Order Capture Process Raise New Order Event Order Fulfillmen t Process CEPQ Foundation of Real-Time Analytics Higher Affinity with Business Modeling High Demand Alert Raise Stock Forecast er What is Needed? Event Definition Language CEP Query Language Event Extensions to SCA BAM Dashboard Bill Jones Next Generation of SOA Development Page 36
Policy Enforcement SCA Composite Loan Process APR Rule Manager Review Task EBS Customer View Monthly Activation BPEL Business Rules BAM Human Task CEPQ Scheduler UDDI Service/Event Delivery API Meta Data Policy Enforcement Point HTTP SOAP SDO ADF/BC JCA Adapters.NET Payment Calculator Bill Jones Next Generation of SOA Development Page 37
Policy Management Bill Jones Next Generation of SOA Development Page 38
Service Security WS-Security, WS-Trust, SAML Loan Service Provider Security Monitoring Authenticate Access Control Intrusion Detection Identity Management Encryption Decryption Signature Verification HTTP SOAP HTTP REST JMS SOAP Bill Jones Next Generation of SOA Development Page 39
Loan Service Provider Service Management WS-Policy, Web Services Management QOS Policy Failover Policy Security Policy HTTP SOAP HTTP REST JMS SOAP Bill Jones Next Generation of SOA Development Page 40
Bill Jones Next Generation of SOA Development Page 41
BPEL PM with Business Rules BPEL Process Manager and Rules together enable agile and adaptive business processes Key benefits: Complementary technologies BPEL for orchestration of services, systems, people & partners Rules focus on decision making and policies Declarative specification of constantly changing business policies and regulations Enables business users to participate in business processes Centralized policy management across the organization Bill Jones Next Generation of SOA Development Page 42
BPEL + Rules PORTAL LOAN FLOW BPEL PROCESS Loan Advisor Rules receive getphone Rules Engine Rule Author Rules Engine Decision Service getrating Decision Service Auto Loan Credit Rating Rules PORTAL invoke receive select review end 5-15 min Web Services Interface: XML, SOAP, WSDL, WSIF invoke Approval Task Worklist Application Bill Jones Next Generation of SOA Development Page 43
SOA Platform IDE Bill Jones Next Generation of SOA Development Page 44
Agenda SOA and Web Services Primitive Services Composite Services Service Component Architecture SOA Platform Conclusions Bill Jones Next Generation of SOA Development Page 46
Conclusions SOA marks transition to higher level of abstraction for System language programmers Business process developers IT Administrators Challenges Policy in a heterogeneous world Trend toward simplicity despite multiple technologies Bill Jones Next Generation of SOA Development Page 47
Q & A Q U E S T I O N S A N S W E R S Bill Jones Next Generation of SOA Development Page 48