A access control, propagation of, 176
Access Control Manager, use of, 117
ACF (Attribute Configuration Files), 131
ACLs, in DFS, 96
programmer's use of, 116
ACTS, external time provider, 221
Ada language, reentrancy support, 138
use of tasking package, 140
administration, 17
authorization groups, 170, 175
cell names, approval for, 161
cell_admin principal, 170
DFS, 99
Directory Service, 86
DTS, 91
external time providers, 221-225
general DCE tasks, 20
projected responsibilities of and cell size, 154-156
registry database, 178
RPC, 53
administrative domains, 96
administrative lists, in DFS, 96
administrators, general questions about, 215-217
ADS, external time provider, 221
advertising servers, 50
application design, (see programming)
application developers, (see programmers)
application programming interface, 101
DCE, 15-16
used by application, 16
(see also programming.)
applications, 3, 101, 136
CDS clients, 78
code samples, 189-210
coding and implementation, 126
control, passing, 44
design and network topology, 111
designing, 101-126
development tasks, 47
distributed, 42
distributed versus nondistributed, 41, 102
existing, use on DCE, 213
general questions about, 217-219
interface definitions, 45
nondistributed, model, 41
nonthreaded, execution sequences, 56
production-ready, 130
secure, and ACLs, 177
security levels, 114, 196
threaded, execution sequences, 56
user models, developing, 105
(see also clients; programming; programming languages;
servers.)
arrays, use of, 131
Attribute Configuration Files, 131
authenticated remote procedure call, 65, 116
authentication, code samples, 195
effect on CDS, 77
mutual, 195
programming example, 195-203
use of, 116
authorization, use of, 116
authorization groups, 170
adding members, 175
creating, 176
membership restriction, 174
automatic binding, 130
B
backing up DFS files, 95
binary distribution machine, in DFS, 96
binding handles, 130
debugging, 141
binding information, exporting, 50
bindings, choosing, 130
interface design, effect on, 121
secure, 195
breakpoints, placement of, 140
buying DCE, 211
C
C language, 137
data representation, differences from FORTRAN, 139
prototype checking, use in debugging, 140
C++ language, 139
cache manager, for DFS, 97
caching, 97
in applications, 113
CDS (Cell Directory Service), 31
access control, default, 171
clerks, 79-80
configuring, 182-184
default access, modifying, 173-177
interaction with GDA, 32
local and global names, handling, 34
locating servers, 182
name, 33
role in finding servers, 51
servers, 75, 79
servers, maintaining consistency among, 77
soft links in, 74
Cell Directory Service, (see CDS)
cell names, changing, 160
example of, 33
registering, 160, 227-228
cell profile, 37
cell-relative names, 34
cells, 84-85
about, 24
administrative requirements, 154-156
and DCE services, 26
and naming, 30-37
complex, 29
configuration of, influence on code distribution, 111
configuring, 159-168
DCE software in, 28
distributed operation in, 27
GDS, 31
general questions about, 215-217
global names, registration restrictions, 160
initialization, 169
making distributed environments manageable, 14, 23
minimum requirements, 216
minimum services for, 26
multi-LAN, synchronizing time in, 90
names, choosing, 159-162
network overhead, effect on, 156
non-DCE naming protocols, 214
profiles, 37
purpose of, 24
security; configuring, 169-179;
requirements for, 152-154
setting boundaries for, 151
simple, 29
size of, optimum, 215
time synchronization in, 89
clearinghouse, complex lookup, 81
simple lookup, 80
clerks, 214
compared to client, 214
DTS, 88
finding CDS servers, 79
clients, application design, 107, 110
as servers, 12
code samples, 192
compared to clerk, 214
configuring, 165
developing, 46
inaccessible servers timing out, 219
interfaces and security, 117
reducing server calls, 113
security levels for, 114, 196
servers, finding, 51-52
threads, use of, 123
client/server, communication, 13
computing, 9-13
programming; (see programming)
COBOL language, reentrancy support, 138
code distribution, 111-113
debugging techniques, 140
communication, 84-85
between clients and servers, 13
computing models,
client/server, 11
distributed, 10
nondistributed, 10
configuring DCE, overview, 147-150
privileges required, 216
context handles, 132
core services, access control, default, 171
configuring on one system, 162-163
configuring on several systems, 163-165
couriers, in DTS, 89
D
daemon, 214
Data Encryption Standard, 119
DCE, application programming interfaces, 15
buying, 211
services; (see CDS, DTS, DFS, RPC, threads, XDS, security)
threads; (see threads)
DCE Diskless Support Service, 97
reason for use, 217
debugging, 140
(see also Programming languages.)
decentralization, 14
DFS (Distributed File Service), 93, 93-94
access control, default, 172
administrative lists, 96
administrators, 99
and diskless workstations, 97
binary distribution machine, 96
compatibility with UNIX file system, 95
configuring, 167
junction to CDS, 35
local file system, 95
programmers, 99
relative names, 99
required installation of, 217
restoring files, 95
root of filesystem, 36
security, 96, 178
servers, 167
simple operation, 97-98
system control machine, 96
users, 99
Directory Service, administrators, 86
client/server model, 78
function of, 30
general questions about, 212-214
name services, 213
names, using, 212
naming conventions, 34
overview, 71
programmers, 86
registering cell names, 227-228
soft links in, 74
users, 85
diskless workstations, accessing DFS files, 97
distributed application, (see applications)
Distributed File Service, (see DFS)
distributed programming, (see programming)
Distributed Security Service, (see Security Service)
Distributed Time Service, (see DTS)
DNS (Domain Name Service), 31
DNS (Domain Name System), registering cell names, 228
documentation, 17
interface as, 121
Domain Name Service, (see DNS)
DTS (Distributed Time Service), 87
access control, default, 171
administrators, 91
clerks, 88
configuring, 185
external time provider, 221-225
external time source, 90
programmers, 92
security and administration, 178
servers, 88
users, 91
dynamic endpoints, 49
E
endpoint map, 50
RPC daemon, 49
endpoints, 49
error handling, (see exception handling)
exception handling, debugging difficulties, 141-142
reentrancy, effect on, 139
explicit binding, 130
exporting binding information, 50
external time providers, 221-225
radio broadcasts, 222
satellites, 225
telephone services, 221
external time sources, DCE-supported radio receivers, 224
F
file names, unique, 99
fileset location server, and DFS, 95
filesets, 94-96
filesystem, root of, 36
FORTRAN language, 138-139
full pointers, 131
G
GDA (Global Directory Agent), 31-32, 84-85
interaction with CDS, 32
GDS (Global Directory Service), 3, 31
access control, default, 172
configuring, 167
registering cell names, 227
(see also X.500 Directory Services.)
global cell names, registering, 160
Global Directory Agent, (see GDA)
Global Directory Service, (see GDS)
global names, 33
global servers, in DTS, 89
granularity, 111
H
hardware requirements, 215
I
IDL (see Interface Definition Language),
implicit binding, 130
initializing servers, 49, 51
installation, privileges required, 216
integrity, data, 117
interface, as documentation, 121
debugging, effect on, 141
registering, 50
Interface Definition Language, 45, 140
attributes, 131-133, 136
compiler, output from, 45
debugging, 141
FORTRAN language; data representation, 139;
mapping to, 139
IDL file, example of, 136
programming languages, mapping to, 138
interface definitions, developing, 45
development tasks, 45
security issues, 117
interfaces, designing, 119
distributing existing code, 135
internationalization, 20
invariant data, 125
J
jacket routines, 219
C++ language, using with, 139
use of, 134
junction, 35
L
LAN, configuration and code distribution, 111
profile, 37
languages, (see programming languages)
LFS, 95
load balancing, 94
Local File System, 95
local names, 34
logging in, 212
lookup, attribute-based, 79
complex, 81, 83
name-based, 79
processes in, 83-84
simple, 80-81
M
maintaining state, 132
makefiles, code sample, 208
marshalling, 43
memory management, on servers, 133, 141
message queueing, support for, 19
modular programming, 14, 103
module, 103
multithreaded servers, 122
Mutex, 57, 124
mutual authentication, 195
N
names, 30-37
approving, 161
cell-relative, 34
choosing, 159-162
DFS-relative, 99
global, 33
how CDS looks up, 80-81
local, 34
of files, 99
namespace, physical view, 77
naming, 30-37
network managers, deciding to buy DCE, 20
external time providers, 221-225
network overhead, impact of cells, 156
network topology, application design, influence on, 111
NIST, external time provider, 221
O
object-oriented programming, support for, 18
OSF, 211
out, IDL attribute, 137
P
Pascal language, reentrancy support, 138
pathnames, 36
performance, 17
external time providers for DTS, 221
of CDS, 79
of DFS, 97
permissions, 96
in CDS, 78
programmer's use of, 116
pointers, use of, 131
preserving state, 132
principals, 216
role in security, 175
privacy, data, 117
privilege attributes, 116
producer/consumer model, 107
sample application, 126-127
(see also user model.)
profiles, cell, 37
LAN, 37
programmers, general coding questions, 217-219
programming, 20
programming, Access Control Manager, use of, 116
application design; and security, 113-119;
evolution of, 103
process, 105
steps, 102
arrays, use of, 131
Attribute Configuration Files, 131
authorization security, 116
backward compatibility, 103
bindings, choosing, 130
caching, 113
clients, required, 110
code distribution, 111
code samples, 189-210
coding and implementation, 126-136
communication, interpersonal, 105
context handlers, 132
data protection security, 117
data transfer, security required for, 113
DFS, 99
Directory Service, 86
distributed versus nondistributed, 102
distributing existing code, 133-136
distribution, additional required coding, 130
DTS, 92
interface design, 119-121
interfaces for servers, 130
maintenance, planning for, 110
mapping clients and servers, 107
modular, role of, 103
module interdependencies, 107
mutexes and threads, 124
network topology, influence on design, 111
pointers, use of, 131
production-ready applications, creating, 130-133
reentrancy, designing for, 124-126
resource requirements, clarifying, 109-110
RPC, 54
sample application tasks, 128
secure interface design, 119
security, international, 119
security levels, 114-116, 196
server host systems, choosing, 112
servers, required, 110
state, maintaining, 132
threads, effect on design, 121-126
user model, applied to sample code, 126
user model, developing, 105-110
programming languages, 101
Ada, 140
C++, 139
C calling conventions, use of, 139
C, using, 137
data representation, problems with, 139
exception handling and reentrancy, 139
Interface Definition Language, 136, 138
other than C, 137
preferred, 217
reentrancy, 138-139
(see also programming.)
programs, (see applications)
protocol sequences, registering, 50
R
radio broadcasts, as external time providers, 222
DCE-supported receivers, 224
European time providers, 222
worldwide time services, 222
reentrancy, code samples, 203
reentrant code, designing, 124
reference pointers, 131
registration, RPC interface, undoing, 218
registry, access control, default, 171
registry database, administering, 178
Remote Procedure Call, (see RPC)
replicas, maintaining consistency among, 77
replication, 14
and DFS, 94
rgy_edit command, sample session, 197
RPC (Remote Procedure Call), 101
administrators, 53
authenticated, 65
C++ language, jacket routines for, 139
C language, use of, 137
client/server security, 113
completing, 53
daemon, endpoint map, 49
general questions about, 217-219
interface, deregistering, 218
listening for, 50
production-ready applications, 130
programmers, 54
runtime library, use in application, 43
timing out, 219
users, 53
(see also programming.)
rpcd daemon, 49
rpc_free routine, 133
rpc_ss_allocate routine, 133
S
satellites, as external time providers, 225
scaling, client/server programs, 121
DCE, 23
DFS, 94
schemas, 86
secure binding, 195
security, cell scope and, 25
client/server design, 113-119
default configuration, 169
junction to CDS, 35
programming example, 195-203
Security Service, Access Control Manager, programmer's use of,
116
authorization, use of, 116
cell_admin principal, 170
client/server design, 113-119
client/server interfaces, 117
code samples, 195
configuring, 169-179, 184-185
data protection, use in programming, 117
encryption, international issues involving, 119
levels for clients and servers, 114, 196
native, DFS, 96
principals, registering, 175
ranges of, 178
servers, 217
server initialization file, code samples, 194
servers, 101
activating upon booting host system, 219
advertising, 50
application design, 107, 110
as clients, 12
authorization security, implementing, 116
CDS, 79, 182
code samples, 193
compiling, 48
configuring, 162-168
debugging
error handling effect on, 141-142
exhausted heap memory, 141
placement of breakpoints, 140
developing, 47
DFS fileset location server, 95
distribution of, basis for, 111
DTS, 88, 185
finding, 51-52
global, in DTS, 89
host systems, choosing, 112
inaccessible, timing out, 219
initializing, 49, 51
interface design, 119, 130
interfaces and security, 117
listening for remote procedure calls, 50
memory management on, 133
multithreaded, 122
remote procedures and, 43
security, distributing, 184-185
security levels for, 114, 196
single-threaded, creating, 134
stress testing, 140
threads, use of, 122
(see also programming.)
sharing information, 93
skulk operation, 77
soft links, 74
solicitation and advertisement protocol, 79
standards conformance, 20
state, maintaining, 132
stress testing, 141
string, IDL attribute, 137
string binding, 131
system control machine, in DFS, 96
system performance, and cell configuration, 162-165
T
telephone time services, 221
threads, 101
Ada Language, 140
application design, effect on, 121-126
C++ language, 139
client's use of, 123
code samples, 192
computing environment, effect on, 125
exception handling and reentrancy, 139
layered product implementation of, 215
mutexes, use of, 57, 124
programming languages, reentrancy support of, 138
reentrancy, 124-126
debugging tools support, 142
problems, 139
reentrant code, sample of, 203
restrictions, types of code, 218
server's use of, 122
single-threaded server, creating, 134
use with tasks, 123
(see also programming.)
thread-safe code, designing, 124
timing out, inaccessible servers, 219
transaction processing, 19
U
Universal Unique Identifier, (see UUID)
UNIX file system, used with DFS, 95
unmarshalling, 43
update propagation, 77
user model, 105-110
defined, 105
defining user tasks, 107
for a sample application, 126
interface design, 121
interfaces for servers, 130
mapping resources in, 105
users, and DCE, 21
and DFS, 99
and DTS, 91
and RPC, 53
and the Directory Service, 85
general questions asked by, 211-215
UUID, collision problems, 218
contents of, 218
IDL file, placement within, 137
necessity of, 218
use of, 45, 120
uuidgen utility, 54
W
WAN, configuration and code distribution, 111
well-known endpoints, 49
work flow, 105
wrapper routines, use of, 134
X
X.500 Directory Services, 31, 72
registering cell names, 227
XDS, (see X.500 Directory Services)
END