Java Business Integration – A Foundation for SOA
Ron Ten-Hove and Peter Walker, Senior Staff Engineers with Sun Microsystems
This session (which I found out this morning was the most attended session from yesterday) went into the SOA concept and where the new Java Business Integration (JBI) standard fits into it. It ended up being more of an SOA description than really getting into the details of JBI. It was a very buzz-word centric talk. It basically ended up rehashing what was mentioned in the keynote regarding this technology.
Some links regarding it:
Groovy = Java Technology + Ruby + Python for the JVM
Rod Cope, CTO and Founder of OpenLogic
Groovy Project Page
This session was definitely the best one I saw from the day. Rod Cope was an exceptional presenter of material and very funny to boot. I would highly recommend checking him out if you get a chance.
Groovy is yet another scripting language. The beauty of this one is that it is fully available inside Java and actually Java code is Groovy code…
The scripting language provides a concise powerful scripting language that gets compiled down to good old Java classes. It was begun in August 2003 and has a thriving community built around it.
Some of its features are:
Dynamic and Static (Optional) typing
Native Syntax for Lists, Maps, Arrays, and Beans
Closures (which are nice little methods defined on the fly)
Built-in RegEx support
The technology fully integrates with Ant, and can actually be used to replace much of what Ant does. It can also be used inside Ant scripts to give a bit more programmatic control (such as If statements and loops, etc).
Groovy provides very, very simple methods to read and write XML, HTML, and interact using SQL. There is a wrapper that allows Groovy to use COM automation to automate things like Word, Excel (and it is super easy too). It also has a scripting shell that can be used interactively (for those of you that love a good shell).
All in all, great little quick and dirty scripting language. Low barrier to entry for Java programmers. Really can provide great utility in writing test cases in your unit tests. Not yet ready for mission critical apps, but version 1.0 should be out by September and Rod apparently has a book in the works on Groovy so I will be looking forward to that.
A Hitchhiker’s Guide to SOA – Orchestrating Loosely Coupled J2EE Services with BPEL and BPMN
Charles Beckham, Todd Fast, Mike Frisino, Sun Microsystems
This session was a quite entertaining overview of the ideas and concepts involved with SOA, including descriptions of BPEL, ACDC worker services and BPMN. It of course followed the layout of the Hitchhiker’s guide from starting with the phrase Don’t Panic to including witty definitions from The Guide for each of the topics.
Basically the jist of what we are shooting forward is a collection of loosely coupled services. The problem is how to describe the services in ways that the business analysts can understand and how to make all of this fancy new fangled XML easy to work with.
BPEL – Business Process Execution Language – XML based language that specifies processes. It describes long running stateful transactional conversations between two or more partner services
Now BPEL itself doesn’t really do any work, he is more of the coordinator of things and controls the exchange of messages back and forth amongst the various partners. BPEL relies on ACDC (no, not the band, though they are quite good) Worker Services to do the actual work. ACDC stands for Async, Conversational, Document Centric services. These perform the actual actions that our traffic cop (so to speak) BPEL does.
BPMN – Business Process Modeling Notation – BPEL unfortunately is difficult to write (being XML and all), and even more difficult to visualize (being XML and all). BPMN is a standard notation format (developed by BPMI) that is a kind of flowcharting language with special considerations for BPEL. BPMN can be mapped to BPMN (and vice versa)
Of course here is then where everything drifted off into the marketing world. As luck would have it, Sun’s Java Studio Enterprise has a set of tools to handle all of the creation of BPMN, BPEL, mapping between formats, managing the partners of various services, etc, etc. So off we went into Marketing-land to view what Java Studio Enterprise can do to handle all of this fancy stuff 🙂
But overall quite informative even though they diverged a bit at the end. Plus the Charlse, Todd, and Mike show was very humorous.
Visualizing Gizmos, Gadgets, Whatchamacalits
Mike Brown, Boeing Corp
This session talked about using Java3D to do some very interesting real time modeling and physics type modeling. A bit over my head since I’m not really a graphics guy, but it was entertaining to watch Mike’s virtual shirt thrower he built go to town on his computer based on the physics rules he defined.
And thus ended the sessions for day 1. We spent some time chatting at the Sybase booth (since we are big Sybase fans) checking out their new product Workspace (based on Eclipse, very cool. Check it out