Functional Architecture for Internet Commerce Systems

This chapter describes a core architecture for Internet commerce systems, which can be adapted for many applications.

Purchase this book through the end of January and receive four exclusive sample chapters from forthcoming books by some of technology's greatest luminaries. For more information, check http://www.expectsomethingbetter.com.

This chapter is from the book

This chapter is from the book

Architecture . . . the adaptation of form to resist force.
John Ruskin1

What Is Architecture?

The architecture of a system defines its basic components and important
concepts and describes the relationships among them. There are many different
ways to approach systems for Internet commerce, ranging from the simple to the
complex. In part, the architecture depends on the nature of the business, and
the system architecture developed for a consumer retail system might be very
different from that for a publishing system. We believe that many design ideas
span a wide range of commercial requirements, and that the similarities among
systems for Internet commerce are much greater than the differences. This
chapter describes a core architecture for Internet commerce systems, which can
be adapted for many applications.

Why should we have a general architecture? Why not simply build the systems
focused on a single application? For us, a practical answer is that, in our
experience building systems for Internet commerce for several years, reusing the
architecture and design work where possible is best for the customers. More
important, however, is that as businesses refine and evolve their goals for
Internet commerce, their systems need to evolve as well. That evolution may go
well beyond the original requirements for the system, so the flexibility of the
architecture is critically important in making that growth possible. For
example, a software store may begin by taking _orders over the Internet and
sending out boxes with manuals and CD-ROMs. Later, it may want to deliver
software over the network as well. If the original system does not handle
o_nline delivery, the store may find itself facing significant development or
upgrade costs to add this capability. Note that the original system might not
have implemented the o_nline delivery subsystem, but it should be
straightforward to add it if the original _architecture and design were done
with that idea in mind.

In this chapter, we describe the kinds of thinking that go into creating an
architecture, explore some of those areas in more depth, and present some
examples of practical architectures for Internet commerce.