InfoQ

News

Building Service Oriented Architectures with Java Technology

Posted by Jean-Jacques Dubray on Jan 02, 2008 06:59 PM

Community
Architecture,
Java,
SOA
Topics
REST ,
SOA Appliance ,
ESB ,
SOA Platforms ,
Web Services
Tags
JBI ,
OSGi ,
JSR 311 ,
JBI 2.0 ,
Service Component Architecture

Sun Microsystems started a tour in the US to present a comprehensive view of the technologies and approaches it recommends to build Service-Oriented-Architecture with Java Technology. In Seattle, the presenter was Thomas Barrett, SOA Technical Specialist at Sun.

Sun's target architecture is a composite application platform which is using reusable services either provided by third parties or built from legacy systems. Sun introduces SOA as a:

Track-tested architectural style for building applications using services available in a network (“The Network is the Computer”)

The presentation explains that SOA is best implemented with an ESB that provides resource and channel adapters as well as a series of build-in capabilities such as transformation, security, logging, routing...

Sun introduces the four layers of a Service Oriented Architecture:

  • access (delivery channels)
  • process
  • service
  • resource

Sun sees Web Services and REST as equally important for implementing Service Oriented Architectures. It is investing significantly in REST with:

  • JAX-RS: Java API for RESTful Web Services
  • JSR 311 (Draft April 2007)
  • Jersey is open source reference implementation

Sun also presents BPEL as a critical technology for SOA. The presenter demoed a graphical editor based on BPMN symbols and running in NetBeans 6.0.

The presentation went on to give an introduction to JBI, which is Sun's foundation to Service Oriented Achitectures. The presenter also demoed JBI's new assembly capability which is very similar to the one of SCA. Sun sees JBI as:

  • Allowing developers to provide more sophisticated applications and achieve better integration with other Java platform technologies
  • Standard “meta-container” for integrated services

The presentation gives some details about the upcoming JBI 2.0 specification:

  • Clarify and enhance JBI's role in creation, deployment and runtime support of composite applications
  • Support Web 2.0 technologies and usage models
  • Facilitate performance optimizations by component and container implementers
  • Improve alignment with Java EE (e.g. use of transactions)
  • Align with the Service Component Architecture (SCA) specifications with the goal of making JBI 2.0 a standard Java runtime for SCA
  • Provide full compatibility with OSGi Java-based service platform

The presentation includes a proposal for the alignment between SCA and JBI:

  • SCA sees JBI as helpful in implementing SCA on the Java platform
  • JBI appreciates SCA service metadata as helpful in standardizing service composition in general
  • SCA and JBI are not competitors as they focus on different aspects of service composition

The last section of the presentation focuses on the OpenESB offering, its relationship to Java CAPS (Composite Application Platform Suite) and its roadmap.

REST and BPEL? by jeff schneider Posted Jan 3, 2008 6:37 AM
Re: REST and BPEL? by Jean-Jacques Dubray Posted Jan 3, 2008 11:06 AM
  1. Back to top

    REST and BPEL?

    Jan 3, 2008 6:37 AM by jeff schneider

    JJ, How is Sun combining their REST and BPEL stories? Obviously, with their emphasis on REST, they aren't supporting WSDL... Jeff

  2. Back to top

    Re: REST and BPEL?

    Jan 3, 2008 11:06 AM by Jean-Jacques Dubray

    Jeff: hi, this is a good question. First I want to emphasize that the presenter, Thomas Barrett was neutral with respect to Web Services vs REST. I know that he relayed some of the concerns Tim Bray has about Web Services, but I did not get the feeling that Sun was walking away from Web Services. Thomas presented Tim's quote as: "what people that use REST think about Web Services". I am not sure he used the quote to represent Sun's view in the REST vs Web Services debate. I think Thomas point was "if you are thinking about Web Services, take a look at REST too". BPEL appears to be a key element of CAPS (based on the presentation) and Thomas did not talk at all about the relationship between BPEL and REST. IMHO, (it would be best if someone from Sun would respond directly) it seems that REST plays at the "access" layer of Sun's architecture. Of course, REST has more architectural implications than this, but nothing really prevents you to use REST as some kind of "lipstick". As soon as you use annotations on an object model, I think it means that you are doing some form of remoting without profound architectural changes. Again, this is only my opinion, and I am not conveying by expressing it anything I learned from Sun. Hope this helps, JJ-

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.