Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Service Component Architecture

Contributors:  BEA Systems, Cape Clear Software, IBM, Interface21, IONA Technologies PLC, Oracle, Primeton Technologies Ltd, Progress Software, Red Hat Inc., Rogue Wave Software, SAP AG, Siebel Systems, Software AG, Sun Microsystems, Sybase, TIBCO Software Inc.

Summary:  In response to requests from customers and Independent Software Vendor (ISV) partners, BEA, Cape Clear, IBM, Interface21, IONA, Oracle, Primeton Technologies, Progress Software, Red Hat., Rogue Wave, SAP, Siemens, Software AG, Sun, Sybase and TIBCO are collaborating on specifications for building systems that use a Service-Oriented Architecture (SOA), which aim to provide developers with simpler and more powerful ways of constructing applications based on SOA. These specifications are published under royalty-free terms.

Date:  01 Nov 2006 (Published 30 Nov 2005)
Level:  Advanced

Activity:  32564 views
Comments:  

In response to requests from customers and Independent Software Vendor (ISV) partners, BEA, Cape Clear, IBM, Interface21, IONA, Oracle, Primeton Technologies, Progress Software, Red Hat., Rogue Wave, SAP, Siemens, Software AG, Sun, Sybase and TIBCO are collaborating on specifications for building systems that use a Service-Oriented Architecture (SOA), which aim to provide developers with simpler and more powerful ways of constructing applications based on SOA. These specifications are published under royalty-free terms. You can learn more about how these specifications work together.

Service Component Architecture: Build systems using SOA

Service Component Architecture (SCA) is a set of specifications which describe a model for building applications and systems using a Service-Oriented Architecture. SCA extends and complements prior approaches to implementing services, and SCA builds on open standards such as Web services.

SCA encourages an SOA organization of business application code based on components that implement business logic, which offer their capabilities through service-oriented interfaces and which consume functions offered by other components through service-oriented interfaces, called service references. SCA divides up the steps in building a service-oriented application into two major parts:

  • The implementation of servicecomponents which provide services and consume other services.
  • The assembly of sets of components to build business applications, through the wiring of service references to services.

SCA emphasizes the decoupling of service implementation and of service assembly from the details of infrastructure capabilities and from the details of the access methods used to invoke services. SCA components operate at a business level and use a minimum of middleware APIs.


Figure 1. Service Component Architecture
Service Component Architecture

SCA supports service implementations written using any one of many programming languages, both including conventional object-oriented and procedural languages such as Java™, PHP, C++, COBOL, XML-centric languages such as BPEL and XSLT, and also declarative languages such as SQL and XQuery. SCA also supports a range of programming styles, including asynchronous and message-oriented styles, in addition to the synchronous call-and-return style.

SCA supports bindings to a wide range of access mechanisms used to invoke services. These include Web services, Messaging systems and CORBA IIOP. Bindings are handled declaratively and are independent of the implementation code. Infrastructure capabilities, such as Security, Transactions and the use of Reliable Messaging are also handled declaratively and are separated from the implementation code. SCA defines the usage of infrastructure capabilities through the use of Policies, which are designed to simplify the mechanism by which the capabilities are applied to business systems.

SCA also promotes the use of Service Data Objects to represent the business data that forms the parameters and return values of services, providing uniform access to business data to complement the uniform access to business services offered by SCA itself.

The SCA specification is divided into a number of documents, each dealing with a different aspect of SCA. The Assembly Model deals with the linking of components through wiring. The Assembly Model is independent of implementation language. The Client and Implementation specification deals with the implementation of services and of service clients -- each implementation language has its own Client and Implementation specification, which describes the SCA model for that language.

The current SCA specifications are published at a version 0.95 level, indicating that the specifications are not in their final form. The specifications are published with the intent of getting feedback from the community in order to ensure that the eventual version 1.0 level of the specifications more fully meets the needs of developers and businesses.

Get the specification and related material

DescriptionDateAccess method
The SCA specifications are available on the Open SOA Collaboration Web site at www.osoa.org.November 2006HTML page
The specifications can be viewed and downloaded from the SCA Specifications page.November 2006HTML page

Get the whitepapers and sample applications

In addition to the specifications, read the whitepapers and sample application for additional information on the Service Component Architecture specifications, which are also available on the Open SOA Collaboration website in the SCA Resources page:

DescriptionDateAccess method
SCA resources.November 2006HTML page

Feedback

If you would like to contribute technical comments on this specification, please do so through the Feedback page on the Open SOA Collaboration website.

Open Source SCA runtimes and tools

  • There is an open source project which provides a Runtime implementation of Service Component Architecture, which you can use to run SCA applications. This project is called Tuscany, currently under incubation at Apache. See the Tuscany Web site at Apache.
  • There is also an Eclipse open source project which aims to provide tools to enable developers to build solutions using a service oriented architecture, which uses Service Component Architecture as its core model. This is the Eclipse SOA Tools Platform project. See the SOA Tools Platform (STP) Project Web site.

About the Open SOA collaboration

  • The SCA and SDO specifications are currently being evolved by a collaboration of companies from across the industry, prior to eventual submission to a formal standards body. To learn more about the Open SOA Collaboration, please visit the home page of the OSOA website.
  • If you would like closer involvement with the evolution of the specifications, you can join the OSOA Supporters group. Learn more about the OSOA Supporters.

Resources

Comments



Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and web services
ArticleID=153083
SummaryTitle=Service Component Architecture
publish-date=11012006