

SOAs promise business benefits but users need to be
clear about what they are trying to achieve if systems are to be
successful. Cliff Saran charts the route from theory to
real-world application.
The whole of the IT world seems to be talking about service
oriented architecture (SOA), but many people are unclear about what
it means in practice. To understand SOA, it helps to know how it
was developed and the needs it is designed to address.
According to analyst firm Ovum, SOA is the latest in a series of
approaches to provide organisations with a technology framework for
designing and integrating reusable software components.
Since the 1990s, when people realised the inefficiencies of
running monolithic applications on ever larger and more expensive
mainframe hardware, there has been a demand for different computer
systems to communicate in a standard way. Networking protocols such
as TCP/IP have enabled computers to share information via a network
cable. What users wanted was a straightforward way for applications
to do something useful with this information in a controlled and
managed way.
Early attempts in the 1990s came from open standards such as DCE
(Distributed Computing Environment) and RPC (Remote Procedure
Call). Such standards allowed one application - the client - to
initiate a process within another application - the server.
By the mid-1990s, the trend in software development was towards
treating code as objects. By splitting their programs into a series
of simpler components or objects, developers could reuse some of
the code they had written for one program in another, possibly
completely different, program.
To complement this object oriented model of programming, two
further approaches to inter-application communications appeared:
Corba (Common Object Request Broker Architecture) from the Object
Management Group (OMG), and DCom (Distributed Common Object Model)
from Microsoft.
By the late 1990s, the industry had moved on again. Users were
reluctant to be tied into the complexities of an architecture such
as Corba; and they were unhappy being locked into something
proprietary such as DCom, which was very much Windows-based.
At the same time, software companies started offering tools to
address the common problem of how to link together all the separate
silos of information within an organisation. As users bought new IT
systems, they were increasingly faced with the challenge of how to
share information. Although Corba and DCom applications could
exchange data, most applications could not.
Enterprise application integration (EAI) was the way forward and
the industry developed sophisticated brokering middleware that
could connect to commercial applications, transform data from one
format to another, and automate business workflows between
applications. The drawback with EAI was that user projects to link
every major application used in a company could take a long time
and were expensive and complex.
Instead, users looked to provide simpler integration between
applications by building point-to-point links between them. But as
the number of such links increased, users found themselves managing
"spaghetti code", containing countless, unmanageable links.
The advent of Java and the success of the web gave the IT
industry another chance to show it could tackle the problem of
application interoperability. A general consensus was achieved and
the era of web services was born.
The idea of a web service is that although an application can be
written in any language and run on any operating system, it must
provide an external standardised interface - a bit like an
application programming interface. A web service interface may not
be proprietary and must conform to an Internet Engineering Task
Force specification known as Soap (Simple Object Access
Protocol).
With a common Soap-based interface, one application could invoke
services in another application by sending specially formatted XML
messages using the Soap mechanism. A directory of available
services can be made available through a look-up table called UDDI
(Universal Description, Discovery and Integration), an XML-based
registry that allows organisations to find web services that can be
reused in software projects.
The logical extension of web services is the service oriented
architecture, says Teresa Jones, senior research analyst at Butler
Group. "SOA is an architectural design style for assembling web
services into high-level applications." Jones says that although
users have understood the need to think in terms of a services
approach to IT, web services have allowed SOA to work. It provides
standard interfaces that are essential to manage services. Jones
regards SOA as management for web services, providing the necessary
support for service level agreements, authorisation and contractual
tie-in.
Along with the management aspects, an SOA has to ensure that web
services are used in a controlled manner. Otherwise, users could
end up with applications creating an anarchic slew of
point-to-point connections to web services, resulting in spaghetti
integration. It would be far better if a separate dedicated
application managed all the web service connections, converting
data to a different format and firing off a web service to initiate
a new business process in response to some internal or external
change.
Enter the enterprise service bus (ESB), which users can deploy
to manage web services within an SOA. Jones says, "An ESB
facilitates communications between web services, orchestrating data
transformations and content-based routing."
One organisation looking at SOA is Great Ormond Street Hospital.
Head of IT Marc Saldanha has been using SeeBeyond's Integrated
Composite Application Network (now part of Sun's Java Composite
Application Platform Suite) to build services that can be mixed and
matched. "We have always built process-based applications and these
lend themselves to the SOA ideal," he says.
Saldanha is building on the SOA and has a wide variety of
projects on the go. He says the applications under development for
the SOA are relatively simple, such as driving a data entry form to
contract to a back-end system, as in a request system to book
annual leave. Saldanha's advice for anyone looking to develop an
SOA is, "Start simple and build up - we have fairly simple projects
because we want to build an understanding of SOA."
Starting simple makes it possible to look at different
approaches to the same problem. In the case of the Great Ormond
Street customer relationship management system, which manages
donations, there are two ways to consider a donor: individually or
as a group. The initial SOA implementation treats each donor as an
individual, but Saldanha says, "As a purist, I want to deal with
donors as individuals, but you have to weigh the efficiency." He
intends to test the other option, where donors are treated as a
group, in one service because there are fewer overheads.
An interesting point is that this application uses a Microsoft
Com (Common Object Model interface. Using the SeeBeyond software,
Saldanha has created a wrapper around the interface, allowing the
application to be used in an SOA.
At Heathrow's Terminal 5, due to open in April 2008, airport
operator BAA is using an SOA to handle events such as baggage
delays at other airports around the world affecting Heathrow
customers. Nick Gaines, head of systems and IT at Terminal 5, says,
"Integration is necessary. If we could not get data from national
air traffic control or the airlines, the airport would be severely
restricted."
As with Great Ormond Street, the SOA at Terminal 5 is
incremental. "We will not change our standard interfaces," says
Gaines. The external interfaces to systems such as baggage handling
and national air traffic control are unchanged. Instead, he is
using Progress Software's Sonic ESB to mediate between the old
systems and the new IT.
Sonic ESB allows users to configure workflows and data
transformations. This is something that needs to be managed
carefully at an airport, says Gaines.
All web services for Terminal 5 are defined in an XML
repository, access to which is tightly controlled. Gaines says, "It
is very easy with an SOA to get a programming whizzkid to change a
configuration. We will not need that in an airport
environment."
The SOA is governed by a system integration steering committee,
which monitors and manages all changes to web services definitions.
There is a formal sign-off process before a new or modified web
service is put into the repository, involving an independent
assessment to check the quality of the work, says Gaines.
Gaines advises users who are considering developing a SOA to
stick closely to industry standards. "These systems are very
immature," he says. Gaines has found he has needed specialist
skills. Although it is possible to find system designers who
understand "solutions", Gaines says it is important to have someone
who can consider the whole business model, design, systems
development and the future of IT. "The maturity of IT in this area
is such that there are very few good people," he says.
This is the reasoning behind BAA's decision to use a business
partner, Ultra, which specialises in airport information systems,
to implement the SOA. Gaines' internal operational team is being
trained to use Sonic ESB, allowing internal staff to support the
application when Terminal 5 goes live.
SOA moves users away from building systems and standalone
applications to the creation of reusable business services.
However, Ian Charlesworth, senior analyst at Ovum, says, "This will
only be realised if the developers creating the services move in
the same direction. Both culturally and from the point of view of
rewards and incentives, the desire has to be there to find and
reuse existing services rather than create new ones."
Ovum advises users to invest in tools and control mechanisms to
ensure that best-practice principles are documented and adhered to.
Charlesworth recommends clearly defining and widely publicising
such policies.
Click here for: Getting more than integration from
SOA
ERP suppliers' SOA plans could cut upgrade
costs
Enterprise resource planning software suppliers such as Oracle
and SAP are looking to transform their offerings from monolithic
applications to more flexible systems based on a service oriented
architecture.
With the SOA approach, business applications still operate as an
integrated system but the processes behind them are not bundled
together. Analyst firm Gartner says this could enable suppliers to
deliver componentised functional enhancements more quickly and
could lead to easier, cheaper upgrades for users.
Many businesses are unable to take advantage of software
enhancements bundled as large, complex, interdependent upgrades
because integrated systems that control a breadth of processes have
long and costly upgrade cycles.
As packages move from a tight-coupling to loose-coupling model
(as business processes are unbundled and componentised), so users
will have the flexibility to take advantage of them in an isolated
manner, says Gartner.
Case study: SOA speeds mortgage sales
system
When Milton Jones, chief information officer at new national
mortgage network Home of Choice, was given three months to build an
IT system to support third-party financial advisers, he opted for
the SOA approach.
The application had to provide online registration,
online/offline sales processing, automated and personalised
suitability letter processing, and commission information.
"It was too expensive to build something from the ground up,"
says Jones. "I could not have a team of developers."
A reusable component-based approach was essential, so Jones
looked for a supplier that could provide pre-built components. He
selected Focus Solutions, whose MCA system is built around an SOA,
with BEA Weblogic 8.1 providing integration and code generation for
the project.
"Focus had components already but others had to be developed
quickly and adapted to meet Financial Services Authority
regulations," says Jones.
The project team consisted of developers from Focus plus
technical and business staff from Home of Choice to ensure that the
system satisfied business and compliance needs.
The project began in March 2005 and the first part, a financial
adviser recruitment system, was completed in April. A sales support
system was delivered two months later and a commission processing
system a month after that.
Home of Choice says up to 80% of all enquiries from third-party
financial advisers are now dealt with via the automated sales
support systems. Jones is now planning to train his internal IT
team to take on responsibility for low-level maintenance of the
system.
"The SOA ties the business closely to IT," he says, providing a
rapid mechanism to implement business change.