Apache Tuscany Java SCA 2.0 M1 Released
The Apache Tuscany team announced the release of 2.0 M1 of the Java Service Component Architecture (SCA) project. SCA defines a technology neutral component and assembly model for business application developers to focus on implementing the business logic and composing them into business solutions without worrying about the technology concerns. The latest version of SCA is being standardized at OASIS as part of Open Composite Service Architecture (Open CSA).
According to the Apache News Online,
The new Apache Tuscany SCA 2.0-M1 release is the first milestone towards achieving Open CSA standard compliance and provides an OSGi based runtime.
Apache Tuscany delivers the SCA promise by providing a comprehensive and extensible infrastructure to handle service construction and composition, service communication, Quality of Service (Quos) that application developers can take advantage of out-of-box.
Tuscany supports a variety of hosting options as it is OSGi compliant. The OSGi technology is a set of specifications that define a dynamic component system for Java. With OSGi and its relationship with SCA being notoriously hard to find an explanation for; InfoQ chatted with Luciano Resende and Raymond Feng to learn about the release.
Luciano commented on Why Tuscany chose to move its runtime to be based on OSGi,
[With] Tuscany, implementation, binding and databinding extensions [...] bring in different levels of dependencies. Modularity and extensibility have been the critical requirements and characteristics for Tuscany from day one. […] With OSGi, Tuscany can enforce clean boundaries via SPIs between the various runtime and extension subsystems, as well as allow the co-existence of these modules in the same runtime; it also allows for a greater modularity, where developers can start composing solutions by picking and choosing the pieces they might require from Tuscany.
Raymond explained how Tuscany integrates with OSGi/SCA and how the the two specifications relate to each other
From an OSGi-centric view, SCA can be used to describe the OSGi service remoting and Quality of Services (QoS) and an SCA runtime such as Tuscany can be the Distribution Software for RFC 119.
- OSGi is an infrastructure for Tuscany runtime Tuscany leverages OSGi to enforce the modularity and extensibility […] with many different technologies for component implementation and communication. […]
- OSGi is an programming model to work with SCA. […]
From an SCA-centric view, Tuscany provides implementation.osgi to reuse OSGi bundles as coarse-grained SCA components in an SCA composite application so that they can be assembled with other business services beyond OSGi.
Given “the technology-adaptive and extensible nature of SCA creates a great need to foster an ecosystem around the open source Tuscany project”, The team is looking to develop an ecosystem around three key areas
- Users: Build composite applications as reusable software assets
- Extension Developers: Enrich the SCA capabilities with support for more protocols, more implementation languages, more data formats, more QoS
- Embedders: Embed Tuscany with other offerings, expanding to different platforms, integrating with [different] application servers
Details of product and its features are available at Apache News Online.
Brandon Holt, Preston Briggs, Luis Ceze, Mark Oskin May 21, 2015