January 7, 2007
Overall, with the majority of Service-Oriented Architecture (SOA) implementations going full-scale in this new year,
programmers, developers and system architects will face questions that were not
even issues when they were doing pilot projects in 2006.
Will application performance meet enterprise requirements? How reliable will
it be? How is this going to scale up to handle thousands of Web services? And is it
going to be worth the money?
Annrai O'Toole, CEO of Cape Clear Software, offers his take on these questions
and offers some answers in this interview/article.
How have you seen SOA evolve in the past year?
Annrai O'Toole: What we've seen in 2006 and what we think we'll see in 2007 is
a lot of mainstream enterprise SOA development. There has been lots written about it.
We're seeing a huge amount of adoption among our customers this year. They are
saying: "This SOA stuff looks pretty good. We've played around with it. Now,
we're using it in anger." So the questions we're being asked are things like
how scalable can you make it? How reliable can you make it? How big a system
can we actually build using SOA and an ESB? There are a whole new set of next
generation problems. We've bought the religion now we want to see how far
we can push it in terms of enterprise class scalability.
What are the challenges in moving to the next step?
O'Toole: There's quite a few of them. I'd put them into three major buckets.
One is performance. SOA is a great idea. But now we're trying to pump millions of
messages and build thousands of services. Can they actually deliver the performance
we're looking for? So performance is one bucket. Making that happen is going
to require a lot of pretty sophisticated clustering for SOA. That's non-trivial.
to your website will boost your search engine visibility
After performance, what's the next challenge?
O'Toole: The second bucket is reliability and availability. We've heard people say:
"What happens when sets of services disappear because the machine crashes or
there's a network outage? Does the system keep on running or does it fall over
in a mess?" That's a particularly hard challenge.
And what's the third challenge?
O'Toole: The third bucket I see is related to the first two but on a slightly
different level, which is explaining the business benefits of all this SOA
stuff for end users. Because as you start to build very large scale projects
with SOA, there are bigger investments, and people really want to understand
what the business payoff is.
So how do you see these three challenges being addressed?
O'Toole: I think you're going to see an increased emphasis on good design. I
researched performance recently, so I did a Google search to see what's best
in class. How do people describe performance? Relational databases have been
around for 30 years now. The type of thing you need to do to optimize database
performance begins with normalizing your data. It's all basic stuff. So I think
you're going to see lots of focus on building really good SOA architectures that
really are capable of scaling. Secondly, there's going to be clustering. What we're
seeing is people building their SOA on multiple servers. That's a real maturity.
I remember in the app server days when clustering became the big thing. So good
design and clustering are going to be two of the solutions for performance.
Are there key elements that are needed to produce good architecture for
performance and the second challenge, scalability?
O'Toole: The broad principles of that are well understood. It must be coarse-grained
services. They must be loosely coupled and asynchronous. Those three basic principles
are still the keystone of what SOA is all about. People still manage to make
mistakes. But if you start off with those three architectural principles, you
can't go far wrong.
So is it really a matter of just sticking to the basics?
O'Toole: In all technologies, there are never any magic bullets. What people
have gone through here are the initial stages of understanding what SOA is all
about, how to apply it and how to make it work. As they've gone through that they
found it's a very useful thing and they are trying to take it to the next level.
And, they've found that if you stick to the basic principles of SOA, you'll get
a system that will scale.
You mentioned clustering, where does that fit in to meeting these
O'Toole: There's a particular new challenge in clustering that we have to deal
with in SOA. In the Web tier when we scale up app servers, we basically did
stateless clustering with occasionally state involved. There were a couple of
techniques we had to learn, but we figured that out. We needed to use load
balancers and we got that to work pretty well. The challenge with SOA is the
type of applications that people are building are stateful. Because what people
are using SOA to do is model business processes, which by definition are
stateful things. So this is a much more complicated level of clustering than
simple IP load balancing that we did with app servers. So getting that right
and getting that to scale is very difficult. We've been focused on a technique
called "server affinity," which is a way to get very high levels of stateful
clustering that will scale up to potentially millions of services.
Along those lines, what needs to be done to ensure reliability?
O'Toole: They are related because what you get with clustering is the ability
to have multiple copies of a service running in parallel so that if one fails,
you can rollover to another one. But there's a lot more complexity here because
you're handling application state. So if one element of a cluster fails, you've
got to be able to re-hydrate that application state on a new server somewhere
in the cluster. That's non-trivial. You've got to be able to provide continuous
availability in SOA.
Source: Web Services.org
Have your website professionally optimized by the search engine positioning experts
at Rank for $ales. If
your site has dropped in rankings since November 16, 2003,
the search engine positioning experts at
Rank for Sales.
Get your business or company listed in the
Global Business Listing
directory and increase your business. It takes less then 24 hours
to get a premium listing in the most powerful
business search engine
to find out all about it.
For the best technical information on hardware, software, Internet applications,
e-Commerce, B2B, Web services or IT-related industry news, visit
Reciprocal Link Exchange Program:
If your company is engaged in the business of
Web Services, the development of related
ecommerce or B2B development,
Internet security services,
Web hosting services or is involved in professional
Search Engine Optimization,
My Web Services is seriously interested in a worthwhile Reciprocal Link Exchange
Trading Program with your company. Click here
to get all the details.
W. W. H.
Montreal Web Design