The book is divided into the following sections and chapters. This About This Book section contains a self-paced training overview and introduces the components of this training kit. Read this section thoroughly to get the greatest educational value from this self-paced training and to plan which lessons you will complete. Chapter 1, Understanding the .NET Framework, introduces the fundamentals of the Microsoft .NET Framework, which is the infrastructure for developing highly distributed applications for the Internet. The chapter discusses the role of the common language runtime in the .NET Framework, the difference between managed and unmanaged program execution, and the use of assemblies in application deployment and configuration. In addition, the chapter describes how to use the tools that the .NET Framework provides for creating, deploying, and managing applications. Chapter 2, Creating and Managing Windows Services, explains the Windows service programming model and includes sections on the creation of Windows services in Microsoft Visual Studio .NET and the mechanisms used to control the behavior of Windows services. You learn to make entries in default event logs, create custom event logs, and record information in custom event logs. You also learn to configure a service dynamically and manage a service manually and programmatically. Chapter 3, Creating and Consuming Serviced Components, describes the serviced components that enable access to COM+ services, such as automatic transaction management, object pooling, and just-in-time (JIT) activation. You learn about the basics of the COM+ programming model, create and register serviced components, utilize COM+ services, and manage serviced components using the Component Services tool. Chapter 4, Creating and Consuming .NET Remoting Objects, demonstrates the use of the .NET Framework to establish communication between objects without having to know about the protocols or the encoding and decoding mechanisms involved in the development of a distributed application. You learn to create, configure, and secure .NET Remoting objects using the classes provided by the .NET Framework. Chapter 5, Database Programming Using ADO.NET, shows you how to use ActiveX Data Objects (ADO) for the .NET Framework. In this chapter, you learn to use the .NET data providers, and create and use ADO.NET DataSets. In addition, you learn to manage and control data using Data Reader and DataAdapter objects. Chapter 6, Accessing and Manipulating XML Data, explains the importance of XML as the core to data exchange between applications in the .NET Framework. This chapter discusses the XML Document Object Model (DOM) and shows how to access XML data in applications. You learn how to read and write data from XML documents, perform queries on XML documents, and validate XML documents with the XML Schema. In addition, you learn to populate a DataSet with data from an XML file and write data from a DataSet into an XML file. Chapter 7, Creating and Consuming XML Web Services, shows you how to build scalable, loosely-coupled, platform-independent applications. XML Web services enable disparate applications to exchange messages using standard protocols such as HTTP, XML, XSD, SOAP, and Web Services Description Language (WSDL). Chapter 8, Advanced XML Web Services Programming, explains how to control characteristics of Web methods using attributes. In addition, you learn to create and use SOAP extensions and create asynchronous Web methods. Chapter 9, Testing and Debugging XML Web Services, shows how to debug XML Web services and serviced components. You also learn how to use tracing and perform code instrumentation. Chapter 10, Deploying XML Web Services and Windows Services, explains the deployment options that the .NET Framework provides. You learn to create setup programs that allow you to install your .NET applications. In addition, you learn to implement versioning and side-by-side deployment. Appendix A, Questions and Answers, lists all of the review questions from the book, showing the page number for each question and the suggested answer. Appendix B, COM Interoperability, provides additional information about how to call unmanaged COM objects from within your managed applications. You learn to export COM types and create interop assemblies from your COM type libraries. The Glossary provides definitions for many of the terms and concepts presented in this training kit.