someone Apache Tuscany

Welcome to Apache Tuscany. The Apache Tuscany project is currently in incubation within the Apache Incubator.

The Apache Tuscany project simplifies the development of business solutions that use a service-oriented architecture. It allows new solutions to be constructed by combining new or existing services within an easy to configure service oriented run time with little or no programming. It does this by providing implementations for the Service Component Architecture (SCA) and Service Data Object (SDO) and providing Data Access Service that supports SDO. Tuscany integrates with well established Web Services and server technologies such as Apache Axis2, Apache Tomcat and Geronimo. Specifications for SDO and SCA can be found on the Documentation page

SCA provides developers with a simple, business-oriented, model for creating systems based on a service oriented architecture. It manages infrastructure complexities such as transactions, security and reliable messaging and frees the developer to focus on providing business function. The solutions developed using SCA can be changed declaratively to alter infrastructure capabilities or application configuration properties to meet changing business requirements. For example, infrastructure capabilities such as security policies may change from one environment to another and can be changed without the need for re-implementation. Application configuration may also be changed in this way, for example, the currency quoted by a stock quote feed may be changed though the SCA configuration mechanism.

SCA divides up the steps in building a service-oriented application into two major parts:

For more information about SCA read the white paper Service Component Architecture-Building Systems using a Service Oriented Architecure on the Documentation page. The Tuscany project provides runtime implementation of SCA in both Java and C++.

SDO enables developers to focus on data processing rather than the specific nature of data retrieval mechanisms as data arrives at and is dispatch from a service. SDO provides a consistent mechanism for describing and manipulating data regardless of data resource target or source types and the environment in which the data is to be processed. It maintains a change history for data as well as ensuring referential integrity based on a defined schema. To further understand the benefits of SDO please refer to the "Next Generation Data Programming: Service Data Objects"on the Documentation page. Tuscany implements SDO in Java and C++. A PHP implementation of SDO is also available under .

RDB DAS provides a generic data access service that provides transformation capability between SDO data graphs and relational databases and vise versa. To further explore the benefits of DAS please refer to white paper "DAS White Paper: The Data Access Service" on the Documentation page.

You can get a feel for what it's like to create simple applications using Tuscany by trying out the sample programs that are supplied with the Tuscany project. For Java look at the Installation instructions for Java Projects page and then follow the Samples README. For C++ go to the Installation Instructions for C++ Projects page.

The specifications for SDO and SCA can be found on the Documentation page:

Tuscany is very interested in getting your comments or any feedback that you may have. Please feel free to post these on the mailing lists. Mailing list information is available in the Project Mailing Lists section. We look forward to your involvement in Tuscany.

Tuscany consists of 5 subprojects, each dealing with different aspects of the SOA programming model:

  1. SCA Runtime for Java
  2. SDO 2.0 Runtime for Java
  3. Data Access Service for Java
  4. SCA Runtime for C++
  5. SDO 2.0 Runtime for C++

(March 6 2006) The codebase has reached a first stable milestone at SVN revision 383106. Both the Java and C++ projects have advanced to provide end-to-end support for a range of scenarios. For the Java project, the codebase now integrates with Apache Tomcat 5.5.15 and Axis 2.0. There is a substantial set of working samples for the SCA, SDO and DAS subprojects, which can run on Windows, Linux and Mac. There is also support for writing service components in Javascript.

With this combination you can write service components that provide Web services or that provide business services supporting a Web UI based on Servlets and JSPs.

(March 6 2006) The codebase has reached a first stable Java milestone at SVN revision 383106 and a first a first C++ milestone at SVN revision 383564.

(Jan 10 2006) Tuscany project initial implementation published with intention to add a lot of additional function over the coming weeks and months, such as support for additional implementation types and for additional bindings. We're looking for people to help us add these capabilities