Presentation is loading. Please wait.

Presentation is loading. Please wait.

COM, DCOM and Software Components

Similar presentations


Presentation on theme: "COM, DCOM and Software Components"— Presentation transcript:

1 COM, DCOM and Software Components
Nat Brown COM Program Management Microsoft Corporation

2 Agenda What are COM and DCOM? What’s right with COM
What’s wrong with CORBA / IIOP Interesting COM Research Topics Additional Reference Material

3 The COM Programming Model A scalable programming model
Client Component In the same process Fast, direct function calls Client Component COM Client Process Server Process On the same machine Fast, secure IPC Across machines Secure, reliable and flexible DCE-RPC based DCOM protocol COM DCE RPC Client Server Machine Client Machine Component

4 DCOM Architecture Flexible and extensible
Pluggable Transports Client Machine Server Machine D C O M D C O M TCP, UDP IPX, SPX COM Object Clients HTTP Msg-Q

5 DCOM Architecture Flexible and extensible
Pluggable Security Client Machine Server Machine D C O M NT4 Security SSL/ Certificates NT Kerberos DCE Security D C O M TCP, UDP IPX, SPX COM Object Clients HTTP Falcon

6 DCOM Architecture Efficient and scalable
Multiplexing - Single Port per-protocol, per server process, regardless of # of objects Scalable - Connection-Less Protocols like UDP Preferred Established Connection-Oriented (TCP) Sessions Reused by same client Client Server Client

7 DCOM Architecture Efficient and scalable
Low Bandwidth Header is 28 bytes over DCE-RPC Keep-Alive Messages bundled for all connections between Machines Client Machine Server Machine Keep-Alive Traffic for all connections Client #1 Server Logical “Connections” or “Sessions” Client #2

8 What’s Right with COM Focus is on binary object standard and scalable/fine-grained component re-use Concreteness and depth of definition, for example security, lifetime management, activation, installation & deployment Architected extensibility

9 What’s Wrong with CORBA/IIOP
Focus is on cross-node or network reuse/integration in practice useful for vertical solutions, not horizontal reuse/integration Incomplete specification marshaling format of certain types of data-structures implications of lack of services (e.g. Naming, Events, Lifetime management) No architected extensibility

10 Deep/Robust Extensibility
COM Research Areas High-Level Language Integration Application Management Ease-of-use Deep/Robust Extensibility

11 Language Integration Re-Use Mechanisms
Inheritance, Containment, Delegation, Aggregation “Interception” Constructs of modern OO languages classes, fields, exceptions Constructs of modern 4GL/RAD tools data-binding auto-persistence, -everything Meta Data

12 Application Management
Distribution of Code + Data + Configuration Information Security and Security Delegation Security “roles” and re-use of components Performance Monitoring Runtime Environment

13 Ease-of-Use What’s the next programming model layer to vastly improve ease-of-use? Transactions? Auto-caches & state management? Auto-distribution & -execution?

14 Ease-of-Use: First Steps
Component Type Info DLL Register RefCounting Query Interface Methods Class Factory Connection Points IDispatch Component Meta Data DLL Register RefCounting Query Interface Methods Class Factory Connection Points IDispatch Clients Network Server Thread Pool Queue Connections Context Security Shared Data Receiver Synchronization Service Logic Configuration Management Receiver Queue Connections Context Security Management Configuration Thread Pool Service Logic Synchronization Shared Data Server MTS = easier servers Easier components?

15 Reference Material [Box1 97] D. Box, Q&A ActiveX/COM, Microsoft Systems Journal, March 1997, pp [Box2 97] D. Box, Q&A ActiveX/COM, Microsoft Systems Journal, July 1997, pp [Brockschmidt 93] K. Brockschmidt, Inside OLE 2, Redmond, Washington: Microsoft Press, 1993. [Brown 96] N. Brown, C. Kindel, Distributed Component Object Model Protocol -- DCOM/1.0 [Chappell 96] D. Chappell, Understanding ActiveX and OLE, Redmond, Washington: Microsoft Press, 1996. [COM 95] The Component Object Model Specification, [DCE 95] AES/Distributed Computing - Remote Procedure Call, Revision B, Open Software Foundation, [Rogerson 96] D. Rogerson, Inside COM, Redmond, Washington: Microsoft Press, 1996. [Wang 97] Y. M. Wang, COM/DCOM Resources,


Download ppt "COM, DCOM and Software Components"

Similar presentations


Ads by Google