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 pro-cess 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 solu-tion to solve your company’s problems. The design pattern uses the normal three layers, the user inter-face (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 user 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.
I am fortunate enough in my career to be in a position where I am constantly talking with users or business owners about requirements and am responsible for developing solutions to meet their needs. Whether I’m talking to HR about a department-level application or a VP who needs an enterprise application across an entire company, when I break down their requirements into workable entities they are all asking for more or less the same thing. They collect different data points, but they have their own workflow, need e-mail notifications, need to print reports, and require role-based security. That is why the application framework built in this book provides a foundation that can be extended to meet the specific business needs of your organization.