Información general sobre aplicaciones de datos con n niveles

Actualización: noviembre 2007

Las aplicaciones de datos con n niveles son aplicaciones de datos que se dividen en varios niveles. Las aplicaciones con n niveles, también denominadas "aplicaciones distribuidas" o "aplicaciones multinivel", dividen el procesamiento en niveles independientes que se distribuyen entre el cliente y el servidor. Al desarrollar aplicaciones que tienen acceso a datos, se debe realizar una separación clara entre los distintos niveles que constituyen la aplicación.

Una aplicación típica con n niveles incluye un nivel de presentación, un nivel intermedio y un nivel de datos. La manera más fácil de separar los distintos niveles de una aplicación con n niveles es creando proyectos independientes para cada nivel que se desee incluir en la aplicación. Por ejemplo, el nivel de presentación podría ser una aplicación de formularios Windows Forms, mientras que la lógica de acceso a datos podría ser una biblioteca de clases ubicada en el nivel intermedio. Además, el nivel de presentación podría comunicarse con la lógica de acceso a datos del nivel intermedio a través de un servicio, como un servicio WCF. Al separar los componentes de la aplicación en niveles independientes, se aumenta la facilidad de mantenimiento y la escalabilidad de la aplicación. Esto se consigue mediante una integración más sencilla de nuevas tecnologías, que se pueden aplicar a un solo nivel sin necesidad de volver a diseñar la solución completa. Además, las aplicaciones con n niveles almacenan normalmente la información confidencial en el nivel intermedio, lo cual mantiene su aislamiento respecto del nivel de presentación.

Visual Studio contiene varias características que ayudan a los programadores a crear aplicaciones con n niveles:

  • El Diseñador de DataSet ofrece una propiedad DataSet Project que permite separar el conjunto de datos (capa de entidad de datos) y TableAdapters (capa de acceso a datos) en proyectos adicionales.

  • El Diseñador relacional de objetos (Diseñador R/O) proporciona los valores de configuración para generar el contexto de datos (DataContext) y las clases de datos en espacios de nombres independientes. Con ello se habilita la separación lógica del acceso a datos y los niveles de entidad de datos.

  • LINQ to SQL proporciona el método Attach, que permite reunir el contexto de datos de diferentes niveles en una aplicación. Para obtener más información, vea Aplicaciones remotas y de n niveles con LINQ to SQL.

  • El cuadro de diálogo Configurar sincronización de datos, qué ayuda a configurar la sincronización entre una base de datos remota y una Caché de base de datos local, proporciona una opción de configuración avanzada. Esta opción permite configurar al servidor y al cliente en proyectos independientes. Para obtener más información, vea Tutorial: Agregar una caché de base de datos local a una aplicación de n niveles.

Nivel de presentación

El nivel de presentación es el nivel en el que los usuarios interactúan con una aplicación. Normalmente, contiene también la lógica adicional de la aplicación. Los componentes típicos del nivel de presentación son los siguientes:

  • Los componentes de enlace de datos, tales como BindingSource y BindingNavigator.

  • Las representaciones de objeto de los datos, tales como clases de entidad de LINQ to SQL para su uso en el nivel de presentación.

  • Las bases de datos locales, tales como una Caché de base de datos local que se puede sincronizar con el servidor en el nivel de datos mediante Microsoft Synchronization Services para ADO.NET en Aplicaciones conectadas ocasionalmente.

Las ilustraciones siguientes muestran las características y tecnologías que se encuentran disponibles en Visual Studio y dónde podrían integrarse en el nivel de presentación de una aplicación con n niveles.

Nivel de presentación

El nivel de presentación normalmente obtiene acceso al nivel intermedio mediante una referencia al servicio (por ejemplo, una aplicación Servicios de Windows Communication Foundation y servicios de datos de ADO.NET). El nivel de presentación no obtiene acceso directamente al nivel de datos. El nivel de presentación se comunica con el nivel de datos por medio del componente de acceso a datos en el nivel intermedio.

Nivel intermedio

El nivel intermedio es la capa que el nivel de presentación y el nivel de datos utilizan para comunicarse entre sí. Los componentes típicos del nivel intermedio son los siguientes:

  • La lógica empresarial (reglas empresariales, validación de datos, etc.).

  • La lógica y los componentes de acceso a datos, como los siguientes:

Las ilustraciones siguientes muestran las características y tecnologías que se encuentran disponibles en Visual Studio y dónde podrían integrarse en el nivel intermedio de una aplicación con n niveles.

Nivel intermedio

El nivel intermedio se conecta normalmente con el nivel de datos mediante una conexión de datos. Esta conexión de datos está almacenada normalmente en el componente de acceso a datos.

Nivel de datos

El nivel de datos es básicamente el servidor que almacena los datos de una aplicación (por ejemplo, un servidor que ejecuta SQL Server).

Las ilustraciones siguientes muestran las características y tecnologías que se encuentran disponibles en Visual Studio y dónde podrían integrarse en el nivel de datos de una aplicación con n niveles.

Nivel de datos

No se puede obtener acceso al nivel de datos directamente desde el cliente en el nivel de presentación. En su lugar, el componente de acceso a datos en el nivel intermedio se utiliza para la comunicación entre los niveles de datos y presentación.

Ayuda para el desarrollo con n niveles

En los temas siguientes se ofrece información sobre cómo trabajar con aplicaciones de n niveles.

Cómo: Separar conjuntos de datos y TableAdapters en proyectos diferentes

Tutorial: Crear una aplicación de datos con n niveles

Tutorial: Agregar validación a una aplicación de datos con n niveles

Tutorial: Agregar una caché de base de datos local a una aplicación de n niveles

Aplicaciones remotas y de n niveles con LINQ to SQL

Vea también

Tareas

Tutorial: Crear una aplicación de datos con n niveles

Conceptos

Lo nuevo en datos

Información general sobre conjuntos de datos en Visual Studio

Referencia

Attach

Otros recursos

Actualización jerárquica

Obtener acceso a datos (Visual Studio)