Implementing SOA 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 boat load 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.
1. Try before you buy. With commercial software, once you invest in the software, the cost of the software and the first year of maintenance (typically 20 per cent of the purchase price) is committed. With open source, you can create prototypes and try out the software before you commit large sums of money. Even if you plan on buying commercial software you can leverage open source software to validate your architecture before making any purchases.
2. Lower cost of entry. The cost of the various tools within the stack can be quite staggering. Open source eliminates or greatly reduces the initial sticker shock. You get the software for free and you have the option to subscribe for support services. Of course, not paying for support for your SOA stack is suicide. In some cases, there is a community version and an enterprise version. For certain products within the stack, a company may only need the community version which is totally free. Other companies may need the robust feature set of the enterprise version, but it is still substantially cheaper then commercial software.
3. Cost effective support. With commercial software, support costs a percentage of the initial purchase. This leads to incredibly high maintenance costs in the hundreds of thousands or even millions of dollars. Support for open source software is substantially less. So not only do you not have the huge initial investment, but your ongoing fixed costs are substantially less as well.
4. Core competency. Many of the mega vendors in the SOA space have tentacles in various areas of technology with SOA being one of them. They often take existing products and tweak them in the name of SOA. They also buy several companies and then call themselves an integrated stack. The reality is, their stacks are a hodgepodge of many different companies and the promise of integration is not a reality. With many of the open-source vendors, SOA is all that they do. These products are built for SOA from the ground up, not from mergers, acquisitions, and rushed integration releases.
5. For the people by the people. Commercial software is closed and not accessible by developers. In my past life, we had some integration challenges with a vendor's portal and BPM products. We spent two months providing the vendor with logs and various information so that they could troubleshoot the issues. Once they finally found the bugs, they patched some of them but deferred others to a future release to be determined. If we had access to the code, we would have found the issues sooner and fixed the ones that they were not willing to fix in order to save the precious time that we lost while waiting for the vendor to resolve its issues. Instead, the project slipped several weeks and we wrote a ton of workarounds that will probably exist in the system for years to come.
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.