|

This model is sometimes referred to as
multi-tier because it can be most easily understood in terms of logical
groupings. Because you are working with a template, some decisions are made for you before you even open a
project. The advantage is in reducing your workload and planning time but it also means you yield some amount of
control. One of those places is in the choice of where you choose to implement additional
services.
The various distribute application templates provide a standard way of developing an application that uses a distributed
architecture. By using the templates, you are choosing to implement services in a standard
location. You are not required to implement all of the layers. The template assumes for those pieces
implemented, that they will be implemented within the layers consistent with the Distributed Application
architecture. For example, if you want an XML Web service, implement it within the Web Service Projects
layer, rather than add it to the client or the business logic
layer.
Within each major group, additional categories exist to supply the complete range of services the application must
provide. In Visual Studio's Distributed Application Templates, these logical divisions can be viewed in the following
way:
-
User Services refers, primarily, to the type of client
implementation.
-
Business Services is made up of more than one
layer, typically, and provide server-side services related to a wide range of business
functions.
-
Data Access and Persistence Services include the physical database storing the distributed application's data and the interface to the data contained in the
database.
Within and between each of these levels, key Visual Studio
.NET and Windows technologies are used to provide security, scalability,
performance, and so on. Notably, within each of these categories (or
layers), certain fundamental elements and components recur in a wide range of Enterprise
applications.
The operating system also provides infrastructure and a variety of services that fill in capabilities not present in the underlying operating system or language
services. This layer allows the user to separate out this functionality into one or more
outputs, such as DLLs.
|
|