SAO, 196
examples, 210
implementing broker with .NET remoting using, 209 219
vs. CAO, 220
scalability
with clustering, 312
described, 311
load-balanced clusters, 329
profiles, 168
with server clusters, 315
scaling out, 312
scaling up, 311
scripted server pages, 51 52
sealed class, 261, 264, 342
security, 165
deployment plans, 208
and page cache, 116
requirements, 168
service interfaces for, 277
and tiers, 185
See also DMZ
semantics, 229
sendRequest call, 206
sequence for a cache miss, 112, 113
serialization, 243, 254
serialization mechanisms, 210
server affinity, 323
server clusters, 315 319
benefits and liabilities, 318 319
described, 312, 315
tiered distribution, 175
server farms, 173, 175, 179
server look-up, 202 203
server objects, 210
server session management scenarios, 323
server-activated objects See SAO
server-activated type, 210
server-side redirects, 100
ServerInterface, 201
servers
activating, 209 210
problem of structuring, 167 168
standby and active, 331
service contracts, 267 268
service discovery, 295
service elements, 273, 276
service gateways, 293 297
benefits and liabilities, 296, 308 309
components in business layers, 9
components of, 294 295
contracts, 294
described, 165
design pattern, 274
gateway pattern, 294
implementing in .NET, 297 309
related patterns, 297, 309
and SI, 294
WSDL, 298
service interfaces See SI
service level agreements, 277
service repository, 272 273
service stub, 294 295
service-based collaboration See collaboration
service-oriented applications, 161, 279
service-oriented architectures See SOA
ServiceInterface abstraction, 201
services
adding or removing, 133
and agreeing with consumer on a common format, 267
making locatable at runtime, 267
services patterns, 265 309
collaboration concepts, 266 267
communication contract, 269 272
interoperability, 272
patterns overview, 273 274
service contracts, 267
service gateway, 293 297
service gateway implementation in .NET, 298 309
service interface, 275 279
service interface implementation in .NET, 280 292
service-based collaboration, 266
service-oriented architecture, 267
table, 274
Web services, 268 272
See also patterns
session state management, 322 326
session states, 322 323
SessionStateModule event, 104, 106
set of patterns, 16 17
shared assemblies, 227
shared state, 101
shared storage, 332
SI, 164 165, 275 279
benefits and liabilities, 278 279, 292
business layers, 9
class diagram, 282
described, 280
design of, 276 277
implementation overview, 280 281
implementing in .NET, 280 292
minimizing the number of, 278
patterns, 274
placing in Web tier, 188
related patterns, 279, 292
remote facade, 294
and service gateway, 294
SimplePage.aspx, 60
SimplePage.aspx.cs, 60
simplicity
broker, 207
mechanisms, 2
and page controller, 55
page example, 58, 59 61
vs. complexity, 1
Web application configuration, 186
Sims, Oliver, 163 164
SinglCall types, 212 213
single ASP.NET page, 42 43
single-server configurations, 167
single-tiered solution, 169 170
singleton
abbreviated, 3
as example pattern, 3 4
overview, 3
Singleton class, 262
singleton pattern, 257-259
benefits and liabilities, 263
defined, 257 259
implementing in C#, 260 264
multithreaded, 262
See also patterns
singleton structure, 258
benefits and liabilities, 258
related patterns, 259
Singleton types, 212 213
smart client application, 188 189
SOA
described, 267
and web services, 268
SOAP
over HTTP, 298
serialization, 212
software services, 276
software-based load balancing, 326
solution with a scalable application tier, 328
Solution.aspx, 42 43
and code-behind refactoring, 44
solutions
meanings of, 14
See also patterns
specialized tiers, 184 185
stale data, 244
typed data set, 255
standby servers, 331
state changes
notification of objects, 121
observers affecting, 128
state information, 125 126
state propagation using the pull model, 126
state synchronization, 332
stateless service, 196
static initialization, 261
structural view of example Web application, 300
structures
with distribution, 201
with no distribution, 200
structuring business layers, 163 165
style conventions table, xvii
subject
and dependent objects, 122 125
inheritance to share implemention, 137
Subject class, 123 124, 134, 138
Subject interface, 124
Subject superclass, 122
Subject.cs, 135, 138 139
SubjectHelper class, 138 139, 141, 143
SubjectHelper.cs, 139
SubmitBtn_Click function, 43, 60 61
subscribe() method, 122
symmetric clusters
described, 317 318
See also clusters
synchronization, 292
synchronization logic and notification logic, 123
synchronous and asynchronous invocation, 308
synchronous calling semantics vs. asynchronous, 295
syncRoot instance, 263
system architects, 185 186
system architecture, 167
system infrastructure teams, 189
system resource consumption profile, 168
System.Data.DataSet type, 218, 227, 248 249, 252
System.Web.Services.WebService class, 281
System.Web.UI.Page class, 67, 88
System.Windows.Forms namespace, 163