From the author of

The Impact of Web Services on IT Architecture

Just when I finished writing my book
IT Architectures and Middleware: Strategies for Building Large, Integrated Systems
(Addison Wesley, 2000), Microsoft announced .NET. I managed to get in one
sentence about the new technology. Since then, .NET and its competitors have
become a major talking point in the IT industry, all under the collective term
of Web services. If I were writing the book today, Web services would require a
somewhat more extensive discussion. This article discusses how Web services
change my view on IT architecture.

A Historical Perspective on IT

To explain the importance (or not) of Web services, I will take a historical
perspective. Broadly, there have been three stages in the history of commercial
IT.

The first stage was the batch stage, whose purpose was to automate repetitive
clerical processing. Some major organizations still have core IT systems that
are stuck in the batch era.

The second stage was online transaction processing (OLTP). The primary
technology that made OLTP possible was networking. But it rapidly became clear
that, to do OLTP well, you needed a database and a transaction monitor. While
the batch stage was about automating the back office, OLTP was about automating
the front office. Branch tellers, phone operators, production workers, and
managers could all access the online data.

The third stage is where we are today. Many would call it the e-stage, the
Web stage, or the Internet stage; from the architecture point of view, however,
it is more useful to characterize it as the integration stage. The key
technologies that have made it possible are components and middleware. The
driving force for the integration stage is opening up the IT applications to the
scrutiny of the outside world. The Internet is just one channel. Others include
mobile phones, PDAs, self-service machines, in-house workstation applications,
and voice interfaces.

One of the goals of IT architecture, in the integration stage, is to create
applications that can be easily extended to handle new interface devices.
However, opening the IT applications is more than just putting a new interface
to an old system. Practices that were acceptable in-house are no longer
acceptable on the Web or a mobile device. The external user expects a single
unified experience; he does not expect or understand many application silos. The
external user expects data to be consistent across all the applications. The
external user also expects fast access and no downtime, 24 hours a day.

The IT industry is not finding the integration stage easy, for three main
reasons. The first is a huge legacy of existing applications run businesses and
are not easily changed. The second is that internal IT organization and
methodologies are designed around the notion of funding, developing, testing,
and deploying standalone applications, not integrated systems. Third, to serve
integration well, there needs to be better cooperation between the IT
organization and the business side. The business itself is often not
"joined up"; too many organizations are still made up of self-managing
fiefdoms.