Vous êtes sur la page 1sur 18

Sistemas UNI. Instructor: V. Carlos, Segura P.

Microsoft Partner

LABORATORIO WINDOWS FORMS .NET – 5.

Derechos Reservados, solo para ser usados dentro de la


institución.
Derechos de Autor

El contenido de este laboratorio tiene todos los derechos reservados, por lo tanto no se
puede reproducir, transcribir, almacenar a un sistema de recuperación o de alteración,
asimismo la traducción a otro idioma de ninguna forma o por ningún medio mecánico,
manual, electrónico, magnético, óptico o de otro modo.

La persecución de una reproducción no autorizada tiene como


consecuencia la cárcel y/o multas.

UNIVERSIDAD NACIONAL DE INGENIERIA 1


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

5 WINDOWS FORMS

1 Introducción a los Servicios Web y XML.


1.1 Introducción.

Un servicio Web es una forma de presentar un servicio, al que se puede acceder a través de Internet. Igual
que una página Web está definida por un URL sin interfaz grafica, un servicio Web al igual que una página
Web puede ofrecer cotizaciones de la bolsa de NY, un servicio Web puede hacer lo mismo, presentará un
interfaz para que se pueda acceder fácilmente a los métodos publicados,

De esta forma, las aplicaciones se convierten en clientes que involucran dentro de ellas servicios Web
procedentes de diferentes proveedores vía Web , y además, se abre la posibilidad de que se genere un
nuevo tipo de negocio el cual se cobre por uso del servicio.

UNIVERSIDAD NACIONAL DE INGENIERIA 2


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

1.2 Crear servicios Web.

El desarrollo de aplicaciones en entorno Internet ha pasado por distintas etapas desde los inicios con el
protocolo HTTP, los navegadores y los documentos HTML.

El panorama del desarrollo de aplicaciones .Net se caracteriza por la gran sofisticación que han alcanzado
los servidores y las herramientas de desarrollo asociadas. Por un lado, desde el punto de vista del diseño,
en el que contamos con herramientas visuales de todo tipo y editores HTML que harían las delicias de los
viejos programadores de “Bloc de notas”.

Por otro, desde el punto de vista del desarrollo, con lenguajes, librerías y generadores de código de todo
tipo, y con servidores Web y de aplicaciones con infinidad de ayudas para el acceso a sistemas de base de
datos, “poolings” de objetos, caché de páginas y datos, soporte transaccional, etc. Un servicio es un
componente programable que proporciona un servicio y es accesible por Internet, Los servicios Web pueden
funcionar de manera independiente o pueden estar conectados entre sí para proporcionar una funcionalidad
mayor.

En resumen podríamos decir:

Son componentes que nos permiten crear aplicaciones independientes de la plataforma.


Se pueden usar servicios Web para integrar aplicaciones escritas en lenguajes diferentes

Un servicio Web consta de los siguientes 3 elementos:

El Servicio:
Software que puede procesar ciertos documentos XML bien definidos recibidos mediante alguna
combinación de protocolos de transporte y de aplicación.

El Documento XML:
Contiene toda la información específica de la aplicación que el consumidor del servicio envía al
servicio para procesar.

La Dirección:
Una dirección de red junto con un binding de protocolo que pueden utilizarse para acceder al
servicio

En la práctica, hace falta un cuarto elemento:

La Envoltura:
Un protocolo de encapsulación de mensajes que separa el documento UML de la otra información
que se quiere intercambiar

Herramientas de desarrollo para un Web Services:

Usando un editor de textos o WebMatrix.


Usando Visual Studio .NET

UNIVERSIDAD NACIONAL DE INGENIERIA 3


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

1.3 Comportamiento de una Aplicación Web

Una aplicación Web es aquella que los usuarios se conectan a través de un servidor Web mediante una
Intranet o Internet, los servicios Web pueden involucrarse dentro de ella haciendo referencia al servidor de
servicios Web mediante una referencia Web.

1.4 Comportamiento de una aplicación Windows

Las aplicaciones Windows de igual modo pueden hacer referencia a un servicio Web, ya que poseen la
opción de hacer referencia Web que cargara todas las funcionalidades que nos proporcionan, al igual que
hacer una referencia a un componente.

UNIVERSIDAD NACIONAL DE INGENIERIA 4


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

1.5 Creando un Web Services con VS 2005

Primero tenemos que agregar un nuevo proyecto de Web Services, para esto desde menú
archivo seleccionamos agregar nuevo proyecto Web.

La siguiente pantalla escogeremos el proyecto tipo “ASP.NET Web Services” como indica en la figura
siguiente.

Al dar aceptar dentro de nuestro explorador de soluciones, quedara agregado el proyecto como sigue:

UNIVERSIDAD NACIONAL DE INGENIERIA 5


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

La primera clase que aparecerá será una clase llamada Service.asmx, y esta muestra como por
ejemplo por default la función “HelloWord”

Al ejecutar nuestro Web Services, veremos la muestra de nuestra función por default HelloWord, como
se muestra aquí:

Al seleccionar la función tendremos nuevamente la descripción del SOAP a enviarse vía HTTP, el cual nos
proporciona el evento para ser invocado “Invoke”.

UNIVERSIDAD NACIONAL DE INGENIERIA 6


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

Al seleccionar la ejecución de la función HelloWord, este aparecerá descripta vía XML, para ser enviada
vía http, como se muestra en la figura:

Creando métodos en un Web Services.

Para crear métodos que se basen en Web Services, se debe agregar el atributo <WebMethod()>, que
indica al sistema de tiempo de ejecución que es un método llamado a través de HTTP. No todos los
métodos tienen que ser WebMethods.

Por ejemplo, dentro de la clase Service agreguemos la siguiente función:

Al compilar y ejecutar el Web Services este mostrara las dos funciones, si agregamos una nueva función
sin el atributo WebMethods este no será visible como estas dos que aparecen:

Ahora como bien hemos visto la función creada Login necesita el envió de parámetros, por lo tanto al
seleccionar esta función veremos que nos solicita las variables necesarias para la ejecución:

UNIVERSIDAD NACIONAL DE INGENIERIA 7


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

Al invocar a esta función veremos la respuesta enviada como se muestra aquí:

1.6 Consumiendo un Web Services con VS 2005

Para consumir un servicio Web este debe ser agregado a nuestro proyecto de donde queremos utilizarlo,
para esto desde el explorador de soluciones debemos seleccionar el proyecto, Click derecho y
escogemos “Agregar referencia Web”, como se muestra en la figura:

Ahora prestemos atención, cuando ejecutamos el proyecto de Web Services, nos salio una ruta en el
explorador, esta ruta que aparece la copiaremos para agregarlo en la referencia Web.

UNIVERSIDAD NACIONAL DE INGENIERIA 8


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

Esta dirección guardada la colocamos en la pantalla que nos muestra al agregar la referencia Web:

Al seleccionar en el botón “Ir”, veremos nuestro servicio creado, cargado en nuestra referencia Web, al
cual a nuestra referencia la llamaremos servClase5.

UNIVERSIDAD NACIONAL DE INGENIERIA 9


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

Finalmente en nuestro proyecto se creara la siguiente referencia Web con el nombre que colocamos
anteriormente:

Bien hasta aquí en nuestro proyecto ya creamos la referencia Web, ahora crearemos un formulario con
el nombre frmServicio, el cual debe quedar con el siguiente diseño.

Dentro de el crearemos una variable con ámbito global:

Ahora en el botón usaremos este servicio de la forma siguiente:

UNIVERSIDAD NACIONAL DE INGENIERIA 10


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

Finalmente ejecutemos el formulario, y se vera lo siguiente:

2 Trabajando con XML.


2.1 Usando XML

Acrónimo de la definición de “Lenguaje de Marcas Extensible”, es un metalenguaje extensible de


etiquetas desarrollado por el World Wide Web Consortium (W3C). Que representa una simplificación y
adaptación del SGML que permite definir la gramática de lenguajes específicos. Por ende XML no es
realmente un lenguaje en particular, sino es una forma de definir lenguajes.

XML no solo es valido su para aplicaciones en Internet, sino que se propone como un estándar para el
intercambio de información estructurada entre diferentes plataformas. Se puede usar tanto a nivel de bases
de datos, editores de texto, hojas de cálculo, etc.

UNIVERSIDAD NACIONAL DE INGENIERIA 11


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

<Elemento> Este es un Elemento </Elemento>

Inicio Fin
Elementos
Los elementos XML pueden tener contenido (más elementos, caracteres o ambos), o bien ser elementos
vacíos.
Atributos
Los elementos pueden tener atributos, que son una manera de incorporar características o propiedades a los
elementos de un documento.
Entidades predefinidas
Entidades para representar caracteres especiales para que no sean interpretados como marcado en el
procesador XML.
Secciones CDATA
Es una construcción en XML para especificar datos utilizando cualquier carácter sin que se interprete como
marcado XML

XML asimismo es una tecnología sencilla que tiene a su alrededor otras que la complementan y la hacen
mucho más grande y con unas posibilidades mucho mayores. Tiene un papel muy importante en la
actualidad ya que permite la compatibilidad entre sistemas para compartir la información de una manera
segura, fiable y fácil.

Actualmente, tras haberse extendido el uso de XML, se acepta de manera general que este lenguaje no sólo
es útil para describir nuevos formatos de documentos Web, sino que también es adecuado para la
descripción de datos estructurados. Entre los ejemplos de datos estructurados se incluyen la información
que habitualmente contienen las hojas de cálculo, los archivos de configuración de programas y los
protocolos de red.

Element
< SalesOreder >
SalesOrder

Element Text Element Element


< Customer > < OrderDate >< Item > < Item >
Customer Item Item

Element Element
Part Part < Item > < Item >

UNIVERSIDAD NACIONAL DE INGENIERIA 12


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

La extensibilidad de XML se manifiesta en varios aspectos. En primer lugar, a diferencia de HTML no


tiene un vocabulario fijo. Por el contrario, es posible definir vocabularios específicos para determinadas
aplicaciones o industrias que utilicen XML. En segundo lugar, las aplicaciones que procesan o consumen
formatos XML resisten mejor los cambios de la estructura de XML que se les proporciona que las
aplicaciones que utilizan otros formatos, siempre que tales cambios sean aditivos. Por ejemplo, una
aplicación que dependa del procesamiento de un elemento <Customer> con un atributo customer-id
normalmente seguiría funcionando si otro atributo como, por ejemplo, last-purchase-date se agregase al
elemento <Customer>. Tal flexibilidad no es habitual en otros formatos de datos y es una de las grandes
ventajas del uso de XML.

Creando un archivo XML.

Para esto seleccionemos agregar nuevo elemento y seleccionamos Archivo XML.

Luego nos mostrara la siguiente pantalla, para poder agregar elementos al XML:

Que al finalizar de agregar elementos tendríamos lo siguiente:

UNIVERSIDAD NACIONAL DE INGENIERIA 13


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

2.2 Definiendo un XML

Un esquema XML se utiliza para describir la estructura y el contenido de un documento XML. se puede
utilizar un esquema para especificar un documento que consta de uno o más elementos cada uno de los
cuales contiene otros elementos secundarios. Durante el intercambio de documentos, un esquema XML
describe el contrato entre el productor y el consumidor de XML, ya que describe lo que constituye un
mensaje XML válido entre las dos partes. Aunque existen varios lenguajes de esquemas para XML, desde
DTD hasta XDR, el que actualmente goza de mayor popularidad es el lenguaje de definición de esquemas
XML del W3C, que se suele abreviar como XSD, por ejemplo el esquema del Xml anterior quedaría definido
como sigue:

Visual Estudio 2005 nos proporcionar una forma de ver el esquema gráficamente, el cual nos ayuda ver
el esquema como esta estructurado.

2.3 Lectura y Escritura de XML con DataSet.

El DataSet nos proporciona métodos para el trabajo con XML, estos lo podemos definir tanto para lectura
como para escritura, a nivel de XML como de sus respectivos esquemas.

DataSet.ReadXml (Path)
Lee los datos XML del DataSet mediante la ruta del archivo especificado, el método ReadXml ofrece
una forma de leer sólo los datos o los datos de un documento XML.

UNIVERSIDAD NACIONAL DE INGENIERIA 14


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

DataSet.ReadXmlSchema(Path)
Lee un esquema XML en el DataSet, del archivo especificado. Se debe de usar el método
ReadXmlSchema para leer el esquema para un DataSet y ser mostrado el cual incluye definiciones
de tablas, relaciones y restricciones.

DataSet.WriteXml (Path)
Escribe los datos actuales mostrados desde el DataSet en el archivo indicado. El método WriteXml
ofrece solo de escribir sólo los datos, de un DataSet con todas las DataTables incluidos, en un
documento XML.

DataSet.WriteXmlSchema (Path)
Escribe la estructura del DataSet como un esquema XML dentro de la ruta indicada. Se debe utilizar
este método WriteXmlSchema para escribir el esquema para un DataSet en un documento XML. El
esquema XML se escribe mediante el estándar XSD.

Creación el Siguiente Laboratorio

I.- Crear un XML y su esquema dentro del Servicio Web creado, el XML debe tener la siguiente estructura:

UNIVERSIDAD NACIONAL DE INGENIERIA 15


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

Mínimo, agregar unos 10 productos

II.- Tanto el XML como su esquema deben ser guardados en la siguiente carpeta:

III.- En el proyecto de Web Services crear un nuevo servicio llamado servProductos, en el cual crearemos
el siguiente método.

IV.- Al ejecutar nos debe mostrar las siguientes pantallas.

Así como la pantalla que invoca el método:

UNIVERSIDAD NACIONAL DE INGENIERIA 16


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

Finalmente analizar y revisar la información mostrada:

V.- Repetir los pasos anteriores, para mostrar mediante un método la información de los servicios de las
empresas siguientes (Debes completar mínimo 10 empresas):

Así como en el punto III, este método se debe llamar ServiciosDet.

VI.- EL formulario frmMDI, se debe modificar para agregar el siguiente ítem como muestra la figura:

VII.- Esta nueva opción primero debe levantar la opción de acceso al servicio Web configurado
anteriormente frmServicio, si el usuario es valido debe mostrar el siguiente formulario llamado
frmProveedores, en el cual el diseño será el siguiente:

UNIVERSIDAD NACIONAL DE INGENIERIA 17


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.
Microsoft Partner

VIII.- Dentro del botón de productos colocamos lo siguiente:

IX.- Asimismo configurar para el botón de servicios, y en el botón guardar se debe guardar la información
con los siguientes nombres:
Para los Productos: xmlProductosDDMMYYYY (Formato de Fecha actual)
Para los Servicios: xmlServiciosDDMMYYYY (Formato de Fecha actual)

Concatenar con las funciones:


Now.Date.Day.ToString, Now.Date.Month.ToString y Now.Date.Year.ToString

UNIVERSIDAD NACIONAL DE INGENIERIA 18


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS