19 May 2009

Maintaining Perspective on What Is Really New About SOA

The term "service-oriented architecture" is relatively new, but the architecture is not. Even though architectures that used the CORBA or DCOM specifications in the 1990s were not called "service-oriented," they were essentially service-oriented architectures. Some other organizations preceded CORBA and DCOM with their own specifications and developed what we would today consider an SOA. The concepts of loose coupling and encapsulation that characterize what we call a "service-oriented architecture" are not new.

For much of the 1990s, however, CORBA and DCOM were not interoperable. The rise of the Internet and the specifications for REST and SOAP have made SOA much more interoperable than any past specifications. There is more work to do on interoperability, but we are much further down that road. This level of interoperability for services is new.

The need to connect services (or systems) together is hardly new. In the past, however, it has been necessary to both develop the connection technology and define the format of what is transmitted across the connection. In addition to REST and SOAP standardizing the connections, XML is helping to standardize what is transmitted across the connection. The tagged format of XML provides resilience to what is transmitted across the connection. (In the XML fragment <city>Boston</city>, "city" is the tag and the value of the tag is "Boston.") Unlike fixed records where a change in a record format may cause some systems to become unable to communicate or, worse, unknowingly, use the wrong data, XML tags ensure that this cannot happen (as long as all systems agree on the meaning of the tags). Tagged formats were not widely used by IT before the advent of XML, so this is basically new. Collected together, the XML tags form a vocabulary. So the terms used for tags are important. This is why an XML vocabulary is important. Vocabulary has always been important in IT. So that is not new. But the globalization of our communication to include both internal and external partners makes it imperative to use standard XML vocabularies. That imperative for standard XML vocabularies is new.

Proper SOA development results in appropriate encapsulation (information hiding) and factoring of services. The concepts of encapsulation, information hiding, and factoring go back to the beginnings of software engineering. They are not new.

So what is really new about SOA is the level of interoperability of the connections and the level of standardization for what is sent across the connection. This is why I think SOA is here to stay. Sure, it will be enhanced over time, as well it should. (It might even take on a new name at some point.) But I cannot see how we will turn back from this level of interoperability and standardization of communication. I can see us only moving forward.

The challenge for organizations is how to manage the change that will likely come about as we adopt SOA. It is my hope that the ideas of an incremental SOA technique, which I provide in my recent Enteprise Architecture Executive Report, "Incremental SOA: Facing Reality, Coping with Change, and Improving Your Chance of Success" (Vol. 12, No. 4), will help minimize the change issues that will naturally arise as you develop a service-oriented architecture in your organization.

I welcome your comments on this issue of the Cutter Edge and encourage you to send your insights on the market in general to dbarry@cutter.com.

-- Douglas K. Barry, Senior Consultant, Cutter Consortium

Maintaining Perspective on What Is Really New About SOA

Advice and Analysis

The Cutter Edge is a free biweekly email service that gives you information and advice that you can put to work immediately for your organization. Issues are written by Cutter Consortium's journal and Senior Consultants.

Sign Up for the Cutter Edge

Advisor Free Trial

Sign up for a free, 4-week trial to any or all of our Advisor newsletters.

Sign Up