Briefing Book: What is SOA?

Application development managers today are beginning to look at Web services, which promise an easier, more loosely coupled means of connecting applications. At the same time, many of these same managers are concerned that, while easier is better, an ad-hoc approach to development or integration may come back eventually to bite them. Enter Service-Oriented Architectures (SOA).

One reason for the popularity of SOA: It speaks to ideas already long brewing. This writer recalls a Software Development Conference in 1998 at which Java father James Gosling reproved the industry for reliance on the term 'server' as in 'application server' rather than 'services.'

As described by Gartner analysts, SOA applications carry on the time-tested notion -- often discarded in practice -- that presentation, logic and data should be held distinct. That means not hardwired. Gartner adds to this the idea derived from the component software movement that coarse-grained chunks of business logic should act as services to client programs that are in the presentation tier or in a business logic tier. The interaction or choreography of application integration should be the area of interest to the designer.

As described by IBM's Steve Burbeck in an early Web services white paper, SOAs focus on how services are described and organized to support their dynamic, automated discovery and use. That makes WSDL key.

As described by ZapThink analyst Jason Bloomberg in Application Development Trends, SOA implements a top-down approach to planning. Model Driven Architecture (MDA), which isolates implementation from design, and Agile Modeling (AM), which employs business use cases, can both apply in part to SOA, says Bloomberg.

Annrai O'Toole, founder of CapeClear, sees SOA in the light of how a SOA person might act. He says: "A Service Oriented Architecture is a new way of thinking about your diverse application code and data. Rather than seeing a million lines of Java or COBOL, a SOA person sees a set of "contracts" that define a business service. Rather than seeing "data," a SOA person sees "business documents." By thinking about a business service, which has a contract and which consumes and produces business documents, a SOA person sees how diverse applications can be integrated to solve business problems.

Mike Rosen, analyst, Cutter Consortium, puts it this way: “Service Oriented Architecture is an architectural and application style that focuses on providing "services" to clients. It is distinguished from client/server and other data centric styles that focus on the manipulation of data. Rather than dealing with data, and directly manipulating it, an SOA provides business functions that act on business entities and the data associated with them. This is especially useful when the data is spread across multiple data stores - and possibly duplicated.

“In addition,” says Rosen, “an SOA supports loosely coupled interactions, well defined, high granularity interfaces, and use of an intermediary to locate the service.” He adds that service oriented architectures are not new, but “are experiencing a renewed interest.”

Web services is like any other preceding technology in that it can be an instrument of artistry or incompetence in the right or wrong hands. Gartner analysts advise application development managers to review practices of SOA -- as well as CMM and function points -- when venturing into the new world of Web services. At a Gartner AD conference last year, Gartner's Matt Hotle was among those who said that an organization that has not yet succeeded with components is not a good candidate to suddenly succeed with Web services.

Not all of this will be accepted uncritically by Web services developers in the front lines; some will bridle at the idea of modeling; others will not.

Really, it all may not be so complex as some of the theorists may suggest. No matter, a new approach to architecture may be needed. Not surprisingly, the word from at least one early Web services deployer is that thoughtful planning helps. Project Lead Greg Bobak worked with an ADT Innovation Award winning team at Cole National (parent of specialty shop Things Remembered) to introduce Web services to strategic partners, allowing them to sell their products online. 'When you design [applications],' Bobak said, 'you do have to think of how, in the future, you will have it as a Web service.' Again, enter Service- Oriented Architecture.

Links:
Principles of SOA, by Jason Bloomberg
How does your AD effort measure up?, [Report from Gartner AD conference]
Things Remembered -- Lessons learned
Stemming 'XML service creep'
Service-oriented management boosts Web services
Gartner: Start Web services efforts now
MDA brings standards-based modeling to EAI teams

More links:
The Best Solution to Business Integration -- CapeClear.com
The tao of ebusiness services -- IBM.com
Gartner Predicts 2003: SOA Is Changing Software -- Gartner.com

About the Author

Jack Vaughan is former Editor-at-Large at Application Development Trends magazine.