IBM®
Skip to main content
    Country/region [select]      Terms of use
 
 
    
     Home      Products      Services & solutions      Support & downloads      My account     
 
developerworks > My developerWorks >  Dashboard > Bobby Woolf: WebSphere SOA and J2EE in Practice > ... > WebSphere Technical Exchange 2006 > Overview of SOA Feature Pack for WAS 6.1
developerWorks
Log In   View a printable version of the current page.
Overview Connect Spaces Forums Wikis
Overview of SOA Feature Pack for WAS 6.1
Added by bwoolf, last edited by bwoolf on Nov 07, 2006  (view change)
Labels: 
(None)

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.

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
    1. Apache Tuscany
    2. IBM propriatary enhancements

Industry participation

  • OSOA has lots of vendors (osoa.org)
  • Apache Tuscany has lots of contributors

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

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
    1. Introspect the implementation
    2. 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.

SCA Application Example

Bigbank

  • SCA app provides total value of the stock portfolio
  • One composite, two components
  1. Account service
  2. Account data service
  • Code--Composite file--is XML format, edited in Notepad (for now)
    • <property>
    • <component> (account service)
    • <component> (account data service)
    • <service>
    • <reference>

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)

SCA Client Model for Java

Asynchronous calls

  • @Callback annotation (instance variable – MyServiceCallback)

Quality of Service

QoS

  • Security
  • Transaction
  • Relaible messaging

Two types of QoS

  1. Services and references (to/from non-SCA)
  2. Components and implementations (within a composite)

SDO Basics

All parameters and return types are SDOs

That was the end of the talk.


 
    About IBM Privacy Contact