Tight Budgets? Try open-source SOA!

Implementing a service-oriented architecture can be an extremely expensive undertaking. You might need to purchase several products within the SOA stack, like an enterprise service bus (ESB), a business process modeling (BPM) tool, a portal, a rules engine and a data services tool.

But it doesn't stop there. There are additional tools for testing, SOA governance, security... and the list goes on and on. In addition to all the software, you need to budget for training, hardware, consulting and salaries.

That's a boatload of capital you need to ask senior management for. Leveraging open-source products and services can help ease the pain. There are many advantages of leveraging open source to meet your SOA needs.

There are a few paths that you can take for your open-source SOA initiative. You can go with a complete open-source SOA stack, you can mix and match various open-source SOA products from different vendors, or you can mix and match both commercial and open-source products.

There are two major open-source stack providers that stand out: MuleSource and WSO2.

MuleSource

MuleSource launched the Mule ESB back in 2003. In 2006, it formed an actual company and continued enhancing its product offerings. In addition to the ESB, MuleSource has an application and services monitoring tool called MuleHQ, and a design-time governance tool (just released) called MuleGalaxy.

To complete its stack offering, MuleSource works with open-source partners Liferay for portal functionality and Intalio for BPM functionality. Do you need proof that MuleSource is ready for prime time? Just ask H&R Block, which has a 130,000-server Mule ESB implementation [PDF] or read about Walmart.com [PDF].

WSO2

WSO2 is a true open-source alternative. Unlike many open-source vendors in this space, it does not have a separate commercial and enterprise offering. All of its features are free, with the hope that users will acknowledge the need to purchase subscription services. This is a great strategy, because it allows the customers to see the full value of the products without having to deal with the limitations of a community version. WSO2 is three years old and started with a Web Services Framework, which is a communication runtime for Perl, PHP, Ruby, Spring, C and C++.

Web Services Framework is a set of libraries and jar files for rapid development and deployment of Web services. On top of this framework, WSO2 is building its SOA offerings -- which include an ESB, a Web Services Application Server, a runtime governance tool, a security solution and a newly released mashup server. The Web Services Application Server makes it simple and effective to create, consume and manage Web services. It provides data services capabilities and will soon include a rules engine. The new Mashup Server makes it easy to compose Web services, feeds and Web pages to create mashups through the use of a simple scripting language.

Do you need WSO2 case studies? Its customers include a large HMO with a legacy mainframe system that is using WSO2's Data Services and ESB; Concur, a Web 2.0 expense management company that is using their Data Services and ESB to implement an internal SOA; and one of the largest banks in the Asia-Pacific region, which is getting support for its ESB.

Other support options

You can subscribe to support services from your stack provider or leverage the services of an open-source service provider like Source Labs or Spike Source. If you have doubts about open-source support, you need to read this article, which debunks the myth that you can't get good support for open-source software.

Other solutions

If the stack vendors aren't for you, or if you only need a certain product to supplement your existing stack, there are many proven open-source alternatives to choose from. Here are a few, in addition to the ones I mentioned above:

  • Portals: Liferay Portal, Apache Jetspeed
  • Business Process Management (BPM): Intalio, jBPM
  • Business rules: jBoss Rules
  • SOA governance: Centrasite, freebXML
  • Testing tools: SoapUI, PushToTest
  • Integration: Snaplogic

This short list only scratches the surface of what is available. Eric Roch, CTO at Perficient, has worked on numerous SOA initiatives as a consultant over the years. He has seen many companies mix and match open-source and commercial products. He says that by doing so, a company can pick the best products for its specific requirements. Buying an entire stack from one vendor does not always give you the best products.

Roch has also seen clients leverage open source to fill a specific need within the stack. For example, a company may decide down the road to add a rules engine or a repository several months after it implements its first few projects. Instead of going back to the well to ask for more funds, some choose to fill the gap with open-source products.

On the project that I worked on, we had a fixed amount of capital to work with. We used several open-source tools to complement our commercial ESB, BPM and data services tools. Roch does caution that not all of these tools are mature, and some are lacking features that developers may need from a productivity standpoint.

When evaluating open-source software, make sure that the product or service has a large community following, a good track record of support and a good road map coupled with several successful implementations. You can leverage open source across the entire stack and across all of the tools, or you can supplement your commercial purchases of software with a few open-source alternatives. The choice is yours. I highly recommend that all vendor evaluations consider at least one open-source alternative.

This story, "Tight Budgets? Try open-source SOA!" was originally published by CIO.

Copyright © 2008 IDG Communications, Inc.

7 inconvenient truths about the hybrid work trend
Shop Tech Products at Amazon