Microsoft COM Component Object Model Joe Maloney Group
Download
Report
Transcript Microsoft COM Component Object Model Joe Maloney Group
Microsoft COM
Component Object Model
Microsoft Corporation
™
What is COM?
Build software from parts, not from scratch
A framework for creating and using
components
Makes software easier to write and reuse
Provides widest choice in services, tools,
languages, and applications
Provides the only currently viable third party
market for off the shelf components ($410 M
excluding MSFT Source: Giga)
Controls, tools, and server components
COM Features
Services used in a standard way,
regardless of location
Any Programming Language
Integrated with Development Tools
Flexible Security
Multiple Network Transports
Mature specification and reference
implementation
Ubiquitous
Accessing COM Services
In the same process
Fast, direct function
calls
Client
On the same machine
Fast, secure IPC
Secure, reliable and
flexible DCE-RPC
based DCOM protocol
Client Process
Client
Client Machine
Across machines
Client
Component
Server Process
COM
Component
Server Machine
DCE
COM RPC COM
Component
Major COM services
Shipping now:
Security
Lifecycle
management
Type information
Monikers (Naming)
Database access
Shipping soon:
Directory (NT 5.0)
Data Transfer
Components
Transactions
Asynchronous
communications
Registry
Automation
(Dynamic
Invocation)
Any Language/Tool
General
purpose
Adobe
PageMaker
Web
professional
Component
developer
SoftQuad
Borland
HotMetal Pro Intrabuilder
Macromedia NetObjects
Director
Fusion
PowerSoft
NetImpact
Borland
Delphi
Commercial
professional
developer
Borland
Latte
PowerSoft
PowerBuilder
Windows Platform
COM: Multiple Network Transports
Clients
C
O
M
TCP, UDP
IPX, SPX
HTTP
C
O
M
Queued
Client Machine
Server Machine
COM
Object
COM: Flexible Security
Clients
C
O
M
TCP,
UDP
NT4
Security
SSL/
IPX, SPX
Certificates
Kerberos
HTTP
IPSEC
C
O
M
Falcon
Client Machine
Server Machine
COM
Object
COM: Ubiquitous
Sun Solaris (Sparc) 2.5
HP/UX
COM
COM
RC
COM
Client
DCOM
Q3’97
Q4’97
Digital Unix 4.0 (Alpha)
RC
COM
Q3’97
Digital Open VMS
IBM MVS 5.2.2 (OS390)
Siemens Nixdorf SINIX
COM
COM
Q1’98
IBM OS/400
COM
H1’98
H1’98
Linux 2.0 (Intel)
H1’98
IBM AIX
COM
COM
BETA
COM
Q4’97
SCO UnixWare
H1’98
COM
Download the betas from http://www.sagus.com
H1’98
Driving trends
Growth in off the shelf component
marketplace
Ubiquitous Win95 and NT
Commodity software
Cross platform adoption of COM
Richer, integrated software services
Growth of NT relative to UNIX
Scorecard
Feature
COM/DCOM
CORBA/IIOP
Security
Shipping: NTLM
Shipping: none
NT5: MIT Kerberos,
Beta: Multiple SSL variations
SSL/Public Key
DCE
Languages
C, C++, VB, JAVA, Fortran,
C, C++, ADA
Cobol, Perl, REXX,
No VB, multiple JAVA
Javascript, many others
bindings, no scripting
languages
Multiple Transports
TCP IP, IP, IPX, SPX, HTTP,
TCP only
many others
Distributed Garbage
Collection
Mature Development Tools
Easy to Manage
In-proc Components
Additional Services
Shipping:
Transactions, Queuing
Shipping: none
CORBA and IIOP fall short
August 1997 Byte Magazine Cover Story
“The OMG’s effort to define interoperability began well
before the current obsession with the Internet. As a
result, it’s CORBA 2 architecture looks slightly oldfashioned, although classic would be a kinder word.”
PC Week for June 30, 1997 by Michael Moeller
“I would not recommend using IIOP [Internet Inter-ORB
Protocol] for communications between a client and a
server over the Internet, ” said John Dawes, group
product manager at Netscape.
COM Wins ORB Shootout
7/14/97
"We found that Microsoft has taken the bull by the horns
to produce an extremely effective and practical
distributed object technology implementation."
"DCOM has the jump on CORBA in terms of its flexible
security implementation. With CORBA, the security
specification has only recently been completed. This has left
ORB vendors to come up with their own incompatible
security implementations."
Summary
What is COM all about
COM features
How the technical elements stack up
COM, CORBA, IIOP and ORBs
™