Another important aspect of the system architecture is the set of components that comprise the system. For Internet commerce, we frequently try to take advantage of general-purpose Internet applications, for three reasons.
If general-purpose applications can be used, we need not build them again.
General-purpose applications are widely distributed, so we need not create the distribution channels to put a specialized tool in the hands of customers.
Customers are already familiar with the application, so they do not need to learn how to use a specialized tool.
In the next two subsections, we introduce the basic components used for Internet commerce systems. We will present a more detailed technical discussion of these components in Parts Two and Three of this book. Although our focus is on using general-purpose tools, such as the browsers and servers of the World Wide Web, there are, of course, times when it is appropriate to create and distribute a specialized tool for commerce. Even so, we think the components described here are a good starting point for designing such tools.
Customer Components and Clients
For customers, the primary tool for using the World Wide Web is a browser, sometimes called a Web client. We discuss browsers and other Web clients in Chapter 8. The system architecture is clearly influenced by the basic structure of the Web, and in particular by the capabilities of browsers. As we shall see, one of the important questions in deciding exactly how to structure a system is "What browsers do the customers have, and what are their capabilities?"
Some companies have also designed specialized client applications for commerce, particularly for payment. These applications, often called client wallets, are designed to implement one or more payment methods that require additional processing, such as cryptographic operations, on the client computer. Client wallets may also be used to keep track of what transactions have been made, to check on order status, or to manage other information related to transactions. The main problem with client wallets is that hardly any customers have them. Over the past several years, companies have not succeeded in distributing them on a large scale, so they are essentially irrelevant for most Internet commerce systems. An important lesson from these attempts is that new client software is a barrier for customers, and they will likely look for alternatives rather than proceed with installing new software. We look at different payment systems, including their requirements for client software, in Chapter 15.
Sometimes customer components can reside on third-party systems. For example, server-side wallets are Web sites at which consumers can register payment credentials and release them to sellers without having any special client software. Another example is a buyer home community system that provides authentication and customer service facilities in a federated commerce system, as we shall see later in this chapter. Such systems are not yet common, but many companies continue to build them.
Seller Components and Servers
On the other side of a transaction is the seller, whom we might also call the merchant or vendor. The seller provides all of the components of the commerce value chain, from content to customer service. In practice, a seller may provide some of the stages in the value chain directly and contract with others to provide the rest. Different sellers may make different decisions about which stages to provide directly, and these decisions may even change over time. Again, therefore, we separate the stages of the value chain in the general architecture so that different components can be handled differently.
Some components of the value chain are more easily outsourced than others. Content, for example, is a presentation of the actual products or services offered for sale by a business. Although a company may look outside for creative presentation ideas or development of the actual content, what the products are and how they are sold are the foundation of the business. Payment services, on the other hand, are very important to the business, but the details of the processing can be hidden as long as the results are correct. Here are some of the components.
Content management system
This can refer to the seller's catalog or to the entire corporate Web presence. Content management systems permit the creation and management of dynamic and continually updated content.
Transaction processing system
The seller's transaction processing system keeps track of all information related to transactions: what was ordered, who ordered it, how much it cost, the status of payment, the status of fulfillment, and so on.
Payment processors manage the movement of money or other payment instruments in the system. For example, when a consumer pays with a credit card, the seller connects to a credit card payment processor to authorize the transaction (by checking for sufficient available credit) and, later, to settle the transaction.
Companies operating mail-order businesses often contract with a fulfillment company to handle packing and shipping orders. A business taking orders over the Internet for tangible goods might do the same. Indeed, a business selling digital goods over the Internet might even work with a fulfillment company to operate the servers used to deliver the online products. Or, in both cases, a business might choose to manage the fulfillment process in-house.
One logical grouping of these functions results in what we will call the front office and the back office. The front office is concerned with marketing and selling goods and services. Content and presentation are very important, and the focus is on attracting the customer to buy the product or service. The back office is concerned with managing the details of the transaction, from placing the order to payment to fulfillment. Proper handling of the transaction is important, such as ensuring that the relevant information is delivered to the right places and that the payment is collected correctly.