CIOs and system architects find themselves stymied as they try to sledgehammer complex SOAs into their enterprises. Top-down, "if you build it, they will come" approaches to service-oriented architecture often wind up failing--sometimes spectacularly. Instead of better aligning business processes and IT departments, as was promised, too many employees remain oblivious to expensive SOA initiatives. And those optimistic ROI projections? Forget 'em.
The lesson is that more often than not, simpler is better.
A growing number of companies are finding that lower-visibility Web-oriented architecture (WOA) developments, spawned through grassroots movements, are a better route to the service-oriented architecture. WOA, like SOA, is an architectural approach to system design, though WOA is resource-oriented rather than service-oriented. What's the difference? While the core SOA design unit is a reusable service that fulfills a distinct business function, resource-oriented services are more limited and data-focused.
SOA and WOA work at different layers of abstraction. SOA is a system-level architectural style that tries to implement new business capabilities so that they can be consumed by many applications. WOA is an interface-level architectural style that focuses on the means by which these service capabilities are exposed to consumers. Governance, quality of service, security, and management are of equal importance, whether the functionality is being delivered via SOA or WOA.
Although some pundits argue that only startups and Web-centric companies are getting behind WOA, IBM WebSphere CTO Jerry Cuomo has become a champion via Project Zero, IBM's WOA-based framework, now in beta and scheduled to be released as a product later this year. Cuomo offers the following example gleaned from helping his 12-year-old son do a homework assignment:
"He decided he wanted to produce his assignment as a Web site. With a little coaching, I convinced him to look at Google's and eBay's services and have a little fun placing banner ads on his homework. Using the Google and eBay Web APIs, which support simple REST URLs, he was able to easily cut and paste the code needed (without really understanding what the code did) into his assignment, and presto, he was linked into both Google's and eBay's powerful SOAs. Several months later he has made over $5 on his homework from ad revenue. This is a real motivator to do homework!"
One IT exec who's really been doing his Web-oriented architecture homework is Steve Bjorg, co-founder and CTO of MindTouch, a company that marries an open source wiki collaboration and content management platform with IT governance. Launched in 2007, MindTouch's Deki Wiki is now deployed by FedEx, Fujitsu, Gannett, Microsoft, Siemens, the U.S. Army, and other organizations worldwide. "By going the WOA-plus-REST route instead of SOA-plus-SOAP, the requirements for extending the application dropped considerably," Bjorg says. "There is no SOAP processing stack with complicated WSDL documents, an SOA registry, and what have you. Instead, someone can easily create an extension to Deki Wiki using any number of computer languages." (More on the alphabet soup of these architectural acronyms later.)
Companies worried about whether a Web-oriented architecture can replace SOA should relax. WOA and SOA are complementary architectural styles, even if pundits say you should use one or the other. In some cases, a WOA will serve the purpose. In others, you may need to scale up to a SOA. But what's certain is that companies shouldn't let themselves be pressured into jumping headfirst into SOA if they're not ready.
It's understandable that companies are attracted to the SOA concept, which seems to offer a way to get applications written in different languages and on various platforms to act as if they all were written in a single programming language and reside on one computer. Distributed computing often is considered the holy grail of programming, and it's something vendors such as IBM, Microsoft, and Sun have been working on for more than 20 years, with varying degrees of success. SOA is the latest, and thus far greatest, attempt to solve the distributed computing problem, but it seems to be running into many of the same troubles that bedeviled earlier approaches based on Corba, DCOM, and Java/RMI standards, where software from different vendors didn't always interoperate.
InformationWeek's survey results were confirmed in an August 2007 report by Nucleus Research, which found that only 37% of 106 organizations it surveyed actually were realizing ROI from their investments in SOA technology and programming. Earlier this year, Burton Group analyst Anne Thomas Manes expressed a similarly negative view of the current business value of SOA: "Thus far I have interviewed only one company that I would classify as a SOA success story."
Could starting small with a WOA be the answer?