InfoQ

News

Tuscany SCA Java 1.2 and SDO 1.1 released.

Posted by Boris Lublinsky on May 12, 2008 08:17 PM

Community
Architecture,
Java,
SOA
Topics
SOA Platforms,
Open Source
Tags
Service Component Architecture

Last month, Apache Tuscany team released version 1.2 of Service Component Architecture (SCA) project. and version of 1.1 of Service Data Objects (SDO) project.

SCA and SDO are a set of specifications initially developed by IBM and BEA and now maintained by OASIS Open Composite Services Architecture (Open CSA). The members of the working group include: IBM, BEA, Primeton, Sun, SAP, Oracle, Red Hat, SOA Software.

The Apache Tuscany SCA 1.2 release includes implementations of the main latest SCA specifications including:

  • SCA Assembly Model V1.0
  • SCA Policy Framework V1.0
  • SCA Java Common Annotations and APIs V1.0
  • SCA Java Component Implementation V1.0
  • SCA Spring Component Implementation V1.0
  • SCA BPEL Client and Implementation V1.0
  • SCA Web Services Binding V1.0
  • SCA EJB Session Bean Binding V1.0
  • An improved SCA distributed domain support with an SCA Domain Manager application
  • Support for JAXWS annotations
  • Improved and simplified JMS binding
  • A new Eclipse plugin providing a Tuscany runtime Library and Tuscany launcher in Eclipse environment.
  • Integration with Web Container Testing Framework for Tuscany running in Tomcat, Jetty, Geronimo and Websphere

It also includes implementations of many features not yet defined by SCA specifications, including:

  • SCA bindings for Direct Web Remoting, RSS and ATOM Feeds, HTTP resources, JSON-RPC, PUB/SUB Notifications, and RMI.
  • SCA implementation types for OSGI, XQuery, BPEL, Widget and various dynamic languages including Groovy, Python, Ruby and Javascript.
  • Databindings for Service Data Objects (SDO), JAXB, XmlBeans, Axis2's AXIOM, JSON, SAXON, DOM, SAX and StAX

This version was tested with the following runtimes:

  • Tomcat 5.5.20 and Tomcat 6.0.14
  • Jetty 6.1.3
  • Geronimo 2.0.2
  • WebSphere 6.1 fix pack 9

Apache Tuscany SDO 1.1 release includes the following new features:

  • Support attribute and element with same name
  • Support for custom data binding of DataObjects in a Swing UI

It also includes numerous improvements to existing functionality and bug fixes.

InfoQ spoke with Luciano Resende from IBM, who contributed to the Apache Tuscany project.

InfoQ: Among all the features that this release has introduce which ones do you consider most important?

LR: SCA is about building distributed composite applications, and the new SCA distributed domain support with an SCA Domain Manager application allows you to build and deploy your solution into multiple SCA Nodes. These nodes can run on different platforms and runtimes (e.g Geronimo, Tomcat, Jetty, etc) or just plain J2SE. With OSGI support, users can now run Tuscany and SCA in a OSGI Runtime.The new Tuscany Eclipse plugin improves the user experience for developers building SCA applications. It integrates Tuscany with Eclipse to help you add the Tuscany runtime to your project; edit composites by providing code assist, and to run composites directly from your development environment.

InfoQ: Can you describe the plans to improve support for WS-BPELin Tuscany ?

LR: We have just accomplished another milestone towards better WS-BPEL and SCA Integration in the Tuscany trunk code. We now support references to SCA services as WS-BPEL processes partner links. Tuscany uses Apache ODE as a reference WS-BPEL engine, and ships part of ODE with its distribution. As for what's next, the following items come from a discussion on the subject:

  • WS_BPEL Process introspection.
  • Better support for asynchronous invocations.
  • Replacement of ODE deployment descriptor with a SCA composite.

InfoQ: Is it possible to manage SCA configurations centrally?

LR: In the current Tuscany release it is possible to package an application with no binding configuration and define the binding endpoint and other properties at the SCA Domain Composite level. The SCA domain composite is a collection of composite files that are meant to contain that kind of information (network and binding configuration). In this case SCA Domain serves as a registry, which can be either centralized or distributed and track SCA metadata from various sources on your network.

InfoQ: Which policies does this release support out of the box?

LR: For the Web Services bindings, we have enabled authentication, integrity and confidentiality policies. We have also implemented support for JAAS based authentication for implementations using Java containers. We have left out JAAS based authorization because it seemed to be more about exercising authorization controls over Java resources.

The secure Big Bank demo demonstrates the combination of these two, where the web services binding is used to authenticate and pass the authenticated user token to the implementation java container which would then check for authorization.

We also support policies for logging.

InfoQ: Can you provide more details on JMS support?

LR: The JMS support allows you to declare JMS binding on services and references and configure/define a number of settings such as : JNDI URLs, Initial Context Factories, ConnectionFactory, JMS headers, source and destination queue to be used, etc. As for the other details, Tuscany is using ActiveMQ as it's default JMS provider but can be configured to use different providers as well, so some details would depend on the provider being used.

InfoQ: What additional features can we expect in the future?

LR: This will depend on the Tuscany Community, but from current discussions, I can think of following:

  • Promote OSGi to a first class Tuscany runtime environment.
  • More enhancements to Business Integration (BPEL).
  • Updates based on SCA Specification resolved issues moving forward..

We also have various Google Summer of Code project ideas in progress, this might give a boost to Tuscany functionality on the following areas:

  • Improved Web 2.0 Support integrating with Google Services.
  • Integration with Map/Reduce.
  • Mobile story - Running Tuscany on Android.

In addition, The STP/SCA sub project provides a set of tools for SCA development, that can simplify usage of Tuscany SCA implementation. Last month they have released a new tutorial First steps with the SCA Composite Designer, that provides step-by-step instruction on usage of these tools for SCA development.

No comments

Reply

Exclusive Content

Rationalizing the Presentation Tier

Thin client paradigm characterized by web applications is a kludge that needs to be repudiated. Old compromises are no longer needed and it's time to move the presentation tier to where it belongs.

Agile Project Management: Lessons Learned at Google

In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.

AtomServer – The Power of Publishing for Data Distribution

In this article, Bryon Jacob and Chris Berry introduce AtomServer, their implementation of a full-fledged Atom Store based on Apache Abdera, which is now available as open source.

An Introduction to Virtualization

It is easy to think that virtualization applies only to servers. In reality the recent resurgence of the concept is also being applied to networking, storage, and application infrastructure.

REST Anti-Patterns

In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them.

Choosing between Routing and Orchestration in an ESB

In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup, and discuss various implementation options.

Enterprise Batch Processing with Spring

Wayne Lund discusses batch processing, Spring Batch objectives and features, scenarios for usage, Spring Batch architecture, scaling, example code, failures and retrying, and the future roadmap.

User Story Estimation Techniques

Developer Jay Fields draws on his experiences as a ThoughtWorks consultant to describe effective user story estimation techniques.