DCOM Explained
by Rosemary Rock-Evans
Digital Press
ISBN:
1555582168
Pub Date:
09/01/98
Table of Contents
Index
Accessing data, 208
ACID properties, 146-47
ACLs (Access Control Lists), 224-25, 237
Active data objects, 20
Active Data Objects and OLE DB, 187-211
accessing data, 208
back to basics-storing data, 187-92
database connectivity middleware, 192-98
developers accessing data types, 204-7
Microsoft and database connectivity, 198-210
OLE DB, 203-4
Open Database Connectivity (ODBC), 198-203
outgoing Data Objects, 207-8
outgoing interfaces, 207-8
stream and storage objects, 209-10
Active Directory, 23, 252, 256-58
Active Directory Server Interface (ADSI), 257
Lightweight Directory Access Protocol (LDAP), 257
replication, 256
and repository, 258
ActiveX, 19, 39-52
compilers, 42
component market, 45-47
described, 40-44
languages of development, 44
memory management, 43-44
miscellaneous tools, 52
and standardization, 44-45
thread support, 42-43
tools, 47-48
Visual Studio 97, 48-52
Win32 APIs, 41-42
AddRef, 15
method, 81
Administration, 261-68
configuration, 264-65
configuring transaction data, 264
MSMQ, 265
setting up directory, 264
setting up security data, 265
event/problem monitoring, capture, and diagnosis, 265
installation, 263-64
Performance Monitoring, 267-68
MSMQ, 267-68
Transaction Server, 267-68
Windows NT, 267-68
range of tools, 261-63
ADSI (Active Directory Server Interface), 23, 257
AdviseSink, 207
Agents, SMART, 249
Aggregation and containment, interface, 13-14
Anchors defined, 119
APIs, 20, 23
implemented in COM Library, 27
Win32, 41-42
APPC (Advanced Program to Program Communication), 75
Applets defined, 121
Application developer options, distributed, 130-31
Applications
COM, 27-28
needing strictly ordered processing, 167
Architectures, 155
Java and three-tier, 124-25
two types of service, 3
ASCII (American Standard Code for Information Interchange), 74
Assurance, delivery, 179-80
Asynchronous processing, 163
support, 90-91
Audit, 229-30, 283
Authentication, 222-24
authenticode, 234-36
digital certificates, 223-24
Microsoft Certificate Server, 233
services, 63
smart cards, 224, 234
user ID, 232
user names and passwords, 222
Authenticode, 234-36
Authorization, 224-25, 237-38
services, 63
AWT (Abstract Windowing Toolkit), 121
Backups, 150
Blocks, executable, 9
Book
description of, 1
no bias contained, 1-2
purpose, 1
Borlands Delphi 3, 52
Broadcasting
defined, 84
and multicasting, 83-86, 178-79
BSC (Backup Site Controller), 171
Buffer pool management, 137-38
Call back object, 91
Capture, monitor and, 265-66
Cards, smart, 224, 234
Cedar, 71-77, 158
CICS calls, 75-76
configuration, 73
contents, 72-73
data conversion, 73-75
defined, 21, 71-73
miscellaneous functions, 76
using DCOM on MVS, 76-77
Certificates, digital, 223-24
CGI (Common Gateway Interface), 119-21
Checking, integrity, 228-29, 238
Class defined, 8
Class Factory, 253
Class ID (CLSID), 9
Class Table, 253
Client Software, 171
Clients, 28-29
of events, 207
CLSID (Class Identifier), 9, 15, 254
Codes, status, 196
COM, 15, 27-37, 252
applications, 27-28
client, 28-29
IDispatch, 35-37
interface, 17-18
Interface Definition Language (IDL), 29-30
Library, 27
MIDL compiler, 30-32
proxies and stubs, 32-33
server defined, 29
TI (Transaction Integrator), 21, 71
Type Library, 35
Vtables, 33-35
Commands, semantics of, 195-96
COMMAREA (communication area), 75
Commit and rollback, 150
Communication, distributed interprocess, 3
Communication functions
broadcasting and multicasting, 83-86
context bridging, 83
miscellaneous, 79-86
triggering, 79-83
Communications
one-to-one, 83
one-way, 83
point-to-point, 83
Compilers
ActiveX, 42
MIDL, 30-32
Components
defined, 8
market, 45-47
Configuration, 264-265
Connectable objects defined, 84
Connection
independence, 166
point defined, 85
Containment, interface, 13-14
Contents, 256-57
data, 165
message, 165-66
Context bridging, 83
CORBA (Common Object Request Broker Architecture), 1-2, 7, 86, 249
products, 245
COS (CORBA Object Services), 249
CoTaskMemAlloc, 96
CoTaskMemFree, 96
Cryptographic keys, 223
CSPs (Cryptographic Service Providers), 230-31
Data
accessing, 208
content, 165
formats, 65-66
packing/unpacking in message, 65
storing, 187-92
types, 196
developers accessing, 204-7
Data Objects, outgoing, 207-8
Database
connection pools, 155-56
connectivity
and Microsoft, 198-210
middleware, 192-98
objects using
DML, 204-5
ODBC, 205
DBMSs, history of, 189-92
DCE (Distributed Computing Environment), 8
DCE RPC, 62-63
defined, 59-60
directory service, 62
Distributed File Service (DFS), 64
security services, 63-64
services, 61-64
threads service, 63
time service, 61-62
DCE RPC, 62-63
and MS RPC, 59
DCOM (Distributed Component Object Model), 1-3
concepts used in, 7-15
Class ID (CLSID), 9
classes, objects, and components, 8-9
Globally Unique Identifiers (GUID), 7-8
inheritance, 12-13
interface, 10-12
interface containment and aggregation, 13-14
IUnknown Interface, 14-15
Monikers, 15
polymorphism and encapsulation, 12
defined, 3-6
and Internet, 115-33
is middleware, 4-5
and MS RPC, 57-58
and other platform support, 101-13
communication-level services, 107-8
concepts supported, 106-7
existing platforms, 102-6
Hewlett Packard, 104
management layer services, 108
miscellaneous services, 109-10
services supported, 107-10
translation services, 109
what is provided?, 106
wrapping, 110-12
and other types of middleware, 6
overall analysis of, 279
services of, 17-25
active data objects, 20
Active Directory, 23
ActiveX, 19
Cedar, 21
COM interface, 17-18
LDAP/ADSI, 23
Microsoft Message Queue Server (MSMQ), 22
Microsoft Transaction Server (MTS), 21
Microsofts core Remote Procedure Call (MS RPC) technology, 20
OLE DB, 20
OLEMSGing, 23-24
security services, 23
Windows NT, 18-19
strengths of, 270-71
cheap, 270
good services, 270
integrated, 270
Microsoft, 270-71
visionary, 270
using on MVS, 76-77
weaknesses of, 271-79
complex, 271-72
legacy system integration difficulty, 272-73
new and possibly unstable, 273
not yet enterprise level, 273-74
other platform support is weak, 274-79
and Windows NT, 87-99
DCOM and threads service, 89-90
Distributed File Services (DFS), 93-95
memory management, 95-96
Microsofts thread service, 93
multithreading, 89-93
shared memory, 96-97
threads defined, 90
threads usage, 90-92
timing services, 97
DE-Light Web Client, 115
Dead letter queues, 176
Deferred delivery, 181-82
Delivery
assurance, 179-80
deferred, 181-82
guaranteed, 179-80
Delphi 3, 52
Denali, 129
DES (Data Encryption Standard), 63
Developers accessing data types, 204-7
DFS (Distributed File Services), 64, 93-95
Diagnosis, event/problem monitoring, 265-66
Digital Certificate Authority, 223
Digital Certificate Privileges, 225
Digital certificates, 223-24
Directory defined, 241-51
Directory services, 62, 241-60
active directory, 256-58
Active Directory Server Interface (ADSI), 257
Lightweight Directory Access Protocol (LDAP), 257
replication, 256
and repository, 258
directory defined, 241-51
making good, 244-51
file per machine, 245-46
no directory, 249-51
replicated files, 246-47
replication with publish/subscribe, 247-49
single file approach, 245
in summary, 251
Microsofts, 251-56
Microsofts Registry service, 252-56
and middleware, 244
Distributed application developer options, 130-31
Distributed interprocess communication, 3
Distributed Transaction Processing support; See DTP (Distributed TransactionProcessing) support
Distributed two-phase commit, 152
DMLs (Data Manipulation Languages), 153
database object using, 204-5
dialects of, 195
different, 194-95
translation of, 193-96
DPL (Distributed Program Linking), 75
DSA (Digital Signature Algorithm), 227
DTC (Distributed Transaction Coordinator), 155
DTP (Distributed Transaction Processing), 153
support, 145-61
ACID properties, 146-47
architecture, 155
commit and rollback, 150
database connection pools, 155-56
distributed transaction defined, 147
distributed two-phase commit, 152
locks, 150-52
Microsoft Transaction Server (MTS), 155
middleware, 147-48
MTS in operation, 159-61
platforms, 155
resource managers, 148-49
resource managers supported, 158-59
standards, 152-54, 156-58
in summary, 154-61
transaction defined, 145-46
transaction manager, 155
DTPM (Distributed Transaction Processing Middleware), 24, 147-48
DTPWG (Distributed Transaction Processing Working Group), 153
EBCDIC (Extended Binary-Coded Decimal Interchange Language), 74
Encapsulation and polymorphism, 12
Encryption, 226-28, 238
public key, 226-27
secret key, 227-28
Event Interface defined, 84
Event/problem monitoring
capture, and diagnosis, 265
diagnosis, 266
monitor and capture, 265-66
problem resolution, 266-67
Events, 84
clients of, 207
Executable blocks defined, 9
Explorer
Microsoft Internet, 127-29
tools, 261
Falcon, 163-85
Fault handling, 67-69
Field, HRESULT, 69
File approach, single, 245
File per machine, 245-46
Files
host-specific, 245, 252
replicated, 246-47
FoxPro, Visual, 52
FrontPage, 51
Functions
communications, 79-86
of protection, 218-22
and risks, 220-22
Guaranteed delivery, 179-80
GUID (Globally Unique Identifiers), 7-8, 10
Host-specific files, 245, 252
HRESULT field, 69
HTML (HyperText Mark Up Language), 118-19
HTTP (HyperText Transfer Protocol), 117-18
Hypertext reference, 119
IAdviseSink, 207
IDispatch, 35-37
IDL (Interface Definition Language), 10, 29-30, 56
IETF (Internet Engineering Task Force), 230
IIS (Internet Information Server), 73, 129-30
IMAlloc Interface, 96
Independence, connection, 166
Information Store, 171-72
Inheritance, 12-13
Installation, 263-64
Integrity checking, 228-29, 238
Interfaces, 10-12
COM, 17-18
containment and aggregation, 13-14
engine, 112
IMAlloc, 96
IUnknown, 14-15
language mapping, 206
and MS RPCs, 55-57
outgoing, 207-8
Outgoing or Event, 84
XA, 154
Internet
and DCOM, 115-33
Common Gateway Interface (CGI), 119-21
distributed application developer options, 130-31
Hyper Text Mark Up Language (HTML), 118-19
HyperText Transfer Protocol (HTTP), 117-18
Internet technology explained, 116-22
Java and three-tier architectures, 124-25
Microsoft Internet Information Server (IIS), 129
middleware in practice, 123-24
and middleware vendors, 115-16
middleware vendors support, 123-26
Uniform Resource Locators (URLs), 117
Web pages and Java, 121-22
and Microsoft, 126-31
technology explained, 116-22
Internet Explorer, 127-29
Interprocess communication, distributed, 3
Intersite routing, 183
Intrasite routing, 183
IUnknown Interface, 14-15
Java
language, 121
Remote Client services, 115
and three-tier architectures, 124-25
Virtual Machine, 121
and Web pages, 121-22
Jolt, 115
Journaling defined, 173
Kerberos, 231-32
Keys
cryptographic, 223
public, 226-27
secret, 227-28
Known user, 130-31
Language mapping, interface, 206
Languages of development, 44
LDAP (Lightweight Directory Access Protocol), 23, 257
LDAP/ADSI, 23
Load balancing, 139-42
Locks, 150-52
Machine, file per, 245-46
Management, buffer pool, 137-38
Managers
resource, 148-49
shared property, 142
Mapping
interface language, 206
relational, 205
Market, component, 45-47
Memory
leak defined, 95
management
ActiveX, 43-44
DCOM and Windows NT, 95-96
shared, 96-97
Message passing vs. message queuing, 164-67
Messages
contents of, 165-66, 177-78
packing/unpacking data, 65
prioritization, 177
queuing vs. message passing, 164-67
routing, 182-84
status, 196
Microsoft
Active Service Pages, 129
Certificate Server, 233
and database connectivity, 198-210
DCOM (Distributed Component Object Model), 3
Interface Definition Language (IDL), 10, 29-32
and Internet, 126-31
Internet Explorer, 127-29
Management Console, 262
products and services
audit, 283
authentication, user ID, 232
authorization, 237-38
encryption, 238
integrity checking, 238
Registry service, 252-56
Repository, 258
thread service, 93
Middleware
database connectivity, 192-98
DCOM is, 4-5
and directory services, 244
distributed transaction processing, 147-48
miscellaneous types of, 6
in practice, 123-24
vendors, 115-16
vendors support, 123-26
MIDL (Microsofts IDL), 29
compilers, 30-32
Models, translation of underlying, 193-94
Monikers defined, 15
Monitor and capture, 265-66
MQSeries, 154
MS RPC (Microsofts core Remote Procedure Call), 53-69
and DCE RPC, 59
DCE services, 61-64
DCE RPC, 62-63
Directory service, 62
Distributed File Service (DFS), 64
Security services, 63-64
Threads service, 63
Time service, 61-62
and DCOM, 57-58
Distributed Computing Environment (DCE) defined, 59-60
function of, 55
and interfaces, 55-57
Remote Procedure Call (RPC) defined, 53-54
RPC service functions, 64-69
coordinating transmission, 67
handling faults, 67-69
handling network calls, 67
packing into and unpacking from buffers, 66
packing/unpacking data in message, 65
session handling, 67
translation of data formats, 65-66
transmitting message, 66-67
technology, 20
MSMQ (Microsoft Message Queue Server), 22, 163-85, 265
background, 168
Backup Site Controller (BSC), 171
broadcasting and multicasting, 178-79
Client Software, 171
deferred delivery, 181-82
defined, 167-68
delivery assurance, 179-80
guaranteed delivery, 179-80
Information Store, 171-72
main concepts and modules, 169
main modules, 170-71
message content, 165-66, 177-78
message passing vs. message queuing, 164-67
message prioritization, 177
message routing, 182-84
miscellaneous functions in, 184
performance monitoring, 267-68
platforms, 168-69
polling, pulling, and notification, 176-77
Primary Enterprise Controller (PEC), 170
Primary Site Controller (PSC), 170
queues, 172-76
routing servers, 170-71
session handling, 178
Site Gate, 171
sites and connected networks, 169-70
uses of service, 166-67
applications needing strictly ordered processing, 167
replacing batch transaction systems, 167
replacing paper, 167
MSMQ, Performance Monitoring, 267-68
MTS (Microsoft Transaction Server), 21, 135-62, 155
asynchronous processing support, 143-45
automatic multithreading, 138-39
background, 135-36
buffer pool management, 137-38
distributed transaction processing support, 145-61
load balancing, 139-42
in operation, 159-61
services provided, 136-37
shared property manager, 142
triggering, 143
Multicasting
and broadcasting, 83-86, 178-79
defined, 84
Multithreading, 89-93
automatic, 138-39
MVS, 73, 76-77
Name translation, 193
NDR (Network Data Representation), 65
Networks, sites and connected, 169-70
NNTP (News Transfer Protocol), 117
Nonrepudiation, 229
Notification defined, 177
Notifications, 84
NT, Windows; See Windows NT
Object oriented storage mechanism, 209
Objects
defined, 9
storage, 209
stream, 209
OCG (Office Components Group), 45
ODBC (Open Database Connectivity), 20, 198-203
database object using, 205
ODSI (Open Directory Service Interface), 257
OLE DB, 203-4
and Active Data Objects, 187-211
accessing data, 208
back to basics-storing data, 187-92
database connectivity middleware, 192-98
developers accessing data types, 204-7
Microsoft and database connectivity, 198-210
Open Database Connectivity (ODBC), 198-203
outgoing Data Objects, 207-8
outgoing interfaces, 207-8
stream and storage objects, 209-10
OLEMSGing, 23-24
OLETX, 21, 156-58
One-to-one communication defined, 83
One-way communication, 83
ORB (Object Request Brokers), 7
OSF (Open Software Foundation), 59-60
OSI TP, 158
OTS (Object Transaction Services), 21
Outgoing Data Objects, 207-8
Outgoing or Event Interface defined, 84
Outgoing interfaces, 207-8
Packing/unpacking data in message, 65
Pages, static, 129
Passwords, and user names, 222
PC/SC Workgroup (Personal Computer/SmartCard Workgroup), 224
PCT (Private Communication Technology), 230
PEC (Primary Enterprise Controller), 170
Performance improvement, 91
Performance Monitoring, 267-68
MSMQ, 267-68
Transaction Server, 267-68
Windows NT, 267-68
Platform support, DCOM and other, 101-13
Platforms, 155, 168-69
POEMs (PLATINUM Open Enterprise Management System), 243
Point-to-point communication defined, 83
Polling defined, 176
Polymorphism and encapsulation, 12
Pools, database connection, 155-56
Persistent storage mechanism, 209
Private queues, 176
Problem monitoring, capture, and diagnosis, 265
Processing
applications needing strictly ordered, 167
asynchronous, 90-91, 163
Products
CORBA, 245
RPC, 245
Visigenic VisiBroker, 249
Properties, ACID, 146-47
Property manager, shared, 142
Protection
functions of, 218-22
mechanisms of, 222-30
audit, 229-30
authentication, 222-24
authorization, 224-25
encryption, 226-28
integrity checking, 228-29
nonrepudiation, 229
Proxy object defined, 32
PSC (Primary Site Controller), 170
Public key, 226-27
Public queues, 174-76
Publish and subscribe, 247-49
Pulling defined, 176-77
QueryInterface defined, 14
Queues, types of, 172-76
dead letter, 176
private, 176
public, 174-76
receipt, 174
target, 174
transmission, 172-74
Receipt queues, 174
Reduction, 15
Reference, hypertext, 119
Registry service, 251
Relational mapping, 205
Release, 15
method, 81
Replicated files, 246-47
Replication, 256
Repository, 258
Request, 84
Request/reply defined, 83
Resource managers, 148-49
Resources, DTPMs coordinate multiple, 148
Restores, 150
Risks
and functions, 220-22
security
of data and functions on machines, 214-15
of data going across network, 214
rationale for, 215-17
reality of risks, 217
who are at risk, 213-17
Rollback, and commit, 150
Routing
intersite, 183
intrasite, 183
message, 182-84
servers, 170-71
RPC (Remote Procedure Call)
defined, 53-54
products, 245
Running Object Table, 253
Runtime environment, 106
Sandbox, 128
defined, 122
SCM (Service Control Manager), 254-55
SDK (Software Development Kit), 106
Secret keys, 227-28
Security, 213-40
functions of protection, 218-22
functions and risks, 220-22
mechanisms of protection, 222-30
audit, 229-30
authentication, 222-24
authorization, 224-25
encryption, 226-28
integrity checking, 228-29
nonrepudiation, 229
Microsofts products and services, 232-38
audit, 283
authentication, 232-36
authorization, 237-38
encryption, 238
integrity checking, 238
policy setting, 217-18
risks
of data and functions on machines, 214-15
of data going across network, 214
rationale for, 215-17
reality of risks, 217
who are at risk, 213-17
services, 23, 63-64
third-party security products
Cryptographic Service Providers (CSPs), 230-31
Internet EngineeringTask Form (IETF), 230
kerberos, 231-32
Microsoft uses, 230-32
Secure Sockets Layers (SSLs), 230
Select Component Manager, 52
Semantics of commands, 195-96
Server defined, 29
Servers, routing, 170-71
Services, directory, 241-60
Session handling, 178
Shared memory, 96-97
Shared property manager, 142
Single file approach, 245
Site Gate, 171
SMART Agents, 249
Smart cards, 224, 234
Software
client, 171
systems, 242
Source code, 39
SSLs (Secure Sockets Layers), 230
Standardization and ActiveX, 44-45
Standards, 156-58
Static pages, 129
Status codes and messages, 196
Storage
of data, 187-92
mechanism
object oriented, 209
persistent, 209
objects, 209
Stream objects, 209
Stub defined, 33
Subscribe and publish, 247-49
SYNCPOINT, 158
Syntax, variations in, 195-96
Systems software, 242
Target queues, 174
Thor, 208
Thread service, Microsofts, 93
Threads
defined, 90
service, 63
support of, 42-43
usage, 90-92
Time service, 61-62
Timing services, 97
TIP (Transaction Internet Protocol), 158
Tools
ActiveX, 47-48, 52
Explorer, 261
range of, 261-63
TransAccess, 21-22, 74
Transaction manager, 155
Transaction processing support, distributed, 145-61
Transaction Server, Performance Monitoring, 267-68
Translation
of DML, 193-96
name, 193
process of, 193-94
of underlying models, 193-94
Transmission queues defined, 172-74
Triggering, 79-83, 143
TTP (Trusted Third Party), 223
Type Library, COM, 35
UDF (Uniform Data Transfer), 66
Unified Modeling Language, 258
Unknown user, 130-31
URLs (Uniform Resource Locators), 117
Users
IDs, 232
known, 130-31
names and passwords, 222
unknown, 130-31
UUID (Universal Unique Identifiers), 8
VCL (Visual Component Library), 52
Vendors, middleware, 115-16
Viper, 135-62
Visigenic VisiBroker product, 249
Visual C++, 49-50
Visual Basic 5.0, 49
Visual FoxPro, 52
Visual Interdev, 50-51
Visual J++, 50
Visual Studio 97, 48-52
Vtables, 33-35
Win32 APIs, 41-42
Windows NT, 18-19
about, 87-88
Performance Monitoring, 267-68
Windows NT and DCOM, 87-99
Distributed File Services (DFS), 93-95
memory management, 95-96
multithreading, 89-93
DCOM and threads service, 89-90
Microsofts thread service, 93
summary, 93
threads defined, 90
threads usage, 90-92
shared memory, 96-97
timing services, 97
Wrapping, 110-12
XA, 156-59
interface, 154
standard, 21
Table of Contents