Coming To Grips With COM+ - What Is COM ? (Page 2 of 3 )
COM+ is said to be one of the most successful COMPONENT technologies in the world. It is easy-to-deploy, easy-to-use and easy-to-maintain. COM+ comes to us with a few advantages. Firstly MTS is now a part of the Operating System. Secondly, COM+ is entirely a part of the Windows 2000 Operating System.
COM+ includes the following 4-runtime services:
Queued Components This is a communication method in which a client can call a COM object even when its offline. The actions would then be executed whenever the COM object comes back online.
Let me give you an example. Say your railway booking system is created using COM+ technology. The machines in the server room are down due to maintenance. Until things are back up online you really can't function normally, can you?
Here's where queued components come into play. Even when the server where your COM object is stored is down, your ticket reservation personnel could keep functioning normally. When the COM object server is back up online, of all the changes made would be reflected using the queued components feature automatically, thus saving much expensive downtime for your company.
Event Service Events are normally used to inform the client of any changes made to the server. During the COM days the client used to keep re-polling the server for any change in the state of the server. This was very memory consuming. In the case of Active X controls (during the COM days), the method was tightly coupled -- the client knew exactly which publisher to ask for information and which mechanism to do it with.
It surely did work fine but it was just too rigid. COM+ now provides a very loosely coupled event infrastructure. In this case a method was a single call to a method in the COM interface, originated on the server and delivered its state at the clients end.
A subscriber in this case indicated its desire to receive events after registering itself with the COM+ catalog. A subscriber could be registered in the COM+ catalog either by himself or administratively.
IMDB (In-Memory Database) To speed up data access this feature provides automatic memory caching of data tables in middle tier machines (which are the machines where the COM object is stored).
Load Balancing In enterprise system setups you may have multiple servers to host even frequently used COM objects. Sometimes you may have no choice. The load-balancing feature of COM+ would allow you to distribute the creation of objects across a pool of servers. COM+ supports the component load balancing (CLB) service, which is dynamic load balancing technology.
COM+ includes the following MTS services:
Transaction Services Transaction services ensure that your data is correct and up-to-date. It ensures that either correct data is entered into the database or no data at all is entered. It's like saying complete the entire execution of the code but if due to any reason it fails in the middle, please rollback all changes made until that point. COM+ allows you to include such transaction services without writing many lines of code.
Security Services COM+ gives you an easy administrative GUI interface to manage all of the permissions for COM objects deployed on an MTS server. You don't have to write any code whatsoever.
Synchronization Services COM+ itself takes cares of any concurrency problems that occur during the creation of objects. It can be done administratively. You have various concurrency options like Required, Requires New, Supported, Not Supported and Disabled.
Other significant additions include:
COM+ Catalog This is a new addition in COM+. COM+ now requires lots of information in order to provide all of its enhanced features. COM on the other hand needed much lesser space than COM+, thus COM used the registry to store all of its information. The COM+ catalog contains all of the information related to COM Objects.
COM+ Apartment Models Apart from the old threading models like STA and MTA, which were a part of COM, COM+ includes a new threading model called the Thread Neutral Apartment (TNA) model. TNA really eliminates most of the drawbacks of STA and MTA components. Unlike the STA and the MTA, the TNA contains only objects. TNA is a lot quicker than its counterparts and thus it's the preferred threading model in COM+. VB supports the TNA model in .NET.