Apache Tuscany
Apache Tuscany provides an open-source services infrastructure for building, deploying, and running SOA solutions based on the Service Component Architecture (SCA) specification. It extends SCA beyond the specification, including support for OSGI and Web 2.0.
With Tuscany, application developers can easily create components that provide and use services, by using a variety of programming languages such as Java, BPEL, scripting languages, and XQuery; assemble these components into composite applications; and deploy them in a distributed environment. Tuscany supports many bindings to facilitate service communication, such as web services, EJB, JMS, RMI, JSON-RPC, and ATOM. Tuscany also integrates with several other open-source projects, including Apache Tomcat, Jetty, Apache ODE, Axis2, BSF, and Geronimo.
Tuscany provides a very simple and lightweight environment for SOA development using SCA, enabling application developers to focus on business logic development and component assembly.
Open CSA (SCA standards)
The SCA specifications which are implemented by Tuscany have moved to OASIS for formal
standardization. This is being done as a series of OASIS technical
committees, each dealing with one or more of aspects of the SCA specifications.
The OASIS activities are carried out in public. You can either observe the activities in the various technical committees, or join one or more of the committees to contribute to.
There are 6 SCA technical committees and by clicking on the links below you can find information about how to join as an observer or contributor. You will also have access to the minutes of meetings of the meetings on the same page.
- OASIS SCA Assembly TC: Defining core SCA composition model to simplify SOA application development
- OASIS SCAPolicy TC:Defining an SCA policy framework to simplify SOA application development
- OASIS SCA Bindings TC:Standardizing bindings for SCA services and references to communication protocols, technologies and frameworks
- OASIS SCA-Java TC: Standardizing Java (tm) use within an SCA domain for SOA
- OASIS SCA-C & C++ TC: Standardizing C and C++ use within an SCA domain for SOA
- OASIS SCA BPEL TC:Specifying how SCA component implementations for SOA can be written using BPEL
Tuscany Java SCA documentation
The following guides are available for SCA Java.
- User Guide
This introduces you to SCA concepts and shows you how to build simple sample applications.
- Getting Started with Tuscany
This is a quick getting started guide that go trough the steps of building the store scenario.
- Developer Guide
If you would like to contribute to the project, this guide explains how to build Java SCA and how to contribute code back to the project.
- Extension Development Guide
This guide explains how to develop code that extends Tuscany SCA Java.
- Data binding guide
This guide gives an overview of the Tuscany Data Binding framework.
- Architecture Guide
This guide provides a high level view of SCA Java architecture.
Running Tuscany Samples
The samples are located under java/sca/samples, and demonstrate various SCA usage scenarios with different bindings, host environments, etc. The J2SE samples are all run using maven, the J2EE samples will also use maven to generate the specific WAR files, and then need to be deployed to specific host environment (e.g Tomcat, Geronimo, etc). You should find specific steps on each sample README file.
Suggestions for Code Fest
Issues related to Tuscany SCA samples, these are mostly very localized issues, sometime related to ant scripts, or maven. http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&&pid=12310210&component=12310651&resolution=-1&sorter/field=priority&sorter/order=DESC
Issues related to Tuscany SCA Tools, mostly wsdl2java / java2wsdl. http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&&pid=12310210&component=12310801&resolution=-1&sorter/field=priority&sorter/order=DESC
These are suggestions, but the students are welcome to choose any open issue in any areas.
It would be great to have enhanced test cases in some modules :
- Implementation-data-xml : java/sca/modules/implementation-data-xml
Reference Materials
http://incubator.apache.org/tuscany/ http://incubator.apache.org/tuscany/getting-involved.html