<<Susan Hall spoke with Gartner analyst Roy Schulte, a specialist in
service-oriented architecture and co-author of the 1996 Gartner report
that introduced the term SOA to the industry.
Hall: We've heard lately that companies are shying away from
service-oriented architecture. Is that true?
Schulte: We just did a survey of about 250 large companies and they're
continuing to do more SOA than in the past. However, this year, compared
to last year, there are fewer people saying they're going to do it in
the future.
I haven't talked to people who are doing SOA who say they're going to
stop doing it, but there's fewer people who are going to do it. Those
that are doing it, in some cases they're disappointed with the benefits
they're getting out of it.
Hall: What kind of problems have they run into?
Schulte: Probably the biggest disappointment is the low level of reuse
or sharing that they're getting. I had one CIO from state government
tell me, "We're getting less than 10 percent reuse." You know, the best
we ever see is 40 percent reuse. We consider success anything between 10
and 40 percent. But the startup cost of SOA is considerable. You have to
train your people, you change your development methods and your
governance, and often you have to put in an organizational center of
excellence to keep track of all your metadata, so there are some startup
pains. But then you find that any service you build is only relevant for
one business function, so you're not going to reuse it because no other
business function cares about it. Some of these, like product data,
customer data, employee data -- these are going to be reused a lot.
Fifteen to 20 times is typical, but other things are not reused at all.
Typically, either the service will be used a lot or not used at all.
Hall: Has all the hype just raised people's expectations too high?
Schulte: Absolutely. People set the expectations too high and they
focused on reuse, because that sounded like something people would pay
for. In practice, I don't think that's really the benefit of SOA. Yes,
you will get that, but the more universal benefit from SOA is the
modularity, the ability to swap out a module and replace it with a new
version of it. You get that if you're never reusing it at all. "If you
go to a large company, with some people, especially top management, it's
still at the peak of the hype cycle. They think SOA is going to solve
all the world's problems. The architects, though, are worried because
they're down in the trough of disillusionment. They've seen it. They've
tried it. They realize it's a good idea and they're going to do it, but
it's not going to live up to any of the hype."
Hall: So, those who said they were not going to do SOA in the future,
what would they do instead?
Schulte: That's exactly the question. What are you going to do? What
you're going to do is kind of what you did in the past. Basically what
you'll do is an informal, not-well-done version of SOA. The traditional
alternative would be to write a monolithic application that runs on one
computer. So rather than spreading an application across a dozen
computers, you'd run it on one computer and run it in one big block. It
would be a 2,000- to 3,000-line program.
That's an alternative to SOA, but nobody's going to go back and do that.
You can't roll back distributed computing. So if you don't do SOA,
you're probably still going to do distributed computing and you're still
going to have interfaces among the components. And if you're not doing
SOA, you're going to have informal, ad-hoc interfaces between the
components. So you'll have something that looks a lot like an SOA
application, with a lot of the drawbacks and problems of an SOA
application, but without the discipline of having documented interfaces.
So you're going to have a much worse time than if you had gone to SOA.
Hall: So, according to Gartner's hype cycle, is SOA in the trough of
disillusionment?
Schulte: Last year it was in the trough of disillusionment and now it's
on the way up slightly, but it's still down there. It's a mix. If you go
to a large company, with some people, especially top management, it's
still at the peak of the hype cycle. They think SOA is going to solve
all the world's problems. The architects, though, are worried because
they're down in the trough of disillusionment. They've seen it. They've
tried it. They realize it's a good idea and they're going to do it, but
it's not going to live up to any of the hype. They know there's going to
be problems because the expectations are so high. What you get upfront
are the startup costs and no payback and the aggravation of it all, but
top management, like the CIO, is going to be really unhappy when they
find the reality is not so good. So within any given company, you'll see
SOA on many different points in the hype cycle.
Hall: Those companies that did SOA, what did they learn from the experience?
Schulte: We've talked about one of them: The key to happiness is low
expectations. But that's sort of a life lesson. (Laughs)
Most of the problems people have are not technical. Most of the problems
are with governance. The best thing for SOA is a CIO who is thinking
clearly and he or she puts in place a systematic program for
coordinating the SOA applications across multiple
application-development teams and across the different business units.
It's the coordination of SOA where most problems occur.
One of my colleagues does a presentation on SOA horror stories and most
of them are organizational. You have several different groups doing SOA
independently and they try to coordinate after the fact. You can do it,
but it's really hard. You're trying to glue together things that weren't
designed to work together, so you're into adapters and all sorts of
gateways and stuff. By then you've done the services, so you've got
customer information in five, 10, 15 different services. So it's very
hard, where if you had done it up front, you'd be in better shape.
Hall: So what do you see happening with SOA from here?
Schulte: Well, in general, I still see more positive than negative
associations with it. People are growing up and getting a grip on their
expectations. I don't think they'll ever go back to monolithic computing
or ad-hoc distributed computing, so SOA really is a durable trend that
can't be repealed.
There are some interesting things happening. SOA is established, but
it's not frozen in time. It's continuing to evolve. There are two
variations: Web-oriented architecture, SOA done using Web principles,
and event-driven SOA. Both of those are hot because they are being
underutilized, yet they're both useful. So in the future, I think most
SOA applications will be a mix [of all three, including the traditional].
The other interesting thing is that Web services standards seem to have
disappeared from common discussion. Microsoft and IBM possibly have gone
as far as they're going to go on Web services standards, so what we're
seeing might be all we're going to get as far as Web services standards.
So that means a lot of stuff isn't standardized. But right now, progress
is so slow, it might never happen. So that leaves a lot of gateways or
proprietary domains. So if you're a company running part of your
business on a Microsoft infrastructure and another part on an IBM
infrastructure, when you have to communicate across those boundaries,
it's going to be painful. It's going to be a job-creation program for IT
people because things don't connect the way they're supposed to.
The other thing is with business-process management. A lot of people
would claim that one of the benefits of SOA is that it helps facilitate
the implementation of business process management systems. Yet most SOA
projects don't use business process management yet. That's changing.
Increasingly, people are using BPM engines with SOA.>>
You can read this at:
http://www.itbusinessedge.com/item/?ci=48037&sr=1
Gervas