Briefing Book: What is SOA?
- By Jack Vaughan
- April 30, 2003
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.