THE WEB HAS RADICAlly TRAnSFORmED THE WAy we produce and share informa-
tion. Its international ecosystem of applications and services allows us to search, aggre-
gate, combine, transform, replicate, cache, and archive the information that underpins
today’s digital society. Successful despite its chaotic growth, it is the largest, least formal
integration project ever attempted—all of this, despite having barely entered its teenage
years.
Today’s Web is in large part the human Web: human users are the direct consumers
of the services offered by the majority of today’s web applications. Given its success in
managing our digital needs at such phenomenal scale, we’re now starting to ask how
we might apply the Web’s underlying architectural principles to building other kinds of
distributed systems, particularly the kinds of distributed systems typically implemented
by “enterprise application” developers.
1