Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

SCA/Components/SCA Samples

You can test the SCA Composite Designer and see some possibilities of SCA through the following samples.

This section provides a step-by-step description for creating and testing a sample project.

How to use samples

Register Tuscany for SCA samples

First, you have to install Apache Tuscany to be able to test the sample applications. See the first section on Installing Tuscany to test your SCA applications. You can download it on: (http://incubator.apache.org/tuscany/sca-java-releases.html)

Then, you have to register Tuscany for SCA samples:

  1. Select Window > Preferences....
  2. Select SOA Tools > SCA Tools.
  3. Set the Tuscany directory
  4. Click on the Ok button.
    Scaexamples4.png

Creating samples

Different samples are available to test the SCA Composite Designer, they are described in the following sections. The samples projects are automatically created :

  1. Select File > New > Sample....
  2. Select SCA > SCA Examples and click Next.
    Scaexamples2.png
  3. Select one of the examples and click Next.
    Scaexamples1.png
  4. Set the Project name.
  5. Click Finish. The project is created with the following structure (for the first sample):
    Scaexamples3.png

If Tuscany is not registered, the project will be created with errors. To fix them, a user library have to be created as in the prequisites section of SCA First Steps With Composite Designer and added in the project build path.

Restaurant sample

This sample provides a simple SCA composite named Restaurant. This composite is a composition of five components:

  • RestaurantServiceComponent shows the list of proposed menus and computes the bill for the chosen menu.
  • MenuServiceComponent provides the menus (price without taxes).
  • BillServiceComponent computes the price of a menu with the different taxes.
  • VATServiceComponent computes the VAT (Value Added Tax).
  • TipServiceComponent computes the tip.

The test.Client exercises this interface by calling getMenus and getBill operations. This results in messages passing to the appropriate components in the composite across the local wires (java binding).

Restaurant - RMI Service

This sample extends the Restaurant sample by replacing the local service binding with an RMI binding. So a Java client can call the service exposed by the SCA application using an RMI client.

Restaurant - RMI Reference

This sample splits the initial restaurant sample in two composites:

  • The first one (restaurant composite) contains the RestaurantServiceComponent and the MenuServiceComponent,
  • The second one (bill composite) contains the BillServiceComponent, the VatServiceComponent, and the TipServiceComponent.

The reference specified in the restaurant composite file include an RMI binding which targets the bill composite.

Restaurant - Script

This sample is the same as the simple restaurant sample except that:

  • TipServiceComponent is implemented in JavaScript,
  • VatServiceComponent is implemented in Python.

Restaurant - Composite

This sample splits the initial restaurant sample in two composites.

The restaurant service is composed of three components: RestaurantServiceComponent, MenuServiceComponent and BillServiceComponent. The BillService component is implemented by an other composite named BillService.

Back to the top