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.