Skip to end of metadata
Go to start of metadata
Apache Tuscany SCA User Guide
This page is undergoing complete re-write to be more like a user guide than it is today. You are welcome to help review and complete it.

About Tuscany User Guide

It is assumed that by now you have browsed through the introduction to SCA section or are familiar with SCA. This user guide helps you learn more about SCA through Tuscany. It starts with building a simple application and progresses into more advanced features through references to samples that reside in Tuscany.

Before we start, let's emphasise that it is Tuscany's goal to provide an implementaiton that avoids imposing rules and requirements on how you write your applications. In fact the goal is to let you write application code without being concerned about the technology you choose or the environment in which it will be used. You focus on your business logic and Tuscany infrastructure will handle the rest.

Create Your First Application

This simple exercise provides you with a hands-on experience for creating an SCA calculator application. Although this is a simple application, it will cover the following items:

  • Creating SCA POJO-based components
  • Composing an application
  • Deploying the application
  • Modifying the application to use a different binding

Give create a calculator application a try.

Create a Webservices component

Learn how to expose your pojo components as webservices. This will cover

  • Creating SCA POJO-based component and exposing it as a webservice

Give Building your first web services using Tuscany a try.

Create a Distributed Application

A Tuscany application can be run in a single or multi-node environment. Here we introduce the Tuscany node and SCA domain and explain how the calculator example can be distributed across multiple nodes. We will cover the following:

  • What is a node?
  • What is the SCA domain
  • How to create and application that will run across multiple nodes in a domain

Take a look at Distributed SCA Domain

Create a Store Enterprise Application

Now that you have created a simple calculator application, let's move on to a more interesting application called store. This application is developed in Eclipse enviromment and uses more advanced features that are offered in Tuscany. You will notice that it is as simple to create this application as it was to create the calculator application.

Getting Started with Tuscany using a Tuscany Distribution In Eclipse
This is a quick getting started guide that go trough the steps of building the store scenario using the Tuscany SCA distribution manually installed into Eclipse

Getting Started with Tuscany using the Tuscany Eclipse Plugin

This is a quick getting started guide that go trough the steps of building the store scenario using the Tuscany Eclipse plugin.

Host Environments

Tusncany applications can be run in a Tuscany standalone environment or in multitude of different host environments. You have seen examples of how to run in standalone environments in the previous sections. Here we cover other platforms.

Tomcat

Running a Tuscany SCA Java enabled webapp in Tomcat is as simple as copying the webapp to the Tomcat webapps directory.

Geronimo

(warning) TODO ... get link from Vamsi

WebSphere

Please see this blog entry to learn how to do this: http://jsdelfino.blogspot.com/2007/10/how-to-use-apache-tuscany-with.html

WebLogic

Please see this user's blog to learn how to do this: http://davesowerby.blogspot.com/2008/02/using-tuscany-with-weblogic.html

Eclipse

You can develop and run your applications in Eclipse environment.
Getting Started with Tuscany using a Tuscany Distribution In Eclipse
Tuscany also provides a Tuscany Eclipse plug-in to facilitate the development of SCA applications on Tuscany in the Eclipse environment.
Getting Started with Tuscany using the Tuscany Eclipse Plugin

Using Extensions

What are extensions? Well, we call these extensions: bindings, implementation types, interface types, policies. Think of SCA Java infrastructure as providing the framework that supports all these pluggable functionality. Bindings provide protocol handling, implementation types provide support for different languages and programming models, interface types allow enable you to define interfaces in different ways for example Java, WSDL and policies enable you to choose which type of policies you want to apply to your application. You can pick and choose what you need based on your requirements and the technologies that you use. For a complete list of available extensions and their documentation please check this link.

Running Tuscany with Java2 Security Enabled

Tuscany can be enabled to run with Java2 security on.
Running Tuscany with Java 2 Security Enabled

Do I need all of Tuscany?

Tuscany SCA has a very modular architecture. Think of it as building blocks. You pick what you need for your particular application. In 1.x, there is one binary distribution. you can get to a smaller subset through building the source with the appropriate modules that you need. In 2.x code line, we are aiming to provide smaller distributions. For more information about how you can build a smaller distribution please see this link