SCA in WebSphere Application Server: Overview

IBM® WebSphere® Application Server V7 Feature Pack for SCA delivers critical technology that enables adoption of key Service-Oriented Architecture (SOA) principles.

As part of the larger SOA Foundation, which straddles all of IBM software brands, this offering delivers an integrated, open implementation of Service Component Architecture (SCA), a technology specified by IBM and other industry leaders through the Open SOA Collaboration (OSOA).

WebSphere has taken the open source implementation from Tuscany, an Apache project, and integrated it with WebSphere Application Server, Network Deployment. This integration ensures that all of WebSphere's capabilities work together with SCA applications to provide a compatible environment for both the SCA and existing applications.

IBM WebSphere Application Server Version 7.0 Feature Pack for SCA, as well as the underlying Tuscany framework, is a "proof-point" delivery of SCA built using a plug-in concept, allowing for additional plug-in capabilities in subsequent releases.

The primary objective of this release is to highlight usage of SCA as a coarse-grained composition model that can be used to assemble and compose existing services in your enterprise. The key principle of SOA demonstrated by this support is the ability to use your existing services to create new ones.

Another key objective of this delivery of SCA is to highlight the ease-of-use characteristics of SCA service development in Java™. This is accomplished by demonstrating annotated Plain-Old Java-Object (POJO) components deployed using simple JAR packaging schemes, an easy to use assembly model, and powerful wiring abstractions that enable service definition over different transports and protocols. The key principle of SOA demonstrated by this support is having the right information to get the job done.

Service composition

Businesses today are challenged not only by competitors, but by social and economic pressures that directly affect their information technology systems. As businesses adopt SOA and build a growing inventory of business services, there is a real need to be able to compose, reuse, and otherwise assemble new services from those existing business services.

SCA offers a metadata assembly and composition model for assembling and constructing coarse-grained services out of software components and other services. In a sense, SCA applies the hardware circuit-board paradigm to software programming, in that while service implementations are vital to the functioning of the overall application, they can also be viewed as “chips” because details of their inner workings are hidden from the assembler.

SCA assemblies provide the metadata language to describe the chips, hide certain details, and provide wiring and binding semantics to the workings inside the chips, as well as to those exposed outside the chip. In the hardware realm, wires have physical constraints, such a certain voltage range or frequency of operation. Software “wires” have similar constraints which are expressed as SCA policy.

Service development

SCA has a language-neutral programming model for which there are multiple language-specific specifications defined at OSOA. The language-specific component models include Java, Spring, and C++. Being a Java runtime environment, WebSphere Application Server supports SCA in Java in a highly natural way.

The concepts of SCA apply broadly across both Java and non-Java application environments. The SCA component model has at its heart a strong focus on a proper separation of concerns. The service consumer business logic author does not need to know the details of the service implementation. For instance, a Java service consumer does not have to know that a target service is implemented using C++ or COBOL.

A logical name can be used to identify a service, for example, MyStockQuoteService, and that name can be used in SCA wires to delegate the specific details of service connectivity to the SCA runtime environment. Essentially, the application programmer is telling SCA to use the best connectivity alternatives available to wire the service consumer to the service providing MyStockQuoteService.

Service agility and flexibility

One of the key reasons for SOA is to provide a set of patterns and best practices–formalized through infrastructural concepts and products--that allows businesses to realign and remission multiple aspects of information technology. IT professionals expect to be able to rewire, recast, and reuse applications in flexible ways to keep up with business needs in the dynamic business climates of today.

This release of Feature Pack for SCA highlights the flexibility and agility of metadata bindings, and the appropriate separation of concerns. The ability to rewire, compose, and assemble business logic without impacting the business logic itself is key.

OSOA support

As mentioned previously, this delivery of SCA in WebSphere Application Server follows the definition of the technology as documented by OSOA. Defining a set of compliance test suites was not part of the OSOA charter, so the implementation provided in this feature pack uses the following specifications as guiding principles. However, IBM provides an implementation that adheres strictly to our interpretation of the specifications listed below:

See the "Unsupported SCA specifications sections" topic for restrictions and limitations that are unsupported at this time.

WebSphere support for SCA

As already noted, multiple specifications are defined at OSOA, as well as Tuscany extensions provided in open source that go beyond the basic mission of WebSphere Application Server. Each vendor can decide which aspects of SCA apply to their product. For WebSphere Application Server, the focus is on enabling compositions as services, Java components, and integration of key qualities of service-like transactions and security.

SCA can enable mediations, business rules, and business process execution language to be treated as any other service, and while WebSphere Application Server provides the mechanisms to wire services that are implemented in those languages and environments, the product does not provide native support to host those kinds of service implementations.




Subtopics
New or updated for this feature pack Unsupported SCA specification sections
SCA components
SCA composites
SCA contributions
SCA domain
SCA Samples
Concept topic    

Terms of Use | Feedback

Last updated: Oct 21, 2010 7:37:48 AM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=v701sca&product=was-nd-mp&topic=csca_overview
File name: csca_overview.html