Service Component Architecture


So yet again I think I must be stupid because I don’t understand the whole Service Component Architecture thing. It looks like a programming model (e.g. set of API's) to build web services. I thought that’s one of the many things that J2EE was meant to be supplying. Anyway Microsoft already has that with Windows Communication Framework (WCF) so what's the big deal? Why do we need yet another way of calling web services?

Comments (3)

  1. Tim Ellison says:

    It’s possible Michael, that you’re just slow.  <g>

    WCF (Indigo right?) and SCA (numerous papers thanks to IBM Rational) are most likely not comparable.  WCF is a platform-specific implementation (IOW, you have to be running Windows) whereas SCA is platform-agnostic.  Believe it or not, there are other platforms out there.  While WCF might be able to integrate (i.e., consume) services on those platforms, it is of little or no use to the service running on the non-Windows platform.

    Please read this with the understanding that:

    1) I may have taken the proverbial hook and bait to rhetoric.

    2) I’ve read nothing on WCF (except that it runs on Indigo) and I haven’t read the Rational SCA whitepapers in quite some time.


  2. Neil Ward-Dutton says:


    Assuming your tongue wasn’t in your cheek on this one, the answer is partly (as Tim says) that SCA is platform agnostic. The other part of the answer, though, is that SCA isn’t just about development – so it’s not completely equivalent to WCF.

    SCA is about development, yes, but it’s also about hooking development, deployment and operation together through the use of deployment and operational models for distributed networks of service implementations. So the "equivalent" to SCA on the Microsoft side is more like WCF + SDM…

  3. Ryan Plant says:

    It’s not only platform agnostic that makes it attractive, but fairly language agnostic (current support includes Java, C++, BPEL, and PHP).  It’s important to remember that the SCA and its accompanying SDO are specifications.  We all know what happens to an open specification like Java EE: some basic standardization of base concepts, technologies, designs, and terminology but at the end of the day something the vendor can extend, thus creating vendor-specific implementations.  In the end, how much does platform agnosticism buy you when you’re dependent on a specific vendor’s implementation anyway?  The biggest value I see for an effort like the SCA and SDO is that it is attempting to establish a baseline consensus around what elements of a SOA should exist and their inter-relations; I mean, who can really agree on what a SOA is or isn’t?  This attempts to answer that for the Open Source community.

Skip to main content