Last fall, a group of us set about to better define the true meaning of service orientation and SOA, and the result was the SOA Manifesto.
The hope is that the Manifesto will help provide clarity to SOA. However, there's a lot of mystery still surrounding SOA. Many people -- even in IT -- say they don't fully understand what it can do, or how to go about building one. For a subject that has been hyped to incredible levels by vendors and analysts, there has been precious little information about its fundamental implications.
Here are some of the unsolved mysteries that still persist around SOA:
#1 How could SOA be failing when nobody really has SOA yet? Plenty of pundits and analysts declaring SOA to be a failed idea; yet SOA is an evolutionary process, and nobody really has fully completed a SOA implementation yet. There's been a rush as of late to declare SOA dead in the water, when surveys I have seen and conducted show most companies are still planning or considering their first service-oriented projects. In fact, the major challenge I keep hearing about these days is SOA gets too successful, and too many services are being added or launched willy-nilly -- or being demanded -- across enterprises that have SOA efforts underway. That's why so many vendors are hyping governance.
#2 If SOA is failing so miserably, where are the horror stories? Over the years, we've heard plenty about failed ERP and CRM implementations, how companies shoveled millions of dollars into software projects that not only failed to meet expectations, but also was hated and rejected outright by end-users. There haven't been such accounts associated with service oriented.
#4 How do vendors sell a concept that will make it easier for customers to drop their products? What's in it for them? The benefit of SOA is that services can be swapped out almost on demand. This, of course, is one of the conundrums vendors face, especially those pushing SOA in a big way. (Of course, all vendors say they are about "SOA" these days, right?)
#5 Who's paying for SOA? What departments are ponying up the money and staff time to launch services that will be used by everyone else -- potentially, departments that have not had to commit any resources to take advantage of a service? SOA-enabled applications may take more to build at first than more traditional point-to-point interfaces, and the ROI shows up in economies of scale. The economies of scale generated through SOA -- better ROI over the long haul -- contrast with the cheaper up-front implementation of point-to-point applications. However, the risk occurs when organizations think they're putting SOA in place, but end up with little or no ROI because it wasn't true SOA -- still JBOWS, or point-to-point interfaces. Who's taking these risks -- or who's being asked to take these risks?
#6 Why is everyone so ga-ga over cloud computing and Enterprise 2.0, yet disinterested in SOA? When you get right down to it, cloud is the acquisition or provisioning of reusable services that cross enterprise walls. Likewise, Enterprise 2.0 is accessing services that enable greater collaboration and mashing up of information by end-users. They are service oriented architecture, and they rely on SOA-based principles to function. Perhaps it's similar to trying to get people interested in jet propulsion technology, versus a weekend getaway on an island -- which will need that jet-propulsion technology to get them there.
#7 How does one know when a SOA project has been successful or unsuccessful? A paradox comes into play here -- the companies most prone to adopt SOA are those that need it the least. If their management has the vision and foresight to support SOA, it's also very likely putting many other progressive programs in place -- business intelligence and analytics, data warehousing, and so forth. How much of their ongoing success is directly attributable to SOA? What's the definition of success? Documentable cost savings? A single end-to-end process enabled by Web services?
This is one of the biting challenges of SOA to begin with -- success is a long-term gain, evidenced by the sharing of services across multiple business units, in which service development time is notably cut back, or, a business is able to reconfigure and achieve faster time to market with a product or service thanks to the increased flexibility of its underlying infrastructure.
But the only true measures of long-term success in the market are either increased revenues or increased stock values, and many factors besides SOA will contribute to this. The real issue is figuring out how to measure SOA's contribution to this success. The "success" of the SOA itself is irrelevant.