Software development tools represent an important bellwether to any IT adoption curve, their presence generally reflects everything from ease of use to platform maturity. In SOA's case there are a series of options to choose from, read on as we take a closer at one of the many initiatives in this space: The Eclipse SOA Tools platform.
Lets start by mentioning what sets Eclipse apart from others choices in this area. Eclipse is an open source foundation backed by over 100 of the biggest names in enterprise software, a structure which not only guarantees a product road map established by a wide industry consensus, but also one that has limited adoption barriers, being an open source project.
Though this sets Eclipse apart ideologically speaking, you should also be aware that Eclipse is more than an isolated initiative for SOA tools, since it provides federated support for many aspects related to software development tools. Initially conceived as a Java IDE, Eclipse has branched out into other development languages like PHP and C++, as well as additional functionalities, along the lines of testing, monitoring, reporting and, of course, more recently into the SOA landscape. It gives Eclipse a special appeal, given that organizations and developers can leverage one development tool with various add-ons.
Shifting our focus to SOA, Eclipse's primary target is to offer tool support for the up and coming SCA (Service Component Architecture) model -- more background on this subject can be found in "A primer on Service Component Architecture" -- along with the other supporting technologies related to building SOA, such as BPEL and WSDL.
Since SCA's intent is to homogenize the deployment of services through pre-packaged components, Eclipse allows the iterative development process of assemblies to take place in a controlled environment while targeting specific SCA run-times. Given that the actual creation of components entails introspection of services code and putting together various descriptors, Eclipse takes away much of the grunt work involved in creating SCA components.
Still, for those not looking to introduce SCA into their SOA initiatives, Eclipse also provides support for building run of the mill Web services, including a comprehensive WSDL editor and shortcut templates (a.k.a "Wizards"), as well as everything else you would expect from a mature software development IDE, including data source management, debugging facilities and testing functionalities.
In the SOA business processes area, Eclipse has two focus areas, one coming in the form of a tool aiding the translation of BPEL contracts into Java executables and another as a visual editor for modeling business processes in Business Process Modeling Notation (BPMN).
What we have outlined so far is the current state in the Eclipse SOA tools platform, but as is generally the case with open source projects and their constant flux of ideas, many other emerging SOA techniques which require tooling will surely and eventually make their way onto the Eclipse platform, especially considering its numerous commercial backers.
As an organization or end user in the fray of implementing SOA, tools are surely on your to-do list and Eclipse is well on its way to becoming a de-facto platform in this sense with: flexible licensing, no vendor lock-in and a growing community. If you're in the market for SOA tools, give the Eclipse SOA Tools platform a closer look, it has compelling features which can surely ease your transition into the world of service-oriented architecture.
About the Author
Daniel Rubio is a software consultant with over 10 years of experience in enterprise software development, having recently founded Mashup Soft, a startup specializing in the use Web services for mashups. He is a technology enthusiast in all areas related to software platforms and maintains a blog on these topics at Webforefront.com.