Principal       .NET       Herensoft       Desarrollo de aplicaciones       Tecnologías       Seguridad       Tutoriales       Noticias RSS       Mapa del portal   
  Tutoriales  Cree aplicaciones Web profesionales  CAWP: Introducción

CAWP: Capítulos

CAWP: Requisitos

El tutorial sobre la aplicación WhiteDwarf está preparado para funcionar con VS2005 y SqlServer 2005.

La mayor parte de los pasos, sin embargo, podrán ser realizados con Visual Web Developer Express y SqlServer 2005 Express. Los pasos que tratan de la utilización de utilidades que no funcionen con las versiones Express no podrán realizarse en este entorno.


Introducción

Supongamos que usted es un desarrollador experimentado de VB6 y que no tiene una experiencia muy grande en programación Web, o que trabaja ya con VB.NET y ASP.NET 1.x pero tampoco tiene un gran trabajo desarrollado en este campo.

Los cambios de VS2005 y ASP.NET 2.0 representan una gran evolución respecto lo anterior. No podemos dejar pasar la oportunidad de utilizar sus nuevas características (nuestras aplicaciones van a quedar atrás de las que las usan), pero ... ¡hay tantas cosas que aprender!

Evidentemente hay cursos y libros, pero a veces no bastan.

Intentando ayudar a tener una visión práctica de las nuevas características de ASP.NET 2.0, este tutorial (en VB.NET)  dará un rápido paso sobre las distintas novedades de ASP.NET 2.0 y utilidades que han aparecido y aparecerán para completar este entorno de desarrollo.

Si quiere que sus aplicaciones sean verdaderas aplicaciones ASP.NET 2.0, ahora puede conseguirlo, gracias a VS2005 y a nuestro tutorial que, en 101 pasos (quizás en algunos menos) le permitirá aprovechar las nuevas características de ASP.NET 2.0 para convertir una aplicación web "de café" (realizada por un aficionado), en una aplicación profesional: segura, fiable, rápida y bien hecha.

Este tutorial será gratuíto y tendrá una periodicidad semanal o quincenal (dependiendo de diversas circunstancias y vacaciones).

No se trata de un curso sino de una guía de cómo implantar las nuevas potencialidades de ASP.NET 2.0 y otras buenas prácticas en una aplicación real, aunque sea pequeña. En esta guía se pasarán enlaces de donde encontrar la información (normalmente de la propia Microsoft) que trate de explicar el nuevo concepto que se aplicará el capítulo siguiente.


Descripción de la aplicación original

La aplicación que nos va a servir de ejemplo se llama "Indices White Dwarf". Es la gestión de los índices de esta revista, que trata sobre juegos fantásticos con figuras a escala.

Técnicamente es una aplicación VB.NET que trabaja con una pequeña base de datos SqlServer.

Esta aplicación es muy sencilla y tiene 3 páginas para que los usuarios invitados puedan:

  • Ver la lista de los ejemplares de la revista.
  • Ver el índice y la portada de un ejemplar determinado.
  • Ver los elementos de índice que cumplen una determinada condición de búsqueda.

Las tres páginas presentan un esquema de:

  • Cabecera
  • Cuerpo, con tres zonas:
    • Menú, a la izquierda.
    • Contenido principal, en el centro.
    • Barra de publicidad (o asociados), a la derecha.
  • Pié de página.

El sistema para conseguir esto sin duplicar contenidos en cada página es el anticuado sistema de ASP de incluir ficheros externos.

Aunque inicialmente la aplicación en ASP 3.0 tenía una parte de administración que permitía añadir nuevos ejemplares y elementos de índice, el sistema (era una aplicación de aficionado :) ) consistía en otra aplicación con estos elementos ligeramente modificados para permitir la edición, que se ejecutaba localmente, para después sincronizar los datos con la base de datos de Internet.

Esta parte no se reconvirtió a ASP.NET y la haremos en posteriores pasos, una vez que tengamos incluida la gestión de usuarios, roles y perfiles.

Si usted quiere ver esta aplicación funcionando (en su versión antigua), puede verla en http://asp2.herensoft.net.

Puede también ver una versión más avanzada de la aplicación, que incorpora ya varias mejoras de las que iremos viendo en este tutorial, en http://wd.herensuge.com. Esta versión irá evolucionando con el tiempo hasta ser una verdadera aplicación ASP.NET 2.0 profesional.

Si quiere trabajar con esta aplicación, puede descargarla de CodePlex:

  • La release 0.0 es la versión antigua original trabajando en ASP.NET 2.0.
  • Los demás pasos crearán las releases siguientes.

Sus preguntas, dudas, problemas y opiniones puede expresarlos en este foro.


Instrucciones de instalación

Para poder trabajar con esta aplicación, usted debe:

  • Descargar la release 0.0 de CodePlex.
  • Descomprimirla y pasar todos sus ficheros a la carpeta que usted desee.
  • Si trabaja con VWD Express y SqlServer Express:
    • Abrir VWD Express, "abrir sitio Web ya existente" e indicarle la carpeta donde se ha dejado la aplicación descomprimida.
    • Podrá lanzar la aplicación (CTRL+F5) y deberá funcionar sin ningún problema.
  • Si trabaja con VS2005 y SQl Server 2005 deberá realizar los siguientes cambios antes de lanzar la aplicación:

1.       Incluir en el proyecto el fichero whitedwarflog.ldf.exclude

2.       En SqlServer 2005 realizar un Attach de la base de datos WhiteDwarf sobre los ficheros whitedwarf.mdf y whitedwarflog.ldf del proyecto.

3.       En la página wd0001.aspx:

o        En la función BindGrid() deberá:

§         Comentar la línea
ConnectionString = "Data Source=.\SQLExpress;Integrated Security=true;AttachDBFileName=|DataDirectory|whitedwarf.mdf;User Instance=false"

§         Si se usa en el SqlServer 2005 la autenticación windows descomentar la línea
ConnectionString = "server='localhost'; trusted_connection=true; Database='whitedwarf'"

§         Si se usa en el SqlServer 2005 la autenticación sql descomentar la línea
ConnectionString = "server=miservidor;uid=miusuario;pwd=mipalabraclave;database=whitedwarf"
y reemplazar los datos correspondientes por los valores reales en su caso.

o        Lo mismo deberá hacer en la función GetMenu().

4.       En la página wd0002.aspx:

o        Hacer lo mismo en la función GetEjemplar().

o        Hacer lo mismo en la función BindGrid().

5.       En la página wd0003.aspx:

o        Hacer lo mismo en la función BindGrid().


Siguiente tema: 1.- Páginas maestras

Un simple vistazo a la aplicación nos permite ver algunas herejías para el programador experimentado:

  • Las cadenas de conexión están dentro del código.
  • Las páginas tienen el código VB.NET dentro del mismo fichero.
  • Utilizamos el obsoleto sistema (viene de ASP) de incluir ficheros para conseguir una apariencia parecida en todas las páginas de nuestro sitio.

Así pues, en este primer paso intentaremos solucionar estos tres problemas. Los dos primeros son sencillos, pero el tercer tema nos exigirá más cambios.

Sacar las cadenas de conexión fuera del código

Nuestra aplicación deberá usar pues el fichero web.config donde definiremos la cadena de conexión, que nos servirá de referencia en toda la aplicación.

No vamos a trabajar aquí exaustivamente con el fichero de configuración de la aplicación, así que podremos mirar solamente la parte, dentro de configuración, de las cadenas de conexión.

Podemos aprender acerca de las cadenas de conexión en el fichero de configuración, en:

  Microsoft ASP.NET 2.0 Step By Step  (Microsoft Press): Chapter 9
  http://quickstarts.asp.net/QuickStartv20/aspnet/doc/management/retrieve.aspx#connectionstrings

Código VB.NET fuera de las páginas

Nuestro entorno de desarrollo lo configuraremos de manera que creemos todos nuestras páginas aspx con el código separado.

Podemos aprender acerca del código separado, en:

  http://quickstarts.asp.net/QuickStartv20/aspnet/doc/pages/codebehind.aspx
  http://www.es-asp.net/tutoriales-asp-net/tutorial-61-78.aspx
  Microsoft ASP.NET 2.0 Step By Step  (Microsoft Press): Chapter 2
Manual de introducción a Visual Web Developer 2005 Express: Capítulo 2.5

Apriencia homogénea en todas las páginas de una manera lógica y ordenada

Una de las maneras para hacer que todas las páginas de nuestro sitio web tengan una apariencia similar es la nueva característica de ASP.NET 2.0 llamada páginas maestras o Master Pages.

Con las páginas maestras podemos simplificar y unificar el aspecto de todas las páginas de la aplicación.

La mayoría de los sitios Web mantiene un aspecto común al sitio en cada una de sus páginas. Típicamente esto se implementaba mediante la inclusión de ficheros externos, por ejemplo una cabecera y un pie de página.

ASP.NET v1.x mejoró esto con los controles de usuario. Sin embargo, se necesitaba hacer referencia a estos controles en cada página, y no había ayuda en tiempo de diseño para ver cómo estos controles se veían en la página. Simplemente se veía una caja gris para representar al control de usuario.

Visual Web Developer (VWD) y VS2005 introducen una nueva característica llamada "páginas maestras" (Master Pages), un flexible sistema basado en una plantilla que permite que ustéd pueda configurar el aspecto de la página y, al mismo tiempo, controlar el diseño de su sitio entero modificando solamente dicha plantilla. Este tipo de "herencia visual" reduce mucho el mantenimiento y la complejidad total de su sitio Web. También le da el tipo de ayuda WYSIWYG que usted esperaría en el momento del diseño.

Una página maestra es justo otro tipo de archivo que usted puede agregar a su proyecto. Tiene una extensión .master. Usted puede colocar cualquier control que usted desee en una página maestra. Cada página que herede de la página maestra utilizará automáticamente los mismos controles insertados en la página maestra. El contenido propio de una página "hija" se pone en un control ContentPlaceHolder. El beneficio de este sistema es que el aspecto y colocación del contenido de su sitio Web puede ser mantenido cambiando un solo fichero.

Podemos aprender acerca de las páginas maestras en:

  http://quickstarts.asp.net/QuickStartv20/aspnet/doc/masterpages/default.aspx
  http://www.es-asp.net/tutoriales-asp-net/tutorial-61-84.aspx
  Microsoft ASP.NET 2.0 Step By Step  (Microsoft Press): Chapter 8
Manual de introducción a Visual Web Developer 2005 Express: Capítulo 7

 


© 2001-2008, HerenSoft   |   Terms of Use   |   Privacy Statement