Think of COM+ as "the Windows 2000 version of COM." It's COM on steroids. COM mixed with the next version of Microsoft Transaction Server (version 3.0). Or COM with a host of new services. The COM programming model, however you look at it, sounds the death knell for monolithic desktop applications that have historically been created in straight "Petzold" C, MFC, or even Visual Basic. Because with COM, location doesn't matter: COM enabled distributed applications whose components can be found on servers all over the world. It's literally a software revolution.
Currently, most COM development extends the traditional client-server (or "two tier") programming model to a three-tier (or multi-tier) model that consists of the following parts:
In typical Win32 applications, the presentation layer and business rules layer are almost always contained in the same
program (think of a standard Visual Basic desktop program). By further abstracting the distributed COM application into three or more layers, however,
we can use distinct tools, if desired, to create each layer. And, of course, each layer can run on a different machine, anywhere in the world.
So this is the world of COM. And it will be the world of COM+, too, when Windows 2000 ships later this year. But COM+ brings a few new features along with it. In the pre-COM+ world, COM components could be written to take advantage of Microsoft Transaction Server (MTS), an operating system component that provided the infrastructure need to provide transactions (naturally) and manage components (unnaturally). In Windows 2000, MTS 3.0 has been integrated into the operating system as Component Services. And because Component Services is now officially part of the COM+ umbrella, your distributed applications need to do almost nothing extra to take advantage of its unique transactional features. Component Services has also been updated to include new Security Services, which gives developers programmatic access to Windows 2000 security authentication. And it includes a new Synchronization Service that gives components the ability to programmatically synchronize components. Nice.
But wait, there's more. In addition to the promotion of MTS as Component Services, COM+ also provides a host of new services that are each targeted at specific needs for distributed component development. Let's take a quick look at them.
The improvements to COM in COM+ are as obvious as they are welcome. As a component developer and creator of distributed Web applications, I welcome the upcoming release of COM+ with open arms. If you're a Web or application developer who is unfamiliar with COM or COM+, it's time to starting reading up: I have seen the future and it is distributed.
The future: Windows DNA
Incidentally, COM+ is but one of three pieces to a future puzzle called Windows DNA. After Windows 2000 ships, Microsoft will turn its attention to the other two parts, called Forms+ and Storage+. Remember my discussion of layers earlier? COM+ is the glue that binds these layers together, but its also most formally the business rules layer, the layer where software components are written to get users together with data. Well, Forms+ and Storage+ are the other two layers.
Forms+ will combine Microsoft's implementation of Dynamic HTML (DHTML) with the traditional Win32 GDI. We're already seeing some mixing of the two now, with DHTML controls used in Win32 applications and Direct being ported to HTML in Chrome. Well, Forms+ will be the final step in melding these two presentation layer technologies into a single user interface technology for Windows. It will first see the light of day in Neptune, the code-name for an NT-based Consumer Windows expected in 2001 or 2002.
Storage+ will do away with the NTFS file system and replace it with a new relational, object-oriented file system based on SQL Server 8.0. Expected to arrive with the next version of Business Windows (post-Windows 2000, think 2003 or 2004), Storage+ will turn the file system into a relational database, speeding searches and providing a higher level of granularity for those searches. It will also have the wonderful side-effect of finally ridding us of those limiting drive letters.
Both of these technologies, obviously, are still some time away. But the future begins now with COM+, and I think any developer would agree that things are looking good for the future of Windows.