RSS Feed for This PostCurrent Article

Open Source SOA with SCA Implementation

Apache Tuscany

Apache Tuscany simplifies the task of developing SOA solutions by providing a comprehensive infrastructure for SOA development and management that is based on Service Component Architecture (SCA) standard. With SCA as it’s foundation, Tuscany offers solution developers the following advantages.

  • Provides a model for creating composite applications by defining the services in the fabric and their relationships with one another. The services can be implemented in any technology.
  • Enables service developers to create reusable services that only contain business logic. Protocols are pushed out of business logic and are handled through pluggable bindings. This lowers development cost.
  • Applications can easily adapt to infrastructure changes without recoding since protocols are handled via pluggable bindings and quality of services (transaction, security) are handled declaratively.
  • Existing applications can work with new SCA compositions. This allows for incremental growth towards a more flexible architecture, outsourcing or providing services to others.

    In addition, Tuscany is integrated with various technologies and offers:

    • a wide range of bindings (pluggable protocols)
    • various component types including and not limited to Java, C++, BPEL, Spring and scripting
    • an end to end service and data solution which includes support for Jaxb and SDO
    • a lightweight runtime that works standalone or with other application servers
    • a modular architecture that makes it easy to integrate with different technologies and to extend
    • Integration with web20 technologies


Newton is a distributed OSGi framework in which the components can be simple POJOs or wrappers around components based on other models.

Newton recognises the dynamic nature of distributed computing and seeks to address the needs of components living in this world. To this end Newton moves code around the network installing it on demand and removing it when it is no longer in use. Newton also dynamically wires up runtime service dependencies between components and rewires them as service provider components come and go.

Newton describes distributed systems using the emerging SCA standard. Newton provides a highly dynamic SCA implementation. It is able to install and manage SCA composites distributed across a large number of JVMs, continually comparing the deployed composite graph to a specified target state and making adjustments in response to failures and network topology changes.

Newton makes use of OSGi for wiring up composites within a single JVM and Jini technology for tracking and wiring up dependencies between composites in different JVMs.


Fabric3 is an innovative platform for assembling, provisioning, and managing distributed appplications, whether they are deployed to a corporate datacenter or to a cloud environment. As applications evolve from single-stack, non-integrated architectures to sets of loosely-coupled services, there is a need for a new approach to building and managing these environments. Existing middleware technologies make realizing service-based architectures uneccessarily complex and managing them costly. Fabric3 fills this void.

Fabric3 leverages SCA to provide a standard, simplified programming model for creating services and assembling them into applications. The SCA programming model allows services to be securely, reliably, and efficiently integrated without the need for applications to manage low-level communications details.

Popularity: 1% [?]

Trackback URL

RSS Feed for This Post1 Comment(s)

  1. Valerio Schiavoni | Apr 22, 2009 | Reply

    You’re missing also the 4th SCA implementation.
    Here’s a summary of FraSCAti, the reference OW2 implementation of SCA.
    OW2 FraSCAti is a component framework providing runtime support for the Service Component Architecture (have a look at SCA specifications). The OW2 FraSCAti runtime supports SCA composite definitions which are conform to the SCA Assembly Model V1.0 specification, Java component implementation (SCA Java Component Implementation V1.0 and SCA Java Common Annotations and APIs V1.0), remote component bindings using Web Services and Java RMI protocols.
    It provides novel features as support for runtime reconfiguration of running SCA applications, close relation between modeling and runtime model, support from tools (Eclipse STP/SCA modeler supports FraSCAti by default).
    Give it a try !

RSS Feed for This PostPost a Comment