Compartir a través de


Introducción: Planear un sitio web de ASP.NET

Actualización: noviembre 2007

Antes de crear un sitio web, es decir, antes de empezar a crear las páginas y escribir el código, siempre es útil planear el sitio. Esto puede facilitar el diseño de la apariencia total del sitio y de su navegación.

El tamaño de un sitio web a menudo puede determinar la cantidad de planeación que se debe realizar. Un pequeño sitio web de tipo folleto que simplemente proporcione información estática puede ser un sitio relativamente básico que requiera poco planeamiento. Un sitio web que tiene acceso a un almacén de datos, autentica a los usuarios y presenta restricciones de localización y accesibilidad, pueden requerir una mayor planeación. Si dispone de un plan, ahorrará tiempo en el desarrollo y el mantenimiento del sitio.

En los temas siguientes se trata información relacionada con el sitio web en conjunto, que incluye información sobre los siguientes aspectos:

  • El tipo de sitio web que selecciona.

  • Cómo se navega por el sitio.

  • Maneras de crear un aspecto y un diseño coherentes para todas las páginas del sitio.

  • Cómo tener acceso a los datos de un almacén de datos.

Decidir el tipo de proyecto del sitio web

En Visual Studio 2008 puede crear dos tipos de proyecto. El modelo de proyecto de sitio web predeterminado utiliza una estructura de directorios de archivo para definir el contenido del proyecto. En este modelo, no hay ningún archivo de proyecto y todos los archivos del directorio forman parte del proyecto.

En un proyecto de aplicación web, sin embargo, sólo forman parte del proyecto los archivos a los que se hace referencia de forma explícita en el archivo de proyecto de la solución. Estos archivos se muestran en el Explorador de soluciones y son los únicos archivos que se compilan en una compilación.

El archivo de proyecto de un proyecto de aplicación web facilita la implementación de algunos escenarios. Por ejemplo, puede subdividir una aplicación ASP.NET en varios proyectos de Visual Studio si hace referencia a los archivos en diferentes archivos de proyecto. También puede excluir fácilmente archivos del proyecto.

Utilice proyectos de aplicación web cuando desee realizar las siguientes operaciones:

  • Migrar aplicaciones grandes de Visual Studio .NET 2003 a Visual Studio 2008.

  • Disponer de control sobre los nombres de los ensamblados de salida.

  • Usar clases independientes para hacer referencia a las clases de página y a las clases de control de usuario.

  • Generar una aplicación Web utilizando varios proyectos Web.

  • Agregar pasos previos y posteriores a la generación durante la compilación.

Tener acceso a datos de un almacén de datos

El enlace de datos de ASP.NET permite enlazar componentes con orígenes de datos y con propiedades, colecciones, expresiones y métodos simples. Esto proporciona mayor flexibilidad a la hora de utilizar datos de una base de datos u otros orígenes.

Si el sitio web tiene acceso a un almacén de datos, debe plantearse la utilización de controles de origen de datos, ya que forman parte de un modelo de datos común. Este modelo de datos separa el código de acceso a datos y el código de lógica empresarial de las páginas web que forman la capa de presentación del sitio web. Una capa de acceso a datos consta de métodos que se utilizan para tener acceso a un almacén de datos. Una capa de lógica empresarial agrega reglas a la capa de acceso a datos, como la restricción del acceso para ver o cambiar los datos. La capa de presentación consta de páginas a las que tienen acceso los usuarios para ver y modificar los datos. Para obtener más información sobre cómo crear estas capas, vea Tutorial: Crear las capas de acceso a datos y de lógica empresarial en ASP.NET.

Puede implementar este modelo de origen de datos común separando la capa de la presentación de los datos y la lógica empresarial mediante el modelo de origen de datos de ASP.NET. Mediante controles como LinqDataSource, ObjectDataSource y SqlDataSource, puede crear una capa de acceso a datos y una capa de lógica comercial que sean independientes de la capa de la presentación.

También debe considerar si el sitio web debe utilizar datos en memoria (almacenados en memoria caché). Si una parte significativa de los datos de aplicación no cambia con frecuencia y es común entre diferentes sesiones o usuarios, puede mantener los datos en memoria en el servidor web. De esta forma puede reducir el número de solicitudes a la base de datos y acelerar las interacciones del usuario. Para crear una base de datos en memoria, se usa la clase DataSet. Otro aspecto útil del objeto DataSet es que permite a una aplicación introducir subconjuntos de datos de uno o más orígenes de datos en el espacio de la aplicación. A continuación, la aplicación puede administrar los datos en memoria sin perder su forma relacional.

Cuando un sitio crece y cuando se mueven sus páginas, rápidamente puede hacerse complicado administrar todos los vínculos. La navegación del sitio de ASP.NET consta de clases y controles de servidor que permiten proporcionar a los usuarios una manera coherente de navegar en el sitio. Puede almacenar los vínculos a todas las páginas en una ubicación central (normalmente un archivo XML). Puede representar esos vínculos en listas o menús de navegación en cada página incluyendo un control SiteMapDataSource para leer información del sitio. A continuación, utiliza un control de servidor de navegación como TreeView o Menu para mostrar información del sitio.

Una parte clave de la navegación del sitio de ASP.NET es el proveedor del mapa del sitio. Ésta es una clase que se utiliza con un origen de datos del mapa del sitio y expone la información de navegación. Por ejemplo, el proveedor del mapa del sitio de ASP.NET obtiene los datos de mapa del sitio de un archivo XML que se denomina Web.sitemap y comunica estos datos directamente al control de servidor web SiteMapPath.

Definir una apariencia homogénea del sitio web

Varias características de ASP.NET ayudan a crear y mantener un aspecto y un diseño homogéneos del sitio web, como los temas de ASP.NET y las páginas maestras de ASP.NET. Estas características se pueden utilizar en las primeras fases del proceso de desarrollo para proporcionar un aspecto homogéneo del sitio web.

Los temas de ASP.NET definen el aspecto de páginas y controles en el sitio web. Un tema de ASP.NET puede incluir archivos de máscara, que definen valores de propiedad para los controles de servidor web de ASP.NET. También puede incluir archivos de hoja de estilos en cascada (archivos .css) y gráficos. Cuando aplica un tema, puede dar a las páginas del sitio web un aspecto más uniforme. Al crear un tema o un conjunto de temas para un sitio en las primeras fases del proceso de desarrollo, puede aplicar estos temas a cada nueva página que crea. Para obtener más información sobre los temas, vea Información general sobre temas y máscaras de ASP.NET.

Las páginas maestras de ASP.NET permiten crear un diseño de página (una página maestra) que se puede aplicar en páginas seleccionadas (páginas de contenido) del sitio web. Las páginas maestras pueden simplificar en gran medida la tarea de crear un aspecto coherente para el sitio. También se pueden anidar páginas principales. Por ejemplo, puede utilizar páginas maestras anidadas para crear un diseño maestro del sitio completo y otro diseño maestro para secciones individuales de un sitio. También puede utilizar páginas maestras con temas. Para obtener más información sobre las páginas maestras, vea Información general sobre las páginas principales ASP.NET y Páginas principales ASP.NET anidadas.

Agregar funcionalidad de AJAX

Las características de AJAX en ASP.NET permiten crear rápidamente páginas web para que la experiencia del usuario sea más satisfactoria gracias a elementos de la interfaz de usuario más familiares y receptivos. También permiten actualizar una página sin una devolución de datos. Entre las características de AJAX se incluyen bibliotecas de scripts de cliente, que incorporan las tecnologías ECMAScript (JavaScript) y HTML dinámico (DHTML) para varios exploradores, e integración con la plataforma de desarrollo para servidores de ASP.NET. Si utiliza las características de AJAX, puede mejorar la experiencia del usuario y la eficacia de las aplicaciones web. Para obtener más información, vea Información general sobre AJAX en ASP.NET.

Utilizar características de administración de estados

HTTP es un protocolo sin estado. Cada solicitud se atiende a medida que se recibe y, una vez procesada, los datos se descartan. Los estados no se mantienen entre las diferentes solicitudes, aunque procedan del mismo cliente. Sin embargo, en la mayoría de las aplicaciones web, resulta útil mantener el estado entre las distintas solicitudes.

ASP.NET proporciona funcionalidad de administración de estado intrínseca que permite almacenar información entre las solicitudes de página, como la información de clientes o el contenido del carro de la compra. Puede guardar y administrar información específica de la aplicación, específica de la sesión, específica de la página, específica del usuario y definida por el desarrollador. ASP.NET dispone de varios métodos de administración de estados que se pueden seleccionar, entre los que se incluyen la utilización de cookies, el estado de vista, el estado de sesión, el estado de aplicación y las propiedades de perfil. Esta información puede ser independiente de cualquier control de la página,

Al planear un sitio web, debe considerar qué métodos de administración de estados necesitará. Para obtener más información, vea Información general sobre la administración de estados de ASP.NET.

Almacenar datos en memoria caché para aumentar el rendimiento

A menudo, puede aumentar el rendimiento de un sitio web si almacena en memoria los datos a los que se tiene acceso con más frecuencia y cuya creación requiere un tiempo de procesamiento significativo. Por ejemplo, si la aplicación procesa grandes cantidades de datos utilizando una lógica compleja y, a continuación, los devuelve en un formato de informe, resulta eficiente evitar la creación de dicho informe cada vez que un usuario lo solicita. De manera similar, si la aplicación incluye una página que procesa datos complejos pero que no se actualiza frecuentemente, no resulta eficiente que el servidor vuelva a crear dicha página en cada solicitud.

La caché de ASP.NET es una utilidad de la memoria caché de uso general para los sitios web. Proporciona una interfaz simple para almacenar en memoria caché y una interfaz más avanzada que expone servicios de expiración y de dependencia de cambios. Para ayudarle a aumentar el rendimiento de la aplicación en estas situaciones, ASP.NET proporciona dos mecanismos de almacenamiento en caché. El primero es el almacenamiento en caché de aplicaciones, que permite almacenar en caché los datos que se generan, como un objeto DataSet o un objeto de negocios de informe personalizado. El segundo es el almacenamiento en caché de los resultados de las páginas, que permite guardar los resultados del procesamiento de páginas y reutilizarlo, en lugar de volver a procesar la página cada vez que un usuario la solicite de nuevo. Si el diseño del sitio web tiene en cuenta el almacenamiento en caché de páginas determinadas, puede crear un sitio web más eficaz.

Infraestructura de seguridad

Además de las características de seguridad de .NET Framework, ASP.NET proporciona una infraestructura de seguridad para autenticar y autorizar el acceso de los usuarios, así como para realizar otras tareas relacionadas con la seguridad. Puede autenticar los usuarios mediante la autenticación de Windows que proporciona IIS. También puede administrar la autenticación mediante la autenticación de formularios de ASP.NET y la pertenencia de ASP.NET. Además, puede administrar la autorización para el acceso a los recursos de la aplicación web mediante grupos de Windows o bien mediante el uso de una base de datos de funciones personalizada y las funciones de ASP.NET. Resulta fácil quitar, agregar o reemplazar estos esquemas dependiendo de las necesidades de la aplicación. Para obtener más información, vea los temas siguientes:

ASP.NET siempre se ejecuta con una identidad particular de Windows de modo que puede asegurar su aplicación utilizando capacidades de Windows como las listas de control de acceso (ACL) del sistema de archivos NTFS y los permisos de la base de datos. Para obtener más información sobre la identidad bajo la que se ejecuta ASP.NET, vea Configurar la identidad de procesos en ASP.NET y Suplantación de ASP.NET.

Otras consideraciones

Antes de codificar un sitio web, también debe tener en cuenta los temas de esta sección. Si incorpora la información de estos temas en la planeación, puede ahorrar tiempo y conseguir un sitio conforme a las normas actuales de web.

Accesibilidad

La programación de accesibilidad es el proceso que se encarga de diseñar y desarrollar aplicaciones que funcionen con el sistema operativo de un equipo para adaptarse a deficiencias específicas, como por ejemplo, una limitación de movimiento o problemas de visión. ASP.NET puede ayudarle a crear aplicaciones Web con un acceso más fácil para personas con discapacidades. Las aplicaciones Web accesibles permiten utilizar tecnologías de ayuda, como lectores de pantalla, para trabajar con páginas Web. Las aplicaciones Web accesibles ofrecen las ventajas siguientes:

  • Pueden utilizarlas un mayor número de personas.

  • Implican principios de diseño que con frecuencia benefician a todos los usuarios, no sólo a los que tienen discapacidades.

  • Cumplen los requisitos de muchas instituciones en el sentido de que todas las aplicaciones Web sean accesibles.

El conocimiento de los consejos para la accesibilidad y de cómo puede ayudarle ASP.NET a seguirlos le permitirán crear aplicaciones con las que las personas que tienen discapacidades tendrán la posibilidad de interaccionar con mayor facilidad. Para obtener más información sobre los consejos para la accesibilidad, vea Compatibilidad de accesibilidad en ASP.NET.

En la mayoría de las ocasiones, los controles ASP.NET representan marcado que crea páginas que cumplen las normas de accesibilidad. También pueden exponer propiedades que puede establecer de forma que la página cumpla los criterios de accesibilidad. Sin embargo, hay veces en que los controles ASP.NET representan resultados que no cumplen con los estándares de accesibilidad. Para obtener información detallada, vea Controles y accesibilidad en ASP.NET.

Globalización y localización

La globalización es el proceso mediante el cual se diseñan y desarrollan aplicaciones que pueden funcionar con diversas referencias culturales. Localización es el proceso mediante el cual se personaliza una aplicación para una referencia cultural y configuración regional determinadas. Si crea páginas web que leerán personas que hablan idiomas diferentes, debe permitir que los lectores vean las páginas en su propio idioma. ASP.NET permite crear una página que puede obtener contenido y otros datos basándose en la configuración de idioma preferido del explorador o en la elección explícita del idioma por parte del usuario. Este contenido y otros datos se denominan recursos; los datos de este tipo se pueden almacenar en archivos de recursos o en otros orígenes. En la página Web ASP.NET, configure controles para obtener los valores de sus propiedades de los recursos. En tiempo de ejecución, las expresiones de recursos se reemplazan con recursos del archivo de recursos adecuado. Para obtener más información, vea Información general sobre los recursos de las páginas Web ASP.NET.

Generar páginas individuales y precompilar

La generación de una página o de un sitio Web forma parte del desarrollo de un sitio, y una de sus finalidades es ayudar a encontrar los errores en tiempo de compilación que pueden producirse en cualquier parte del sitio. Aunque el proceso de compilación compila las páginas, no genera un ensamblado que se pueda implementar.

Se puede implementar un sitio sin compilarlo copiando todos los archivos del sitio web en un servidor de producción. Cuando los usuarios solicitan páginas del servidor de producción, ASP.NET compila dinámicamente el sitio, realizando de hecho los mismos pasos que el proceso de compilación realiza en Visual Studio. ASP.NET almacena en caché los resultados que se obtienen para que las páginas no se tengan que volver a compilar con cada solicitud.

Si desea compilar el sitio en ensamblados y otros archivos que se puedan implementar, puede publicar el sitio. El proceso de publicación realiza los mismos pasos de compilación que el proceso de generación, pero guarda los resultados en una carpeta y en subcarpetas que, a su vez, se pueden implementar en el servidor de producción.

Para obtener más información, vea Información general sobre la implementación de ASP.NET.

Vea también

Conceptos

Información general sobre ASP.NET