Dashboard > Open SOA > ... > Implementation Examples and Tools > Apache Tuscany Project Overview
Log In   View a printable version of the current page.
Apache Tuscany Project Overview
Added by Mike Edwards, last edited by ibm_soa on Nov 19, 2008  (view change)
Labels: 
(None)


Introduction to the Apache Tuscany Open Source Project

Apache Tuscany is an open source project at Apache that implements an SOA programming model supporting SCA and SDO specifications.  It provides a simple "on ramp" for developers who want to create applications using a service-oriented approach, as well as allowing infrastructure developers to extend the Tuscany runtime by contributing additional component implementation types, protocol bindings, policies, and other extensions.

Tuscany provides a lightweight runtime that is not tied to any product or technology stack and can easily be embedded as a solution.  Its flexible and extensible design allows it to integrate service implementation types ranging from programming logic components in a number of implementation and scripting languages such as BPEL, Rubby, Python, Spring to more specialized components providing capabilities such as database access, data transformation, and process choreography.

Tuscany was approved as an Apache incubator project in December 2005, with the initial code drop in January 2006. Project graduated to a top level Apache project in May 2008.

Apache Tuscany welcomes you to participate in the project. For more information please see the "get involved" page on the project website.

Technical Overview of Tuscany and Related Projects

Apache Tuscany supports SCA in Java and Native.  Tuscany SCA Java is an implementation of SCA 1.0 specification that was published by OSOA in March 2007. The first release of Java SCA 1.0 became available in September 2007 and there has been multiple releases since then. In addition to supporting SCA specifications, Tuscany provides a wide range of bindings and implementation types and is integrated with technologies such as web20. Apache Tuscany is starting to work on an enhanced architecture  (Tuscany SCA 2.x) that supports OASIS version of SCA 1.1 and is enabled with OSGI. 

Tuscany also supports SCA on a Native runtime. This is currently based on the .95 version of the SCA specification that was published on osoa. 

In addition to supporting data types such as Jaxb, Tuscany provides a complete implementation for SDO 2.1.  

Tuscany Relationship to the SCA and SDO Specifications

As an early implementer of the SCA and SDO specifications, the Tuscany project is able to provide valuable and timely feedback on the specifications and input to their evolution.  In this way, Tuscany provides most of the benefits of a "reference implementation" of the specifications.  However,Tuscany does not follow the typical "reference implementation" model of limiting its interests to the current content of the specifications.  Instead, Tuscany aims to meet the needs of its users by providing an implementation that is a blend of the current specifications and additional capabilities.  These additional capabilities may become part of the evolving specifications, or they may provide implementation-specific support that does not come within the scope of the specifications.

Tuscany Relationship to other Technologies

Tuscany integrates and interoperates with a number of other open source projects and related technologies.  Tuscany can be hosted by Apache Tomcat so that Web applications can invoke and expose SCA services.  Ode BPEL integration with Tuscany that allows BEPL components to be used in a composition  ServiceMix is implementing a bridge to Tuscany that allows services in Tuscany to be accessed from the ServiceMix JBI environment.  SCA services in Tuscany can interoperate with Microsoft WCF (Indigo) services using standard Web service bindings. Tuscany integration with Geronimo will be available soon.

Apache Tuscany Web site
Apache Tuscany releases and documentation

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.4.5 Build:#708 Apr 12, 2007) - Bug/feature request - Contact Administrators