This book discusses factors and opinions developers should consider in order to create higher quality designs and applications. The author uses one large-scale business application throughout the book as the basis for all examples to clearly illustrate concepts being discussed.
Coverage also includes:
The source code for the examples developed in the book, additional resources, and errata can be found on the author's companion website at http://www.jnsk.se/book/.
(NOTE: Each chapter concludes with What's Next and a Reference Section.)
The History of COM, MTS/COM+, VB, and SQL Server. The New World of .NET. COM+ 1.5 Component Services. Visual Basic .NET. C#. SQL Server 2000.
Type of Consumer. Physical Restrictions and Possibilities. Performance. Scalability. Other “-abilities” (Such as Maintainability, Reliability, Reusability, Testability, Debuggability, and Interoperability). Security. Farm- and Cluster-Enabling.
A Short Introduction to Testing. Support for Automatic Testing with a Standardized Test Bed. Assertions. The Diagnose/Monitor Tool. Miscellaneous Tips. Evaluation of Proposals.
Tracing. Error Logging. Reflection, Interception, and Attributes to Your Service. Configuration Data. Evaluation of Proposals.
Three Examples of Architectures. Sample Application: Acme HelpDesk. My Architecture Proposal: A .NET-Adjusted Version of DNA. New Concepts to Consider When Creating a New Architecture Today. Physical Partitioning. Proposals for Standardized Code Structures. Evaluation of Proposals.
Choosing a Transaction Technique. Transactions in the Proposed Architecture. A Flexible Transaction Design. New Possibilities to Consider with .NET. Tips on Making Transactions as Short as Possible. Tips on Decreasing the Risk of Deadlocks. Obscure Declarative Transaction Design Traps. Evaluation of Proposals.
A Short Introduction to Business Rules. Location and Solutions of Business Rules. Proposal for Where to Locate Different Business Rules. Business Rule Tips. Evaluation of Proposal.
My Proposal for a Data Access Pattern. The Data Access Proposal in the Architecture. Saying More in Fewer Words When Calling Stored Procedures. Server-Side Caching. Dealing with Schema Changes. Evaluation of My Proposal.
My Proposal for How to Handle Errors. Exceptions to Be Prepared For. Approaches to Concurrency Control for Disconnected Scenarios. Evaluation of Proposals.