| | h1. Overview of SOA Feature Pack for WAS 6.1 |
| | |
| | At [WebSphere Technical Exchange 2006], Rajeev Gandhi-\-a member of WebSphere Customer Programs-\-spoke about the IBM WebSphere Application Server V6.1 Feature Pack for SOA, one of the [WebSphere Software Early Programs], which is being developed using [Apache Tuscany]. |
| | |
| | | Also, for some of the overall themes of the talk, see [Evolution of SCA, WAS, and WPS]. |
| | |
| | This information is current as of November 3, 2006. |
| | \\ |
| | \\ |
| | h2. Background |
| | |
| | SCA and SDO |
| | * Programming model for SOA |
| | * First released by IBM Sept. 2005 |
| | * Open SOA (OSOA) organization standardizing |
| | * Apache Tuscany open source project |
| | |
| | SCA/SDO in WPS/WESB -> OSOA/Apache Tuscany -> WAS 6.1 |
| | * In WAS 6.1, SCA/SDO will be in two parts |
| | ## Apache Tuscany |
| | ## IBM propriatary enhancements |
| | |
| | Industry participation |
| | * OSOA has lots of vendors (osoa.org) |
| | * Apache Tuscany has lots of contributors |
| | |
| | h2. Overview and Benefits |
| | |
| | What is a ? |
| | * Service |
| | * Service orientation |
| | * SOA |
| | * Composite application |
| | |
| | Current programming model (J2EE) |
| | * Data |
| | * Composition |
| | * Invocation |
| | * Lots of choices: EJB, JMS, JCA, BPEL |
| | |
| | SOA programming model |
| | * Data: SDO |
| | * Composition: SCA, BPEL |
| | ** BPEL is not part of the feature pack |
| | * Invocation: SOA via SCA |
| | * Much simpler programming model |
| | |
| | SOA Feature Pack |
| | * SCA 1.0 impl |
| | * SDO 2.1 impl |
| | * Relational DAS impl |
| | |
| | SCA Overview |
| | * Component model |
| | * Lots of ways to implement components |
| | * Lots of ways to access components |
| | * SCA Assembly Model defines the config on an SCA |
| | |
| | SDO Overview |
| | * Common data model abstraction |
| | * Supports different data sources (via DASs) |
| | * Unified CRUD functions |
| | * Access to disconnected data |
| | * Tracking of changes to data |
| | |
| | Relational Data Access Service (DAS) |
| | * DAS: Adapter to populate SDO data graphs from data sources |
| | * RDAS: Data source is relational (JDBC?) databases |
| | |
| | Benefits |
| | * Improved flexibility |
| | * Increased programmer produtivity |
| | |
| | h2. SCA Application Model and Assembly |
| | |
| | SCA Model Concepts |
| | * Design time assembly |
| | * Deployment time assembly |
| | |
| | Service Assembly Model |
| | * Assembles tightly coupled code (Composites) |
| | * Assembles loosely coupled services (Systems) |
| | |
| | SCA Component |
| | * Name |
| | * Services (WPS interfaces/export) |
| | * References (WPS imports) |
| | * Properties |
| | * Implementation |
| | * OSOA/Tuscany is similar to WPS, but not exactly the same |
| | |
| | Service Composite |
| | * Similar to a WPS module |
| | * Component that contains other components |
| | ** No tooling (like WID) in Tuscany |
| | * Q: Does the feature pack support mediations? No. |
| | * Q: Does this replace WSIF? Yes, tackles what WSIF was designed for. |
| | |
| | Component Implementation |
| | * Implements the functionality of the provider |
| | * Component Type |
| | ** Configurable aspects of an implementation |
| | ** Services, references, and properties |
| | * C/C++, Java, Cobol, PHP, EJB, BPEL, SQL/XQuery, etc. |
| | |
| | Component and Component Types |
| | * Type is the configurable aspects of an implementation |
| | * Two approaches |
| | ## Introspect the implementation |
| | ## Look for component type file |
| | ** Introspection is preferable |
| | |
| | Composite Service |
| | * Service interface for a component/composite |
| | ** Interface |
| | *** Minimum: WSDL port type |
| | *** Optional: Java |
| | ** Bindings |
| | *** Minimum: SCA and Web services |
| | *** Optional: JMS, SLSB |
| | |
| | Composite Reference |
| | * Same interface and binding options |
| | |
| | Wires |
| | * Connect the source to target within a composite |
| | * Source/target can be composite or component |
| | |
| | Composite Properties |
| | * Specified in the composite (not the component?) |
| | * Properties and their types are defined by the implementation |
| | ** Exposed as part of the composite's interface |
| | |
| | Bindings |
| | * Bindings describe the access mechanism of the composite service and reference |
| | * Binding specified through binding child elements within the composite service or reference |
| | |
| | Interfaces |
| | * Components, services, and references are defined by interfaces |
| | ** Defines operations and parameters |
| | * Java and WSDL, for ex, can be wired together |
| | ** Runtime converts between the two |
| | |
| | Composite Inclusion |
| | * Team development of a composite |
| | * Multiple physical files |
| | * Inlines other composites into one |
| | |
| | SCA System |
| | * The composite runtime assembly |
| | * Built from the set of composite files |
| | ** No single file representing the SCA system |
| | |
| | Deployment in WebSphere |
| | * WAS 6.1 SOA FP |
| | ** SCA components go in a WAR file |
| | ** WAR file or JAR file |
| | *** App server will change to enable deployment of non-EAR JAR files (at least SCA JARs) |
| | *** BLA: Business Level Application |
| | * Q: SCA tooling from IBM? Will be added to ASTK; will work like WID. |
| | |
| | h2. SCA Application Example |
| | |
| | Bigbank |
| | * SCA app provides total value of the stock portfolio |
| | * One composite, two components |
| | # Account service |
| | # Account data service |
| | * Code-\-Composite file-\-is XML format, edited in Notepad (for now) |
| | ** <property> |
| | ** <component> (account service) |
| | ** <component> (account data service) |
| | ** <service> |
| | ** <reference> |
| | |
| | h2. SCA Model for Java |
| | |
| | SCA Java Implementation Model |
| | * Annotations |
| | ** @Service(AccountService.class) (class) |
| | ** @Property (instance variable -- String) |
| | ** @Reference (instance variable -- StockQuoteService) |
| | ** @Reference (instance variable -- AccountDataService) |
| | |
| | h2. SCA Client Model for Java |
| | |
| | Asynchronous calls |
| | * @Callback annotation (instance variable -- MyServiceCallback) |
| | |
| | h2. Quality of Service |
| | |
| | QoS |
| | * Security |
| | * Transaction |
| | * Relaible messaging |
| | |
| | Two types of QoS |
| | # Services and references (to/from non-SCA) |
| | # Components and implementations (within a composite) |
| | |
| | h2. SDO Basics |
| | |
| | All parameters and return types are SDOs |
| | |
| | That was the end of the talk. |