pro scalable .net 2.0 application designs (expert's voice in .net) - Pdf 14


Joachim Rossberg
Rickard Redler
Pro Scalable .NET 2.0
Application Designs
5416chFM.qxd 9/21/05 5:35 PM Page i
Pro Scalable .NET 2.0 Application Designs
Copyright © 2006 by Joachim Rossberg and Rickard Redler
All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording, or by any information storage or retrieval
system, without the prior written permission of the copyright owner and the publisher.
ISBN: 1-59059-541-6
Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1
Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence
of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark
owner, with no intention of infringement of the trademark.
Lead Editor: Ewan Buckingham
Technical Reviewer: Jason Lefebvre
Editorial Board: Steve Anglin, Dan Appleman, Ewan Buckingham, Gary Cornell, Tony Davis, Jason Gilmore,
Jonathan Hassell, Chris Mills, Dominic Shakeshaft, Jim Sumser
Project Manager: Beckie Stones
Copy Edit Manager: Nicole LeClerc
Copy Editor: Julie M. Smith
Assistant Production Director: Kari Brooks-Copony
Production Editor: Lori Bring
Compositor and Artist: Kinetic Publishing Services, LLC
Proofreader: Linda Seifert
Indexer: Broccoli Information Management
Interior Designer: Van Winkle Design Group
Cover Designer: Kurt Krames
Manufacturing Director: Tom Debolski

■CHAPTER 6 Web Services Design and Practice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
■CHAPTER 7 Service Oriented Architecture (SOA) . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
■CHAPTER 8 Internet Information Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
■CHAPTER 9 Data Storage Design and SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . 345
■CHAPTER 10 An Example Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
■APPENDIX A Test Equipment At Dell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
■APPENDIX B Coding Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
■INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
v
5416chFM.qxd 9/21/05 5:35 PM Page v
5416chFM.qxd 9/21/05 5:35 PM Page vi
Contents
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
About the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
■CHAPTER 1 Introduction to Enterprise Application Design . . . . . . . . . . . . . 1
In the Beginning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Enterprises Today . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Types of Integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Integration with Legacy Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Integration with Actors Outside the Enterprise . . . . . . . . . . . . . . . . . . . 8
SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Content Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
The Anatomy of a Content Management System (CMS) . . . . . . . . . . 13
Problems with Content Management Today . . . . . . . . . . . . . . . . . . . . 14
The Content Creators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
The Unified Modeling Language (UML) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Activity Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Manageability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Pros and Cons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
MS Cluster Service Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Availability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Manageability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Pros and Cons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Application Center Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Cluster Services and Load Balancing. . . . . . . . . . . . . . . . . . . . . . . . . . 76
Synchronization and Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Monitoring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Use of Application Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Maintaining Session State in a Clustered Solution. . . . . . . . . . . . . . . 94
Pros and Cons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
■CHAPTER 4 An Overview of the Windows Server Family . . . . . . . . . . . . . . 97
Windows Server Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Scalability,Availability, and Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Performance Comparisons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Security in Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
■CONTENTSviii
5416chFM.qxd 9/21/05 5:35 PM Page viii
■CHAPTER 5 The Enterprise Application Architecture . . . . . . . . . . . . . . . . . 149
What Is an Enterprise Application?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Internet Information Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
COM+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Microsoft Message Queuing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Windows Server 2003. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

Serviced Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
■CONTENTS
ix
5416chFM.qxd 9/21/05 5:35 PM Page ix
Windows/Web Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Windows Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Web Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
.NET Remoting in the Enterprise World . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
The .NET Remoting Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Choosing .NET Remoting Objects or Web Services . . . . . . . . . . . . . 190
Content Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Analyze the Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Some of the Content Management Tools on the Market. . . . . . . . . 194
Content Management Systems Wrap-Up. . . . . . . . . . . . . . . . . . . . . . 197
Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Input Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Rule 1: Testing Should Begin in the Planning Phase . . . . . . . . . . . . 203
Rule 2: Test Against Measurable Criteria . . . . . . . . . . . . . . . . . . . . . . 203
Rule 3: Testing Is for Experienced Developers—
Not for Rookies
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Rule 4: The Test Environment Should Be Identical to the
Real Environment
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Rule 5: Security Concerns Will Continue to Increase. . . . . . . . . . . . 204
Rule 6: Approach Automated Testing Tools with Caution . . . . . . . . 204
Rule 7: Complex Today—Even Worse Tomorrow . . . . . . . . . . . . . . . 204

SOAP Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
SOAP Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Using SOAP Extensions to Implement Authorization for
a Web Service
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Handling Binary Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Handling Attachments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
WS-I Specifications and Support for Security. . . . . . . . . . . . . . . . . . 243
Web Services Enhancements (WSE) SDK . . . . . . . . . . . . . . . . . . . . . 245
WSE and Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
WSE and Binary Attachments in DIME Format . . . . . . . . . . . . . . . . . 259
WSE and Binary Attachments with MTOM. . . . . . . . . . . . . . . . . . . . . 266
Web Services and Transactions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Scaling Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Caching Web Services Results and Other Performance
Tips and Issues
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
.NET Remoting vs. Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
■CHAPTER 7 Service Oriented Architecture (SOA). . . . . . . . . . . . . . . . . . . . . . 277
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
What Is a Service?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
What Is This Thing Called SOA? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Why Use SOA? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Services and SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
The Four Tenets of Don Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Sprott and Wilkes SOA Characteristics. . . . . . . . . . . . . . . . . . . . . . . . 282
Sundblad and Sundblad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
■CONTENTS
xi

Direct-Attached Storage (DAS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Logical Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Choosing Your Storage Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Introduction to SQL Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
SQL Server Editions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
SQL Server 2000 Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
SQL Server 2005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
■CONTENTSxii
5416chFM.qxd 9/21/05 5:35 PM Page xii
■CHAPTER 10 An Example Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Application Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Application Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
How the Application Will Work. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
UML Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Activity Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Actors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Sequence Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Class Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Designing the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Object Role Modeling (ORM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
The Logical Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
The Physical Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Indexing the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Choosing the Application Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
The Chosen Platform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
The Test Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Web Server Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
What We Did to Secure and Tune Our System . . . . . . . . . . . . . . . . . 412

Read-Only and Const Field Names . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Parameter Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Method Naming Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Property Naming Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Event Naming Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Variables Naming Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Database Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Error Handling and Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Structured Exception Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Error Raising and Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
■INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
■CONTENTSxiv
5416chFM.qxd 9/21/05 5:35 PM Page xiv
cafac74dd2d083cbec0906b66fcd56b1
Foreword
There’s no doubt in my mind that the two authors of this book, Joachim Rossberg and
Rickard Redler, share a wealth of knowledge about the options Microsoft offers enterprises
willing to create applications on the .NET platform. In this book, they share that wealth of
knowledge with the rest of us.
The greatest value from this book probably comes from the higher priorities given to
the breadth than to the depth of the book’s different subjects. Its perspective is that of the
strategic architect rather than that of the programmer. This is also the expressed purpose
of its authors; in the book’s introduction, they clearly state that the book is focused on
design rather than diving deep into specifics.
True to this statement, the content of the book spans a wide collection of subjects, includ-
ing technologies as disparate as content management, Unified Modeling Language (UML),
Object Role Modeling (ORM), Windows Operating System versions, Network Load Balancing
(NLB), Microsoft Cluster Service (MSCS), Internet Information Services (IIS), and SQL Server.
Having said that, I must also mention that some of the book’s chapters do in fact include

of the technologies many of them will live with once they’re out of the university. Joachim and
Rickard have all the reason in the world to be proud of what they have achieved with this book.
Sten Sundblad
Microsoft MSDN Regional Director (RD)
■FOREWORDxvi
5416chFM.qxd 9/21/05 5:35 PM Page xvi
About the Authors
■JOACHIM ROSSBERG was born in 1967, the year of the Summer of Love.
He grew up in the southeast part of Sweden just outside the small town
of Kalmar.
After school he worked for ten years as an assistant air traffic con-
troller in Halmstad on the Swedish west coast. There he also met his
wife, Karin. The urge to learn more grew stronger, and after some years
he started studying psychology. This led to studies at the University of
Gothenburg, where he finished his bachelor’s degree in psychology in
1998. During this time, his interest in computers began, and he switched
to studying informatics instead.
After graduating from university in 1998, he began working in the IT business as a con-
sultant at one of the world’s six largest IT consultancies. After some years there, rewarding him
with great experiences, he decided to try a smaller company, and is now employed at Know IT
Consulting in Gothenburg. Joachim has during these years been working as a system developer,
system designer, project manager, and infrastructure designer. Nowadays he mainly focuses on
project management, but still keeps his technical interest alive. He has also, along with Rickard,
been a driver for the Microsoft competence network at Cap Gemini Ernst & Young. Although he
is Microsoft focused—as evidenced by his MCSE, MCSA, MCSD, and MCDBA certifications—he
also works with other techniques and vendors.
Joachim has also had a company on the side called O.R. Education and Development. This
company offered trainings, conferences, and courses in computer-related areas. Nowadays these
are performed under the flag of Know IT Consulting.
Joachim and Karin live in Gothenburg with their two cats. In his spare time, he likes to read

Intensity's consulting services clients. He is also one of the developers who created the original
IBuySpy Store demo application and its NetCOBOL for .NET translation. Jason has been a par-
ticipating author in a number of books and has written numerous articles on topics related to
Microsoft .NET.
xix
5416chFM.qxd 9/21/05 5:35 PM Page xix
5416chFM.qxd 9/21/05 5:35 PM Page xx
Acknowledgments
There are a lot of people who helped us in writing this book.
Previous Edition
First of all, we would like to thank Phil Pledger, our previous edition technical reviewer, for
coming up with great ideas and opinions. Phil’s comments and suggestions improved the overall
quality of the book. Then we would like to thank our Swedish language reviewer for the previous
edition, Johan Theorin, for making us look more fluent in the English language than we really are.
Sten Sundblad at Sundblad and Sundblad (formerly ADB Arkitektur) provided good sug-
gestions for the book. Sten and Per Sundblad’s book Designing for Scalability Using Windows
DNA and Design Patterns for Scalable Microsoft .NET Applications are always sources of inspi-
ration and knowledge.
Erik Quist, formerly at Sundblad and Sundblad, was helpful with answering questions we
had. We would also like to thank Dell Sweden for letting us use its test lab. This provided us
with access to hardware we otherwise could not have gotten our hands on. Thomas Melzer
and Marko Rähmö have been of great help.
Thanks to VMware Corporation for providing software so we could test our solutions
without ruining ourselves financially with hardware purchases. Allan Knudsen at Microsoft
Sweden helped in providing great documents about Windows Server 2003.
Wolfram Meyer, also at Microsoft Sweden, came up with great input for choosing between
web services and .NET Remoting.
We also want to thank all at Apress who helped with the previous edition of the book,
especially Ewan Buckingham, Tracy Brown Collins, Laura Cheu, and Ami Knox.
This Edition

Cap Gemini Ernst & Young and try publishing it as a book. Apress has always published great
books, so we turned to them first. Gary Cornell became interested, and this book is the result.
Who Should Read This Book
The target audience is primarily designers and IT architects, but we try to cover topics we feel
are valuable for developers to have knowledge about as well. First, let us define these three
categories. Different companies may have different definitions for these terms, so to avoid
confusion we will specify what we mean here.
Architects
An architect is a person who, together with the customer (or the decision maker), retrieves the
requirements and the data flow for an application or solution. The architect also defines the
servers, function blocks, and so on that are needed to make the application work. An architect
works with the management of the company to find out how the application should be designed
at a high level. He or she also determines the need for integration with other systems.
This person does not have to have deep technological skills; rather he or she designs on an
abstract level and produces a blueprint of what the solution should look like.
An architect can be either an application architect or an infrastructure architect. The infra-
structure architect focuses on the networking issues—how clusters should be placed and how to
secure the infrastructure. The application architect focuses on the application(s) and the design
of these. The best result comes when these two types of architects collaborate closely during the
design phase.
xxiii
5416chFM.qxd 9/21/05 5:35 PM Page xxiii
Designers
A designer is a person who takes the map from the architect and from it completes a working
design based on, for instance, Microsoft or Java.
This person is probably a developer with a lot of experience in the field. He or she knows
the technology very well in contrast to the architect.
There are also designers who design the infrastructure. These people determine the clus-
tering solution to use, which server versions to implement, the security technology to use, and
so on.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status