Saturday, September 1, 2007

SOA is not About Integration

I am reading "SOA Practitioners Guide" which is authored by a group of ten SOA Practitioners including Surekha Durvasula. This is available on the internet from
http://colab.cim3.net/file/work/SOACoP/2007_05_0102/SOAPGuide/.

I was interested in quote in the executive summary

"Traditionally, IT works with the business owners, who are influenced by application vendors. This results in IT strategies that are application or integration-focused." (Durvasula et al Pt1, p.6)
What this implies is that SOA is not integration-focused. This is an important point. In early days of a company's SOA maturity the impetus behind using Web Services or some other service technology may be to integrate applications. This is not an architectural approach. SOA is not a glue to stick applications together in an ad hoc fashion. It is an architecture in which a portfolio of applications can be built. To focus on the integration is tantamount to focusing on the siloed applications.

A quote from Erl (Ch 3.2)

Contemporary SOA supports, fosters, or promotes:
· vendor diversity
· intrinsic interoperability
· discoverability
· federation
· inherent reusability
· extensibility
· service-oriented business modeling
· layers of abstraction
· enterprise-wide loose coupling
· organizational agility
Integration does not get a Guernsey here. This is consistent with most benefits reported for SOA. Agility and Reuse are the big catch-cries.

What about 'interoperability' though? Is that just 'integration' in another guise? According to Wikepedia

The IEEE defines interoperability as …the ability of two or more systems or components to exchange information and to use the information that has been exchanged.
This sounds awfully like integration to me, but fortunately the issue is clarified a little later in the Wikepedia entry.
According to ISO/IEC 2382-01, Information Technology Vocabulary, Fundamental Terms, interoperability is defined as follows: "The capability to communicate, execute programs, or transfer data among various functional units in a manner that requires the user to have little or no knowledge of the unique characteristics of those units".
James Snell (2001) puts this in web services terms

The fundamental goal of interoperability in Web services is to blur the lines between the various development environments used to implement services so that developers using those services don't have to think about which programming language or operating system the services are hosted on.

While integration is about passing information from one system to another, interoperability is getting services operating together despite being built in different ways. We do not integrate services, they interoperate as parts of a system. In what Erl calls contemporary SOA (which is based on Web Services) the services are intrinsically interoperable. This means services interoperate because they are part of the SOA not because we have built these services specifically to be interoperable.

I have purposely drifted from talking about integration to interoperability. I am presenting at a conference shortly and I wanted to explore a nagging feeling I had that the title of the conference "Achieving Interoperability in Systems Architecture" might somehow be antithetical to SOA. The original name of the conference was going to be "Capitalisng on Service Oriented Architecture".

I conclude that achieving interoperability is a valid aim for an enterprise architecture to have. This should be intrinsic interoperability and not ad hoc interoperability. Similarly ad hoc integration is not the aim of an SOA. The only objection I might have to the conference title is that it narrows the focus somewhat. This will not affect my presentation significantly.


References

Ark Group, Conference, Achieving Interoperability in Systems Architecture, http://www.ark-group.com/home/xq/asp/eventid.0CD5BD30-31D1-4E2E-AD40-50D4178087F5/qx/events/event.htm

Durvasula et al., SOA Practitioners Guide, http://colab.cim3.net/file/work/SOACoP/2007_05_0102/SOAPGuide/

Erl, Thomas, Service-Oriented Architecture: Concepts, Technology, and Design, 2005 Prentice Hall

Snell, James, Web Services Interoperability
http://www.xml.com/pub/a/2002/01/30/soap.html, January 30, 2002

Wikepdia on Interoperability, http://en.wikipedia.org/wiki/Interoperability

1 comment:

Anonymous said...
This comment has been removed by a blog administrator.