Designing Systems for Internet Commerce, Second Edition
Internet commerce has become the new frontier for businesses around the world. Although what is now the Internet began more than 30 years ago, only in the past few years have we seen significant use of the Internet for commerce. The explosive growth of the Internet has been accompanied by claims of business revolution, ways to "make money fast working out of your home," and even the end of the nation-state. In the late 1990s, many overhyped startups spent huge amounts of venture capital, promised to change the rules of their industries, and then went bankrupt on failed business models. Despite the collapse of many so-called dot-com companies, we believe that the convergence of the global Internet with commerce will fundamentally change the way business is done. This book is about how to create the systems that will make Internet commerce successful. Internet commerce brings new technologies and new capabilities to business, but the fundamental business problems are those that merchants have faced for hundreds or even thousands of years: you must have something to sell, make it known to potential buyers, accept payment, deliver the goods or services, and provide appropriate service after the sale. Most of the time, you want to build a relationship with the customer that will bring repeat business.
On the Internet, every business has a global presence. Even small and medium-sized companies can now easily reach customers around the world. The technology of computing and communications enables a business to know more about its customers, share more of its information with customers, and apply that information to improving relationships and creating sales.
The Internet dramatically lowers the distribution costs for
information and dramatically improves the ability to keep information
current. Today’s customers are demanding more information
about the products and services they purchase, and the ability to
deliver that information (and do it cheaply) becomes an important part
of making the sale. Furthermore, on the Internet, information may
Almost by definition, a computer is connected to the Internet if it can communicate with any other computer connected to the Internet. There are two factors that make this possible: the use of standard protocols and the availability of universal naming, addressing, and routing. The standards of the Internet make this communication possible, without requiring prearranged agreements about how computers will communicate.
Because the Internet structure is based on standardized and universal connectivity, it has rapidly become a global network. Because the network itself is used to distribute software, there is a readily available worldwide base of users with a common set of software, forming a foundation for business systems with a broad base of potential users.
The World Wide Web has made highly functional multimedia content easily available to users worldwide. People with little or no computer experience can get connected to the Internet and use Web browsers very successfully.
Most businesses and consumers connected to the Internet pay for their own connections, and they are then free to use the network for any number of purposes. In consequence, a provider of information does not need to pay for a distribution system, other than its own connection to the network. The users of the service pay for the distribution. Because the network is shared among many users, the cost of this essential infrastructure is amortized across a wide variety of applications.
The Internet is accelerating this trend. By providing worldwide, high-bandwidth communications, the Internet makes it possible to work more effectively with customers, partners, and suppliers around the world--but it does more than that. Because the cost of the communication is essentially the same whether the parties are down the street or halfway around the world, the Internet makes such collaboration and commerce much more efficient. In effect, everyone on the Internet can have a global presence. More to the point, everyone on the Internet actually does have a global presence, whether he or she thinks of it that way or not. Anyone on the Internet can view your Web page, for example, and you don't have to do anything special to enable him or her to do so.
This is not to say that the Internet makes international trade easy. As we shall see, there are still issues of language, payment, currencies, taxation, and shipping, as well as differing national, regional, and local regulations. For many businesses, however, the experience may well be like those of any number of small bookstores who put up Web sites and suddenly received orders from Indonesia or Nepal. That the Internet is already making the world smaller is not an overstatement--it's the daily experience of millions of Internet users.
One of the most intriguing possibilities of the low distribution costs is the ability to provide even more information at lower cost and to have that information be always accurate, up-to-date, and searchable. Customers of all kinds are demanding more, and more accurate, information about what they buy. Electronics engineers are interested in detailed specifications, sample schematics, and design notes for components that they might use for a new product. Consumers want to know how the product works, how it compares with others, even its environmental impact. The low cost of providing such information over the Internet makes it possible to do so: any other way would be prohibitively expensive.
Of course, the same ideas hold for selling information products online. These "digital goods" can be delivered over the network cheaply and efficiently. For some products, this can mean eliminating expensive packaging, such as CD-ROMs and packing materials. For others, it is a new distribution channel that complements those already in place. The cost, low to begin with, is the same for customers all over the world.
More interesting things start to happen when previously separate industries begin to compete. Consider the example of selling financial instruments. Traditionally, banks and brokerages have provided trading services, whereas publishers have provided comparative information. On the Internet, these lines become blurred and may disappear entirely. Because content can be linked directly to transactions, a user who links to a financial information site could place an order on the spot. Is the publisher in the trading business, or is the brokerage now a publisher? Sometimes the situation defies analysis, but thinking through who owns the customer relationship is a good place to start. As always, keep a very clear view of the value provided by your business to your customers.
Historically speaking, the best-known idea in electronic commerce has
been Electronic Data Interchange (EDI). Originally created for linking
together the participants in the transportation industry, EDI has
become a common tool for many organizations working with their
suppliers and partners.
It is worth noting that EDI and the Internet do not exclude one another. Indeed, EDI, which specifies certain kinds of messages, can be used with the Internet, which is a way of moving data. Many companies are already using the Internet as the communications substrate for EDI applications, and there are specialized products on the market for creating EDI-Internet applications.
Internet commerce, in contrast, transcends many of the restrictions of EDI. Companies can communicate over a shared public network, rather than building specialized networks or contracting for expensive Value-Added Network (VAN) services. EDI formats themselves are being replaced by Extensible Markup Language (XML) formats that are more general, more extensible, and easier to use. More importantly, the Web allows spontaneous business transactions between buyers and sellers with no prior relationships. That first step may be the beginning of a long-term relationship, and in some cases it will make sense for the trading partners to negotiate specialized messages, EDI or otherwise, to enable them to work together more effectively.
This is not to say that business goals cannot be changed to take advantage of current technology. Often the technology allows new kinds of operations that were previously too expensive. It is entirely appropriate, for example, to choose a new focus on closer customer relationships using the Internet to communicate with customers. Without the network, such a goal might have been too expensive or difficult to achieve. The Internet might enable a company to achieve that goal in a way that it could not have achieved it before. However, the business goal, including how to measure success, is the key, not just an idea such as, "Hey, we could send e-mail to our customers!" Indeed, a common problem with simplistic ideas such as this has been :What happens when they send back?"
Business issues for Internet commerce cross the entire range of business activities, from attracting customers to fulfilling their orders, and from sales to accounting. They include questions that businesses ask about any new idea.
One thing to watch for in Internet commerce is that although the costs of getting started may seem very low, a project may grow to significant size over time. There is always something new to add--some new technology twist to throw in or a seemingly small extension to a Web site to incorporate. Setting up a Web site used to seem easy: a few HTML pages, hosting on a local Internet service provider (ISP), and maybe handling of some electronic mail. Contrast such a system with one that allows real-time catalog updates, keeps and uses customer profiles, takes payment in various ways, links to inventory and fulfillment systems, and provides customer support. One approach is to allow such functions to accrete willy-nilly onto an initial Web site over time; a second approach is to plan an evolving site, learning from each step and modifying the plan as appropriate. Although a company might succeed with the first approach, it probably will not have an accurate idea of what it cost, and it may not have any way to figure out whether or not it has succeeded. The second approach may not provide the instant gratification of getting a Web site running as soon as possible (although delivering a site quickly might be a goal of the more careful process), but it does allow a company to focus on what it is doing and what it is getting for its investment. We don't recommend a third alternative of designing and building the perfect system all at once. That takes a long time, and whatever is done will need to be changed as circumstances and technologies change, as they inevitably will.
In large part, this book is about the issues involved in following the second approach (that is, the evolving Web site). Different companies will, of course, have different business issues and goals. In this book, we have set out to explore many that are common across businesses. Even when the issues are not directly on target for a particular business, we hope they will inspire other questions that are, leading to a successful plan for Internet commerce.
This book is mostly about the first issue: how to apply Internet technology to business problems. Commerce applications bring together many technology components: the Web, databases, high-speed networking, cryptographic algorithms, multimedia, and others. Putting them together to form a secure, high-performance, integrated system can be challenging, but the principles and ideas presented here should provide some useful guidance. The earliest Internet commerce systems were custom software. Over the past few years, it has become possible to assemble a commerce system by using toolkits to integrate software modules and applications from different suppliers. Mature packaged application software for Internet commerce is available as well, in which a complete or nearly complete system is available from a single supplier, perhaps needing integration only to connect it to existing business systems.
The second technology issue, the pace of change, is a fact of life on the Internet today, and there is no end in sight. To be successful, therefore, any commerce system must be prepared to accommodate and incorporate new technologies as they become available. The key to such adaptability is a coherent system architecture that lays out what is to be accomplished and why. By focusing on the ends and the fundamental principles, we can adopt new technologies that help us achieve those ends, while avoiding new technologies that may seem exciting but in reality do not fit in with our goals or the system. The rise of toolkits, modules, and application software help a great deal in coping with technological change, because the costs of adapting and using new technologies can be amortized over many customers .
In reality, successful Internet commerce is almost always a combined effort, drawing on the strengths of many different groups within a company: sales and marketing for effectively presenting products or services on the Net, IT for operating or outsourcing the round-the-clock commerce systems, links to the accounting systems for transactions, and so on. In the past, many companies have begun their Internet presence as a fringe operation--often appropriately so, thereby avoiding the slowness and stodginess of a corporate bureaucracy. Today, however, using the Internet is not a luxury or an experiment for most businesses. Effective Internet commerce is an extension of a company’s business, and so should draw on the resources of the company. Internal bickering over ownership can easily lead a project (or projects) to failure, leaving a company unable to move quickly enough to adapt to the rapid pace of change in commerce applications. In our experience, successful Internet commerce demands the attention of senior management.
Chapter 3 is devoted to Internet business strategy. The degree of change that the Internet makes in the economic landscape has not been seen since the development of the railroads 150 years ago. The consequent changes in economies of scale and scope require new strategic thinking.
In Chapter 4, we introduce business requirements and issues for Internet commerce systems by looking at examples aimed at consumer retail, business-to-business cataloging, and the publishing and sale of information goods. A successful commerce system requires alignment among many constituencies, including consumers, merchants, financial processors, governments, and technologists. These groups have different priorities, and social, legal, and technological constraints can affect the viability of the business. Chapter 5 examines some of these issues in the context of Internet commerce. Many of the difficulties and problems with Internet commerce arise when these different groups are (or appear to be) in conflict. Successful businesses must navigate these shoals in working effectively with customers, partners, and suppliers.
In Chapter 6 we discuss the components and roles of, and architectural approaches to, Internet commerce, and we introduce the concept of decomposition of functions and the notion of trust models. Approaching the design of a system using a high-level architecture can allow the creation of a system that evolves and adapts over the long term as technologies and business requirements change.
There are many ways to design, develop, install, and operate information technology systems, from in-house development to packaged software operated by a service bureau. Chapter 7 addresses the planning and project management issues that go far beyond the features and functionality of software.
As an introduction, Chapter 8 surveys the technological underpinnings of the Internet and the World Wide Web. In Chapter 9, we go beyond the basics to look at how the technology can be applied to systems for Internet commerce.
In Chapter 10, we discuss a philosophy of design, architectural principles, and the making of design decisions. These decisions are often independent of implementation technology, which enables an implementation to swap in new technological components as they are developed.
The Extensible Markup Language (XML) was just emerging when the first edition of this book was published. Chapter 11 examines XML in detail, and discusses how XML can be used in many different ways for e-commerce systems. In particular, XML is a core technology of the emerging area of Web services.
Chapter 12 discusses the creation and management of content for Internet commerce. Loosely speaking, content is whatever people look at, or listen to, on the Net, including documents, video, music, and so on. We survey the means of creation, management, and commerce-enabling of content.
One of the biggest issues for Internet commerce systems is security. Modern cryptography is the foundation of security systems for commerce, and Chapter 13 provides a quick overview of the field. Simply using cryptography (in some unspecified way) rarely creates a secure system, so we discuss how to think about the use of cryptography in applications. In Chapter 14, we go beyond the foundation of cryptography to the design of secure systems. We advocate a systemic design approach to the security of Internet commerce systems. Proper use of cryptography is a key factor, but careful design of security policies, mechanisms, characteristics of the application, and containment procedures all play important roles.
Payment systems have often been touted as the core of Internet commerce systems, and they clearly play an important role. In Chapter 15 , we discuss a variety of payment systems and their application to Internet commerce. Beyond the technical aspects of payment systems, we discuss their trust models and cost structures.
In the early days of Internet commerce, shopping carts were relatively simple. This is no longer the case, and we examine shopping carts and order management in detail in Chapter 16.
Commerce is an exchange of goods for value received. Transaction processing is the part of the system that ensures that a business transaction is completed once the parties agree to it. In computer systems, especially those distributed across a network, this is often not as easy as it seems, especially when something goes wrong. Chapter 17 introduces this complex topic, including a discussion of issues such as scaling, performance, reliability, and business record keeping.
Enterprises require complete business solutions, and Chapter 18 examines the challenges of integrating Internet commerce systems with other enterprise computer systems. It also details some of the auxiliary systems necessary for dealing with taxes, shipping, and inventory.
As Internet commerce has grown in importance, so has the importance of building systems for high performance and high reliability. In Chapter 19, we look at some of the architectural approaches for building large-scale e-commerce systems.
The final chapter on Internet commerce technology, Chapter 20 looks at the emerging area of mobile and wireless systems and the role they play in e-commerce systems.
Over time, Internet commerce will change rapidly. Once your system is
up and running, how do you keep up-to-date in this rapidly changing
world? We discuss how to stay on track when buffeted by the evolution
of technology, and Chapter 22 lays out some paths for the future.