Modulo 1
Modulo 1
MÓDULO I
INTRODUCCIÓN AL
INTRODUCCIÓN AL
DESARROLLO DE
APLICACIONES WEB
CON PLATAFORMA .NET
Autores:
José Luis Luna Guzmán,
Jesús Díaz Barriga Arceo,
Martín Ibarra Romero
Introducción al desarrollo de aplicaciones Web con plataforma .NET
Secretario General
Sergio M. Alcocer Martínez de Castro
Coordinación de la publicación
María Guadalupe Izquierdo Dyrzo
Autores
José Luis Luna Guzmán, Jesús Díaz Barriga Arceo y Martín Ibarra Romero
Revisión técnica
Martín Ibarra Romero
Corrección de estilo
José Luis Guerrero Cervantes
Diseño editorial
Lidia Angelina Castillo Peña
Editor
DR © Universidad Nacional Autónoma de México
Ciudad Universitaria, Coyoacán, 04510, México DF.
3
Arquitectura de
ap licaciones web 1
1.1 . Aplicación Web
Una aplicación Web es una aplicación a la que se accede a través de un navegador Web, ya sea en
Intranet o Internet.
Las aplicaciones Web son muy populares debido a la posibilidad de emplear a los navegadores Web
como clientes. Con ellos se elimina la necesidad de escribir programas cliente particulares que sirvan
como interfaz para los usuarios, así como la obligación de instalarlos de forma separada en cada
computadora que requiera acceder a la aplicación. Además, el uso de navegadores Web confiere la
capacidad de actualizar y dar mantenimiento a las aplicaciones Web sin tener que distribuir e instalar
un programa ejecutable en los múltiples equipos clientes.
Además, con la llegada de las PDA’s (o dispositivos móviles) en los últimos años, es posible acceder a
las aplicaciones Web desde prácticamente cualquier parte del mundo, pues muchos de éstos poseen la
característica de poderse conectar a Internet vía telefónica.
Una aplicación Web genera en forma dinámica una serie de páginas Web empleando un formato
estandarizado HTML – o más recientemente XHTML - soportado por los navegadores Web. Además, es
posible agregar elementos dinámicos a la interfaz de usuario empleando lenguajes de tipo script.
Durante la sesión, el navegador Web interpreta y despliega las páginas Web y actúa como un cliente
universal para cualquier aplicación Web.
Usabilidad. Se refiere a la facilidad con que una persona puede emplear un sistema.
Existen muchas arquitecturas de software, que se caracterizan dependiendo de las formas utilizadas
para diseñar módulos de software, así como para establecer la comunicación entre ellos. Pueden
citarse como ejemplos a: cliente-servidor y su extensión de modelos en capas, cómputo distribuido,
peer to peer, sistemas monolíticos, etc.
1.3.1 . Propiedades
Una arquitectura cliente-servidor es desarrollada para proporcionar escalabilidad, por lo que cada
computadora o proceso en la red es o un cliente o un servidor. El software servidor generalmente
1
Es un método de interacción por computadora que consiste en la manipulación directa de imágenes gráficas además de texto.
6
Introducción al desarrollo de aplicaciones Web con plataforma .NET
HTTP/1.x 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.0
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Fri, 21 Sep 2007 23:36:14 GMT
7
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
Content-Length: 27678
8
Introducción al desarrollo de aplicaciones Web con plataforma .NET
Capa de negocios.
Las reglas de negocio, lógica de negocio o lógica de procesamiento funcional son términos empleados
para referirse a la capacidad de procesamiento que proporciona una aplicación. Se dice que una
aplicación realiza un proceso de negocio cuando realiza una o más tareas o transacciones específicas.
En la capa de negocios, por tanto, se encuentran las reglas y lógica de procedimientos necesarios para
realizar las operaciones del sistema, esto es, las actividades operacionales, controles de consistencia,
validaciones, cálculos, etc.
Como es de esperarse, existen distintos tipos de reglas de negocios. Los principales son:
• Reglas del modelo de datos. Son aquellas reglas que se encargan de controlar que la información
básica almacenada para cada atributo o propiedad de una entidad u objeto sea válida. Ejemplos
de este tipo de reglas son: “no puede haber precios negativos”, “todos los datos de fecha deben
representar fechas válidas”.
• Reglas de relación. Controlan las relaciones entre los datos. Estas reglas especifican, por ejemplo,
que todo pedido debe ser realizado por un cliente, y que el mismo debe estar dado de alta en
nuestro sistema: además, una vez que un cliente haya hecho algún pedido, se deberá garantizar
que no es posible eliminarlo, a menos que previamente se eliminen todos sus pedidos.
• Reglas de derivación. Comprenden el conjunto de reglas que especifican y controlan la
obtención de información que se puede calcular a partir de datos existentes.
• Reglas de restricción. Establecen límites o valores para los datos, complementando a las reglas
del modelo de datos. Por ejemplo, un valor de crédito máximo o un límite mínimo de saldo.
• Reglas de flujo. Incluye aquellas reglas que determinan y limitan cómo fluye la información a
través de un sistema.
9
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
Introducción a la
plataforma .NET 2
.NET es un término que se aplica a una colección de productos y tecnologías de la compañía Microsoft
que conforman una plataforma de desarrollo centrada en Internet. Al trabajar con .NET es posible crear
aplicaciones empresariales y de tipo Web de gran rendimiento en forma más fácil y rápida que con
versiones previas, logrando alcanzar altos grados de escalabilidad, disponibilidad y eficiencia.
Un enfoque alterno de .NET es considerarlo como una plataforma de Microsoft orientada a desarrollar
Servicios Web XML, los que permiten a las aplicaciones desarrolladas con .NET comunicarse y
compartir datos sobre Internet. Existen 5 aspectos importantes asociados a la plataforma .NET:
1. Experiencias .NET: Son servicios Web XML que le permiten acceder a la información a
través de Internet desde aplicaciones stand-alone de una manera
integrada. Ejemplos de experiencia .NET son MSN, bCentral y el Visual
Studio .NET de Microsoft.
10
Introducción al desarrollo de aplicaciones Web con plataforma .NET
5. Herramientas: Visual Studio .NET y .NET Framework ofrecen una solución completa a
los desarrolladores para construir, instalar, y ejecutar Servicios Web
XML. Estas herramientas maximizan el rendimiento, la confiabilidad y
la seguridad de los servicios Web XML. El Visual Studio .NET integra la
siguiente generación de la popular herramienta multi-lenguaje de
desarrollo construida especialmente para .NET. El .NET Framework es
un ambiente de alta productividad, para la ejecución de aplicaciones
multi-lenguaje, basado en estándares, que maneja tareas esenciales de
integración y que facilita la instalación. Proporciona un ambiente de
ejecución de aplicaciones que administra la memoria, se ocupa del
control de versiones y mejora la escalabilidad y seguridad de las
aplicaciones.
6. Microsoft Office: El ya famoso Microsoft Office también forma parte del .NET Framework
al tratarse de una herramienta de propósito general utilizada en todo tipo
de procesos. La nueva versión de Microsoft Office está provista de
características especiales para interactuar con el resto de las tecnologías
antes mencionadas.
11
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
12
Introducción al desarrollo de aplicaciones Web con plataforma .NET
Una observación importante es que el CLR está preparado para utilizar las características específicas de
cada microprocesador, realizando la compilación a código binario de la forma más conveniente para
que éste trabaje a la mayor velocidad posible. Así, un programa que se ejecute por primera vez en una
computadora se compilará de acuerdo al procesador que ésta tenga, sacando un máximo provecho del
mismo.
2.4 . ADO.NET
Los Objetos de Datos ActiveX (ActiveX Data Objects) se encuentran en el espacio de nombres
System.Data. Permite realizar el acceso a los datos almacenados de una base de datos relacional desde
un enfoque con mayor énfasis en Web.
Una forma típica en que mediante ADO.NET una aplicación accede a los datos de una Base de Datos
es utilizando un proveedor de datos .NET escrito como código administrado. Se cuenta con
13
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
proveedores de datos .NET para acceder a SQL Server, Oracle y otros manejadores de uso común
mediante OLEDB u ODBC. Con estos proveedores es posible enviar comandos al manejador y
examinar el resultado de su ejecución o empacarlo en un objeto DataSet para almacenar el resultado
en disco o enviarlo a un Servicio Web.
Un DataSet puede contener como resultado una o más tablas, cada una de las cuales puede contener a
su vez el resultado de leer un documento XML o de un consulta SQL. Así, un DataSet funge como un
almacenamiento temporal en memoria. La figura 2-4 representa esquemáticamente la manera de operar
de un DataSet.
2.5 . ASP.NET
No obstante que comparte el nombre de la anterior tecnología de desarrollo Web de Microsoft,
ASP.NET difiere grandemente de su antecesor. La versión actual está basada en la CLR. Por ello, los
programadores pueden desarrollar código ASP.NET usando cualquiera de los lenguajes soportados por
la plataforma, incluso agregando código Perl o Python. ASP.NET está integrado en el espacio de
nombres System.Web y, al igual que con la versión anterior, puede generar aplicaciones basadas en
una o varias páginas HTML que incluyen código ejecutable.
Sin embargo, además de las aplicaciones tradicionales para navegadores, basadas en HTTP y HTML,
ASP.NET permite la construcción de servicios Web XML accesibles mediante SOAP. Las aplicaciones
“tradicionales” para navegadores se colocan en archivos con extensión .aspx y básicamente contienen
HTML y código ejecutable, en tanto que las orientadas a los servicios Web se guardan en archivos
.asmx y sólo contienen código para cada método WebMethod.
Además, ASP.NET presenta un mejor rendimiento al comparársele con otras tecnologías basadas en
lenguajes de script, debido a que el código del lado servidor es compilado en archivos DLL colocados
en el servidor Web.
Al permitir que los desarrolladores elaboren las páginas Web empleando controles similares a los
existentes en las interfaces tipo Windows, ASP.NET simplifica la transición hacia las aplicaciones Web.
14
Introducción al desarrollo de aplicaciones Web con plataforma .NET
15
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
16
Introducción al desarrollo de aplicaciones Web con plataforma .NET
La barra de título de la ventana de Visual Studio 2008 muestra el nombre de la solución, el cual, por
tratarse de una solución con un solo proyecto, es también el nombre del proyecto. Además, señala que
se encuentra activo el diseñador de formularios Web en el que se está trabajando, el formulario
Default.aspx.
A continuación de la barra de título de la aplicación, se observan la barra de menús y algunas barras
de herramientas que presentan el comportamiento típico de cualquier barra de menús o de
herramientas en una aplicación Windows.
Debajo de éstas aparecen varias ventanas de herramientas. De izquierda a derecha se observan: el
explorador de servidores (Server Explorer), el cuadro de herramientas (toolbox), el diseñador de
formularios Web, donde se está construyendo el formulario Default.aspx; finalmente, en el extremo
derecho, apilados unos sobre otro, se tiene el explorador de soluciones (Solution Explorer), mostrando
la solución WebApplication1; la ventana de propiedades (Properties) que muestra las propiedades del
control seleccionado y la zona de la ayuda dinámica (Dynamic Help).
17
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
Existen otras herramientas especializadas como la vista de clases, el inspector de objetos, el editor de
código, las ventanas de depuración y muchas otras, las cuales por el momento no están visibles. Es
posible mostrar cualquiera de las herramientas de Visual Studio 2008 utilizando el menú Ver (View), el
que una vez desplegado permitirá seleccionar la herramienta deseada.
El explorador de soluciones:
El explorador de soluciones permite conocer los elementos que participan en una solución. La figura 3-
2 aísla al explorador de soluciones, mostrando la solución “WebApplication1”.
La solución mostrada sólo tiene un nodo, correspondiente al proyecto WebApplication1, el cual está
integrado por distintos elementos, como la hoja de estilo StyleSheet1.css y dos formularios. Dando
doble clic sobre cualquiera de los elementos de la solución, se activa el correspondiente editor o
diseñador. También pueden utilizarse los botones de la barra de herramientas de la ventana del
Explorador de soluciones para llevar a los elementos al editor o diseñador. La figura 3-3 muestra
algunos botones del explorador de soluciones y las funciones que realizan.
Refresh. Actualiza el elemento señalado. Útil cuando está ligado a una página Web.
Copy Web Site. Permite copiar los elementos del proyecto seleccionado a otra localidad.
Show All Files. Muestra/oculta los marcadores de despliegue de las ramas de la solución.
18
Introducción al desarrollo de aplicaciones Web con plataforma .NET
También es posible desplegar la totalidad de los objetos que forman parte de la aplicación y de
aquellos que por ser servicios de la plataforma se encuentran disponibles. El explorador de objetos
(Object Browser) puede mostrarse usando el menú Ver (View), y como se observa en la figura 3-5,
comparte la ventana con la página de inicio (Start Page), el editor de código y el diseñador para el
formulario Web.
La figura 2-9 muestra que la clase WebForm1 se encuentra definida en el espacio de nombres
WebApplication1. La clase Page está ligada por medio de la herencia con WebForm1 y, a su vez,
cuenta con funciones y propiedades, siendo una de estas últimas la propiedad Response, pública y de
sólo lectura, información que aparece en la parte inferior del explorador de objetos.
19
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
Diseñadores y Editores.
Dado que una gran cantidad de elementos que participan en el desarrollo de una aplicación son
generados por medio de asistentes y opciones que proporciona Visual Studio, es necesario el empleo
de editores y diseñadores que permitan personalizarlos. Tal es el caso de formularios, páginas HTML y
documentos XML, entre otros.
Como se mencionó al hablar del explorador de soluciones, es posible acceder a editores y diseñadores
desde esa ventana. El editor de código siempre es el mismo, aunque se adapta al tipo de archivo con el
que se esté trabajando. Por el contrario, los diseñadores son específicos a la tarea que debe realizarse,
por lo que hay un diseñador para formularios Web, otro para formas Windows, etc.
La figura 3-7 muestra al mismo formulario con el diseñador Web en modo HTML.
20
Introducción al desarrollo de aplicaciones Web con plataforma .NET
Y también es posible ver ambos modos al mismo tiempo, tal como en la figura 3-8:
Figura 3-8. Vista HTML y la Vista de Diseño del diseñador de formularios Web.
21
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
Ventana de propiedades.
Los elementos que aparecen en los formularios poseen
propiedades por medio de las cuales puede modificarse su
apariencia y funcionalidad. La ventana de propiedades
proporciona el acceso a dichas propiedades. Incluso, a través
de esta ventana es posible modificar las propiedades de
cualquier elemento que se haya seleccionado en el explorador
de soluciones, aún en caso de que no se encuentre en un
diseñador. La figura 3-11 muestra algunos elementos que
aparecen el la ventana de propiedades al ser seleccionada la
etiqueta del formulario WebForm1.
Cada entrada de la lista de propiedades consta de dos partes.
El nombre de la propiedad y el valor asociado, que depende
del tipo de propiedad. Puede tratarse de un color, un
enumerado, una cadena, un número o un objeto. Si bien el
nombre de la propiedad no puede modificarse, es posible
cambiar el valor, para lo cual se emplean cuadros de texto o
listas desplegables con valores predefinidos.
Figura 3-11. La ventana de propiedades.
22
Introducción al desarrollo de aplicaciones Web con plataforma .NET
La primera vez que se ingresa al entorno es costumbre definir la configuración que se quiere contar.
Una configuración determinada le indica al entorno las ventanas que se desea que sean mostradas, su
posición dentro del entorno y la configuración del teclado que se pretende utilizar. Posteriormente, si
se quiere, esta configuración puede modificarse, por medio de la opción Herramientas > Importar y
exportar configuraciones.
Manejo de proyectos.
En la página de inicio se dispone de un recuadro titulado Proyectos Recientes, que permite iniciar un
nuevo proyecto de desarrollo o cargar uno previamente almacenado. Cualquiera de estas acciones se
puede realizar dando clic sobre el enlace “Create Project” o “Open Project” respectivamente.
2
Para la descripción del proceso de instalación de Visual Studio 2008, ver Anexo.
23
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
El cuadro presenta varias zonas con propósitos bien definidos. La zona de la izquierda permite indicar
el tipo de proyecto requerido. Por otra parte, en la zona de la derecha se mostrarán las plantillas
disponibles con que puede iniciarse ese tipo de proyecto. En la parte inferior se dispondrá de un cuadro
de texto donde deberá indicarse el nombre con el que desea identificar el proyecto. Para terminar, de
clic en el botón “OK”, con lo que en el entorno de desarrollo aparecerán los elementos propios del
proyecto seleccionado. En el presente ejemplo, al haberse seleccionado un proyecto C# con una
plantilla de Aplicación Windows, aparecerá un formulario Windows, la lista de elementos para un
proyecto Windows en el cuadro de herramientas, las propiedades del formulario Windows en la
ventana de propiedades, así como los archivos asociados al proyecto en el explorador de soluciones.
La figura 3-14 muestra en forma gráfica todos estos elementos.
La primera vez que se le indique a Visual Studio que guarde todos los documentos haciendo clic en el
botón Guardar Todo (Save All) de la barra de herramientas aparecerá un cuadro de diálogo solicitando
el nombre del proyecto, el nombre de la solución a la que este pertenecerá y la ubicación donde se
desea que se almacene. Esta pantalla se muestra en la figura 3-15.
24
Introducción al desarrollo de aplicaciones Web con plataforma .NET
Ejecución de soluciones.
La ejecución de soluciones en Visual Studio 2008 es realmente simple, basta con dar clic sobre el
botón de iniciar () de la barra de herramientas estándar. El ambiente cargará y compilará el proyecto
en un ensamblado y, en caso de no existir errores, ejecutará el programa en el entorno de desarrollo.
Durante la compilación se mostrarán los pasos ejecutados durante la carga y compilación del
programa, registrando los errores ocurridos (si los hay).
La figura 3-16 muestra la ejecución de la solución “WebApplication1”. En dicha figura se aprecia el
momento en que se ha introducido el texto en el cuadro de texto. Obsérvese que el formulario Web
aparece ejecutándose en el navegador Microsoft Internet Explorer.
25
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
Otras plataformas y
soluciones de
desarrollo 4
Además de .NET, el desarrollador de aplicaciones para Web dispone de otras plataformas y soluciones
de desarrollo. Cada una de ellas presenta ventajas y limitaciones, aunque en muchos puntos se
observan similitudes importantes.
El denominado entorno Java es, con mucho, el principal contendiente de la plataforma .NET de Microsoft.
26
Introducción al desarrollo de aplicaciones Web con plataforma .NET
traducirlas al código nativo del equipo mientras se carga el programa en la máquina virtual, lo que
proporciona una ejecución mucho más rápida aunque pagando una pequeña penalización en forma de
un breve retraso cada vez que se carga nuevo código bytecode.
A diferencia de otros ambientes que proporcionan una gran cantidad de código reutilizable en forma
de bibliotecas dinámicamente cargables (DLL’s) que las aplicaciones invocan en tiempo de ejecución,
la plataforma Java ofrece una biblioteca de clases estandarizadas que proporcionan la mayoría de las
funciones reutilizables comúnmente encontradas en los sistemas operativos modernos. Con ello se
obtiene independencia del sistema operativo al lograr que las aplicaciones no requieran de recursos de
software en el equipo donde se ejecutan.
La biblioteca de clases de Java cumple con tres propósitos: Ofrece al programador un conjunto bien
conocido de funciones que realizan tareas comunes, proporciona una interfaz abstracta para las tareas
que normalmente son dependientes de las características específicas del equipo y permite la emulación
de características requeridas por las aplicaciones Java no soportadas en algunos sistemas operativos.
En la figura 3-1 se muestra esquemáticamente el entorno de desarrollo Java, el cual puede compararse
con la figura 2-2 que presenta la estructura básica del .NET Framework. Como puede observarse, en
ambas plataformas se tiene apoyo para el desarrollo de los mismos tipos de aplicaciones. Ambas
plataformas presentan esquemas de ejecución de código “administrado” (por decirlo en términos de
.NET). Existe una aproximada correspondencia de componentes: MVJ de Java con CLR de .NET; Java
Server Pages con ASP.NET, JDBC con ADO.NET; Swing con Windows Forms. Sin embargo, también
existen diferencias apreciables, como el hecho que el ambiente Java es multiplataforma (está soportado
en varios sistemas operativos), en tanto que .NET está enfocado a Windows (aunque se hacen intentos
de llevarlo a entornos gnomo mediante el proyecto mono); la plataforma .NET ofrece al desarrollador
un ambiente que permite seleccionar entre distintos lenguajes de desarrollo, en tanto que la plataforma
de Sun Microsystems está basado exclusivamente en el lenguaje Java; finalmente, a diferencia de Java,
en .NET el código final generado siempre es código nativo.
4.2 . LAMP
El acrónimo LAMP se aplica a un conjunto de programas de software libre que por lo común se utilizan
en conjunto para ejecutar aplicaciones o sitios Web. En este sentido, se trata de una plataforma Web de
código libre. El acrónimo fue acuñado por Michael Kunze en un artículo aparecido en 1998 en donde
pretendía demostrar que este conjunto de herramientas libres proporcionaba una alternativa viable a
los paquetes comerciales.
Los componentes que integran LAMP son:
• Linux como sistema operativo.
27
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
4.3 . WebObjec ts
Desarrollado por la compañía Apple Computer, Inc y atada al equipo Macintosh, Web Objects es un
ambiente de desarrollo rápido de aplicaciones Web que incluye servicios Web y acceso a datos
soportado en servidores de aplicaciones Java.
Está integrado por:
• Una colección de Frameworks (marcos) Java que proporcionan una funcionalidad común para
aplicaciones Web.
• Un conjunto de herramientas de desarrollo de aplicaciones Web pertenecientes al ambiente
integrado de desarrollo Xcode de Mac OS X, junto con un conjunto de herramientas específicas
para WebObjects, entre las que se encuentran WebObjects Builder y EOModeler.
• Un servidor de aplicaciones Web basado en J2EE, junto con la herramienta de administración
JavaMonitor. Es posible, sin embargo, utilizar en su lugar el servidor de aplicaciones JBoss.
28
Introducción al desarrollo de aplicaciones Web con plataforma .NET
29
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
Definición de proyecto
para desarrollo en el
diplomado 5
Parte del objetivo principal del diplomado es la creación de un producto final (software) por parte del
participante, en el cual se plasme el conocimiento obtenido en el diplomado.
El proyecto deberá ser desarrollado conforme al avance de los módulos contemplados en el diplomado,
con la finalidad de evaluar el desempeño del participante y darle oportunidad de reforzar sus
conocimientos, con lo cual se buscará que al final de cada uno de los módulos se vayan desarrollando
cada una de las partes del proyecto final.
Como ejemplo, se proporciona un proyecto prototipo que plantea el desarrollo de un portal de
mensajería, mismo que se presentará en forma de anexo en algunos de los módulos del diplomado.
Para el desarrollo del proyecto se deberá presentar una propuesta preliminar, que será evaluada por el
comité académico del diplomado, con la finalidad de acotar o enriquecer la propuesta presentada por
el participante.
Además de la propuesta, conforme al avance que se tenga en los módulos del diplomado, el
participante deberá presentar junto con el código del modulo del proyecto que corresponda, la
documentación técnica empleada para el análisis, construcción y desarrollo del mismo, tal como son:
• Diagramas de casos de uso.
• Diagramas de estado.
• Diagramas de flujo.
• Diagramas entidad relación de base de datos.
• Diagramas de clases.
5.1 . Propuesta
La propuesta deberá contener una serie de lineamientos sobre el producto final deseado, con el fin de que
cumpla con los requisitos mínimos para poder ser visto como un proyecto comercialmente aceptable.
La propuesta del proyecto deberá incluir:
• Antecedente. Marco de trabajo en el que se desarrolla el proyecto.
• Objetivo. Alcance que tendrá el proyecto.
• Esquema Actual. El esquema actual se presentará si el proyecto tiene como objetivo mejorar
algún proceso existente, explicándose de forma breve como se realiza el proceso actual que se
pretende mejorar.
30
Introducción al desarrollo de aplicaciones Web con plataforma .NET
• Esquema Propuesto. Se planteará la serie de pasos que deberán seguirse para alcanzar el objetivo
propuesto, la serie de pasos y procesos se deberán de ver de forma abstracta.
31
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
de Visual Studio como son WebControls, HTMLControls, Tags en HTML o XML haciendo uso de
lenguaje Visual Basic .NET y con el apoyo de algún lenguaje de script (vbscript, javascript, etc.).
La capa de procesos de la interfaz de usuario deberá encargarse del enlace de la información entre los
componentes de la interfaz y la capa de regla de negocios. Este proceso se deberá realizar organizando
el código del manejo de la interfaz en archivos de clases que estarán enlazados a los formularios Web
de ASP.NET. Para facilitar el mantenimiento de la aplicación. Los componentes encapsulados en estas
clases deben encargarse de mostrar, obtener y validar la información procedente de los usuarios e
interpretar las acciones y los flujos que se deseen realizar sobre el sistema.
32
Introducción al desarrollo de aplicaciones Web con plataforma .NET
Objetivos
El desarrollo de la presente aplicación tiene como finalidad poder ofrecer al cliente del servicio de
mensajería las herramientas necesarias para que desde su domicilio personal o localidad de trabajo,
pueda pedir la recolección de su envió en su domicilio o en algún otro lugar y pueda indicar la ruta de
destino del mismo desde algún origen en el área de servicio.
Los objetivos particulares de esta propuesta son:
• Tener una mayor captación de clientes al ofrecer un servicio rápido y cómodo que les permita
hacer el envió o recepción de sus paquetes sin necesidad de salir de su casa o lugar de trabajo.
• Poder ofrecerle a los clientes la capacidad de dar seguimiento en todo momento a sus paquetes y
poder ser informados de forma automática (por medio de email) del momento en el que el envió
haya cambiado de ubicación.
• Contar con la seguridad de hacer el pago de sus servicios por un medio electrónico.
• Disminuir los gastos de operación que requiere el uso de muchas oficinas que se encarguen del
almacenamiento de los paquetes de envió y de los protocolos de recepción de los paquetes.
Esquema Actual
Actualmente el servicio de mensajería cuenta con “n” oficinas encargadas de la recepción de los
productos de los clientes.
Cuando un cliente llega a una de estas oficinas, dicho cliente tiene que transportar su paquete desde su
domicilio u otra ubicación hasta la oficina de recepción.
Al ser recibido el paquete dentro de la oficina, el encargado pesa el paquete y pide información acerca
de su contenido y en su caso se encarga del embalaje del paquete, solicita el lugar de entrega y la
persona que se encargará de recibirlo, le asigna un número de guía y lo almacena en la bodega para
posteriormente asignarle un transportista, de acuerdo al horario en el cual el paquete llegó a la oficina,
el nivel de prioridad que tiene para su entrega, el lugar en el cual se debe de entregar y los
transportistas disponibles para tal caso.
Posteriormente, el encargado de la oficina de recepción solicita el pago del servicio al cliente, según
las condiciones del servicio y el lugar de entrega del paquete que será enviado.
La elección del transportista o transportistas se decide de acuerdo a las rutas que debe seguir el paquete
para llegar a su destino final, de tal forma que se trate de aprovechar la disponibilidad y ubicación de
los transportistas, esto ocurre en todos los casos salvo el caso en el que se trata de un pedido especial,
lo cual implica que el pedido es trasladado desde la oficina y es directamente enviado a su destino final
sin tener que presentar el enrutamiento propuesto.
Esquema Propuesto
El cliente accederá al portal de la empresa de mensajería y por medio de la página del portal solicitará
el servicio, la página deberá pedir el ingreso del cliente al sistema por medio de un identificador de
usuario (su cuenta de email) y contraseña para los clientes registrados en el sistema. En el caso de que
el cliente no se encontrará registrado, deberá registrarse en el sitio, debiendo proporcionar algunos
datos personales.
Ya dentro del portal, el cliente podrá solicitar la recolección de su paquete en una ubicación que
puede corresponder a su domicilio o bien, otro sitio, indicando los datos del lugar y la información
referente al paquete que quiere enviar, el destino final del mismo, las fechas y horarios de recolección
33
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
y entrega deseadas para el paquete, los datos de las personas encargadas de entregar y recibir el
paquete, así como el tipo de envió que quiere que su paquete tenga.
El cliente decidirá el tipo de seguimiento que desea dar a su servicio, por medio del portal (ingresando
al portal de forma esporádica para saber el estado de su pedido), por medio de email (recibiendo
mensajes en su correo electrónico avisándole el lugar o punto en el que se encuentra su envío) o por
medio de un dispositivo móvil (un esquema igual al anterior, sólo que podrá recibir los mensajes en un
PDA o en un teléfono celular).
El cliente hará el pago del envío por medio de una tarjeta bancaria, ingresando la información referente al
titular de la tarjeta, el número y tipo de tarjeta, la fecha de vencimiento, el número de verificación en caso
de que existiera, para lo cual la aplicación deberá de proporcionar un medio de comunicación seguro.
Al momento de efectuar la confirmación del servicio, el cliente recibirá una clave de servicio y la
aplicación deberá avisar internamente al encargado de la asignación de rutas y envíos el lugar al que se
debe de dirigir al transportista para hacer la recolección del envío y la ruta, parcial o final, por la cual
debe de dirigirse el envío. Al transportista se deberá entregar una hoja en donde se encontrará toda la
información referente al pedido y la impresión de 2 bauchers para la firma de confirmación de pago y
el comprobante del cliente.
El encargado de la aplicación deberá poseer las herramientas necesarias para poder controlar,
mantener y decidir las rutas de envío, la asignación de transportistas, la consulta de los envíos, el total
de montos cobrados, así como el mantenimiento a los catálogos internos del sistema.
34
Introducción al desarrollo de aplicaciones Web con plataforma .NET
A lc ances de la
plataforma 6
La plataforma .NET nos permite desarrollar aplicaciones en consola, aplicaciones de escritorio,
aplicaciones Web, servicios Web y aplicaciones para dispositivos móviles de forma sencilla, ya que
ellas comparten las mismas librerías, lenguajes y sintaxis, con mínimas variaciones entre ellos.
A continuación vamos a desarrollar el clásico Hola Mundo en cada una de las modalidades
mencionadas anteriormente.
6.1 . Consola
Para iniciar con una aplicación de consola en Visual Studio 2008, debemos hacer clic en “File”, y
luego clic en “New Project…”. Se debe abrir una ventana como en la Figura 5-1. Del lado izquierdo
debemos seleccionar “Other Languages”, luego seleccionar “Visual C#” y luego el tipo “Windows”.
Después, del lado derecho seleccionar “Console Aplication”. En la parte inferior de la ventana escribir
un nombre para nuestro proyecto y por último hacer clic en el botón “Ok”.
35
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
Entonces se generan los archivos necesarios para el proyecto y se despliega en la pantalla el archivo
“Program.cs”, como en la Figura 5-2. Este archivo ya tiene la sintaxis básica para ejecutar un programa.
En el método “Main” escribimos le siguiente código:
System.Console.WriteLine(“Hola Mundo!”);
Para ejecutar nuestro programa debemos hacer clic en botón “Start Debugging” que es el icono con
una flecha verde en la barra estándar o presionar la tecla F5. Entonces se desplegará otra pantalla con
el resultado, como se muestra en la Figura 5-3.
36
Introducción al desarrollo de aplicaciones Web con plataforma .NET
6.2 . Windows
Para desarrollar una aplicación de
escritorio basado en ventanas o
formularios, el primer paso es similar al
apartado anterior. Hacemos clic en
“File”, clic en “New Project…”.
Entonces aparece una nueva ventana,
como la que se muestra en la Figura 5-4,
seleccionamos “Other Languages”,
luego seleccionamos “Visual C#” y
luego seleccionamos “Windows”. Del
lado derecho seleccionamos “Windows
Forms Application” y en la parte inferior
escribimos un nombre para el proyecto.
Figura 5-4. Crear una aplicación de escritorio.
Hacemos clic en “Ok”.
Se muestra un formulario vacío en la pantalla. Hacemos clic en el botón “Toolbox” que se encuentra
en la barra estándar. Se debe desplegar un panel del lado izquierdo de la ventana con los controles
básicos de Visual Studio 2008, como se muestra en la Figura 5-5. Hacemos doble clic en el control
“Label” y se despliega una etiqueta en el formulario. Seleccionamos la etiqueta, en panel de
propiedades buscamos la propiedad “Text” y le cambiamos su valor a “Hola Mundo!”.
37
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
Para ejecutar nuestra aplicación hacemos clic en el botón “Start Debugging” que se encuentra en la
barra estándar. Como resultado se desplegará nuestra aplicación como se muestra en la Figura 5-6.
6.3 . Web
Para desarrollar una aplicación Web, debemos hacer clic en “File”, clic en “New Project…”. Entonces
aparece una nueva ventana, como la que se muestra en la Figura 5-7. Seleccionamos “Other
Languages”, luego seleccionamos “Visual C#” y luego seleccionamos “Web”. Del lado derecho
seleccionamos “ASP .NET Web Application” y en la parte inferior escribimos un nombre para el
proyecto. Hacemos clic en “Ok”.
38
Introducción al desarrollo de aplicaciones Web con plataforma .NET
Para ejecutar nuestra aplicación Web, presionamos el botón “Start debugging” de la barra estándar. En ese
momento un globo en la barra de tareas nos indica que ha arrancado un servidor Web de modo local, el
cual hace posible el procesamiento de nuestra aplicación. Unos segundos después se abre una ventana de
Internet Explorer o el navegador predefinido mostrando el resultado, tal como se ve en la Figura 5-9.
39
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
6.4 . Servicios W eb
Para desarrollar un Servicio Web, debemos hacer clic en “File”, clic en “New Project…”. Entonces
aparece una nueva ventana, como la que se muestra en la Figura 5-10. Seleccionamos “Other
Languages”, luego seleccionamos “Visual C#” y luego seleccionamos “Web”. Ahora, del lado derecho
seleccionamos “ASP .NET Web Service Application” y en la parte inferior escribimos un nombre para el
proyecto. Hacemos clic en “Ok”.
En la pantalla se despliega lo que es la clase principal del Servicio Web, como se ve en la Figura 5-11.
Visual Studio 2008 ya ha escrito el programa Hola Mundo por nosotros, lo único que nos queda es
traducirlo al español. Para eso cambiamos de nombre al método de HelloWorld() por
HolaMundo() y el mensaje de “Hello World” por el mensaje “Hola Mundo!”.
40
Introducción al desarrollo de aplicaciones Web con plataforma .NET
Para ejecutar nuestro Servicio Web debemos presionar el botón “Start debugging” que se encuentra en
la barra estándar. Un globo en la barra de tareas nos indica que un servidor Web está corriendo de
modo local, el cual procesará las peticiones que se hagan por medio del navegador web. También se
abre una ventana de Internet Explorer o el navegador predefinido, donde se listan las diferentes
operaciones o métodos que hallamos declarado en nuestro Servicio Web. En este caso sólo hemos
declarado la operación “HolaMundo”, como se muestra en la Figura 5-12.
Si hacemos clic sobre la operación “HolaMundo”, el navegador se dirige a una pantalla con la
descripción de nuestra operación así como un ejemplo de cómo debemos invocar a esta operación en
específico, tal como se muestra en la figura 5-13.
41
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
Si se hace clic sobre el botón Invocar, el navegador invoca esta operación del Servicio Web y se dirige
a una pantalla con la respuesta de la operación, como se muestra en la figura 5-14.
Con esto hemos concluido el ejemplo de Hola Mundo en su versión de Servicio Web.
42
Introducción al desarrollo de aplicaciones Web con plataforma .NET
Instalación de
V isual S tudio 2008 7
7.1 . Configuración requerida
Para instalar Visual Studio 2008 se requiere contar con un equipo con procesador Intel Pentium 4 o
compatible con velocidad de reloj de 1.6 GHz o superior y con al menos 512 Mb de memoria RAM, o
una velocidad de reloj de 2.2 GHz y 1 Gb de memoria RAM para Windows Vista. En cuanto a espacio
de almacenamiento, se requieren al menos 1.22 Gb en la unidad donde se encuentra alojado el sistema
y hasta 2 Gb en la unidad donde se instale el software. La resolución mínima del monitor es de
1024x768. Y una velocidad de disco duro de 5400 RPM.
Es indispensable tener instalado como sistema operativo a Windows 2003 Server, Windows Vista o
Windows XP con SP2. Si al instalar el sistema operativo no se optó por colocar el Internet Information
Server (IIS), es altamente recomendable realizar su instalación antes de instalar Visual Studio.
43
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
La instalación de Visual Studio continúa dando acceso a la ventana “Options Page”. El usuario puede
indicar los elementos que serán instalados (herramientas, lenguajes y documentación). De clic sobre los
cuadros correspondientes para seleccionar/descartar los elementos a instalar, así como sobre los cuadros
de despliegue/retracción de las ramas para revisar los contenidos. En el lado derecho de la ventana
aparecerán datos relacionados con el elemento señalado, así como información sobre el espacio de
almacenamiento disponible y utilizado en la unidad donde se está realizando la instalación. Una vez
concluida la inspección y/o selección de componentes, de clic en “Install” para proceder a la instalación.
La Figura 7-3 muestra la ventana “Options Page”.
44
Introducción al desarrollo de aplicaciones Web con plataforma .NET
En la parte final de la instalación se tiene acceso a la alerta “Install Page”, la cual proporciona una barra
de estado que muestra el avance del proceso, junto con información general sobre algunos aspectos
importantes y novedosos asociados a Visual Studio 2008. A partir de esta pantalla, la instalación procede
en forma automática, salvo en los casos que se requiera cambio de CD, en cuyo caso, aparecerá un
cuadro de diálogo indicando el disco requerido. Esta ventana se muestra en la Figura 7-4.
Al concluirse la instalación, el usuario es notificado con un reporte de los errores que se produjeron
durante el proceso (si los hubo), así como con notas de seguridad e indicaciones donde se recomienda la
instalación de otras herramientas opcionales. Después de revisar dicha información, de clic en “Finish”.
La Figura 7-5 muestra un ejemplo de reporte final de instalación.
45
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
Por último, aparece una alerta que nos pide reiniciar la computadora para completar la instalación, tal
como se observa en la Figura 7-6. De clic en “Restart Now” para reiniciar en ese mismo momento o de
clic en “Restart Later” para posponer esta actividad.
La primera vez que se abre el Visual Studio 2008 aparece una ventana indicándonos que debemos
seleccionar nuestro ambiente de trabajo. Al seleccionar cada uno de los posibles ambientes de trabajo
aparece una breve descripción del lado derecho, como se muestra en la Figura 7-7. Si no se está
completamente seguro del ambiente seleccionado, se podrá cambiar de ambiente en cualquier momento
haciendo clic en el menú “Tools”, luego clic en “Import and Export Settings” y clic en “Reset all settings”.
46
Introducción al desarrollo de aplicaciones Web con plataforma .NET
BIBLIOGRAFÍA
• Apuntes del I Módulo del Diplomado de Desarrollo de Sistemas en Web “Fundamentos del
desarrollo de sistemas en Web”.
M. en C. Marcelo Pérez Medel
División de Educación Continua, ENEP Aragón - UNAM
• Hank Meyne, Scott Davis. Developing Web Applications with ASP.NET and C#. Wiley; 1
edición, 2002. 416 páginas.ISBN-10: 0471120901. ISBN-13: 978-0471120902
• Matthew MacDonald, Mario Szpuszta. Pro ASP.NET 3.5 in C# 2008, Apress; 2a edición, 2007.
1498 páginas. ISBN-10: 1590598938, ISBN-13: 978-1590598931
http://www.onlamp.com/pub/a/onlamp/2005/06/23/whatdevswant.html
http://en.wikipedia.org/wiki/Web_application
http://en.wikipedia.org/wiki/Software_architecture
http://en.wikipedia.org/wiki/Client-server_model
http://en.wikipedia.org/wiki/Microsoft_.Net
47
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
DR. JOSÉ NARRO ROBLES
Rector
DR. SERGIO M. ALCOCER MARTÍNEZ DE CASTRO
Secretario General
MTRO. JUAN JOSÉ PÉREZ CASTAÑEDA
Secretario Administrativo
DRA. ROSAURA RUIZ GUTIÉRREZ
Secretaria de Desarrollo Institucional
MC. RAMIRO JESÚS SANDOVAL
Secretario de Servicios a la Comunidad
LIC. LUIS RAÚL GONZÁLEZ PÉREZ
Abogado General
Mayo de 2008
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo
48