El DotNetnuke (DNN)incluye una parte pública a la que acceden los visitantes que constituyen el propio portal (a la que el administrador puede decidir restringir accesos). Así podemos tener una web pública y definir una zona privada donde solo tendrán acceso los usuarios registrados y/o validados (por ejemplo una zona de tarifas de distribución). Y una parte privada a la que acceden los administradores de la página para editar los contenidos, cambiar el diseño o añadir nuevas funcionalidades. Cada funcionalidad del portal se llama módulo (por ejemplo noticias, contacto, foros de discusión, documentos, eventos, etc.). El Administrador tiene el control total de su portal, sus miembros, y tiene un poderoso conjunto de herramientas para mantenerlo dinámico y actualizado al 100%. Las posibilidades de gestión de usuarios y permisos las ampliaremos en próximos artículos, ahora aunque sea entrar en un terrenos más técnico me parece importante explicar que DNN al haber sido diseñado «recientemente» implementa los últimos modelos de diseño de aplicaciones.
Es importante tener en cuenta que el administrador puede cambiar el contenido sin afectar al diseño o a los módulos. O puede cambiar el diseño de todo el portal sin afectar ni a los datos (contenido) ni a los módulos. És decir, que la aplicación DotNetNuke es efectivamente un gestor de contenidos multicapa que separa totalmente los datos, el diseño y la funcionalidad del portal. La arquitectura del DotNetNule consiste en una aplicación estructurada en varias capas (multicapa) que permiten independizar la apariencia final de la página web de los datos que presentamos en al usuario final.
Data Access Layer (DAL)
La capa de acceso a datos está compuesta por aquellos objetos que acceden a la base de datos. Dicha gestión se realiza mediante procedimientos propios o disponibles por DNN.
Business Logic Layer (BLL)
La denominada Capa Lógica de Negocio consiste en dos clases básicas las cuales contienen la estructura de los datos y el controlador de las funciones y procedimientos necesarios para la gestión en la base de datos.
Presentation Layer (UI)
Esta capa representa la interfaz del usuario, es decir, las páginas que componen el módulo y contienen los controles de usuario. El módulo es visualizado con el Skin y Container establecido en la página de configuraciones del módulo.