Distributed Application Architecture Overview
Collapse the table of content
Expand the table of content
This documentation is archived and is not being maintained.

Distributed Application Architecture Overview

Visual Studio .NET 2003

The concepts associated with Enterprise Templates are based on and built around a general distributed application architecture Microsoft developed in recent years to reduce the complexity associated with applications within the enterprise space.

This model is sometimes referred to as "multitier" 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 distributed-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.

Enterprise Templates and the Multitier Distributed Application

Enterprise Template architecture is designed to be consistent with the multitier distributed application commonly used in the Enterprise computing development space. The following shows the corresponding layers:

Layer Functionality
User Services WinUI and/or WebUI, WebServices
Business Services BusinessFacade, BusinessRules
Data Access and Persistence DataAccess
Other SystemFrameworks

For a discussion of distributed application architecture in working sample applications, see Architecture of Fitch and Mather 7.0 and Architecture of Duwamish 7.0.

See Also

Business Services | Business Facade | Business Rules | Data Access | SystemFrameworks | Web Service Projects | WebUI and WinUI | Getting Started With Enterprise Templates in Distributed Applications

© 2016 Microsoft