data access components, 165
data formats
service gateways, 294 295
service interfaces for, 277
data layers
described, 162
structure of, 165
typical use of, 159
data representation and message schemas, 270
data table gateways, 27
data tier
hardware, 180
security, 181
software, 181
data transfer objects See DTO
data transformation, 292
DatabaseGateway class, 75
DatabaseGateway.cs, 65 66
databases
access code, 43
schema, 239, 244, 247 248
servers, 323
DataEntryController base class, 53
DataGrid control, 241
DataSet, 210
in an ASP.NET page, 241, 252
CAO implementation, 220
DTOs, 198, 239 240
examples of filling, 287
filling from the database, 240
DataTable object, 240
decorator patterns, 94
around front controller, 95
decorators
class diagram, 96
FilterChain, 96
sequence diagram, 97
DefaultAuthenticationModule filter, 106
dependencies
bidirectional, 133
limiting between objects, 131
and loose coupling, 129
objects, 122 125
and observer, 145
deployment
clusters, 149
complexity, 227
models, 27
patterns, 147 189
deployment patterns, 147 189
deployment plan, 183 189
layered application, 152 160
overview, 148 151
table, 151
three-layered services application, 161 166
three-tiered distribution, 177 182
tiered distribution, 167 176
deployment plan, 183 189
described, 151
three-layered services application, 186
deployment-time composability, 93
derivation, 261
design constraints, 169
design patterns, 261
defined, 20
form of singleton, 262
observer, 134
See also patterns
development
issues of, 147 148
tool support, 243, 254
development teams and page controller, 189
direct function calls, 122
disconnected database model, 255
distributed object model, 227
distributed services layer, 194
distributed systems, 191 264
applications, 323
broker, 199 208
clusters, 193 195
data transfer objects, 197 198
development, 159
near links, 261
and .NET Framework, 193
nodes, 192
patterns, 191 264
reasons to distribute software, 199
table, 198
distributed systems patterns, 191 264
Broker, 199 208
Broker implementation with .NET remoting using CAO, 220 228
Broker implementation with .NET remoting using SAO, 209 219
distributed computing challenges, 193
DTO, 229 236
DTO implementation in .NET with a DataSet, 237 245
DTO implementation in .NET with a typed DataSet, 246 256
implementing singleton in C#, 260 264
instance-based vs. service-base collaboration, 191
overview of patterns, 194 197
singleton, 257 259
table, 198
using layered application, 194
See also patterns
DMZ, 169, 179, 185, 208
DNS, 178 179
document-view, 40
documentation conventions, xvii
domain components, 187
domain layer, 162
domain name system See DNS
DomainObject, 124, 128
double-check locking, 261
double-check locking idiom, 262
downtime reduction, 336
DTO, 229 236
and assembler pattern, 233
benefits and liabilities, 235 236, 243 244
business entities as, 164
custom objects, 233
DataSet, 198, 239 240
described, 232
distributed systems, 197 198
drawbacks, 233
example of use, 27
generic collection, 233
implementing in .NET with a DataSet, 237 245
implementing in .NET with a typed DataSet, 246 256
pattern, 195
related patterns, 236, 245
remote calls, 230
security considerations, 235
SI, 281
testing considerations, 234 235
user requests, 238
See also .NET; objects
dynamic content, 119
dynamic Web applications, 51
dynamic Web pages, 109 111