At this point, it should be clear to you that COM is going to stick around for a while. We COM developers have been on a long, interesting adventure, one that's taken us from developing basic Brockschmidtian COM classes using raw C++ in the early 1990s to using higher leverage tools such as MFC to develop COM-based controls and document applications. COM apartment models appeared in 1995, and ATL came on the scene in 1996, making it much easier to develop simple COM classes. In 1997, we finally witnessed a decent transaction system. And now Microsoft Windows 2000 and COM+ are on the horizon.
Some of you might wonder why we wrote this book about ATL at a time when this thing called "COM+" was just around the corner. Mary Kirtland wrote an article in the September 1997 issue of Microsoft Systems Journal proclaiming that COM+ would greatly simplify COM development and perhaps even make C++ "obsolete" by introducing IDL-like constructs into C++ and basic run-time support (such as class factories) into a C++ run-time library. As it turns out, the COM+ advertised in those articles was always just around the corner—the tool and language support probably won't materialize until we're into the next century. The COM+ that is being released with Windows 2000 is based on simplifying the software development model.
The scope of the COM+ version being released with Windows 2000 is different from that of the COM+ concept first announced near the end of 1997. That description of COM+ included extensions to the C++ language as well as a C++ run-time library. The version of COM+ that will appear in Windows 2000 is more a set of run-time services based on the concepts of interception and context-based programming. It's interface-based programming all the way down. COM+ builds on everything that COM already is. So don't worry—interface-based programming still has a lot of life left in it. In fact, many of the really cool new features available in COM+ (through interception and context) are available because of interface-based programming.
In this chapter, we'll explain some of the new technologies coming down the pike and how they affect ATL. We'll start off with a look at context-based programming, the main new feature of COM+. Then we'll examine some of the other features becoming available through COM+, including transactions and a new security model.