Monday, July 06, 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.

Labels: ,

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!

Labels: ,

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!

Labels: , ,

Thursday, May 28, 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.

Labels: , ,

Thursday, April 16, 2009

Tuscany 2.0 Milestone 2 released

We've just released the second milestone release of v2 of Tuscany SCA, download it at the Tuscany website

Along with better and more complete compliance with the latest OASIS SCA specifications the highlights include in this release are:
- An implementation of RFC 119 the new Distributed OSGi standardization
- Webapp integration with support for several web frameworks
- Maven Archetypes to make developing SCA applications easier

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

Labels: ,

Tuesday, March 03, 2009

A Closer Look - OSGi Enablement for Tuscany 2.0

As mentioned in the recent Apache Tuscany SCA 2.0 M1 Announce, Tuscany is moving to support running in an OSGi enabled environment. What exactly does that mean and what are the benefits?

As Tuscany is implemented in the 1.x release, all dependencies are included in one monolithic runtime, a giant sea of classes, all loaded at startup time by a single Java Virtual Machine. There can be versioning problems, dependency clashes, and support problems in this environment (luckily developers take care of this for you.)

With the Tuscany 2.x releases, dependencies are loaded and enabled by the OSGi Dynamic Module System for Java. This unleashes the capability for managed runtimes that can include all or part of a dependency tree. Dependencies can be included and enabled as needed. Runtimes can have modules with different version numbers.

In summary, OSGi enablement:
* Provides modularity for Tuscany to formalize the SPI contracts and enforce the package dependencies across modules.
* Provides versioning and isolation so that Tuscany extensions can depend on different versions of the same library.
* Provides dynamic lifecycle for extensions, to install, uninstall, start, and stop a module.
* Enable Tuscany to work with OSGi environment such as JEE application servers, Eclipse RCP or Spring DM (see http://www.infoq.com/news/2008/11/osgi-in-the-enterprise)

With this OSGi enablement, Tuscany can run in the following environments:
* Java SE with embedded OSGi runtime such as Eclipse Equinox and Apache Felix.
* Inside Eclipse development environment.
* Maven Surefire plugin for testing.
* External OSGi runtime such as Eclipse or Felix Shell.
* Other environment such as JEE (Web Container, EJB container).

Read more about it on the Apache Tuscany site or stayed tuned to this blog.