Team LiB
Previous Section Next Section

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, including 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 say that some of the book's chapters do in fact include surprising levels of detail. This is especially true in Chapter 4, which covers architecture, scalability, availability, and security of the Windows Server family, as well as Chapter 7, which is about Internet Information Services.

In their discussion of the enterprise application architecture in Chapter 5, the authors show that they are with the times; one of their sources of inspiration for this chapter is Microsoft's reference architecture for applications and services, which was published in December 2002. This chapter presents a condensed overview of the design patterns first presented by Eric Gamma et al., otherwise known as the Gang of Four. It also contains an overview of the typical application layers that together form an enterprise application, and some useful coding conventions. Mainly, though, the chapter gives an overview of the different technologies that Microsoft has made available to an architect designing such an application, and the pros and cons of each of these technologies. It's worth noticing that even a subject such as content management gets fair coverage in this chapter.

It goes without saying that Web services have a prominent place in the book, having its own chapter (Chapter 6). This is one of the most information-filled chapters, including several code examples. It covers not only basic XML Web services, but also SOAP extensions and some of the Web Services Enhancements that are being standardized.

Scalability and performance are all-pervading themes throughout the book. Each time the authors present a product or a technology, they also include a section about how it can affect the performance and scalability of the application being architected. The book is full of recommendations on which powerful hardware to use under different circumstances and how best to configure your system. For example, Chapter 7 gives advice on which performance counters to monitor on your Web server and which kinds of values you should expect and strive for.

This book should be especially valuable for those architects, designers, and developers who are new to enterprise development in Microsoft environments; this includes both those used to designing and building smaller-sized applications for Microsoft Windows and those used to designing and building enterprise-class applications in other environments such as J2EE. It should also be a fine book for university classes, because it gives students such a good overview 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
Coauthor of Designing for Scalability with Microsoft Windows DNA and Design Patterns for Scalable Microsoft .NET Applications


Team LiB
Previous Section Next Section