This chapter briefly describes what the Component Object Model (COM) is, where COM came from, and why you need to understand this technology to work in a distributed Windows NT environment. It introduces COM as both a distributed technology and a programming discipline through which you can write extensible, object-oriented software based on plug-compatible components. This chapter also describes the limitations of systems built using a two-tier architecture and explains the advantages of introducing a layer of business objects between user applications and data access code. In addition, this chapter explains how Microsoft server-side components, such as Microsoft Transaction Server (MTS), Microsoft Message Queue Server (MSMQ), Internet Information Server (IIS), and Active Server Pages (ASP), fit into the big picture of developing distributed N-tier applications.