The book is divided into four parts . We dont provide an overview of .NET and the .NET Framework because good overviews are available in so many other books that it seems unnecessary to add another one here.
Part I deals with the basics of how COM, COM+, and .NET work together. Chapters 1 and 2 provide an overview of how COM and COM+ fit into the .NET world, and they show how the philosophies of the COM, COM+, and .NET programming models differ . Chapter 2 also provides you with procedures youll need to create and install COM+ applications on your server. Chapters 3 and 4 introduce the basics of COM interop, explaining how COM components can be used in .NET code and vice versa. These chapters introduce the wrap pers used by .NET to work with COM components , and they show you how to create and use both Runtime Callable and COM Callable Wrappers. Passing data between COM and .NET code is of enormous importance, so these chapters also explain how COM entities are exposed to .NET code and vice versa. Chap ter 5 rounds off this part of the book by providing an overview of COM+ coding for .NET. Youll learn about basic interoperability concerns, connectivity issues, and COM+ application types.
Part II focuses on COM programming, and is intended for C++ program mers. New features have been added to C++ to make it much easier to write COM code using ATL. Chapter 6 looks at attributed programming, a new feature that allows developers to write COM code directly in C++, without having to see the ATL source code. This feature will greatly simplify the development of most COM code, and it will no longer be necessary for most programmers to edit IDL and ATL source code.
Chapter 7 is divided into two parts. The first part looks at new features that have been added to version 7.0 of the ATL library. The second part intro duces ATL Server, a powerful new library for writing server-side codeinclud ing Web applications and Web servicesin C++.
Part III is concerned with writing COM+ code. Chapter 8 presents a simple example, showing how to create, install, and use a COM+ component written using COM+. Youll learn several ways to create components and discover the advantages and disadvantages of each component development strategy. The following three chapters deal with specific COM+ technologies, namely using MSMQ, using subscriptions, and using Web applications. Chapter 9 shows how to create disconnected applicationsthose in which the client and server dont run at the same time. Chapter 10 discusses subscriptions and shows how to cre ate the subscriber, event object, and publisher. Chapter 11 shows you how to use COM+ with Web applications. Youll learn how to create a Simple Object Access Protocol (SOAP) application by making simple modifications to a stan dard COM+ application.
The final part looks at interoperability between .NET and unmanaged code. Chapter 12 introduces the Platform Invoke mechanism .NET code uses to call unmanaged code in DLLs. Chapter 13 builds on this lesson, discussing how strings, structures, and arrays are marshaled; how to load DLLs dynamically; and how to handle callbacks from unmanaged code by using delegates. Chapter 14 shows you how to work with predefined interfaces, defining equivalents of COM interfaces in managed code so that it appears to COM clients as if a .NET component exposes the COM interface. This is an especially important technique when youre working with container applications such as the Microsoft Management Console (MMC).