dcom1
-
Upload
amagno-cardenas -
Category
Documents
-
view
214 -
download
0
Transcript of dcom1
-
7/27/2019 dcom1
1/33
(D)COM(D)COMMicrosofts responseMicrosofts response
to CORBAto CORBA
Alessandro RISSO - PS/CO
-
7/27/2019 dcom1
2/33
Talk OutlineTalk Outlinex DCOM
x What is DCOM ?
x COM Components
x COM Library
x Transport Protocols, Security & Platforms Availability
x Services Based on DCOM
x DCOM - Pros & Cons
x DCOM & CORBA - A Comparison
-
7/27/2019 dcom1
3/33
Middleware Workshop - 26 March 1999
The FoundationThe Foundation
x COM is Microsofts Component Model
x COM defines a Binary Standard for Components
Interoperability
x COM Component is a piece of compiled code that
provides some service to the rest of the system
x DCOMprovides Distributed Services to COM
x allows COM Components to transparently communicate
across the network
-
7/27/2019 dcom1
4/33
Middleware Workshop - 26 March 1999
Evolution of COMEvolution of COM
x 1993 - OLE2 introduced COM
x 1994 - COM in Windows NT 3.5
x 1996 - DCOM in Windows NT 4
x 1996 - ActiveX, COM enabled for the Internet
x 1996 - Microsoft Transaction Server (MTS)
x 1998 - DCOM for W95, Sun Solaris, HP-UX, IBM AIX ,
x 200x - COM+
-
7/27/2019 dcom1
5/33
Middleware Workshop - 26 March 1999
COM ArchitectureCOM Architecture
-
7/27/2019 dcom1
6/33
Middleware Workshop - 26 March 1999
COM ComponentsCOM Components
x
are language-neutralencapsulated objects
x expose a set of structured interfaces
x enable other applications or components
to communicate in astandard way
-
7/27/2019 dcom1
7/33
Middleware Workshop - 26 March 1999
COM ClassCOM Class
x named, concrete implementation ofone or more interfaces
x identified by a class identifier - CLSID
Slide classInterfaces
IColorManager
IShow
CLSID = {55ca6522-e33e-22cf-55da-0091e2a3a124}
void SetForegrdColor (Obj o, Color c)Color GetForegrdColor (Obj o)
.
{{
-
7/27/2019 dcom1
8/33
Middleware Workshop - 26 March 1999
InterfaceInterface
x a group of related functions that specifies a
contract - name, interface signature and semantics
x denotes behavior only, not state
x are immutable - never versioned
x are strongly typed - unique identifier IID
x interfaces are described in MS-IDL - derived from
the IDL of OSF/DCE
-
7/27/2019 dcom1
9/33
Middleware Workshop - 26 March 1999
IUnknownIUnknown InterfaceInterface
x IUnknown defines a standard for communicationwith components
x All COM components are required to implement it
x IUnknown has three methods:
x QueryInterface
x AddRef
x Release }Reference Counting Methods} Returns the Interface Pointer
-
7/27/2019 dcom1
10/33
Middleware Workshop - 26 March 1999
Virtual Function TablesVirtual Function Tables
-
7/27/2019 dcom1
11/33
IDL & COMIDL & COM
InterfacesInterfaces
written inwritten in
MS-IDLMS-IDL
Small BinariesSmall Binaries
loaded inloaded in
Client & ServerClient & Server
process spacesprocess spaces
MIDLMIDL
CompilerCompiler
Proxy & StubProxy & StubUUIDsUUIDs
for thefor the
RegistryRegistry DBDB. . . . .. . . . . TypeType LybraryLybrary
UniversallyUniversally
Unique IDs file,Unique IDs file,
with all Class IDwith all Class ID
& Interface IDs& Interface IDs
Binary Object withBinary Object with
class & interfacesclass & interfaces
metadatametadata for Tools,for Tools,
likelike VBasicVBasic & Java& Java
-
7/27/2019 dcom1
12/33
Middleware Workshop - 26 March 1999
COM LibraryCOM LibraryA system component that providesA system component that providesthe mechanism of COMthe mechanism of COM
x Provides the ability to make IUnknown call
across processes
x Encapsulate all work associated with the
launching of components
x Establish connections between componentsx In Win9x/WinNT is called OLE2.DLL
-
7/27/2019 dcom1
13/33
PublisherPublisherServerServer
ObjectObjectClientClientProgramProgram
Local
Machine
Local
Machine
The COM LibraryThe COM Library
A System Component that provides theA System Component that provides themechanism of COMmechanism of COM
ServiceService
Control MangerControl Manger
COM RuntimeCOM Runtime REGISTRY DatabaseREGISTRY Database
{CLSID}{CLSID} Server.DLLServer.DLL
Client ProcessClient Process
1
2
34
5
-
7/27/2019 dcom1
14/33
PublisherPublisherCOMCOM
RemoteRemote
ObjectObject
ProxyProxy
ClientClient
ProgramProgram
Local MachineLocal Machine
Accessing COM ServicesAccessing COM Services
ClientClient ProcessProcess
COMCOM Local ServerLocal Server
StubStubLocalLocal
ObjectObject
Remote ServerRemote Server ProcessProcess
RPC
Remote MachineRemote Machine
COMCOM Local ServerLocal Server
Local ServerLocal Server ProcessProcess
LPC
In-ProcessIn-Process
ServerServer COMCOM
RemoteRemoteObjectObject
ProxyProxyStubStub LocalLocal
ObjectObject
In-ProcessIn-Process
ObjectObject
-
7/27/2019 dcom1
15/33
Middleware Workshop - 26 March 1999
Protocols & SecurityProtocols & Security
x DCOM is based on MS-RPC
x MS implementation of OSF/DCE-RPC specification
x Tightly-Coupled & Synchronous
x DCOM can use all major Transport Protocols
x default ones are TCP & UDP
x DCOM provides a Security Framework
x Its based on WinNT Access Control Lists for componentsx ACLs indicate which users or groups of users have the right
to access a component of a certain class
-
7/27/2019 dcom1
16/33
Middleware Workshop - 26 March 1999
DCOM AdministrationDCOM Administration
x For distributed applications, its criticalx To be able to centralize administration
x To make client installation as straightforward as possible
x COM components administration is not easy:
x COM components only increase in size (no versioning)
x
The biggest problem for maintaining fat clients isupdating those clients to newer versions, by modifying the
Registry file of each computer using them
-
7/27/2019 dcom1
17/33
Middleware Workshop - 26 March 1999
DCOM Availability onDCOM Availability onnon-Microsoft Platformsnon-Microsoft Platforms
x Sun Solaris 2.5 (Sparc)
x HP-UX
x
Linux 2.0 Intelx SCO UnixWare
x Siemens Nixdorf SINIX
x Digital Unix 4.0 (Alpha)
x IBM AIX
x
Digital Open VMSx IBM MVS 5.2.2 (OS390)
x IBM OS/400
EntireX- www.softwareag.comCOMsource- www.opengroup.org/comsource
-
7/27/2019 dcom1
18/33
Middleware Workshop - 26 March 1999
Services Based on DCOMServices Based on DCOMx Microsoft Transaction Server
x MTS manages Transactions, System Resources &Components Life Cycle
x MTS is a Standard for Server-Side COM Components
x Microsoft Message Queue
x
MSMQ implements asynchronous communicationx MSMQ will be seen from DCOM as a new pluggable
Transport Protocol (WinNT 5)
-
7/27/2019 dcom1
19/33
Middleware Workshop - 26 March 1999
Domain Specific ServicesDomain Specific Servicesbased on Windows DNA, the Windowsbased on Windows DNA, the Windows
DistributedDistributed interNetinterNet Applications ArchitectureApplications Architecture
x Windows DNA is a framework for business
solutions based on COM technologies
x DCOM, MTS, MSMQ, IIS - MS Web Server, ...
x Available Industry Specifications & Products
x OLE for Process Control (OPC)
x Financial Services
x Transportation & Distribution, .
-
7/27/2019 dcom1
20/33
Middleware Workshop - 26 March 1999
Microsoft Transaction ServerMicrosoft Transaction Serverx DCOM only offers basic services for
distributed computingx Building powerful COM servers can be daunting
x MTS integrates DCOM with
x System Resources management
x Server Component creation, execution & deletionmanagement
x Transactions Control & Security
x MTS is a standard for server-side components
-
7/27/2019 dcom1
21/33
Middleware Workshop - 26 March 1999
MTS at workMTS at work
ClientClient
MTS ExecutiveMTS Executive MTS ApplicationMTS Application
StubStub
ClassClass
FactoryFactory
ClassClass
FactoryFactory
WrapperWrapper
ContextContext
WrapperWrapper
ContextContext
ObjectObject
MTSMTS
ObjectObject
ProxyProxy
MTS Surrogate ServerMTS Surrogate Server
-
7/27/2019 dcom1
22/33
Middleware Workshop - 26 March 1999
x Constraints on COM Componentx Be an in-process server (DLL)
x Implement a Class Factory to create objects
x Describe all of the components interfaces in a Type Library
x State-less objects only
x Available on NT platforms only
MTS ConstraintsMTS Constraints
-
7/27/2019 dcom1
23/33
Middleware Workshop - 26 March 1999
Microsoft MessageMicrosoft Message
Queue ServerQueue Serverx DCOM is based on MS-RPC
x Tightly-Coupled & Synchronous
x MSMQ Communication Scenarios
x Store-and-forward communication
x Concurrent execution
x Journaled communication
x
Connectionless communicationx MSMQ will be seen from DCOM as a new
pluggable Transport Protocol
-
7/27/2019 dcom1
24/33
Middleware Workshop - 26 March 1999
MS-Message Queue ServerMS-Message Queue Server
x MSMQ is fully integrated with otherWindows NT features such asx Microsoft Transaction Server (MTS)
x
Microsoft Internet Information Server (IIS)x Windows NT Security Environment
x MSMQ is available on Windows 9x & NT
x MSMQ is seen from DCOM as a newpluggable Transport Protocol
-
7/27/2019 dcom1
25/33
Middleware Workshop - 26 March 1999
DCOM -DCOM - ProsPros & Cons& Cons
x DCOM is a Mature Technology
x Defines a Binary Standard for Components Interoperability
x Broad Tools Support - VisualBasic, VC++, VJ++ & ActiveX
x Is Programming-Language-Independent
x Provides a transparent Remote Procedure Calls to both
Local or Remote Servers
x Can use all major Transport Protocols
x MTS & MSMQ well integrate the basic DCOM functionality
x Domain Specific Services are available on the market
-
7/27/2019 dcom1
26/33
Middleware Workshop - 26 March 1999
DCOM - Pros &DCOM - Pros & ConsConsx COM components administration is not easy:
x COM components update requires to modify the Registry file
of each computer using them
x COM components only increase in size (no versioning)
x DCOM Services are Windows-centric
x Only a few vendors are porting DCOM on
other platformsx OpenGroup
x Software AG Systems
-
7/27/2019 dcom1
27/33
Middleware Workshop - 26 March 1999
CORBA ArchitectureCORBA Architecture
-
7/27/2019 dcom1
28/33
Middleware Workshop - 26 March 1999
DCOM - CORBADCOM - CORBAWhats similar ?Whats similar ?
q
They provide:x local and remote servers for distributed
computing
x a framework with
x ORB
x Object Servicesx Common Facilities - horizontal services
x Domain Specific Facilities - vertical services
-
7/27/2019 dcom1
29/33
DCOM - CORBADCOM - CORBAWhats different?Whats different?
q DCOM
x Microsoft & Open Group
~130 members
x first implementation,
then specification
q CORBA
x OMG consortium
~ 800 members
x first specification,
then implementation
-
7/27/2019 dcom1
30/33
DCOM - CORBADCOM - CORBAWhats different?Whats different?
q DCOMx Communication based on
RPC protocol
x synchronous communication
x COM library with
more built-in functions &less services
x Built in OS
q CORBAx Communication based on
IIOP or proprietary protocol
x synch + asynchronous commun.
x ORB with
more services &less built-in functions
x Built above OS
-
7/27/2019 dcom1
31/33
DCOM - CORBADCOM - CORBA
Whats different?Whats different?
q
DCOMx Object consist of one or
more categories ofinterfaces
x each interface is named &has its own derivationhierarchy
x Class identified by CLSID
x Error reporting
x methods return an integervalue that indicate thesuccess or failure of the call
q
CORBAx Objects follow a standard
object model
x an interface is defined by itsclass & all the ancestors ofthat class
x Class identified by Name
x Error reporting
x Exception mechanism, whereerrors are returned as astructure embedded withinanother object
-
7/27/2019 dcom1
32/33
Middleware Workshop - 26 March 1999
ConclusionsConclusions
The selection process between DCOM &others Middleware solutions revolvesaround the choice of server environments
on which these systems will operate
-
7/27/2019 dcom1
33/33
Middleware Workshop - 26 March 1999
ReferencesReferences
x COM-DCOM-MTS & MSMQ Documentationx www.microsoft.com/com
x www.microsoft.com/msmq
x EntireXx www.softwareag.com
x COMsource
x www.opengroup.org/comsource