SOA ready for download

In this guest commentary, Adam Michelson provides a detailed examination of popular open source software solutions available for SOA.

This Content Component encountered an error

There are many popular open source software solutions available for SOA. Open source is making incredible inroads into software infrastructure and SOA middleware is no exception. Open source software thrives where standards exist and SOA has plenty -- some would say too many! There is a great variety of open source SOA solutions available, ranging from message queues to data transformation, application adaptors to orchestration engines,...

and most notably the ESBs, Web services solutions and SOA stacks that contain many middleware components. The following table shows some of these popular SOA open source solutions:

Project Type Location Description
ObjectWeb Celtix ESB celtix.objectweb.org A Java ESB runtime and set of extensible APIs to simplify the construction, integration and reuse of business components using a standards-based SOA. Recently merged with the XFire Java SOAP framework and now housed at Apache.
JBoss JEMS SOA Stack www.jboss.org/products/index JBoss Enterprise Middleware System (JEMS) is an extensible and scalable suite of products for creating and deploying e-business applications that includes:
  • JBoss Application Server
  • Apache Tomcat
  • Hibernate
  • JBoss Portal
  • JBoss jBPM
  • JBoss Rules
  • JBoss Cache
  • JBoss Transactions
  • JBoss Messaging
  • JBoss Eclipse IDE
LogicBlaze FUSE SOA Stack www.logicblaze.com/software.jsp An open source ESB and SOA toolkit built on the semantics and APIs of the Java Business Integration (JBI) specification that includes:
  • Jetty HTTP Server
  • LifeRay Portal
  • jUDDI Web services directory
  • Several application protocol connectors
  • Apache BPEL Engine
  • XSTL Processing
  • Apache ServiceMix Enterprise Service Bus
  • Apache ActiveMQ JMS
  • Apache Derby database
  • Eclipse IDE
OpenSymphony Mule ESB mule.codehaus.org An ESB messaging framework that includes a scalable object broker that can handle interactions with services and applications using disparate transport and messaging technologies. Ships with several end-point adaptors.
SUN open-esb ESB open-esb.dev.java.net An ESB runtime based on JBI.
WSO2 Tungsten Web Services Stack http://www.wso2.com/products/tungsten/ A service mediation framework that supports web services specifications. The stack includes:
  • Apache Axis2 (SOAP, WSDL)
  • Apache WSS4J (WS-Security, WS-SecureConversation, WS-Trust)
  • Apache Sandesha (WS-ReliableMessaging)
  • Apache Kandula (WS-Coordination, WS-Atomic Transactions)
  • Apache WS-Policy (WS-Policy)
openadaptor Services Connector www.openadaptor.org A Java/XML-based software platform which allows for rapid business system integration with little or no custom programming.

Why open source?

Before digging into some of these solutions, let's quickly review the major benefits of open source over its commercial counterparts. I do not find that total cost of ownership is the key advantage of open source software, although on its surface it seems it would be because open source is free to download and use. Cost can be a benefit, but many companies still pay for professional support for their major open source components to give them a "throat-to-choke." Formal support is available for most major open source projects. And installation, integration and deployment still require effort just like a commercial product would.

Open source's key benefits are its agility and transparency. My article on assembling software discusses how open source enables agility when compared to commercial software because there is no long procurement process and refactoring is made easier because there no vendor lock-in.

The transparency of open source has major benefits as well. Because users have access to the source code and all documentation, they can readily review the solution's features, bugs and future roadmap - usually made available through the project's JIRA pages. Users can often gain access directly to the developers of the solution and community that uses it.

These benefits are real. Open source may be less expensive than commercial software, but look to its transparency and its ability to enable agility for a truly better way to build software.

Let's now review in a bit more detail some of the popular solutions that are setting the pace for open source SOA software. In particular we will take a look at LogicBlaze FUSE and WSO2 Tungsten. There are certainly other very good solutions available, but we will use these to highlight some of the latest SOA options and trends.

LogicBlaze FUSE

LogicBlaze, like many of the other SOA solutions available, has integrated several SOA middleware components into a stack. Within the FUSE stack lie several independent SOA solutions that include:

  • Apache ActiveMQ to provide JMS
  • jUDDI Web services directory
  • Jetty HTTP Server
  • Apache BPEL Engine
  • Apache ServiceMix Enterprise Service Bus
  • Apache Derby database
  • Several application protocol adaptors
  • LifeRay Portal
  • Eclipse IDE integration

These components together provide powerful SOA capabilities. You should also be aware that the individual component solutions within any of the SOA open source stacks can be used independently very effectively in your SOA implementation. And the user can pick-and-choose to exclude, include or swap any component of the stack. But if many of the capabilities of the individual components are required, then choosing a stack solution such as FUSE should be considered because they have already done the integration.

LogicBlaze FUSE does not have the mindshare of Mule or the name recognition of JBoss. Mule was one of the very early open source ESBs and is still a very popular open source SOA solution. Mule is well known for its ability to package many connectors to communicate with all sorts of heterogeneous services.

JBoss has ridden to fame on the back of its application server and a Red Hat acquisition. JBoss has integrated its application server and its other well-known open source projects to build JEMS. JBoss does not have an ESB as part of their stack yet, but they are working towards a production release of their ESB due near the end of the year.

Even though LogicBlaze FUSE does not have the fame of JBoss or Mule, it is a formidable contender. LogicBlaze's projects had previously resided within the Codehaus open source repository, but have since moved to Apache to get closer to some of the other projects contained in the FUSE stack. IBM has also contributed to the FUSE stack, offering committers (developers on open source projects are called committers) and hardware to the effort.

IBM also has a relationship with the people at Simula Labs, the parent company of LogicBlaze. IBM acquired Gluecode, and Simula Labs has individuals on the management team that used to work at Gluecode. IBM's involvement in FUSE and with LogicBlaze may be seen as a benefit or a drawback, but the relationship does exist. The developers on the FUSE stack components are well-respected in the open source and SOA middleware space. And like most of the other solutions listed in the table above, FUSE does offer professional support through its sponsor company, LogicBlaze.

The ServiceMix ESB is at the heart of FUSE. It is a solid ESB with a good following. One of the perceived issues with ServiceMix is its support for Java Business Integration (JBI) as a way of plugging-in ESB components. Early-on the support of JBI was a differentiator for ServiceMix against other ESBs, most notably Mule. But the adoption of JBI has been spotty and LogicBlaze has been moving its messaging for ServiceMix away from this stigma that it is only appropriate if JBI is being used.

ServiceMix is built internally on JBI and does support the API, but can also support many other APIs, including Web services. If you are looking for an ESB with JBI support, then ServiceMix is very compelling. But FUSE should still be considered even if JBI is not how you would like to integrate your SOA services.

WSO2 Tungsten

Tungsten is an SOA stack that specializes in Web services. Actually Tungsten is not a compelling solution for SOA implementations that use endpoints other than Web services, but given the popularity of Web services for SOA, WSO2's Tungsten is a solution that is getting a lot of consideration. Tungsten blends many of the Apache Web services projects into its stack, including:

  • Apache Axis2 (SOAP, WSDL)
  • Apache WSS4J (WS-Security, WS-SecureConversation, WS-Trust)
  • Apache Sandesha (WS-ReliableMessaging)
  • Apache Kandula (WS-Coordination, WS-Atomic Transactions)
  • Apache WS-Policy (WS-Policy)

These components represent many advanced Web services capabilities, though not all are fully developed standards yet. Note that the solution does not contain a formal ESB. Still, if Web services are being used as endpoints to integrate SOA functionality, Tungsten may be the best SOA stack to consider.

And if advanced Web services capabilities are being evaluated, such as reliable and secure Web services, then the components within Tungsten represent one of the most capable Web services stacks available, open source or commercial. Like FUSE, the Tungsten WSO2 engineers are very well-respected in the open source community and have a long history building middleware. There are other committers to the Tungsten stack as well, including classic commercial middleware companies such as Sonic Software.

Not to be left out, ObjectWeb, the consortium behind the JOnAS J2EE application server, has built an open source ESB project called Celtix, donated by Iona Technologies. Celtix recently merged with the XFire Java SOAP framework and will be called CeltiXfire in the future, with wider support for WS-* specifications and integration with the Apache Geronimo, ServiceMix and Tuscay projects as some of its chief goals moving forward. As part of the merge, it will move from ObjectWeb to Apache.

WSO2, for its part, is a relatively young company compared to LogicBlaze, JBoss or SymphonySoft. WSO2 is still trying to grapple with how to grow as an organization while continuing to build and support their popular open source stack. I would recommend evaluating this solution if you see Web services as the key integration technique for your organization.

As the table above shows, there are many open source options available for SOA, we don't have the space here to review them all. The stack movement represents some consolidation, which likely shows a maturing of the open source SOA market. Tungsten and FUSE represent just two of these stacks, but all of the projects within the table are compelling, as are the individual components within the various stacks.

There are more open source projects still, than those listed in the table – the complete list is a bit overwhelming. These simply represent a good sampling to show that open source middleware has arrived and act as a guide for your search for your next great open source SOA download.

About the author

Adam Michelson has more than a decade of technology implementation experience. Adam is currently the director of service-oriented and enterprise architecture for Optaros Inc., an international consulting and systems integration firm that provides enterprises with best-fit solutions to IT business challenges, maximizing the benefits of open source software.


This was first published in September 2006

Dig deeper on Service-oriented architecture (SOA) implementations

Pro+

Features

Enjoy the benefits of Pro+ membership, learn more and join.

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchSoftwareQuality

SearchCloudApplications

SearchAWS

TheServerSide

SearchWinDevelopment

Close