DCOM, or Distributed Component Object Model, is a technology created by Microsoft that allows various software structures to be spread across computers that are networked together. The software structures allow the computers to effectively send and receive information from the other computers that are connected to them. In addition to this, it enhances the capabilities of Microsoft's COM. The DCOM system is instrumental in providing the foundation for the COM+ server system. However, Microsoft .NET has been used as an alternative for the last few years. The creation of DCOM was used to solve a number of different problems. One of the primary problems that it was designed to solve is marshalling. It should also be noted that the "D" in DCOM was added to refer to the use of DCE/RPC. Newer versions of DCE/RPC is called MSRPC. DCOM has a number of impressive features.
To deal with marshalling, DCOM will serialize and deserialize the return values and arguments through the network. Another issue that DCOM would be created to handle is distributed garbage collection. Any references that are contained by clients will be released if the client should crash, or there is a problem with the network. The element that allows DCOM to do this is DCE/RPC. It is responsible for controlling the process of marshalling, and it may also deal with memory as well. When Microsoft created DCOM, they designed it to compete against systems such as CORBA. Like CORBA, the designers of DCOM believed it would be a useful tool for dealing with code or service issues on the Internet.
One of the biggest problems with DCOM is its compatibility with firewalls over the internet. It also has problems functioning on computers that are not secure. The combination of HTTP and web browsers has become more popular. Microsoft tried to solve these problems by adding more support for http with the introduction of their Network Computing Architecture. The Open Group has also contributed to the development of DCOM with the creation of COMsource. The source code has been created for COMsource, and it is supported by extensive documentation. It is present in Windows NT 4.0, and it is supported by Windows NT Registry Service as well.
Another group that has been using DCOM is the Wine Team. They are using it for binary interoperability, and they have not interest in the networking attributes of the system as this time. They have contributed to DCOM by the implementation of Network Data Representation, or NDR. There are a number of Java programs that are compatible with DCOM. A number of attempts have been made to make DCOM work seamlessly with MSRPC. One of the most notable is j-Interop, a Java MSRPC tool that is used to transfer information back and forth via DCOM servers. While HTTP and web browsers have displaced tools like DCOM in a number of ways, it is still heavily used and studied by a number of different programmers who wish to use it for a variety of different tasks.