Mike Kavis wrote an interesting blog entry that explains why SOA is not just a technology to leverage legacy applications, but it’s also good for startups. This got me thinking about how vendors could make it easier for startups or existing small businesses to begin the journey into SOA.
Right now, most SOA products are developer tools, governance and other management tools, and back-end products such as application servers. There are few, if any, off-the-shelf services anyone can buy, install and start using with minimal customization. It’s hard to tell from the marketing-speak whether such products exist, and where they may exist; they seem to target things like CRM for large organizations.
There could be a good market for off-the-shelf SOA components. Maybe not today, since SOA is only just beginning to see significant success and adoption, but soon. One of the nice things about SOA (or about any good component-based architecture) is that you can create a service that is a superset of what most people need. Design it right, and it automatically adapts to the subset of data and functions any given customer may need.
Here’s an example. Imagine a small chain of DVD rental stores. The business decides to run a central server to track the rentals from all the stores. Normally, the chain would adopt a complete system and adapt their business practices to it, or they could create a custom set of applications written to deal with the chain’s process for handling rentals.
But suppose there’s an SOA product that covers almost every imaginable aspect of tracking DVD rentals. It’s overkill for this small chain, but if the product is built right, the chain could buy that product and use the appropriate subset of the services the product provides. There’s no reason to stop there. Given the right set of off-the-shelf components, they should be able to string together SOA services to create a complete end-to-end solution. Ideally, this should be much easier than choosing a database server and client GUI technology, and then building a system around it. Better still, if their suppliers migrate to an SOA approach, the chain could integrate that into their purchasing system. And so on. Granted, this specific example is less than ideal, since there probably isn’t a huge market for DVD rental service software, but hopefully you get the idea.
The point is that SOA is similar enough to component-based software that it should be able to fulfill the promises of component-based software. If so, this should benefit everyone from the smallest companies to the largest, because it enhances the development of scalable applications.
As I mentioned above, this isn’t likely to happen today, because SOA standards are not fully in place, yet. It’s hard to sell an off-the-shelf SOA service if customers aren’t equipped to connect it. Most potential customers probably wouldn’t even know what to look for in terms of compatibility with their development efforts. Vendors can mitigate this problem to some extent by providing compatibility layers, so that the same service can connect via web services, CORBA, or what have you. Maybe that sort of thing will always be necessary, but it would be preferable to have enough standards in place that you can buy an off-the-shelf service with confidence that it will work in your project with minimal effort.
Regardless, I believe the market for pre-packaged services has potential. I’ll be watching carefully to see if anyone attempts to jump-start this kind of business.