The SOA Tools Platform (STP), which will have its first public download as part of June 29 Europa tools release from the Eclipse Foundation, is very much a work in progress.
Talking to Oisin Hurley, SOA products architect at Iona Technologies Inc and project leader for STP, offers a glimpse of how an open source project slowly emerges from incubation, and how a project changes and evolves with new input.
"This is our initial big song and dance," Hurley said of the Europa release of STP, "but it won't be our last."
The original goal was for this to be the STP 1.0 release, but the complexity of the project, which aims to eventually be all things to all SOA developers, required the committers to modify that goal. So the release that is part of Europa will be STP 0.6. The project still hopes to have the 1.0 release out later this year, but no firm date has been set.
Being part of the once a year Eclipse chained release of the latest versions of projects is an important step for STP, Hurley said, because the project team wants to attract the attention of SOA developers. Even though the APIs are not mature and components that will be key to the final release are still missing, the team is encouraging developers to download it, kick the tires, run it around the test track and report back on what they think.
If the test drivers find features missing, Hurley wants them to let the team know. He wants them to tell the STP project team what new components are needed and why they are important. In the best case scenario, he would like to see testers join the project and help contribute to the evolution of the platform.
In recent months, new code has been contributed for support of SOA specifications including Java Business Integration (JBI) and service-component architecture (SCA), Hurley said. Those modules won't be part of STP 0.6, but will get strong consideration for inclusion in STP 1.0.
"We're shipping release 0.6, which is our indicator to the public that it still needs work, and we need a lot of feedback on our APIs," he said. "So we're asking people to consume them and give us some more feedback around our extension points, whether they're suitable for their needs."
Hurley said he is looking forward to seeing things as simple as bug reports. He also wouldn't mind some positive feedback if developers find things they like. He notes that while constructive criticism drives improvements, one bit of positive feedback will do wonders for team morale.
Asked if STP 0.6 is ready for real world projects, Hurley answered with a qualified maybe.
"The best way to give us feedback is to start using it in a project scenario," he said. "That's where you find the holes, the pieces that are missing, the pieces you might like. What we've tried to do is give you enough to get you going. You may need to build on it a little bit more."
Developers who are familiar with Eclipse and how Eclipse works and are prepared to be flexible will have the best chance of making productive use of STP 0.6, Hurley said. It is probably not for the programmer looking for a ready-to-go, out-of-the-box tool.
"Is it ready for direct project work?," Hurley asked rhetorically. "What I have to say is the APIs are going to change. If you're flexible enough that you can check out the APIs and when we change them that's okay, then that's fine. But if you're coming from the position that your going to expect the APIs to be solid, that's really not what we're delivering in June. We'll be delivering that later on."
Once STP 0.6 is released with Europa, Hurley said the project team will begin a period of evaluation, using the feedback to determine what is working, what is not, what needs to be added. This will be the process that will begin to finalize what STP 1.0 will look like when it is released.
"After this Europa release," he said, "you're going to be seeing a lot of new things appearing in the project. For instance we've been talking to people about JBI. There's a lot of interest in JBI support. There's a lot of JBI tooling out there. So expect something around JBI. Similarly there are a lot of people interested in doing the graphical construction of SCA models and that's something where we've seen some prototype code. We hadn't seen anything that would be at a level where it could be part of an on-going project, but it's starting to appear now."
He said the STP project team is also looking at including tooling for Business Process Modeling Notation (BPMN), as well as Business Process Execution Language (BPEL) composition.
Ultimately, Hurley said the goal of the project is to make STP as modular as SOA itself, so developers will be able to get all the tools they need in one place – Eclipse – but they will only have to download the tools they need for the specific task in front of them.
"The important thing we realized is there is no such thing as one specific kind of SOA developer," Hurley said. "The archetypal developer is a mythical beast. What you have is a wide range of people that have very different tasks but they are still all part of an overall SOA development lifecycle. So within STP we've aimed to address the design and development phase of SOA, plus the delivery phase. The delivery phase includes getting your software and services from the build environment out to containers where it can run. We don't aim to look at the operational aspect of it, certainly not right now. But in design, development and delivery there's still a lot of diversity in the developers that we see there. We want to address as many of those as possible and we want to address the needs that are immediate within the SOA developer community right now."
Keeping STP modular will mean that a developer working with JBI may only download and use the JBI tools, Hurley said.
"I don't want to give people another 250 megabyte download and say all the disciplines are in here," he said. "If I know developers and I do because I am one, developers don't like fat. They like focus. They want the tools they need to get their job done."
Both the SOA Tools project and the platform are intended to attract a diverse community of SOA developers who contribute to and use the tools that interest them, Hurley said.
As he explained his ultimate goal for the project: "We want people to look at STP and say, 'That's me. That's what I want. I'm a JBI guy. I'm really interested in your JBI project. The rest of the stuff can go and hang.'"