1 / 56

SOA

SOA. Agenda. What is SOA ? Web Services BPEL Interoperability Performance. Phase III Messaging. MOM. Phase I Downsize. Client/Server DCE. History of Distributed Computing. Phase II Components. CORBA DCOM EJB. Issues with Existing Models. Proprietary protocols

katoka
Download Presentation

SOA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SOA

  2. Agenda • What is SOA ? • Web Services • BPEL • Interoperability • Performance

  3. Phase III Messaging • MOM Phase I Downsize • Client/Server • DCE History of Distributed Computing Phase II Components • CORBA • DCOM • EJB

  4. Issues with Existing Models • Proprietary protocols • Interoperability • Platform lock-in • Flexibility

  5. What is SOA? • IT architecture for request - reply applications • Application functions are modularized and presented as services • Services are loosely coupled • Service interface is independent of the implementation

  6. Services have platform independent, self describing interfaces (XML) Messages are formally defined Services can be discovered Services have quality of service characteristics defined in policies Services can be provided on any platform Characteristics of SOA Composable Interoperable Re-Usable SOA LooselyCoupled

  7. Application Screen Scrape Download Application Message File Application Screen Queue Application Scrape Sockets Transaction Screen Transaction File Scrape File Application Sockets CICS Gateway Download RPC ORB File APPC Application Message Application ORB Message Application Transaction Queue File Application Message Queue CICS Gateway Screen Transaction Scrape File APPC Download Message RPC Application File Why SOA? – The Cruel Reality Source: Gartner

  8. 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 Custom Order Application New Web Application Standard Interface Standard Interface Standard Interface New Supply Chain Management Application (Business Process or Composite Application) Standard Interface Standard Interface Standard Interface Siebel CRM Mainframe HR Application .NET Inventory Application

  9. Anatomy of a Service New Service Service Consumer Wrapped Legacy Interface Proxy Composite Service Service Interface Service Implementation

  10. Service Communication • Communicate with messages • No knowledge about partner • Likely heterogeneous ServiceConsumers Service Producers

  11. Service Platform Service Consumers Service Delivery Bus Service Reporting & Mgmt Service Rules & Config Change Control Service Interfaces and Service Implementations

  12. SOA – Based on Standards Web Service Distributed Management Web Service Choreography TPM, Mainframe, Legacy Sys Web Service Orchestration Web Service Coordination Web Service Transactions Web Service Security Applications Web Service Policy Web Service Reliable Messaging J2EE 1.4 SOA Tools App Dev Framework Databases WS-I Basic Profile SOAP, WSDL, UDDI J2EE Application Server (OracleAS 10g) B2B Partners

  13. Benefits of SOA • Better reuse • Build new client functionality on top of existing Business Services • Well defined interfaces • Make changes without affecting clients • Easier to maintain • Changes/Versions are not all-or-nothing • Better flexibility

  14. Agenda • What is SOA ? • Web Services • BPEL • Service Oriented Architecture and Oracle

  15. Services Communicate With Messages • Providing reliability and security to messages • Sending messages across consumers and producers • Service Orchestration ServiceConsumers Service Producers

  16. Basic Web Services WSDL Points to description UDDI Registry Points to service Finds Service Describes Service Web Service Client (J2EE, .NET,PL/SQL …) Web Service (J2EE, PL/SQL,.NET,C/C++,Legacy …) SOAP Invokes with XML Messages

  17. Service Interface Service Implementation WSDL Server Implementation Server Interface WSDL Two ApproachesTop Down Contract Driven And Bottom Up Bottom Up Top Down e.g. EJB/Java Class to WSDL e.g. WSDL contract as the interface & message description

  18. J2EE 1.4 Web Services Java APIsfor XML Description Java API for XML Parsing JAXP Java API for XML Data Binding JAXB Java API for XML Remote Procedure Call JAX-RPC SOAP API for Attachments in Java SAAJ Java API for XML Registries JAXR Stateless Session EJB Endpoint Model EJB 2.1 Web Services Deployment Model JSR 109

  19. Web Services Interoperability • Web Services Interoperability • Develops profiles • Suggests best practices • Provides testing tools • Runtime and tools uptake • Oracle JDeveloper analysis • OracleAS compliance

  20. D E M O N S T R A T I O N Publishing and Testing aJAX-RPC Web Service

  21. Business Process Integration SAP Mainframe FormulateFulfillmentOffer Check Inventory CanFulfill? Submit Order Transform Order/Customer Determine Discount SendResult to User Check Credit Formulate Rejection Portal Java Web App

  22. Coordinate asynchronous communication between services Correlate message exchanges between parties Implement parallel processing of activities Manipulate/transform data between partner interactions Support for long running business transactions and activities Provide consistent exception handling Building Business Processes How do I …

  23. Requirements for Processes • Process language • Business Process Execution Language • Process runtime environment • High performance execution of long running processes • Process monitoring and lifecycle management • Management environment • Process design time environment • Design time tools to visualize process development

  24. The BPEL Alternative Getting to Process Standards Build your own 1-off orchestration Traditional EAI • The BPEL Alternative • Rich metadata (XML Schema, WSDL) • Sophisticated binding framework (WSDL) • Internet scale connectivity • Support for both sync and async interactions (BPEL) • Sophisticated flow coordination (BPEL) • Advanced exception management (BPEL) • Extensible • Composable • Convergence of application development and integration ?

  25. BPEL Process Language Structure <process> <!– Definition and roles of process participants --><partnerLinks> ... </partnerLinks> <!- Data/state used within the process --> <variables> ... </variables> <!- Properties that enable conversations --> <correlationSets> ... </correlationSets> <!- Exception handling --> <faultHandlers> ... </faultHandlers> <!- Error recovery – undoing actions --> <compensationHandlers> ... </compensationHandlers> <!- Concurrent events with process itself --> <eventHandlers> ... </eventHandlers> </process>

  26. Primitive Activities <invoke> <receive> <assign> <reply> <throw> <terminate> <wait> Structured Activities <sequence> <switch> <pick> <flow> <link> <while> <scope> BPEL ActivitiesProcess Programming Language

  27. BPEL Flow <variable> 10:00am <process> start Discount Service Get Discount Handle Negative Credit Exception <invoke> <flow> <partnerLink> Send Credit Application Send Inventory Request Credit Service InventoryService <invoke> <receive> Receive Inventory Result Receive Credit Result <partnerLink> <partnerLink> </flow> ? Determine if Can Fulfill end 03:00pm </process> BPEL in Action <faultHandlers> <switch>

  28. Runtime Framework for BPEL • Enterprise-strength infrastructure for designing, deploying and managing BPEL business processes Easy-to-use modeling tool JDeveloper Operation-friendly deployment unit BPEL Designer Scalability, Fail-over BPEL DESIGN DEHYDRATE BPEL Server Built-in Integration Services WSDL Binding Web Service Oracle DB Unparalleled management User Tasks JMS XQuery XSLT BPELJ Flexible WSIF-based binding framework JCA Core BPEL Engine Email BPEL Console MANAGE J2EE Application Server (OracleAS 10g) Comprehensive BPEL 1.1 support Easy-to-install and deploy

  29. Visual XPATH editor Extensible WSIF binding framework UDDI and WSIL service browser One-click build and deploy Java embedding Email and JMS messaging services XSLT and XQuery transformation services User task manager and portal integration Sync and async messaging Context dehydration Advanced exception management Side-by-side versioning Large XML documents Visual monitoring Auditing BPEL debugging In-flight administration Performance tuning Partitioning/domains Next Level RequirementsUsing BPEL in Real Life

  30. D E M O N S T R A T I O N Building a Business Processusing Web Services

  31. Enterprise Web Services • Reliability • Guaranteed delivery • Security • Authentication, encryption and signing • Management • Deployment, configuration, monitoring

  32. Standards for Quality of Service • Web Services Reliability • OASIS standard August 2004 • Web Services Security • OASIS standard April 2004 • Web Services for Distributed Management • OASIS specification – release > 1 year • Expected next steps from standards • Interoperability for reliability and security

  33. Web Services Reliability Sender Receiver Application Layer Application Layer SOAP Node With Reliable Messaging Msg SOAP Node With Reliable Messaging Ack • At least once semantics • At most once semantics • Guaranteed message ordering • Exactly once semantics

  34. Sign Encrypt Add Auth Token Chck AuthToken Decrypt Check Signature CheckSignature Decrypt Chck AuthToken* Add AuthToken* Encrypt Sign Web Services Security Client Security Server Security SOAP Message SOAP Message JAX-RPC Service Endpoint JAX-RPC Client SOAP Message SOAP Message Transport HTTP, JMS • Authentication • User name/password token • X.509 token • SAML token • XML Digital Signatures • XML Encryption

  35. Web Services Management • J2EE 1.4 requires JMX for management • Web services managed like J2EE resources JMX Management Infrastructure (Mbeans, Agents) Web Service 1 Web Service 2 Web Service 3 Web Service n … WS-Security WS-Reliability WS Audit/Log JAX-RPC EJB Servlet/JSP Transactions Messaging Security JNDI Pooling Oracle Application Server – J2EE Container

  36. Baseline Management Characteristics Auditing, Logging, Reliability and WS-Security Monitoring andPerformanceAnalysis

  37. D E M O N S T R A T I O N Web Service SecurityReliability and Management

  38. TransactionsCoordinationChoreography WS-IBasicProfile 1.1 SOAPUDDIWSDL Interoperating Across the Web Services Standards Stack Addressing Policy Context Standards-BasedInteroperability SecurityReliabilityOrchestration

  39. Links to Specs Prescriptive and Reactive Approaches WS-I Profile • WS-I • Profiles • Best practices • Testing • SOAPBuilders • WSDL 1.1 • SOAP 1.1 • RPC/encoded, Doc/literal Conventionsand BestPractices

  40. Web Services Interoperability • Web Services Interoperability • Develops profiles • Suggests best practices • Provides testing tools • Runtime and tools uptake • Oracle JDeveloper analysis • OracleAS compliance

  41. Perceived Interoperability versus Real Interoperability • Perceived Interoperability • WS-I and SOAPBuilders conformance means you have higher likelihood of being interoperable. Does not guarantee interoperability • Real interoperability • Does your client work with my service. If it does, you have real interoperability.

  42. Ensuring Real Interoperability • Build your own test suite • Using different Web service kits • Client and servers • Supply your own clients • Java, C#, VB • Prescribe how to build your services • Demand WS-I conformance • Validate deployed Web services • Police your infrastructure

  43. Service Implementation Service Interface WSDL Server Interface Server Implementation WSDL Developing For Interoperability: Contract Driven And Bottom Up Bottom Up Top Down e.g. EJB/Java Class to WSDL e.g. WSDL contract as the interface & message description

  44. Real Interoperability Development – Top Down Design • Design the service contract first • Follow with service implementation • Follow with service client • End result • Less language dependencies • .NET Datasets; Java collections • Contract driven approach • Drives looser coupling

  45. Performance

  46. Web Services Performance Variables • Throughput • Throughput is the number of Web services requests, typically measured in bytes, handled in a given time period • Latency • Latency is the round-trip time between sending a request and receiving a response • Document Size and Complexity • Number of bytes and structural complexity of SOAP messages

  47. Achieving Desired Performance • Understand your requirements • Leverage scalable infrastructure • Streaming attachments • Assess alternatives

  48. Understand Your Requirements

  49. Reliability, Scalability and Availability • Web services typically live on top of an existing server infrastructure • J2EE servers have different RAS characteristics by vendor • J2EE 1.4 makes Web services a first class citizen of J2EE

  50. Infrastructure for RAS is Infrastructure for Web Services Resource Redistribution (Time of Day, Year) 1 Server 1 Workload Workload Scaling On Demand (Better Usage) Application Server Utilization Costs CPU Scaling On Demand (Less HW) Policy-Based Resource Mgmt (Across Multiple Workloads) Workload Re-Distribution on Failure (Session Migration)

More Related