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 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 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.
  • 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.

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
  • Implementation-widget : java/sca/modules/implementation-widget

Reference Materials

http://incubator.apache.org/tuscany/ http://incubator.apache.org/tuscany/getting-involved.html

  • No labels