I'm doing some research into SOA now. And yesterday's release of Celtix 1.0 is just in time for me to have a hands on look at an ESB.
I have yet come to any conclusions about the topics at hand. However, I do want to praise the Celtix folks for the manner in which they packaged their product and the way in which they wrote the documentations.
I know this is all peripheral, however I have seen enough Java projects that are badly packaged and documented that seeing one Java project packaged right makes me want to write about it. I wish more Java open source projects are like this.
First of all, the download comes in a jar file, which, when run, extracts its content into a single directory named after the project.
The content of the directory has a sane structure that's familiar to many developers:
The documentation matches the product. When it says to go to such-and-such directory and execute such-and-such command, the directory is there and the command executes fine mostly with expected results. I can't tell you how many times this is not the case with other open source products (makes me want to pull my hairs out).
The environment variable settings are spelled out and no guess work is required.
There is a prerequisite section in the installation guide that is actually accurate.
There are only two prerequisites: the JDK and optionally Ant.
The tools are provided in both command line versions and Ant tasks.
An abundance of many independent sample programs, each with a build.xml file with a few sensible targets. There is a README.txt in each sample program directory with no-nonsense instructions. For example
From the samples/hello_world directory, the ant build script
can be used to build and run the demo.
Using either UNIX or Windows:
ant build
ant server
ant client
And most of the samples (all but the one that demonstrates .NET integration) work out of the box as one would expect. To top it off, the Ant scripts work under Cygwin, which is something that I can't say about the also recently released JBoss WS 1.0.0 GA, which I'm also looking at. (I usually don't make too big a noise if something doesn't work in Cygwin. I just open a Windows command shell and go on. The JBoss WS samples do compile fine there.)