COM DCOM and Software Components Nat Brown COM
COM, DCOM and Software Components Nat Brown COM Program Management Microsoft Corporation natbro@microsoft. com
Agenda What are COM and DCOM? n What’s right with COM n What’s wrong with CORBA / IIOP n Interesting COM Research Topics n n Additional Reference Material
The COM Programming Model A scalable programming model u In the same process Ø u Client Process Client Server Process COM Component Fast, secure IPC Across machines Ø Component Fast, direct function calls On the same machine Ø u Client Secure, reliable and flexible DCE-RPC based DCOM protocol Client Machine Server Machine DCE COM RPC Component
DCOM Architecture Flexible and extensible Pluggable Transports Client Machine Clients D C O M Server Machine TCP, UDP IPX, SPX HTTP Msg-Q D C O M COM Object
DCOM Architecture Flexible and extensible Pluggable Security Client Machine Clients D C O M Server Machine TCP, UDP NT 4 Security SSL/ IPX, SPX Certificates NT Kerberos HTTP DCE Security Falcon D C O M COM Object
DCOM Architecture Efficient and scalable u u u 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
DCOM Architecture Efficient and scalable u Low Bandwidth Ø Ø Header is 28 bytes over DCE-RPC Keep-Alive Messages bundled for all connections between Machines Client Machine Keep-Alive Traffic for all connections Client #1 Client #2 Server Machine Server s” n tio c e s” n n ion o “C ess l ca r “S i g o Lo
What’s Right with COM Focus is on binary object standard and scalable/fine-grained component re-use n Concreteness and depth of definition, for example security, lifetime management, activation, installation & deployment n Architected extensibility n
What’s Wrong with CORBA/IIOP n Focus is on cross-node or network reuse/integration – in practice useful for vertical solutions, not horizontal reuse/integration n Incomplete specification – marshaling format of certain types of datastructures – implications of lack of services (e. g. Naming, Events, Lifetime management) n No architected extensibility
COM Research Areas High-Level Language Integration n Application Management n Ease-of-use n Deep/Robust Extensibility
Language Integration n Re-Use Mechanisms – Inheritance, Containment, Delegation, Aggregation – “Interception” n Constructs of modern OO languages – classes, fields, exceptions n Constructs of modern 4 GL/RAD tools – data-binding – auto-persistence, -everything n Meta Data
Application Management Distribution of Code + Data + Configuration Information n Security and Security Delegation n – Security “roles” and re-use of components Performance Monitoring n Runtime Environment n
Ease-of-Use n What’s the next programming model layer to vastly improve ease-of-use? – Transactions? – Auto-caches & state management? – Auto-distribution & -execution?
Ease-of-Use: First Steps Clients Network Configuration Management Receiver Queue Connections Context Security Thread Pool Service Logic Synchronization Shared Data Server MTS = easier servers Class Factory DLL Register Ref. Counting Query Interface IDispatch Connection Points Meta Type Data Info Methods Component Easier components?
Reference Material n n n n n [Box 1 97] D. Box, Q&A Active. X/COM, Microsoft Systems Journal, March 1997, pp. 93 -105. [Box 2 97] D. Box, Q&A Active. X/COM, Microsoft Systems Journal, July 1997, pp. 93 -108. [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 http: //ds 1. internic. net/internet-drafts/draft-brown-dcom-v 1 -spec-01. txt [Chappell 96] D. Chappell, Understanding Active. X and OLE, Redmond, Washington: Microsoft Press, 1996. [COM 95] The Component Object Model Specification, http: //www. microsoft. com/oledev/olecom/title. htm [DCE 95] AES/Distributed Computing - Remote Procedure Call, Revision B, Open Software Foundation, http: //www. osf. org/mall/dce/free_dce. htm [Rogerson 96] D. Rogerson, Inside COM, Redmond, Washington: Microsoft Press, 1996. [Wang 97] Y. M. Wang, COM/DCOM Resources, http: //www. research. att. com/~ymwang/resources. htm
- Slides: 15