Thursday, July 02, 2009

Article: Communication Flexibility Using Bindings



Take a look at this article written by some members of the "Tuscany Community"


This article is taken from the book Apache Tuscany in Action. It looks at how bindings are used to configure wire protocols for a component's service connections. One of the most important features of SCA is its support for a wide variety of communication protocols. If your services need to talk Web Services, JMS, CORBA, RMI, or REST, they can do it using SCA and Tuscany. If they need to use some specialized or proprietary protocol to meet a particular application need, that's fine too. Even better, your business code doesn't need to know which protocol it's using; the choice of a protocol is made by (you guessed it) the component's configuration. How cool is that? The piece of SCA magic that makes all this possible is called a binding.

In this article, we'll see how to use bindings on services and references, and what it means if no bindings are configured. Finally we'll take a look at the SCA domain and see how bindings relate to communication within and outside an SCA domain.

Sunday, May 31, 2009

Apache Tuscany SCA Java 1.5 Released



The Apache Tuscany team are pleased to announce the 1.5 release of the
Java SCA project.

Apache Tuscany provides a runtime environment based on the Service
Component Architecture (SCA). SCA is a set of specifications aimed at
simplifying SOA application development. These specifications are
being standardized by OASIS as part of the Open Composite Services
Architecture (Open CSA).

This 1.5 release is a maintenance release over the previous releases
and includes numerous bug fixes and enhancements, see the
RELEASE_NOTES and CHANGES file for details, and to download the
distributions please go to:

http://tuscany.apache.org/sca-java-releases.html

To find out more about OASIS Open CSA go to:

http://www.oasis-opencsa.org

Apache Tuscany welcomes your help. Any contribution, including code,
testing, contributions to the documentation, or bug reporting is
always appreciated. For more information on how to get involved in
Apache Tuscany visit the website at:

http://tuscany.apache.org

Thank you for your interest in Apache Tuscany!

Friday, May 29, 2009

Tuscany/SCA Sessions at JavaOne 2009

Raymond Feng and Luciano Resende are going to be presenting two Tuscany/SCA sessions at JavaOne 2009, please see below for detailed schedule and links to abstract.

Wednesday June 03 8:45 PM - 9:35 PM Hall E 133

BOF-4760: SCA; JavaT Platform, Enterprise Edition (Java EE Platform); Spring; and Web 2.0 Come Together: Service Assembly with Apache Tuscany SCA


Friday June 05 12:10 PM - 1:10 PM Esplanade 304-306

TS-4846: Building Asynchronous Services with Service Component Architecture

If you are coming to JavaOne, welcome to our sessions!

Wednesday, May 27, 2009

Runing Tuscany Android Sample Applications



In Apache Tuscany, we have been experimenting with Google Android Platform to build Mobile SOA Applications, and we now have couple Android based samples that demonstrate a Android mobile application consuming SCA services available on the cloud.

Store-android: A front end to our "Store Getting Started Guide" that consumes the catalog and shopping cart services and allow you to shop for fruits and vegetables.

SCATour-android: A front end to the "SCA Tour" scenario that allows you to search for trips direct from your Android phone.

If you are reading here, you are interested on this topic and might want to get hands-on and run this applications... below are the necessary steps to get the Tuscany/Android sample applications running:

1) Install Android SDK following the steps described in Android SDK Installation Guide:


curl -O http://dl.google.com/android/android-sdk-mac_x86-1.5_r2.zip
unzip android-sdk-mac_x86-1.5_r2.zip


2) Install Android Eclipse Plugins (Android DDMS and Android Development Tools):

- Start Eclipse, then select Help > Software Updates....
- In the dialog that appears, click the Available Software tab.
- Click Add Site...
- Enter the Location below and click Ok:
https://dl-ssl.google.com/android/eclipse/
- Back in the Available Software view, you should see the plugin listed by the URL, with "Developer Tools" nested within it. Select the checkbox next to Developer Tools and click Install...
- On the subsequent Install window, "Android DDMS" and "Android Development Tools" should both be checked. Click Next.
- Read and accept the license agreement, then click Finish.
- Restart Eclipse.

3) Create a Android Virtual Device (AVD)


cd ~/opt/android-sdk-mac_x86-1.5_r2/tools
android create avd --name android-1.1 --target 1
android create avd --name android-1.5 --target 2


4) Configure the Android Eclipse Plugins to point to the Android SDK

- Start Eclipse, then select Eclipse->Preferences->Android
- Point to the directory where you installed the Android SDK in step 1.




You you should be ready to run Android applications. Now let's add the Tuscany Android samples to your Eclipse IDE and run it.

1) Checkout Tuscany code and create Eclipse IDE project for the samples we are going to use :


svn co http://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/ java-1.x
cd java-1.x/samples/store
mvn eclipse:eclipse


2) Import the sample projects into Eclipse

- Start Eclipse
- Select File->Import : General->Existing Projects into Workspace
- Select root directory : java-1.x/samples/store
- Select File->Import : General->Existing Projects into Workspace
- Select root directory : java-1.x/samples/store-android

3) Launch the store sample application

- In eclipse project (sample-store), run the Launch.java as a Java Application

4) Launch the store android application

- In eclipse project (sample-store-android), run the project as a Android Application


You should now have your Android Fruit Store up and running, accessing the Catalog and Shopping Cart services from the regular store application we have started in step 3.







References:
- Tuscany Getting Started Guide : The Fruit Store Application scenario.


I also want to give the special Thanks to our 2009 GSoC Student, Lookman SANNI, for the recent updates to the Store-Android sample and ui.

Saturday, March 14, 2009

How to use Apache Tuscany with WebSphere 7.0.0.1 and SCA FeP

If you are trying to deploy a Tuscany web application in a WebSphere 7.0.0.1 with the SCA FeP, you might have noticed that things are not going very smoothly. Below is a list of steps you need to do in order to sucessfully deploy a Tuscany web application in this WWebSphere 7.0.0.1 + SCA FeP environment.

For this post, we are going to use the sample-calculator-ws-webapp sample that is available from a Tuscany Release.

Issues with META-INF\sca-contribution.xml

Tuscany/SCA uses the META-INF\sca-contribution.xml to identify the deployable composites of a given contribution (application). The WebSphere server is failing deployment of web applications that have a META-INF\sca-contribution.xml. To workaround this issue, rename sca-contribution.xml to sca-contribution-generated.xml, which is treated the same by the Tuscany runtime, but ignored by WebSphere.

Classloader configuration issues

Now that we have successfully deployed our sample-calculator-ws-webapp, we need to modify the classloader configuration. This is necessary to allow Tuscany to find all its dependencies in the webapp itself instead of the WebSphere lib directory (as some of the Tuscany dependency JARs are newer than the ones that come with WebSphere). You will need to perform the following steps:

  • Open the "sample-calculator-ws-webapp" from the in the Enterprise Applications list

  • Click on the Class loading and update detection link

  • Select "Classes loaded with application class loader first"

  • Select "Single class loader for application"

  • Select OK and save

  • Start the application from the Enterprise Applications list


Check detailed steps on how to change the classloader configuration in this article from Jean-Sebastien Delfino.


Properly configuring WebServices ports

The last issue we need to deal is to fixup the ports used by webservice binding. By default, the Calculator.composite is configured to use port 8080. In order to this sample work, you need to modify the calculator.composite and update to the same port used by your WebSphere application server (e.g 9080)



Now you should be good to go, and ready to have your Tuscany webapp deployed in a WebSphere Applicatoin Server 7.0.0.1 with SCA FeP.

Wednesday, March 04, 2009

Java SCA 2.0-M1 release post at InfoQ


The Apache Tuscany team announced the release of 2.0 M1 of the Java Service Component Architecture (SCA) project. SCA defines a technology neutral component and assembly model for business application developers to focus on implementing the business logic and composing them into business solutions without worrying about the technology concerns. The latest version of SCA is being standardized at OASIS as part of Open Composite Service Architecture(Open CSA).

Monday, February 23, 2009

Book: Early edition of "Apache Tuscany in Action"


I came across an early edition of a book called "Apache Tuscany in Action" that is being published at manning.com Publishing. This book teaches SCA through Tuscany with real usage examples. It looks like the application is being developed in Tuscany source code repository.