martes, 30 de diciembre de 2008

Cantidad de Visitas al Articulo:

Visual Studio 2005/2008 – Desarrollo Web

VS2008 Desde que comenzó el desarrollo de soluciones web, hace ya varios años, hubo siempre temas comunes en los sistemas que llevaban tiempo a los desarrolladores, y se repetían una y otra vez.

Visual Studio, desde su versión 2005 y heredada en 2008, ofrece una forma sencilla y potente de implementarlos sin necesidad de escribir demasiado código, y con la posibilidad de adaptarlos de acuerdo a cada necesidad.

Desde el punto de vista de los que nos dedicamos a desarrollo de productos, mas que a sistemas a medida, son características mas que importantes, en pos de la flexibilidad y productividad.

Los invito entonces, a esta introducción sobre los temas mas relevantes, basados en esas premisas.

Características Nuevas

Desarrollaré aquí una breve descripción de algunas nuevas características que permiten el desarrollo de soluciones web de forma fácil y rápida, dejando las puertas abiertas a adaptaciones y cambios de look and feel, sin demasiado esfuerzo.

Master Pages
Normalmente, los sitios mantienen una misma imagen en todas sus páginas, variando solamente en contenido y eventualmente las opciones de acceso dependiendo de los permisos por usuario. Esta características, en un principio, había que programarlas individualmente. VS2005 agregó el concepto de Página Principal o Master Pages. Las Master Pages definen una interfaz común para un grupo de páginas. Son en sí una página ASPX más, con extensión .master, y pueden ser referenciadas por las páginas del sitio, heredando de la master las características gráficas. La referencia se ve de la forma:”
<%@ Page Language=C# MasterPageFile=~/PaginaMaster.master ...

En estas páginas maestras, se definen espacios de información dinámicos, que permiten el cambio de contenido en las páginas finales, llamados ContentPlaceHolder.
Temas y Skins
Con las Master Pages solucionamos en parte el tema de la imagen uniforme para todas nuestras páginas del sitio, pero, si deseamos cambiar fácilmente esa interfase gráfica, todavía nos falta algo: Temas y Skins. Esta característica se basa en:
  • Hojas de estilo en cascada (Cascading Style-Sheets o CSS), las cuales pueden ser heredadas por las páginas ASPX al igual que un html, y permiten definir los estilos (colores, fuentes, etc.)
  • Creación de temas y máscaras (skin), a través de una carpeta llamada APP_themes, en la cual se pueden agregar uno o mas temas, donde básicamente se definen los estilos asociados a cada uno de los controles incluidos en las páginas, o bien a la página en general.
  • Asignación de los temas, ya sea a nivel página de la forma:
    <%@ Page Theme="TemaDefault" ... %>
    o a nivel sitio desde la configuración general del mismo en el archivo Web.Config, con la directiva:
    <?xml version="1.0"?>
    <configuration xmlns=
    http://schemas...>
    <system.web>
    <pages theme="TemaDefault"/>
    </system.web>
    </configuration>
Manejo de Sesiones
Si bien esta característica ya estaba desde las versiones anteriores de ASP, en esta versión se cambia algo pero sigue siendo análogo. Siendo HTTP un protocolo sin estado, ASP.NET guarda en la cabecera un ID único que el servidor envía al cliente en su primera petición. Este ID se mantiene dependiendo de que el cliente no cierre browser o del tiempo configurado en el servidor de duración de la misma.
Variables de Aplicación y Caché
En las versiones anteriores solo existían las variables de Aplicación para compartir ciertos datos entre todos los usuarios de una aplicación. Con un mecanismo de bloqueo para evitar errores. En esta versión se agrega el concepto de Caché, que permite incluir datos que son difíciles y costosos de conseguir (ejemplo: un query complejo en un dataset), incluso refrescándose solos cada cierto tiempo solos, para que cuando algún usuario lo necesite lo tome inmediatamente. Como siempre, dependerá de la lógica de negocios para saber si es factible utilizar esta característica o no. Para insertar un nuevo valor en el cache se puede hacer de la forma:
Cache("Clave") = Valor
o mejor aún:
Cache.Insert("MyData", datos, New CacheDependency(Server.MapPath("MyData.xml")))
Donde se define una dependencia del objeto en caché con el archivo MyData.xml. Si este cambia, entonces el objeto desaparece del Caché y se recarga la próxima vez que se use.
Existe además el Caché de Salida que permite definir que páginas se pueden guardar y por cuanto tiempo antes de regenerarse.
Autenticación y Autorización
La nueva versión permite definir en el archivo Web.Config, que tipo de autenticación tendrá el sitio y que accesos a páginas o subsitios tendrá cada usuario.
Además, surge el concepto de una nueva API: Membership y Roles, con la cual es muy fácil implementar (y extender) un sistema de administración de usuarios y roles, combinándolo con los Controles Web de Seguridad, que dan un look and feel básico para el ingreso de datos.

Conclusiones y Referencias Finales

Cuando se comienza a utilizar este tipo de características, uno no puede dejar de pensar en lo artesanal que era todo hace nada mas que un par de años. Por suerte las tecnologías avanzan, y permiten dejar las “iluminaciones creativas” para otro tipo de temas.

Existen en el sitio de MSDN de Microsoft, muchos tutoriales en español, que explican paso a paso estas y otras características de diversos productos, que son un excelente punto de partida en la utilización de los mismos. La invitación es entonces, a compartir cualquier duda o sugerencia.

So Far, So Good!

Cantidad de Visitas al Articulo:

0 comentarios:

 
Este Weblog, InforMateando..., está licenciado bajo Licencia Creative Common - por Gustavo Suhit