COM+

Saturday, 17 September 2016

COM+


Background 
In an enterprise level application if we want to use COM then we need to make a lot of infrastructure-level code to build large-scale application because it must have these features :

• Authentication
• Object pooling
• Transaction management
• Support distributed architecture

but in COM if we want to use it over a network then it will fail to interact and lost its scalability. So For an Large Scale application Microsoft came out with Distributed COM.

Learn more about Component Object Model 
DCOM

DCOM is an Network version of COM and it provide the sharing of object over network. In DCOM the client is completely unknown about the location of the component which provide location transparency. DCOM is not a popular technology of Microsoft because DCOM is a RPC (Remote Procedure Call) protocol. It is not used default port of HTTP, so for communication with other component all the port should be open and it is a major security issue.
MTS 

Microsoft released Microsoft Transaction Server (MTS). It provide the following functionalities :

Shared resource and increase Scalability of an application
Transaction Service : if all the unit of work is completed than the transaction will be treated as completed successfully completed and if any of the work is unsuccessful then the transaction will roll back.
Object Pooling : Object Pool is nothing but a container of objects that are ready for use. MTS Hold the memory resources of object when a client is requested then it released. If another client request for the same component then MTS give the containing  object to the new client and it reduced the server overhead.
Security : MTS ensure that no unauthorized clients can request a component.

COM+

Microsoft come up with new technology which is known as COM+ and it provide all basic COM and a set of additional services like


• Authentication
• Object pooling
• Transaction management
• Support distributed architecture
• Queued Components (QC)
• Loosely Coupled Events (LCE)
• Just In Time Activation
• Basic Interception Services
The COM+ components containing the business logic are platform-independent and can be moved to a different. If you are hosting a mission-critical application and  need to move your COM+ components from one platform to the other, you can do it without any change in the business-logic code. A major highlight of the COM+  specification is the support for ready-made components. So an enterprise application having n-tire architecture does not matter where the business logic is. It also supports multitier architecture by providing the surrogate process for hosting the business objects. In many ways, COM+ is a combination of COM, DCOM, Microsoft Transaction Server (MTS), and MSMQ in a single product. This application infrastructure includes services such as transactions, resource management, security, and synchronization.
The classes in .NET that can be hosted by the COM+ application and can use COM+ services are called serviced components. Any class in .NET that derives directly or indirectly from the System.EnterpriseServices.ServicedComponent class is called a serviced component class..COM+ is introduce with Microsoft 2000 operating system.