This book provides a step-by-step guide for developing an ASP.NET 3.5 application using the latest features in Visual Studio 2008. "The Problem Design Solution" series by Wrox is unique because it describes a large case study and builds an entire solution chapter by chapter for each incremental step. This book uses a wide variety of new features in Visual Studio 2008, explains each in detail, and produces a solution that you can use as a starting point for your own applications. If you are responsible for designing or developing enterprise-wide applications, departmental applications, portals, or any line of business application, then this book is for you. Many applications have a similar set of features, and this book builds an application with some of the most common features of enterprise applications. Let's face it: Every application has the same general set of features, but implemented in a different way. A database sits in the back end and you, as the developer, are responsible for enabling users to add, update, select, and delete records. If only it were that simple, no?
The real development work starts when you sit with users and try to understand the business process and why they need a new or improved system in the first place. A lot of companies have departments that use Excel and Access wizards to create small systems that eventually become a lifeline for some part of the business. Usually something bad happens because of the nature of the tool they are using. Senior-level management is called in, project managers are hired, programmers are contracted, and the Project Management Office (PMO) is called to save the world. Suddenly this loosely defined process is high priority and people want documented standard operating procedures, audit reports, more productivity, less people, and of course a system that can do it all, which is where you come in. When you think about it, it's a pretty daunting task. You're expected to become an expert in someone else's business process, flaws and all, and create a system that the company will rely on as the backbone for their existence. OK, maybe I'm exaggerating just a little bit, but when you go looking for that raise you might want to phrase it that way.
This book will give you the tools necessary to build a framework that can be extended to create a solution to solve your company's problems. The design pattern uses the normal three layers, the user interface (UI), the business logic layer (BLL), and the data access layer (DAL), but also builds the classes in each layer that encapsulate common business rules such as role-based security, workflow, reporting, dynamic menus, data entry, dynamic querying, notifications, exception handling, and auditing. As the book guides you through the complete solution, each business requirement is thoroughly examined and some of the latest enhancements in ASP.NET 3.5 and Visual Studio 2008 are used to implement them in a reusable framework. Enterprise applications are typically complex, and the teams that build enterprise applications come in all shapes and sizes. Some of the roles include a project sponsor, a project manager, business analysts, an architect, UI developers, middle-tier developers, database developers, and, if you're really lucky, testers. Just a side note: users are not testers.
If you ever have the pleasure of working with professional testers, you'll realize how important they are in the process, and how they truly are "quality" assurance engineers. Unfortunately, a lot of companies aren't willing to invest in professional testers, so the users and/or developers end up assuming that role. This book is mainly focused on the architect and developers, but testers may find it valuable as well to help them understand the plumbing that goes into developing and architecting an enterprise application. This book is for the intermediate to senior level developer or system architect. It would be helpful if you have experience with Visual Studio, the .NET Framework, ASP.NET, and C# because that is what the samples are written in, but the design pattern could be used in any language. The book is focused on enterprise applications, but the pattern could be used for any type of application that has a web front end and connects to a database. The application framework built in this book provides a foundation that can be extended to meet the specific business needs of your organization. The sample application in this book is built using Visual Studio 2008, ASP.NET 3.5
, C#, and SQL Server 2005. Each chapter goes into great detail, with plenty of code samples, and uses some of the new features in Visual Studio 2008 and the language enhancements in the .NET Framework 3.5. The solution includes examples for technologies such as LINQ to SQL, master pages, custom controls,
GridViews, business objects, data objects, and Crystal Reports. Some of the language enhancements discussed include LINQ, extension methods, partial methods, automatic properties, anonymous types, lambda expressions, and object initializers. Of course, I realize that the code is what most developers are interested in, and each chapter provides numerous examples. "The Problem Design Solution" series is just that. Each chapter has three sections with a description of the problem to be addressed, the design considerations for choosing a solution for the problem, and the solution that ultimately addresses the problem. The solution includes the bulk of the code. Each chapter builds upon the previous chapter, and it is recommended that you read them in order. The base classes that are described in the first few chapters are critical to an understanding of the rest of the book.
Later chapters build upon the base classes and extend their functionality in all three layers of the application.