Who This Book Is For
This book is for developers with a moderate level of skill who are looking to create n-tier applications. Maybe you have been developing in Visual Basic 6 and your company wants to move to distributed applications using Visual Basic .NET, but you do not know where to begin. You do not even need to be developing n-tier applications—maybe you just need a good introduction to business rules and how to handle them. Perhaps you need to convert an existing application so that it is available as a Web service. If you are in any of these situations, then this book is for you. You will find a wealth of information to help you with any of these goals, and in the process you will build a working n-tier application.
Before reading this book, you should have a working knowledge of Visual Basic .NET and the .NET Framework in general. However, you do not need to have an advanced understanding of objects, n-tier application design, or application architecture. If you do, so much the better, but if you do not, you will learn the concepts you need by reading this book.
Downloading the Application Code
All of the code for this book is available for download from the Downloads section of the Apress Web site (http://www.apress.com). It is broken up into chapters, and each chapter contains a readme.txt file with specific instructions on installing the code for that chapter. You will have to work through Chapter 2, "Building an N-Tier Application," to set up IIS because you cannot preconfigure it. Even if you do not enter the code yourself, you should spend the time to read through all of the code and explanations because reading about an n-tier application is no substitute for writing an n-tier application.
I hope that you get a great deal of usefulness out of this book and that it serves as a solid introduction to the building of n-tier, enterprise-wide, quality applications.
Chapter 1: Understanding Application Architecture: An Overview
This chapter provides a broad overview of the different types of application architecture, including the advantages and disadvantages of each. It examines single-tier, two-tier, three-tier, and n-tier applications and describes how they fit into a modern enterprise. Then this chapter covers these architectures from a traditional point of view and showcases these application architectures with an emphasis on distributed applications. This includes a discussion of each of the application layers (presentation, business, and data) and how they interact with each other across network boundaries. Finally, the chapter throws the Microsoft .NET Framework into the mix and displays the power that this new development framework provides developers. This serves as an introduction to the application architecture you will be creating throughout the rest of the book.
For those developers who are already comfortable with these concepts, you can skim this chapter and move on to Chapter 2, "Building an N-Tier Application," where you will create the infrastructure of the application used throughout this book.
An architecture is the overall design of an application; it directly impacts how an application is coded. The different architecture types serve different purposes. Some architectures are for single users, and others are for a number of users in a shared environment. Not all applications need to use an n-tier architecture just because it is the buzzword of the day. There are ample reasons to use a two-tier architecture, which is a perfectly acceptable solution. What follows is a brief explanation of each tier, when to use them, and why to be cautious when making this decision.