The Internet Encyclopedia (Volume 3)

(coco) #1

P1: IML/FFX P2: IML/FFX QC: IML/FFX T1: IML


WL040C-192-Cecil WL040/Bidgolio-Vol I WL040-Sample.cls September 14, 2003 18:14 Char Count= 0


574 VIRTUALENTERPRISES

The Distributed Component Object Model (DCOM)
The Microsoft distributed component object model
(DCOM) also referred to as “COM on the wire” uses
a protocol called object remote procedure call (ORPC)
(Microsoft, 2002). DCOM is used substantially on the Win-
dows platform. Microsoft provides common object model
(COM) implementations for Windows and Solaris plat-
forms while other companies provide implementations
for UNIX, Linux, and other mainframe platforms. The Ac-
tive Group, which is a consortium of vendors interested
in the evolution of COM and DCOM, manages both these
specifications. COM required that the provider and user
of an interface both reside on the same computer. For
instance, Microsoft Visual Basic could activate and use
Microsoft Excel on the same computer but was not capa-
ble of controlling Excel on another computer located on
the same local area network or on the Internet. DCOM ex-
tends the original COM to support communication among
distributed objects on different computers in the Inter-
net (or local area or wide area networks). An interface
client can make a request for another interface, which
can be provided by an instance of another object, which is
on another computer on the Internet. COM’s distribution
mechanism can connect the client to the server so that the
method called from the client is received by the server (or
provider) on another computer where it is executed and
the return values are returned to the client (or consumer).
The distribution is transparent to both clients and servers.
One of the major mechanisms in COM is the activa-
tion mechanism, which establishes connections to com-
ponents and creates new instances of components. In
COM, object classes possess globally unique identifiers
(GUIDs). Class IDs are GUIDs used to refer to specific
classes of objects. In DCOM, the object creations in the
COM libraries are enhanced to allow creation on other
computers linked via the Internet. To create a remote or
distributed object on the Internet, the COM libraries must
know the network name of that server (and the class iden-
tifier CLSID). Based on this information, a service control
manager on the client computer links to the service con-
trol manager on the server computer and then requests
creation of a new object. DCOM provides several ways to
allow clients to indicate the remote server names when a
new object is created.
DCOM uses the object remote procedure call, which is
a layer on top of the distributed computing environment’s
(DCE) remote procedure call and interacts with COM’s
run-time services. A DCOM server object is a piece of soft-
ware code capable of offering objects of a specific category
at a certain time (called run-time). Each server supports
multiple interfaces, which can each represent different be-
haviors. A client in DCOM first acquires a “pointer” to one
of the server’s (or provider’s) interfaces and then makes a
call to one of its exposed or public methods. Using the in-
terface pointer obtained, the client objects can invoke the
public methods of the target server even though it is lo-
cated on another computer available on the Internet. The
servers in DCOM can be written in various programming
languages such as Visual Basic, Java, and C++.
COM uses the remote procedure call infrastructure to
accomplish marshaling and unmarshaling. For this, the
exact method signature including the data types, sizes of

any arrays in the parameter list, and types of structure
members must be known. This information is provided
in an interface definition language, which is built on top
of the industry standard IDL (described earlier in the
CORBA section). The IDL files are compiled using special
compilers (such as the Microsoft IDL compiler MIDL),
which generate C language source files, which contain the
code for marshaling and unmarshaling for the interfaces
described in the IDL file. The client code is termed
the “proxy” and the server object is called the “stub.”
When the proxy/stub for a specific interface is needed in
COM, the interface ID (IID) is identified from the system
registry. Whereas CORBA supports multiple inheritances
at the IDL level, DCOM does not. ObjectBroker (which is
Digital Equipment Corporation’s implementation of the
CORBA specification) can work with Microsoft’s object
linking and embedding (OLE) functions for data objects
stored on non-Microsoft platforms. The interfaces to
Microsoft’s OLE and dynamic data exchange (DDE) are
available in ObjectBroker. ObjectBroker’s OLE network
portal can intercept OLE calls on the PC and map them to
ObjectBroker messages, which can then be routed to the
appropriate server. In addition, ObjectBroker also allows
interfacing with Microsoft’s Visual Basic, which enables
graphical applications to be developed quickly and ex-
tends the desktop’s capabilities to access information re-
siding on computers linked via any network including the
Internet.

Java and Jini Technology
Java remote method invocation (RMI) relies on a proto-
col called the Java remote method protocol. Java relies
on object serialization, which allows objects to be trans-
mitted as a stream (Raj, 2002). The major drawback is
that both the server and client objects must be written in
Java. However, Java RMI can be implemented on a va-
riety of heterogeneous operating systems (from UNIX to
Windows) with one restriction: there should be a Java Vir-
tual Machine implementation for that platform. Internet-
based VEs that have no legacy software and are not con-
cerned about the introduction of heterogeneous imple-
mentations (in C++ and other languages) can implement
Java-based systems. Java has many advantages including
being object-oriented and offering ease of programming,
modularity, and elegance. Jini (from Sun Microsystems)
seeks to extend the benefits of object-oriented program-
ming to the Internet (or any network). Jini is built on top
of Java, object serialization, and RMI and enables com-
puters to communicate to each other through object in-
terfaces. Jini provides for a more network-centric envi-
ronment where computers not possessing a disk drive be-
come more commonplace and interact over dynamically
changing networks (such as the Internet). Jini technology
provides ways to add, remove, or locate computers as well
as services. It can help VE partners build and use a dis-
tributed system asa federation of servicesto accomplish
their target activities. The set of all available services avail-
able on the Internet to the VE will compose this federation
with no specific service in charge. Jini’s infrastructure pro-
vides a way for clients and services to locate each other
using a lookup service (which is a directory of currently
available services).
Free download pdf