Building an Open-Source SOA
LAS VEGASOpen-source software enables businesses to be much more agile, and an open-source service-oriented architecture enables both greater adaptability and agility, said James Strachan, chief architect and co-founder of LogicBlaze.
Indeed, Strachan, who spoke at TheServerSide Java Symposium here on March 22, said an open-source SOA stack is attainable today for users who want to implement it.
"Start today using open-source software," Strachan said. "Use open-source services when you need them in bite-sized chunks," he said.
Strachan said an open-source SOA stack is available today in the form of a bunch of Apache Software Foundation offerings. Indeed, Strachan said enterprises can use ActiveMQ for messaging, Axis 2.0 for the SOAP (Simple Object Access Protocol) stack, a new Apache project called Ode as the orchestration engine, and ServiceMix as the ESB (Enterprise Service Bus).
"Message-oriented middleware is a nice, easy way to start a service-oriented architecture," Strachan said. "Apache ActiveMQ is an open-source version of a message bus." Strachan said IBMs MQ Series is a competing commercial messaging solution, but it is costly and "may not be the easiest thing to install."
In the SOAP stack space, Strachan said there are four competing solutions that address what he calls mediation: Apache Axis 2; Celtix from the ObjectWeb consortium; the Java API for XML Web Services (JAX-WS) specification from Sun Microsystems; and XFire from Codehaus.
"These are the big four," Strachan said. Of the group, Strachan said he thinks Axis 2 is the furthest along.
Apache Ode is an open-source orchestration engine based on two code donations: one from Sybase and another from Intalio that came from FiveSight Technologies, which Intalio acquired in December, Strachan said.
Meanwhile, the ServiceMix ESB is an attractive option for several reasons, Strachan said, one of which is that it supports JBI (Java Business Integration).
"The world is not going to be all Web services; its going to be everything so JBI has something called a binding that talks to all kinds of different things," he said.
In addition, ServiceMix has connectivity, smart routing, transformation, orchestration, platform support and a management stack.
As the developer tooling options of choice, Strachan said he prefers the Eclipse integrated development environment, the Eclipse SOA Tools Platform Project and the Eclipse BPEL (Business Process Execution Language) Designer Project offerings.
"My take is to just use Eclipsesorry Sun," he said.
Strachan advised developers to "write your business logic and services as POJOs [plain old Java objects], adding some metadata with annotations."
Moreover, Strachan said XML marshaling, or serializing, is very important.
"The biggest decision for SOAs is what tool you use for XML marshaling," Strachan said.
He said his two favorite XML marshaling methods are Java Architecture for XML Binding, or JAXB, and Service Data Objects, or SDO.
Meanwhile, the application programming models that can be used for an open-source SOA include: JSR 181, known as JSR 181: Web Services Metadata for the Java Platform, together with JAX-WS; the SCA (Service Component Architecture) and Apache Tuscany, which is based on SCA; Enterprise JavaBeans 3.0; and Spring remoting.
"SCA deserves very close scrutiny," Strachan said. However, he added, "theyre all sort of related."
Check out eWEEK.coms for the latest news, reviews and analysis in Web services.