My review of the last session I attended at JavaOne on Thursday
TS-1076 Practical SOA Business Integration Using OpenESB: A Distributed
Java™ Business Integration Composed Services Application How-to and
Demo
Presenters: Ron Ten-Hove, Michael Wright, and Keith Babo (standing in for
Mark White)
I'm pleased to see Keith at this presentation. He's a contributor to the
soon-to-be-published article "Implementing Service-Oriented Architectures
(SOA) with Java EE 5" (see the review of TS-3175 below). He's a member of
the JSR 208 Expert Group and contributes to the 208 RI and to Project
OpenESB.
However, I'm not pleased to learn that Mark White, the originally
scheduled presenter, has been hurt in a motorcycle accident. Heal quickly,
Mark.
Waiting for the presentation to begin, we are assaulted by rap music with
the refrain "I'm an engineer, respect my mind!" Maybe it just feels like
I'm being assaulted because I'm sitting next to the loudspeaker.
I suppose people actually program with this stuff playing in the
background, but I'm feeling my IQ drop with each machine-gun verse.
Mercifully, Ron opens the session. He presents an overview of SOA concepts.
Not having his charts and diagrams on hand, I won't try to summarize.
Next, Keith introduces Project OpenESB. Although Project OpenESB is an
implementation of JSR 208, it addresses some shortcomings of the
specification by introducing a Java Open Enterprise Service Bus built with
JBI technology. In essence, OpenESB enables a set of distributed JBI
instances to communicate as a single logical entity that can be managed
through a central interface.
Now, Mike presents the demo. The demo is built with open source tools,
including the web server GlassFish, the NetBeans™ IDE, and Project
OpenESB.
Mike shows how to build OpenESB from scratch. Next, he shows how to build
custom components. These plug-in components are useful in many different
application areas. They can be used in other projects and are a way to
build value over time. Most important, they can be shared with the Project
OpenESB community.
To avoid the uncertainties Gopalan encountered in TS-3175, Mike and company
have canned parts of the demo in video rather than doing it all live. This
is certainly a safer approach, but the audience, robbed of the sense of
high-wire drama, begins to grow restless.
Just in time, Mike fires up the the composite application resulting from an
earlier build and deployment. After some fancy footwork, the demo works
nearly as expected. Pretty good, considering that the OpenESB bits are only
two days old.
In his closing remarks, Ron urges us to learn more about composite
applications are and to contribute to OpenESB.
Here are my takeaways from the session:
-
The big win in a SOA composite application is flexibility. During the
demo, Mike replaced a local rules engine service provider with a remote SOAP
implementation. The composite application clicked right along, obtaining
its services from the remote provider.
-
The organization of an SOA composite application makes it easy to reuse services.
-
An SOA composite application is easily scalable.
-
The Enterprise Service Bus (OpenESB) based on JBI fits in well with the
world of Java Programming. For example, inside GlassFish is a service
engine that allows Enterprise JavaBeans to be services within the JBI
system.
As with most of the sessions presented at JavaOne, slides and sample code
will be available for download. The content of this presentation will be
made available on the
Project OpenESB site as well.
It's well worth a look.
Also, much of this material will be covered in "Implementing Service-Oriented Architectures
(SOA) with Java EE 5," due for publication on May 25. I'll give you a heads-up when it actually hits the cybersphere and tell you where to find it.
Another JavaOne Session Review
Here's a review of another JavaOne session:
TS-3175 Building a Service with BPEL and the Java(TM) EE Platform: How
Composite Applications and JBI Simplify SOA Development
Presenters: Gopalan Suresh Raj, Ron Ten-Hove, and Peter Walker
Now, here's a presentation I've been looking forward to. Service-Oriented
Architecture (SOA) has been around for a decade or more, but the promise of
widely distributed composite applications hosted on web servers has made it
the hot topic in programming recently.
I've only recently been exposed to SOA, having helped Gopalan Raj and
others author an article on the topic, scheduled for release later this
month. The man clearly knows what he's talking about -- and here is
Gopalan now, ready to deliver in the flesh. His task, we quickly learn, is
to present a demonstration SOA application that will make all the
high-level descriptions concrete.
But first, Ron gives us some background on SOA. He points out that the
"services" in Service-Oriented Architecture can do just about anything you
can think of -- transform data, query databases, integrate existing assets,
and so on. Furthermore, they can be implemented in almost any technology
-- XSLT, BPEL, SQL, and many other acronyms. The integration technology
that holds them together is what turns them into a SOA composite
application. For this session, the integration technology that holds
them all together is BPEL, the Business Process Execution Language.
Ron steps in to describe BPEL as "a flowchart for a conversation" between
an application's service providers and consumers. BPEL processes are
expressed in XML notation. Using constructs like partner link definitions
derived from the Web Service Definition Language (WSDL), BPEL describes
inbound and outbound service interfaces. When combined with Java Business
Integration (JBI), which provides the messaging infrastructure, these
technologies let you re-use existing Java EE code transparently so that it
can easily be integrated into other processes or applications.
Finally, Gopalan is called upon to do his thing. Using the NetBeans 5.5
Beta IDE, he shows how to put together a composite application with Java EE
platform tools and an application server that supports JBI. Everything is
going fine until he tries to build and deploy the application, when he is
betrayed by beta-level software and falls into some sort of infinite loop.
You can see the smiles of sympathy in the audience as Murphy's Law takes over
the demo. Everybody, at one time or another, has been there and done that.
The presentation is effective nonetheless. My take-away is that you can
begin using the NetBeans 5.5 IDE and other downloadable tools to create
SOA composite applications now. So, why wait?
Keep an eye out for the forthcoming article, "Implementing Service-Oriented
Architectures (SOA) with Java EE 5"
by Gopalan Suresh Raj, Binod PG, Keith Babo, and Rick Palkovic. I'll post
a URL on this blog when it's published, around May 25. It provides a
detailed SOA composite application example.