0% encontró este documento útil (0 votos)
33 vistas

Modulo 1

Este documento introduce conceptos básicos sobre el desarrollo de aplicaciones web, incluyendo definiciones de aplicación web, arquitectura de software, modelo cliente-servidor y cómo funciona sobre HTTP.

Cargado por

Ann Gypsi
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
33 vistas

Modulo 1

Este documento introduce conceptos básicos sobre el desarrollo de aplicaciones web, incluyendo definiciones de aplicación web, arquitectura de software, modelo cliente-servidor y cómo funciona sobre HTTP.

Cargado por

Ann Gypsi
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 47

Dirección General de Servicios de Cómputo Académico

Dirección de Cómputo para la Docencia

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

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO


Rector
José Narro Robles

Secretario General
Sergio M. Alcocer Martínez de Castro

Director General de Servicios de Cómputo Académico


Ignacio de Jesús Ania Briseño

Directora de Cómputo para la Docencia


Carmen Bravo Chaveste

Diplomado Desarrollo de aplicaciones web con .NET


MÓDULO I. INTRODUCCIÓN AL DESARROLLO DE APLICACIONES
WEB CON PLATAFORMA .NET

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.

DIRECCIÓN GENERAL DE SERVICIOS DE CÓMPUTO ACADÉMICO


Prohibida la reproducción total o parcial por cualquier medio
sin la autorización escrita del titular de los derechos patrimoniales

1ª. edición 2008

Impreso y hecho en México

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.

1.2 . Arquitectura de software


La arquitectura de software es una representación abstracta de un sistema de software capaz de ser
ejecutado en una computadora de propósito general o particular. Puede visualizarse como un esquema
particionado con todos los elementos de software requeridos, organizados en conjuntos operativos, o
subsistemas, claramente delimitados.
Una arquitectura de software es robusta cuando exhibe un óptimo grado de tolerancia a fallas,
compatibilidad, extensibilidad, confiabilidad, facilidad de mantenimiento, disponibilidad y usabilidad.
A continuación describiremos cada uno de estos conceptos:

Tolerancia a las Es la propiedad que posibilita a un sistema a continuar operando en el caso


fallas. de que se produzca un fallo en alguno de sus componentes.
Compatibilidad. Es la capacidad de tomar el lugar de otro sistema o versión previa y continuar
interoperando con los sistemas relacionados con el sistema antiguo.
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo

Extensibilidad. Es el principio de diseño de un sistema donde la implementación toma en


consideración su futuro desarrollo.

Confiabilidad. Es la capacidad de un sistema de desempeñar sus funciones tanto en


circunstancias rutinarias como en caso que se presenten situaciones hostiles o
inesperadas.

Facilidad de Se expresa como la probabilidad de que un elemento sea restaurado a una


mantenimiento. condición específica durante el periodo de tiempo en que se realiza el
mantenimiento. Es el grado de facilidad con la cual se puede realizar el
mantenimiento de una unidad funcional de acuerdo a los requerimientos
prescritos.

Disponibilidad. El grado en el cual un sistema es operable. También el periodo de tiempo en


que un sistema está en condiciones de funcionar adecuadamente.

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 . Arquitectura C liente - S ervidor


Las aplicaciones Web descansan en un modelo de desempeño en red conocido como cliente-servidor.
Si bien no se trata de la única posibilidad (existen otras arquitecturas), la cliente-servidor presenta
múltiples ventajas.
Se conoce como cliente servidor a una arquitectura soportada por una red que separa al cliente (con
frecuencia una interfaz gráfica1 para el usuario) de un servidor. Cada instancia del software cliente
puede enviar una petición a un servidor o aplicación servidor. Existen muchos tipos de servidor;
algunos ejemplos incluyen: un servidor de base de datos, un servidor de archivos, un servidor de
Terminal, un servidor de correo, etc. Mientras sus propósitos pueden variar, las bases de la arquitectura
se mantienen iguales.
Aunque esta idea se aplica de varias maneras o en muchas clases de aplicaciones, la forma más simple
de ejemplificarla es analizando el comportamiento de las páginas Web en Internet. Por ejemplo, si se
está leyendo una página Web en Internet, la computadora del lector y el navegador Web son
considerados el cliente, en tanto que el equipo (o los equipos), las bases de datos y las aplicaciones que
soportan la página Web se consideran el servidor. Cuando el navegador solicita una página en
particular, el servidor busca la información relacionada, la ensambla como página Web y la envía de
regreso al navegador para que pueda ser desplegada.

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

(aunque no siempre) es ejecutado en poderosos equipos dedicados a la ejecución de la aplicación de


negocio, en tanto que el software cliente corre en equipos personales, estaciones de trabajo o PDA’s.
Propiedades de un servidor
• Pasivo (esclavo).
• A la espera de peticiones.
• Al recibir una petición, prepara y envía la respuesta.
Propiedades de un cliente
• Activo (amo o maestro).
• Envía peticiones.
• Espera hasta recibir la respuesta.

1.3.2 . Arquitectura C liente - Servidor sobre HTTP


Todas las aplicaciones Web usan el esquema cliente-servidor. Cada vez que se navega entre las
páginas de una red, el navegador (Internet Explorer, Firefox, Opera) hace el rol del cliente. Este envía
una petición al servidor a través de la red, donde se especifica el host, la versión del protocolo HTTP, el
método, la ubicación del archivo que se ha solicitado y cookies entre otros datos. En ese momento, el
servidor procesa la petición y devuelve una respuesta, que en muchos casos es un documento HTML.
Tanto la petición que realiza el cliente como la respuesta del servidor, siguen una serie de reglas o
estándares, que han sido agrupados en el protocolo HTTP.
En algunas ocasiones las peticiones del cliente van acompañadas de una cadena de caracteres resultado
de formularios HTML, documentos XML en el caso de Servicios Web o archivos de cualquier tipo cuando
se trasmiten desde la computadora del cliente a cualquier otra computadora conectada a la red.
Asimismo, las respuestas pueden ser archivos HTML, XML, imágenes, código JavaScript, hojas de estilo
CSS, archivos de música o cualquier otro tipo de archivo.
Las peticiones, como las respuestas, se dividen en dos partes fundamentales, la cabeceras HTTP y el
archivo a trasmitirse. El final de las cabeceras e inicio del contenido está delimitado por un doble salto
de línea (vbCrLf).
Por ejemplo, la petición que enviaría un cliente que desea visitar el sitio de Microsoft México es:
GET /mexico/ HTTP/1.1
Host: www.microsoft.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728
Firefox/1.5.0.6
Keep-Alive: 300
Connection: keep-alive
Cookie: WT_FPC=id=189.145.188.203-165996240.29883560:lv=1190435768640
La respuesta del servidor de Microsoft sería algo así:

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >


<html dir="ltr" lang="es">
<head>
<!—- . . . -->
<head>
<body>
<!—- . . . -->
</body>
</html>

1.4 . Arquitectura en capas


1.4.1 . Antecedentes
Los modelos en capas se derivan de la arquitectura cliente-servidor y se caracterizan por su énfasis en
la estructuración de una aplicación en términos de “agrupaciones funcionales” tales como: interfaz de
usuario, manejo de datos y reglas de negocio.
Las capas se construyen con base en componentes y se encargan de realizar servicios. Los servicios son
conceptos lógicos, en tanto que los componentes son “paquetes” de código compilado, que residen en
archivos separados. Una buena razón para construir las capas como una colección de componentes, es
la probabilidad de que cambie la lógica de la aplicación, teniéndose que reescribir el código. Si los
componentes fueron planeados de forma tal que su funcionalidad esté bien definida, sólo será
necesario reescribir los componentes afectados por el cambio.
.NET está provisto de un modelo robusto para el desarrollo de aplicaciones basadas en este tipo de
arquitectura, permitiendo separar de forma más clara y sencilla los diferentes componentes que se
encontrarán en cada una de las tres capas antes mencionadas.

14.2 . Capas de un a aplicación Web


Interfaz de Usuario.
La interfaz de usuario es el conjunto de medios a través de los cuales la gente (usuario) interactúa con
una aplicación en particular. Incluye medios tanto para permitir que el usuario controle un sistema
(medios de entrada) como canales para que el sistema informe al usuario (medios de salida). El diseño y
la construcción de la interfaz de usuario es una tarea que normalmente debería encarar un grupo
interdisciplinario, dado que excede, con mucho, el mero aspecto técnico de la programación.
Para cubrir este rubro .NET ofrece varias posibilidades como lo son el uso de páginas Web con Code-
Behind, las cuales están compuestas de dos archivos: uno para la capa de interfaz de usuario y otro
para la capa de reglas de negocio (que se describirá en breve). También ofrece la opción de utilizar el
nuevo lenguaje llamado XAML que permite crear una interfaz de usuario sin tener que escribir nada de
código. Incluso existen herramientas poderosas cuya finalidad en concreto es diseñar y crear la interfaz
de usuario.

8
Introducción al desarrollo de aplicaciones Web con plataforma .NET

Capa de manejo de datos.


El manejo de datos se refiere a las actividades relacionadas con el almacenamiento, búsqueda y
recuperación de datos almacenados en una base de datos. Dada su enorme importancia existe un gran
nivel de estandarización en torno a los mecanismos de acceso a datos. Uno de los intentos más
significativos en este sentido es el ODBC (Open DataBase Connectivity) que consiste en un estándar
para el acceso a los datos, en el cual se crea un controlador específico para la base de datos a manejar
en el servidor correspondiente. A partir de ahí, el programador utiliza una librería de objetos para el
acceso, de forma que todos los objetos de la base de datos aparecen ante él como objetos
programables dentro de esa jerarquía. Si se cambian los datos de un Manejador de Bases de datos a
otro, bastará con cambiar el controlador para que la aplicación siga funcionando sin mayor alteración.
Para esto .NET posee una tecnología llamada LINQ, cuyo objetivo es facilitar la tarea de acceder a los
datos, además de ADO.NET con el cual se pueden manipular los datos tanto como se requiera.

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.

2. Clientes: Estos son PC’s, laptops, estaciones de trabajo, teléfonos, computadoras


de mano (hand-held), Tablet PC, consolas de juegos, así como otros
dispositivos inteligentes. Lo que convierte a estos dispositivos en
inteligentes es su capacidad de acceder a los servicios Web XML. Los
clientes inteligentes usan software que soporta los servicios Web XML
y permite acceder a los datos no importando la ubicación, el tipo o la
cantidad de clientes empleados.
3. Servicios Web XML: Ofrecen una forma directa para que las aplicaciones interactúen con
otras aplicaciones en la Web. Las aplicaciones, ya sea que se trate de
aplicaciones locales o ubicadas en sistemas remotos, pueden
comunicarse vía Internet usando XML y mensajes SOAP. Junto con los
desarrolladores que crean servicios Web XML, Microsoft está creando
un conjunto base de bloques de construcción de servicios que realizan
tareas rutinarias y que actúan como los cimientos sobre los que
construirán los desarrolladores. El primer conjunto de servicios Web
XML construido, que se conoce como .NET My Services, emplea
servicios centrados en el usuario: servicios orientados a la gente en vez
de dispositivos, redes o aplicaciones.

4. Servidores: Los Servidores .NET Enterprise de Microsoft, incluyendo a la familia de


servidores Windows 2000 y Windows 2003 Server, integran la
infraestructura de servidores de Microsoft para colocar, administrar y
orquestar Servicios Web XML. También se deben contar aquí los
servidores específicos para las diferentes tareas que se realizan en el

10
Introducción al desarrollo de aplicaciones Web con plataforma .NET

“servidor”. Entre otros se encuentran el SQL Server, el Exchange Server


y el BizTalk Server.

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.

2.1 . .NET Framework


El Microsoft .NET Framework ofrece a los desarrolladores un principio básico que puede usarse con
todos los lenguajes soportados. Así, toda aplicación que use este marco de trabajo dependerá de una
colección fundamental llamada Common Language Runtime (CLR). El CLR ofrece un conjunto común
de tipos de datos y otros servicios que pueden ser utilizados por todos los lenguajes que se basan en el
.NET Framework.
Además del CLR, el .NET Framework proporciona una gran cantidad de soluciones pre-codificadas
para atender requerimientos comunes de programación, además de administrar la ejecución de
programas escritos específicamente para el .NET Framework.

Los principales componentes del .NET Framework se


muestran en la figura 2-2 agrupados en el área delimitada
por el rectángulo de línea punteada. Como se aprecia,
pueden generarse distintos tipos de aplicaciones. Todos
los servicios de la biblioteca de clases están
fundamentados en el CLR, por tanto, las aplicaciones
pueden utilizarlos según sea necesario.
Los programas escritos para .NET Framework se ejecutan
en un ambiente de software que “administra” los
requerimientos de ejecución de los programas y por tanto
es conocido como código administrado. Está orientado a
objetos, así que los objetos que genera y utiliza se conocen
como objetos administrados. Un objeto administrado
puede utilizar y heredarse de otro objeto administrado,
Figura 2-2. Estructura del .NET Framework.
aunque ambos estén escritos en lenguajes diferentes.

11
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo

2.2 . Common Language Runtime


El CLR es la base de todo en el .NET Framework. Es utilizado por toda aplicación del marco de trabajo
sin importar el lenguaje en que se haya escrito la aplicación, y también es la base de la biblioteca de
clases del .NET Framework.
El CLR define una semántica común para los lenguajes que están basados en él, sin ocuparse de la
sintaxis. Por ello, es posible escribir una parte de una aplicación en algún lenguaje .NET y la otra
usando otro distinto, y lograr que ambas trabajen sin incompatibilidades.
Además de un conjunto de tipos normalizados, el CLR proporciona otros servicios básicos como:
• Recolección de basura. La eliminación automática de objetos administrados a los que a partir de
un momento determinado de la ejecución de la aplicación ya no se hace referencia.
• Formato para metadatos. Los metadatos son información que se almacena en el código
compilado relacionada con cada tipo empleado, lo que elimina la necesidad de contar con
bibliotecas de tipos separadas y permite que las interfaces y las clases sean definidas
directamente en el lenguaje de programación con el que se está programando.
• Ensamblado. Los ensamblados se integran siguiendo un esquema común para organizar el código
compilado. Pueden constar de una o varias bibliotecas de vínculos dinámicos (DLL’s) y de
ejecutables (EXE’s) e incluir información adicional para las clases que contiene (metadatos).
Al compilar un programa escrito en cualquiera que sea el lenguaje administrado que se utilice, se
obtiene código en un lenguaje intermedio (MSIL, por MicroSoft Intermediate Language) en lugar del
código binario específico del procesador. MSIL es un conjunto de instrucciones independientes de
algún procesador y que se orienta a la realización de operaciones típicas como la carga y el
almacenamiento de información y la ejecución de métodos. Cualquier DLL o EXE en un ensamblado
está escrito en MSIL, por lo que al ejecutar una aplicación, el código MSIL debe traducirse previamente
al código nativo.
El CLR es el responsable de traducir el código MSIL de una aplicación y obtener el código nativo del
procesador particular del sistema en que se ejecuta la aplicación. El CLR también se encarga de
manejar el acceso seguro al código, así como de otras tareas específicas en tiempo de ejecución.
El la figura 2-3 se esquematiza el proceso de compilación y ejecución de código administrado. En ella
puede observarse que el código fuente se transforma en MSIL con la ayuda del compilador adecuado al
lenguaje empleado, y que también se encarga de generar los metadatos que se almacenan en el mismo
archivo que el MSIL. La ejecución del código requiere la previa transformación del MSIL en código
nativo. De manera predeterminada, cada método de una aplicación en ejecución se compila la primera
vez que se invoca. Debido a que el método se compila en tempo de ejecución, esta tecnología se
conoce como compilación al momento, compilación justo a tiempo o JIT (Just In Time).

Figura 2.3. Compilación y ejecución de código administrado.

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.3 . La biblioteca de clases del .NET Framework


Se trata de una colección de clases y otros tipos que ofrecen al programador soluciones pre-
codificadas, cubriendo un amplio rango de requerimientos de programación en áreas que incluyen la
interfaz de usuario, el acceso a datos, criptografía, algoritmos numéricos, acceso a archivos y
comunicación en red, la facultad de crear y trabajar con documentos XML, servicios para acceso
remoto. Los métodos de la biblioteca de clases pueden usarse en cualquier aplicación escrita en
cualquier lenguaje que se base en esta tecnología.
El contenido de la biblioteca de clases de .NET Framework está organizado en espacios nominales o
espacios de nombres. Cada espacio puede contener tipos, como clases o interfaces, u otros espacios de
nombres. System es la raíz del árbol jerárquico, pues contiene a todos los demás espacios, así como a
sus tipos propios. Entre los más importantes se encuentran:
• System. Además de todos los otros espacios de nombres de la biblioteca, también contiene los
tipos de datos básicos utilizados por el CLR. Entre ellos se encuentran una gran variedad tipos
numéricos, de cadena de caracteres y otros. Además del objeto Object, a partir del cual heredan
todas las clases de .NET.
• System.Web. Los tipos incluidos en este espacio conforman ASP.NET. En particular, los tipos
existentes en System.Web.UI se utilizan en la construcción de las aplicaciones que pueden
accederse mediante navegadores Web, en tanto que los de System.Web.Services sirven para
generar aplicaciones de servicios Web XML.
• System.Data. Corresponden a ADO.NET. Así, la clase Connection se utiliza para conectarse a
una Base de Datos, mientras que una instancia de la clase DataSet puede utilizarse para
almacenar de manera temporal y analizar los resultados de una consulta.
• System.Windows.Forms. En este espacio se ubican los tipos empleados para construir las
interfaces gráficas de usuario que se usan en Windows.
• System.EnterpriseServices. proporciona acceso a clases para transacciones distribuidas.
• System.XML. Permite la generación y uso de datos definidos por XML. Por ejemplo, se cuenta
con la clase XmlDocument, que permite el acceso de un documento XML mediante el DOM
(Modelo de Objetos de Documento).
A continuación se explicarán algunas de las tecnologías más importantes provistas en la biblioteca de
clases del .NET.

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.

Figura 2-4. Operaciones con 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

2.6 . Servicios Web XML


Un servicio Web XML es una evolución natural en la forma de aprovechar Internet. Desde sus inicios,
el acceso a la Web lo realizaban los usuarios a través de los navegadores Web utilizando el protocolo
HTTP para realizar las peticiones, obteniendo como resultado una respuesta en forma de código HTML.
En un servicio Web XML el cliente de estos servicios es una aplicación que se ejecuta en un dispositivo
con capacidad de conexión a Internet (una computadora, un teléfono celular, una PDA, etc., incluso
puede ser otro servicio Web). Las operaciones solicitadas por tales clientes utilizan otros protocolos y
las respuestas obtenidas están codificadas en XML.
En la implementación de los servicios Web XML participan varias tecnologías. En primer lugar, se
requiere un mecanismo para la definición de las interfaces estándares para estos Servicios. Con .NET,
las interfaces de servicios Web XML se especifican generalmente a través del WSDL (Lenguaje de
Descripción de Servicios Web), el cual es un lenguaje definido mediante XML y que ofrece una forma
normalizada de especificar las operaciones en una interfaz, los parámetros de entrada y salida de tales
operaciones, entre otras cosas.
Se requiere también un protocolo para invocar a las operaciones de dicha interfaz y devolver el resultado
obtenido. En este caso, la selección recae en SOAP (Protocolo Simple de Acceso a Objetos). SOAP está
definido con XML y además se basa en XML para establecer un formato normalizado de los datos que
transmite. Con SOAP es posible enviar los datos sobre HTTP aunque puede hacerse de otras formas.
Finalmente, se requiere atender el mecanismo por el que los clientes puedan encontrar los servicios
Web XML compatibles. En .NET se ha optado por emplear UDDI (Descripción, Descubrimiento e
Integración Universales), que permite a los desarrolladores de clientes de servicios Web XML localizar
la información que necesitan, tal como interfaces WSDL, para generar clientes que puedan utilizar los
servicios Web XML adecuados. El acceso a esa información se realiza empleando SOAP para leer y
escribir el contenido de la base de datos UDDI.
En la figura 2-1 se muestra la integración de las tecnologías básicas de los servicios Web XML. Un
cliente accede a la UDDI para conocer los servicios Web XML disponibles. Posteriormente, empleando
SOAP se invocan las operaciones de las interfaces (en WSDL)

Figura 2-5. Tecnologías básicas en los servicios Web XML.

15
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo

Visual Stu dio .NET 3


Visual Studio .NET es el entorno de desarrollo que ofrece la plataforma .NET para crear, editar y
depurar código. Se trata de una aplicación personalizable que permite desarrollar programas utilizando
indistintamente Visual Basic.NET, Visual C#.NET, Visual J#.NET y Visual C++.NET.
La versión denominada 2008 incorpora varias ventajas con respecto a sus antecesores. Además de
facilitar aún más tareas y bloques de código comunes, esta versión utiliza la versión 3.5 del .NET
Framework con el cual se pueden utilizar nuevas tecnologías como son Windows Presentation
Foundation, Windows Comunication Foundation y WorkFlow Foundation.
Existen cuatro ediciones distintas de Visual Studio .NET: la express, la estándar, la profesional y la de
equipos de desarrollo. Con respecto a la versión Express se puede encontrar en cuatro modalidades:
para desarrollo de aplicaciones Windows, para desarrollo de aplicaciones Web, creación de
Videojuegos y para creación de drivers.
Visual Studio 2008 ofrece al programador tanto un ambiente integrado de desarrollo (IDE) en donde es
posible editar, compilar y depurar las aplicaciones, como un entorno de desarrollo rápido (RAD), en
donde se pueden desarrollar interfaces de usuario colocando componentes en contenedores, al mismo
tiempo que el código de los eventos que pueden generar dichos componentes es desarrollado con la
ayuda de la herramienta.
Si bien no es estrictamente necesario contar con Visual Studio para poder desarrollar y compilar
aplicaciones de.NET, si es una gran ayuda y un gran acelerador para todo tipo de trabajos de cómputo.

3.1 . Soluciones y proyectos


Las aplicaciones desarrolladas en Visual Studio 2008 integran varios elementos, los cuales se
relacionan en forma jerárquica.
El primer nivel de dicha jerarquía la ocupan las denominadas soluciones. Una solución agrupa
información de uno o más de proyectos y su utilidad radica en que permiten manejar varios proyectos
relacionados entre sí. Los archivos de solución tienen la extensión .sln.
En segundo nivel se encuentran los proyectos. Los proyectos agrupan todos los elementos requeridos
para resolver una determinada tarea de programación, como son formularios, controles, definiciones de
clases, referencias externas, etc. Las extensiones con que se identifican los proyectos dependen del
lenguaje que se utilizó para desarrollarlos. Así, en el caso de emplearse Visual Basic, la extensión
correspondiente será .vsproj; con C#, .csproj.
Cuando una sola solución contiene un solo proyecto, tendrá el mismo efecto abrir el archivo de
solución que el de proyecto. Sin embargo, en las soluciones multiproyecto no es así, por lo que para
trabajar con la solución deberá abrir el archivo .sln.

16
Introducción al desarrollo de aplicaciones Web con plataforma .NET

3.2 . Prestaciones de Visual Studio 200 8


Visual Studio 2008 es un ambiente con diversas herramientas de soporte al desarrollo de aplicaciones.
Puede configurarse utilizándose como referencia a distintos perfiles de usuario predefinidos, mismos que
determinan cuales son las herramientas visibles en un momento determinado. Para la siguiente explicación
se utilizará la configuración de desarrollador de C#, elección que, sin embargo, es fácil de cambiar en
cualquier instante (más adelante se tratará el tema de configuración del ambiente de desarrollo).
La figura 3-1 muestra la apariencia de Visual Studio 2008 cuando se está trabajando con un proyecto.
En este caso, para desarrollar un sitio Web con C# como lenguaje base.

Figura 3-1. Visual Studio 2008 con proyecto WebApplication1.

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”.

Figura 3-2. Ventana del explorador de soluciones.

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.

View Code. Permite trasladar al elemento señalado al editor de código.

View Designer. Coloca el elemento señalado en el diseñador apropiado.

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.

Properties. Proporciona acceso a la ventana de propiedades.

Figura 3-3. Botones de la ventana del explorador de soluciones.

18
Introducción al desarrollo de aplicaciones Web con plataforma .NET

La ventana de vista de clases y el visor de objetos.


Las soluciones y los proyectos agrupan y ordenan los
módulos de último nivel, los cuales tienen definiciones de
clase asociados a formularios, componentes o servicios.
Se puede acceder al código correspondiente mediante un
editor de texto y puede modificarse en forma indirecta a
través de los diseñadores, modificando a los componentes
existentes.
Para tener una visión jerárquica de los espacios de
nombres, clases, métodos y eventos, que integran un
módulo, Visual Studio proporciona la ventana de vista de
clases. Como se mencionó anteriormente, dicha ventana
puede desplegarse empleando el menú Ver (View) y
seleccionando la opción vista de clases (Class View). La
figura 3-4 muestra la ventana de la vista de clases para la Figura 3-4. Ventana de la Vista de Clases
solución WebApplication1. de WebApplication1 .

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.

Figura 3-5. La clase WebForm1 en el visor 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.

En el caso específico de los formularios


Web, Visual Studio proporciona un
diseñador que permite trabajar con la
página Web utilizando la vista de
diseño, donde se muestran los
elementos que integran el formulario y
en vista de código HTML, donde se
pueden editar directamente las
instrucciones de dicho lenguaje. La
figura 3-60 muestra al diseñador de
formularios Web trabajando en el
modo de diseño del formulario. Se
aprecia que se han colocado una
etiqueta fija, un cuadro de texto y un
botón.
Figura 3-6. Diseño de un formulario Web.

La figura 3-7 muestra al mismo formulario con el diseñador Web en modo HTML.

Figura 3-7. Vista HTML del diseñador de formularios Web.

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.

En la figura 3-9 se muestra el


proceso de escribir el código del
método Button1_Clic que se
encarga de proveer la funcionali-
dad del botón Button1, existente
en el formulario WebForm1. El
editor fue activado al darse doble
clic sobre dicho botón desde el
diseñador e formularios Web, con
lo que, además, se generó el
método que se encargará de
responder al evento de dar clic
sobre el botón cuando se ejecute
la aplicación. Al ir introduciendo
el código del método, el editor
proporciona ayuda al indicar los
parámetros del método empleado,
así como la lista de miembros
pertinentes. Figura 3-9.Creación de método Button1_Clic en el editor de código.

21
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo

La figura 3-10 muestra el método terminado.

Figura 3-10. Método Button1_Clic terminado.

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

3.3 . Manejo básico de Visual Studio 200 8


Una vez instalado Visual Studio2, se puede ingresar al ambiente de desarrollo siguiendo el proceso que
se indica a continuación:
• De clic en el botón de inicio.
• Indique con el apuntador del ratón
“Todos los programas”
• Señale el menú “Microsoft Visual
Studio 2008”
• En el menú emergente, de clic en
“Microsoft Visual Studio 2008”.
Una vez realizado el procedimiento ante-
rior, durante un breve lapso aparecerá una
ventana de presentación mostrando los
lenguajes y añadidos con que cuenta el
entorno hasta ese momento. Al desaparecer
dicha pantalla, se podrá observar la página
de inicio del entorno de desarrollo, misma Figura 3-12. Página de inicio del entorno de desarrollo
que se muestra en la figura 3-12. mostrando el cuadro de definición de perfil.

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.

Creación de un proyecto nuevo.


En el caso de solicitar la creación de
un nuevo proyecto dando clic sobre
el enlace de Crear Proyecto (Create
Project) o utilizando el menú File y la
opción New Project, aparecerá un
cuadro de diálogo parecido al de la
figura 3-13.

Figura 3-13. Cuadro de diálogo para crear un proyecto nuevo.

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.

Figura 3-14. Entorno de desarrollo con proyecto recién creado.

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.

Figura 3-15.Pantalla para proporcionar el nombre y la ubicación del proyecto.

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.

Figura 3-16. Ejecución de la solución WebApplication1.

Salir de Visual Studio 2008.


Para salir del ambiente de desarrollo, guarde las soluciones y proyectos realizados empleando el menú
Archivo (File) y la opción Guardar Todo (Save All) y seleccione la opción Salir (Exit) del menú Archivo
(File). También puede utilizar otras opciones de cierre como el botón de cierre de ventana () o la
opción de salir del menú de control.

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.

4.1 . Plataforma Java


La plataforma JAVA es el nombre de un ambiente computacional desarrollado por Sun Microsystems, la
cual puede ejecutar aplicaciones desarrolladas usando el lenguaje de programación Java y un conjunto
de herramientas de desarrollo. En este caso, la plataforma no está constituida por un sistema operativo
o hardware específico, sino por una pieza de software denominada máquina virtual y un conjunto de
bibliotecas estándares que proporcionan una funcionalidad común. Así, se dice que la plataforma Java
es un ambiente de programación para desarrollo y ejecución distribuida de aplicaciones Java con
arquitectura multicapa, basada principalmente en componentes de software modular ejecutándose en
un servidor de aplicaciones.
De manera más precisa la plataforma Java abarca las plataformas Java SE (edición estándar), Java EE
(edición empresarial, antes J2EE hasta la versión 1.4) y la Java ME (edición Micro, anteriormente
denominada J2ME). La versión actual de la plataforma Java se identifica como versión 1.5 o versión 5.
La plataforma Java está integrada por una amplia gama de tecnologías, cada una de las cuales aporta una
parte específica al denominado ambiente de ejecución Java (Java Runtime Enviroment o JRE). Así, por
ejemplo, los usuarios finales interactúan con la denominada máquina virtual Java (Java Virtual Machine,
JVM o simplemente VM) y el conjunto normalizado de clases (biblioteca de clases). Además, existen
diversas maneras de distribuir e instalar las aplicaciones Java, incluyendo la posibilidad de ejecutarlas
desde una página Web. Finalmente, los desarrolladores que crean las aplicaciones para la plataforma
emplean un conjunto de herramientas de desarrollo denominadas Java Development Kit (JDK).
El corazón de la plataforma Java se encuentra en el concepto de un procesador virtual común
encargado de ejecutar programas escritos en “Java bytecode”. Este código es siempre el mismo no
importando en que sistema operativo o hardware esté siendo ejecutada la aplicación. La plataforma
Java ofrece un intérprete, denominado la Máquina Virtual de Java, que traduce el Java bytecode a
instrucciones nativas del procesador, en tiempo de ejecución. Ello permite que la misma aplicación
pueda ejecutarse en cualquier equipo que cuente con la máquina virtual.
A partir de la versión 1.2 del JRE, la implementación de la Máquina Virtual de Java incluye un
compilador JIT (Just In Time) para, en vez de interpretar una a una las instrucciones bytecode,

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.

Figura 4-1. Estructura del ambiente de desarrollo Java.

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

• Apache como servidor Web.


• MySQL como el sistema administrador de bases de datos.
• PHP, Perl, Python y/o Primate como lenguajes de programación y de script.
Existen, sin embargo, variaciones en cuanto a las herramientas que integran LAMP y correspondientemente
el acrónimo de denominación. Así, se habla de AMPS cuando se sustituye a Linux por Solaris, MAMP si se
usa el sistema operativo de Macintosh, PUMA cuando se emplea Unix, LAPP sustituyendo a MySQL con
PosgreSQL, WIMP cuando se sustituye a Linux y Apache por Microsoft Windows y Microsoft IIS, etc.
Si bien es cierto que dichas aplicaciones no fueron diseñadas para trabajar en conjunto, su combinación
se ha hecho muy popular debido a sus reducidos costos de adquisición y a la gran facilidad que existe
para obtenerlas, entre otras causas, debido a que se encuentran incluidas en distribuciones actuales de
Linux y otros sistemas operativos.
Las fortalezas y ventajas que se obtienen al utilizar LAMP se derivan directamente de sus componentes
individuales. Entre las principales razones técnicas que esgrimen sus partidarios para recomendar está
plataforma de código libre se citan:
• Facilidad de uso, lo que está muy relacionado con la existencia de interfaces simples, predecibles
y consistentes que minimizan el esfuerzo en el diseño, desarrollo, distribución, instalación y
ejecución de las aplicaciones.
• Curvas de aprendizaje cortas, a lo que contribuye no solo la extensa documentación existente
sobre las herramientas que integran LAMP, sino también la gran cantidad de materiales de
referencia disponibles y las guías de iniciación rápida. Además, como se trata de software libre,
existen un constante enriquecimiento de las fuentes de aprendizaje en forma de listas de correo,
grupos de noticias, sitios Web y publicación a través de distintos medios, todo ello debido a la
denominada filosofía de arquitectura de participación, donde los miembros de la comunidad
mantienen una permanente actitud de colaboración.
• Extensas bibliotecas de rutinas y módulos de servicios de aplicaciones que permiten una rápida
implementación. LAMP es conocida por su extensa colección de módulos de servicios para
aplicaciones que con relativa facilidad pueden reutilizarse y adaptarse, lo que en muchos casos
elimina la necesidad de desarrollar módulos nuevos.
• Conformidad con estándares abiertos, al disponer de herramientas que permiten convertir
formatos propietarios en formatos basados en estándares.

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

• Un conjunto de tecnologías de desarrollo rápido que en forma automática pueden crear


aplicaciones Web y Web services sin necesidad de escribir código.
Entre las principales ventajas que ofrece WebObjects, se pueden citar:
• Costo cero para desarrolladores de Macintosh, debido a que las herramientas y marcos
requeridos para el desarrollo, distribución y despliegue de las aplicaciones de WebObjects están
disponibles sin costo en el sistema operativo Mac OS X y Mac OS X Server.
• Separación de las aplicaciones desarrolladas en capas de datos, negocios e interfaz de usuario, al
adaptarse al paradigma MVC (Model-View-Controler), conceptualmente equivalente a la
arquitectura de 3 capas.
• Aplicaciones totalmente basadas en Java, lo que permite trasladar el código resultante a cualquier
plataforma con una máquina virtual de Java 2.

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.

5.2 . Modelo de desarrollo


La base de desarrollo e implementación del proyecto será sobre la plataforma Microsoft .NET, tomando
como herramienta de desarrollo Visual Studio .NET 2003.
El proyecto deberá plantear la creación de una aplicación en entorno Web que haga uso de al menos
un Servicio Web y de un manejador de base de datos relacional (preferentemente SQL Server).
El modelo de la aplicación será basado en el desarrollo de una arquitectura multicapa de al menos tres
capas conceptualmente separadas en presentación, negocios y datos, tal como se presenta en la figura
4-1, la separación de estas capas se hará de forma lógica organizando cada capa en proyectos distintos
dentro de la misma solución.

Figura 4-1. Arquitectura de la aplicación.

5.2.1 . Capa de presentación


La capa de presentación deberá contener los componentes necesarios para habilitar la interacción del
usuario con la aplicación. La base de las capas de presentación deberán ser formularios Web de
ASP.NET. Las interacciones más complejas requerirán del diseño de componentes de proceso de
usuario que permitan organizar los elementos de la interfaz y controlar la interacción con el usuario. El
desarrollo de dichos componentes deberá ser realizado mediante componentes propios de la interfaz

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.

5.2.2 . Capa de negocio


La capa de negocios se encargara de la encapsulación de la regla o lógica de acceso, obtención y
manipulación de datos, cálculos y patrones de comportamiento de la aplicación, aceptando y
devolviendo estructuras de datos a la capa de presentación. Los componentes de esta capa deben
exponer su funcionalidad de forma independiente a la interfaz de la capa de presentación de la cual
reciben peticiones.
El desarrollo de esta capa deberá ser implementado en componentes basados en componentes de
clases y servicios Web creados en Visual Basic .NET, haciendo uso de las librerías del framework 1.1.

5.2.3 . Capa de datos


Independientemente de la base de datos, la aplicación utilizará componentes lógicos de acceso a datos
para obtener acceso a la información. Estos componentes deberán abstraer la semántica de la base de
datos subyacente y la tecnología de acceso a datos ADO.NET, proporcionando una interfaz simple de
programación para la recuperación y realización de operaciones con datos.
Con respecto a los componentes de datos, se aconseja que cada uno de ellos proporcione métodos
para realizar operaciones de alta, cambio, eliminación y consulta de datos relacionadas con una clase
o entidad de negocio determinada de la aplicación.
Los componentes y servicios Web de la capa de negocios deberán usar los métodos expuestos por los
componentes de la capa de datos, para modificar o consultar la información contenida en la base de
datos de la aplicación.
La base de datos deberá contar con un modelo entidad-relación y se deberá encontrar al menos en
tercera forma normal.

EJEMPLO. PROPUESTA DE PROYECTO


“PORTAL DE MENSAJERÍA”
Antecedentes
La presente propuesta nace de la necesidad de desarrollo de una aplicación que se encargue de la
administración del servicio de recolección, entrega, seguimiento y cobro de mensajería por medio de
Internet.
En la actualidad algunas empresas de mensajería ofrecen a sus clientes la posibilidad de dar
seguimiento a los envíos que hacen por medio de Internet, con lo cual los clientes pueden determinar
la fecha y hora en que su envió se encuentra en un determinado punto hasta llegar a su destino final.

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.

Diagrama de Caso de Uso

Figura 4-2. Diagrama de casos de uso del portal de mensajería.

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”.

Figura 5-1. Crear un proyecto de consola.

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!”);

Figura 5-2. Desarrollo de una aplicación en consola.

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.

Figura 5-3. Aplicación de consola.

Y con esto damos por concluida nuestra primera aplicación en consola.

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!”.

Figura 5-5. Desarrollo de una aplicación de escritorio.

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.

Figura 5-6. Aplicación de escritorio.

Y eso es todo lo necesario para nuestro Hola Mundo de escritorio.

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”.

Figura 5-7. Crear una aplicación Web.

38
Introducción al desarrollo de aplicaciones Web con plataforma .NET

Se despliega en pantalla lo que es la ventana inicial de la aplicación Web, como se muestra en la


Figura 5-8. Hacemos clic en el centro del rectángulo punteado y escribimos “Hola Mundo!”.

Figura 5-8. Desarrollo de una aplicación Web.

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.

Figura 5-9. Aplicación Web.

Con eso concluimos nuestro Hola Mundo en versión Web.

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”.

Figura 5-10. Crear un Servicio Web.

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!”.

Figura 5-11. Desarrollo de un Servicio Web.

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.

Figura 5-12. Operaciones del Servicio Web.

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.

Figura 5-13. Descripción de la operación.

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.

Figura 5-14. Respuesta del Servicio Web.

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.

7.2 . Procedimiento de instalación


El proceso de instalación de Visual Studio
2008 inicia introduciendo el CD o el
primer CD del juego de discos en la unidad
lectora y ejecutando el archivo autorun.exe
(esto se realizará automáticamente, en caso
de tener activada la opción de auto-
ejecución), con lo que después de una
breve espera aparecerá en pantalla la
ventana del programa de instalación,
misma que se muestra en la figura 7-1.

Figura 7-1. Inicio de instalación de Visual Studio .NET 2008.

43
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo

7.2.1 . Instalación de Visual Studio 2008


La ventana inicial, denominada “Start Page”, mostrada en la figura 7-2, presenta la licencia de uso del
producto y ofrece cuatro campos de texto para proporcionar el número de identificación o llave del
software, así como un campo adicional para el nombre del dueño de la licencia. Proceda a aceptar los
términos que marca la licencia dando clic en “I agree”, introduzca el número de producto (ambos procesos
son obligatorios) y teclee el nombre solicitado (opcional). Una vez hecho eso, de clic en “Next”.

Figura 7-2. Licencia de uso de Visual Studio .NET.

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”.

Figura 7-3. Selección de elementos a instalar.

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.

Figura 7-4. Reporte final de instalación.

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.

Figura 7-5. 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.

Figura 7-6. Alerta para reiniciar computadora.

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”.

Figura 7-7. Seleccionar el principal ambiente de trabajo.

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

• Apuntes del IV Módulo del Diplomado de Desarrollo de Sistemas en Web “Reglas de


Negocios”
Ing. Víctor R. Aguilar Ocampo.
División de Educación Continua, ENEP Aragón - UNAM

• LAMP: The Open Source Web Platform


Dale Dougherty
01/26/2001
http://www.onlamp.com/pub/a/onlamp/2001/01/25/lamp.html

• 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

DIRECCIÓN GENERAL DE SERVICIOS DE CÓMPUTO


ACADÉMICO
DR. IGNACIO DE JESÚS ANIA BRISEÑO
Director General
MAT. CARMEN BRAVO CHAVESTE
Directora de Cómputo para la Docencia
MTRO. JESÚS DÍAZ BARRIGA ARCEO
Subdirector de Planeación Académica
ACT. FABIÁN ROMO ZAMUDIO
Subdirector de Tecnología para la Educación

MTRA. HORTENSIA CANO GRANADOS


Coordinadora de Producción Académica
ING. SERGIO ALVA ARGUINZONIZ
Coordinador del Centro Mascarones
MTRA. ALEJANDRINA SAN JUAN REYES
Coordinadora del Centro de Extensión en
Cómputo y Telecomunicaciones Nuevo León
LIC. JOSÉ LUIS MEDINA FLORES
Coordinador del Centro Coapa de Extensión
en Cómputo y Telecomunicaciones
ING. PABLO DE LA O CRUZ
Coordinador del Centro Tlatelolco
MTRA. ALMA IBARRA OBANDO
Coordinadora del Centro San Agustín
LIC. ROSARIO ORTIZ OSORNIO
Responsable de los cursos de Cómputo
del Palacio de la Autonomía, Fundación UNAM
LIC. PATRICIA ROMERO ELÍAS
Coordinadora del Centro Educativo
Multidisciplinario Polanco

Mayo de 2008
Martín Ibarra Romero, José Luis Luna Guzmán y Jesús Díaz Barriga Arceo

Diplomado Desarrollo de aplicaciones web con .NET


MÓDULO I. INTRODUCCIÓN AL DESARROLLO DE
APLICACIONES WEB CON PLATAFORMA .NET
Fue editado e impreso por la Dirección General de Servicios
de Cómputo Académico, Circuito Exterior, Ciudad
universitaria, Coyoacán, C.P. 04510, Mexico, DF.
Mayo de 2008
La reproducción electrónica consta de 20 ejemplares.

Se utilizaron tipos Arial de 13/18, 16/22, 32/45 pts. Optima


10.5/12.5, 9.5/11.5, 11/14 pts. Curier New 9/11 pts. y discos
compactos de 700 MB de capacidad.

48

También podría gustarte