com dcom and software components l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
COM, DCOM and Software Components PowerPoint Presentation
Download Presentation
COM, DCOM and Software Components

Loading in 2 Seconds...

play fullscreen
1 / 15

COM, DCOM and Software Components - PowerPoint PPT Presentation


  • 112 Views
  • Uploaded on

COM, DCOM and Software Components. Nat Brown COM Program Management Microsoft Corporation natbro@microsoft.com. Agenda. What are COM and DCOM? What’s right with COM What’s wrong with CORBA / IIOP Interesting COM Research Topics Additional Reference Material. In the same process

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'COM, DCOM and Software Components' - temima


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
com dcom and software components

COM, DCOMandSoftware Components

Nat Brown

COM Program Management

Microsoft Corporation

natbro@microsoft.com

agenda
Agenda
  • What are COM and DCOM?
  • What’s right with COM
  • What’s wrong with CORBA / IIOP
  • Interesting COM Research Topics
  • Additional Reference Material
the com programming model a scalable programming model

In the same process

    • Fast, direct function calls

Component

Client

Client Process

Server Process

  • On the same machine
    • Fast, secure IPC

Component

COM

Client

  • Across machines
    • Secure, reliable and flexibleDCE-RPC based DCOM protocol

Server Machine

Client Machine

Component

DCE

RPC

COM

COM

Client

The COM Programming ModelA scalable programming model
dcom architecture flexible and extensible

TCP, UDP

IPX, SPX

HTTP

Msg-Q

DCOM ArchitectureFlexible and extensible

Pluggable Transports

Client Machine

Server Machine

D

C

O

M

D

C

O

M

COM

Object

Clients

dcom architecture flexible and extensible5

TCP, UDP

NT4 Security

SSL/

Certificates

IPX, SPX

NT Kerberos

HTTP

DCE Security

Falcon

DCOM ArchitectureFlexible and extensible

Pluggable Security

Client Machine

Server Machine

D

C

O

M

D

C

O

M

COM

Object

Clients

dcom architecture efficient and scalable
DCOM ArchitectureEfficient 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

dcom architecture efficient and scalable7
DCOM ArchitectureEfficient 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

what s right with com
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
what s wrong with corba iiop
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
com research areas
COM Research Areas
  • High-Level Language Integration
  • Application Management
  • Ease-of-use

Deep/Robust Extensibility

language integration
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
application management
Application Management
  • Distribution of Code + Data + Configuration Information
  • Security and Security Delegation
    • Security “roles” and re-use of components
  • Performance Monitoring
  • Runtime Environment
ease of use
Ease-of-Use
  • 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

Receiver

Class Factory

Queue

Class Factory

DLL Register

Connections

DLL Register

RefCounting

Context

Security

RefCounting

Management

Configuration

Query Interface

Thread Pool

Query Interface

IDispatch

Service Logic

IDispatch

Connection Points

Connection Points

Synchronization

Meta Data

Type Info

Shared Data

Methods

Server

Methods

Component

Component

Ease-of-Use: First Steps

Clients

Network

Receiver

Queue

Connections

Context

Security

Management

Configuration

Thread Pool

Service Logic

Synchronization

Shared Data

Server

MTS = easier servers

Easier components?

reference material
Reference Material
  • [Box1 97]D. Box, Q&A ActiveX/COM, Microsoft Systems Journal, March 1997, pp. 93-105.
  • [Box2 97]D. Box, Q&A ActiveX/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.0http://ds1.internic.net/internet-drafts/draft-brown-dcom-v1-spec-01.txt
  • [Chappell 96]D. Chappell, Understanding ActiveX 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/resources.htm