SOA's dictum that 'everything is a service' is more relevant than ever
A few years back, SOA (service-oriented architecture) was all the rage. Vendors rushed to remarket everything as SOA, and SOA-washing was the new greenwashing. But in todayโs rush to the cloud, have we abandoned SOA? If so, weโre in trouble.
I was late to SOA. When Bobby Woolf sent me an early copy of โEnterprise Integration Patterns,โ I didnโt get it. I had been working on performance and scalability rather than integration. A few years later, afterย JBoss was sold to Red Hat, we had one final blowout company party. I was standing amid some of the brightest minds in the industry when someone asked, โWhat the heck is SOA?โ No one could answer except the marketing guy.
SOA isnโt a product. It isnโt even an architecture. It is a strategy or maybe even a philosophy. The short version is, as Amazonโs Jeff Bezos famously summed up, โeverything is a Web service.โ SOA services are also discoverable and ideally event-producing or event-driven.
IT departments also love to buy integration products, but hate to use them for integration. Remember when portals were the hot ticket? Every corporate IT department created its own portal; no one created portlets. Internet companies did the same โ every company built its own portal. Now every department will buy its own SOA server.
Integration requires not just technical consulting, but management consulting ร la โHouse of Lies.โ No integration technology can force two corporate departments to talk and share data. For that, you need both vision and hard-nosed, hands-on management. You need a corporate structure that supports that vision. In other words, you canโt really buy a SOA product and achieve SOA through purchasing alone.
Is there a directory standard at long last?
That said, you can buy a complete SOA product suite from nearly any large tech vendor. Due to poor standardization, however, most of these products wonโt really integrate with any other vendorโs products. This is partly due to a key, missing component from the SOA diagram above: the service registry. Sure, every vendor has one, but every standard proposed until now has failed to gain serious momentum. As a developer, I had always assumed that one day theyโd plug into the Java Naming and Directory Interface API or System.DirectoryServices in .Net and I wouldnโt have to worry about it. So far, it hasnโt happened.
UDDI was the Web services standard that was supposed to emerge, but failed to gain any kind of significant traction. IBM, one of the key supporters of UDDI, decided to roll its own with itsย WSSR product; later, along with other vendors, itย published S-RAMP as an alternative. If youโd like to know more about S-RAMP, tough luck โ nearly all of the pages at OASIS, its specification group, return a 404.
What good is an integration strategy without standards to drive interoperability between vendors? Truth be told, you donโt even need to buy an SOA product to achieve a SOA strategy, but it would certainly be nice if you could catalog and locate services between vendor products with an SOA purchase. Donโt get me wrong, two REST or SOAP services can still talk, but it is point-to-point integration by name. This is a real shame for some of the larger organizations that I work with. You sell your soul to one vendor and their directory (such as WSSR), or you do point-to-point integration by name.
Everything I do is cloud because I say cloud before everything I do
The marketing steam ran out of SOA a while ago. Instead, the industry is focused onย big dataย andย cloud computing. But the cloud solves none of these integration problems. The cloud will not stop silo computing as the predominant industry standard. In fact, abundant commodity computing power may yield a bigger mess.
A host of vendors will sell you a public or private cloud solution, but you still need a strategy that will let you integrate all of your data and logic. Thatโs where the value of SOA lives on. Itโs even more important now that the industry is cloud-washing all of its products. As software developers, we should probably breathe deep on the way to the cloud and take one last crack at this integration strategy.
Andrew C. Oliver is a professional cat herder who moonlights as a software consultant. He started programming when he was 8 and cut his teeth on GW Basic, BASICA, and dBase III+. He is most known for founding the POI project, which is now hosted at Apache. He also was one of the early developers at JBoss before it merged with Red Hat. He is a former board member and current helper at the Open Source Initiative. He is president and founder of Open Software Integrators, a professional services firm with offices in Durham, N.C., and Chicago, Ill.


