An Introduction to SCA & SDO: How to Build Business applications Jeff Mischkinsky Director, Oracle Fusion Middleware and Web Services Standards OSOA Collaboration | 30th May 2007 Introduction to SCA and SDO Agenda SOA -The Business Drivers The SOA Vision - Model and Characteristics SCA/SDO - An Overview SCA - Details and Example Summary OSOA Collaboration SOA - The Business Drivers OSOA Collaboration | 30th May 2007 Introduction to SCA and SDO Business Drivers Flexible business requires flexible IT Traditional Business* Economics: globalization demands greater flexibility Global supply chain integration Business processes: daily changes vs. yearly changes Growth through flexibility is at the top of the CEO agenda Reusable assets can cut costs by up to 20% Crucial for flexibility and becoming an On Demand Business Today’s World-Class Business* *Sources: CBDi OSOA Collaboration Introduction to SCA and SDO What We have Today Complexity Rigid, brittle architectures Inability to evolve OSOA Collaboration Introduction to SCA and SDO What we want to get to + • Well-defined interfaces with business-level semantics • Standardized communication protocols • Flexible recombination of services to enhance software flexibility Service-Oriented Architecture is one of the key technologies to enable flexibility and reduce complexity OSOA Collaboration The SOA Vision: Model and Characteristics OSOA Collaboration | 30th May 2007 Introduction to SCA and SDO Service Oriented Architecture Characteristics Service model for business functions ¾ Services are coarse-grained and network-facing Characteristics ¾ Flexibility • Autonomous services are highly reusable Non predictive patterns of use ¾ Productivity • High level of abstraction ¾ Comprehension • Well-understood system architecture and behavior OSOA Collaboration Introduction to SCA and SDO The SOA Programming Model (1) SOA Programming Model derives from the basic concept of a service: • A service is an abstraction that encapsulates a software function. ¾ Developers build services, use services and develop solutions that aggregate services. • Composition of services into integrated solutions is a key activity OSOA Collaboration Introduction to SCA and SDO The SOA Programming Model (2) Core Elements: ¾ Service Assembly technology- and language- independent representation of composition of services ¾ Service Components technology- and language-independent representation of composable service implementation ¾ Service Data Objects technology- and language-Independent representation of service data entity OSOA Collaboration SCA/SDO: An Overview OSOA Collaboration | 30th May 2007 Introduction to SCA and SDO Service Component Architecture (SCA): A Simplified Programming/Deployment Model for SOA A model for building components, assembling them into applications, and deploying them to various runtime environments ¾ Components can be built from new or existing code using SOA principles ¾ vendor-neutral – supported across the industry ¾ language-neutral – components written using any language ¾ technology-neutral – use any communication protocols and infrastructure to link components OSOA Collaboration Introduction to SCA and SDO What is SCA? executable model for assembly of service components into business solutions simplified component programming model for implementation of services: • Business services implemented in any of a variety of technologies e.g. EJBs, Java POJOs, BPEL process, COBOL, C++, PHP … OSOA Collaboration Introduction to SCA and SDO SCA: What is it NOT Does not model individual workflows ¾ use BPEL or other workflow languages Is not Web services ¾ SCA can use / may use Web services, but can also build solutions with no Web services content Is not tied to a specific runtime environment ¾ distributed, hetergeneous, large, small Does not force use of specific programming languages and technologies ¾ aims to encompass many languages, technologies OSOA Collaboration Introduction to SCA and SDO Key benefits of SCA Loose Coupling: Components integrate without needing to know how other components are implemented Flexibility: Components can easily be replaced by other components Services can be easily invoked either synchronously or asynchronously Composition of solutions: clearly described Productivity: Easier to integrate components to form composite application Heterogeneity: ¾ multiple implementation languages / different frameworks ¾ multiple communication mechanisms Declarative application of infrastructure services ¾ WSDL is the contract language Simplification of development experience for all developers, integrators and application deployers OSOA Collaboration Introduction to SCA and SDO SCA – High Level View 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 ¾ no technical APIs like JDBCTM, JCATM, JMSTM, … Binding model for multiple access methods and infrastructure services ¾ WSDL, SOAP over HTTP, JMSTM/messaging, JavaTM RMI/IIOP… Interaction Model for connected and disconnected services ¾ Synchronous, Asynchronous and Conversational services relationships OSOA Collaboration Introduction to SCA and SDO Service Data Objects (SDO): Simplified Data Handling for SOA A simplified programming model for access to business data ¾ Uniform model for data formats ¾ Uniform model for data access Independent of form of data (source and target) ¾ Data stored in wide variety of formats ¾ RDBMS ¾ XML formats ¾ Unstructured Interaction style designed for SOA ¾ Disconnected, optimistic-update policy • Read, manipulate, update OSOA Collaboration SCA: Details and Example OSOA Collaboration | 30th May 2007 Introduction to SCA and SDO SCA Elements Assembly Model ¾ how to define structure of composite applications Client & Implementation specifications ¾ how to write business services in particular languages ¾ Java, C++, BPEL, PHP…. Binding specifications ¾ how to use access methods ¾ Web services, JMS, RMI-IIOP, REST… Policy Framework ¾ how to add infrastructure services to solutions ¾ Security, Transactions, Reliable messaging… OSOA Collaboration Introduction to SCA and SDO Basic Assembly Elements Component ¾ configured instance of implementation ¾ provides and consumes services ¾ sets implementation properties Composite ¾ ¾ ¾ ¾ combines collections of components wires references to services selects bindings, endpoints applies policies OSOA Collaboration Introduction to SCA and SDO SCA Bindings Specific to particular: ¾ Access Method / Protocol / Transport ¾ Serialization ¾ Framework Apply to services and references Typically added during deployment Currently defined bindings: ¾ Web services binding ¾ JMS binding ¾ JCA binding ¾ EJB (RMI-IIOP) binding OSOA Collaboration Introduction to SCA and SDO SCA Client and Implementation Specifications Specify how service components and service clients are built Specific to a particular language or framework or language- or framework-specific APIs Extensible Currently defined C&I specifications: ¾ BPEL ¾ Java ¾ Spring Framework ¾ EJB ¾ JAX-WS ¾ C++ ¾ (PHP) OSOA Collaboration Introduction to SCA and SDO SCA Policies and Infrastructure Capabilities Infrastructure has many configurable capabilities ¾ Security: Authentication and Authorization ¾ Security: Privacy, Encryption, Non-Repudiation ¾ Transactions, Reliable messaging, etc. ¾ Complex sets of configurations across multiple domains of concern SCA abstracts out complexity with a declarative model ¾ no implementation code impact ¾ simplify usage via declarative policy intents ¾ simple to apply, modify ¾ complex details held in PolicySets OSOA Collaboration Introduction to SCA and SDO SCA Policy Framework Framework consists of: ¾ SCA policy intent • Each represent a single abstract QoS intent • E.g. reliable messaging ¾ SCA policy sets • Represent a collection of concrete policies to realize an abstract QoS intent ¾ WS-Policy • A syntax for concrete policies in policy sets • others possible… OSOA Collaboration Introduction to SCA and SDO SCA Composite Service - Java interface - WSDL PortType Reference - Java interface - WSDL PortType Properties Composite A Property setting Component A Service Promote Binding Web Service SCA JCA JMS SLSB … OSOA Collaboration Component B Wire Implementation - Java - BPEL - C++ - PHP - Composite … Reference Promote Binding Web Service SCA JCA JMS SLSB … Introduction to SCA and SDO Example Composite bigbank.accountcomposite Reference StockQuote Service Service AccountService AccountService Component AccountData Service Component OSOA Collaboration Introduction to SCA and SDO Example SCA Assembly AccountsComposite Payment Service Order Processing Service OrderProcessing Component Payments Component Accounts Ledger Component EventLog Component External Warehouse Reference WarehouseComposite Warehouse Service Warehouse Broker Component Warehouse Component EventLog Reference OSOA Collaboration External Banking Reference Summary OSOA Collaboration | 30th May 2007 Introduction to SCA and SDO Summary Fundamental Service Oriented Architecture value prop ¾ less expensive integration, more flexibility SCA models systems built using a SOA ¾ SDO provides the ideal data manipulation layer SCA is key enabler for SOA ¾ Maybe “THE” key enabler OSOA Collaboration Thank you! Questions? OSOA Collaboration | 30th May 2007
© Copyright 2024