desarrolloyconsumodewebservices2-111003143002-phpapp01

Post on 26-Oct-2014

123 views 0 download

Tags:

description

desarrollo de un web server con visual 2008

Transcript of desarrolloyconsumodewebservices2-111003143002-phpapp01

Expositor : Cruzado Paredes Expositor : Cruzado Paredes Naim JhonNaim Jhon

Desarrollo y consumoDesarrollo y consumo

de Servicios Websde Servicios Webs

Desarrollo y consumo de Desarrollo y consumo de Servicios WebServicios WebContenido:Contenido:

¿Qué son los servicios Web?¿Qué son los servicios Web?

Desarrollo y consumo de Desarrollo y consumo de Servicios WebServicios WebContenido:Contenido:

¿Qué son los servicios Web?¿Qué son los servicios Web? Creación de un servicio WebCreación de un servicio Web

Desarrollo y consumo de Desarrollo y consumo de Servicios WebServicios WebContenido:Contenido:

¿Qué son los servicios Web?¿Qué son los servicios Web? Creación de un servicio WebCreación de un servicio Web Localizar un servicio WebLocalizar un servicio Web

Desarrollo y consumo de Desarrollo y consumo de Servicios WebServicios WebContenido:Contenido:

¿Qué son los servicios Web?¿Qué son los servicios Web? Creación de un servicio WebCreación de un servicio Web Localizar un servicio WebLocalizar un servicio Web Cómo usar un servicio Web desde…Cómo usar un servicio Web desde…

Una aplicación WebUna aplicación Web Una aplicación Windows (de escritorio)Una aplicación Windows (de escritorio)

Desarrollo y consumo de Desarrollo y consumo de Servicios Web Servicios Web ¿Qué son los servicios Web?:¿Qué son los servicios Web?:

Definición:Definición: Son componentes que nos permiten crear Son componentes que nos permiten crear

aplicaciones independientes de la plataforma.aplicaciones independientes de la plataforma. Se pueden usar servicios Web para integrar Se pueden usar servicios Web para integrar

aplicaciones escritas en lenguajes diferentes.aplicaciones escritas en lenguajes diferentes.

Desarrollo y consumo de Desarrollo y consumo de Servicios Web Servicios Web ¿Qué son los servicios Web?:¿Qué son los servicios Web?:

Definición:Definición: Son componentes que nos permiten crear Son componentes que nos permiten crear

aplicaciones independientes de la plataforma.aplicaciones independientes de la plataforma. Se pueden usar servicios Web para integrar Se pueden usar servicios Web para integrar

aplicaciones escritas en lenguajes diferentes.aplicaciones escritas en lenguajes diferentes.

¿Debo saber XML para crear servicios Web?¿Debo saber XML para crear servicios Web?

Desarrollo y consumo de Desarrollo y consumo de Servicios Web Servicios Web Definiciones “técnicas”:Definiciones “técnicas”:

XML: (eXtensible Markup Language)XML: (eXtensible Markup Language) Estándar para describir la información que se intercambia Estándar para describir la información que se intercambia

entre sistemas diferentes.entre sistemas diferentes.

SOAP: (Simple Object Access Protocol)SOAP: (Simple Object Access Protocol) Es una especificación que define el formato XML para Es una especificación que define el formato XML para

mensajes.mensajes.

WSDL: (Web Services Description Language)WSDL: (Web Services Description Language) Un archivo WSDL es un documento XML que describe Un archivo WSDL es un documento XML que describe

mensajes SOAP y la forma en que se intercambian esos mensajes SOAP y la forma en que se intercambian esos mensajes.mensajes.

Desarrollo y consumo de Desarrollo y consumo de Servicios Web Servicios Web Creación de servicios Web:Creación de servicios Web:

¿Cómo crear servicios Web?¿Cómo crear servicios Web? Usando un editor de textos o WebMatrixUsando un editor de textos o WebMatrix Usando Visual Studio .NETUsando Visual Studio .NET

““Hola, Mundo” al Hola, Mundo” al estilo Web Serviceestilo Web Service

EjemploEjemplo

paso a pasopaso a paso

Ejemplo:Ejemplo:HolaMundoWebS.asmxHolaMundoWebS.asmx

Usar directivas ASP.NET para Usar directivas ASP.NET para indicar que es un servicio Web:indicar que es un servicio Web:

<%@ WebService<%@ WebService

Ejemplo:Ejemplo:HolaMundoWebS.asmxHolaMundoWebS.asmx

Indicar el lenguaje usado para el Indicar el lenguaje usado para el código:código:

Language=“C#”Language=“C#”

Ejemplo:Ejemplo:HolaMundoWebS.asmxHolaMundoWebS.asmx

El nombre de la clase:El nombre de la clase:

Class=“HolaMundoWebS”Class=“HolaMundoWebS”

Ejemplo:Ejemplo:HolaMundoWebS.asmxHolaMundoWebS.asmx

Cerrar la directiva ASP.NET:Cerrar la directiva ASP.NET:

%>%>

Ejemplo:Ejemplo:HolaMundoWebS.asmxHolaMundoWebS.asmx

Indicar el espacio de nombres:Indicar el espacio de nombres:using System.Web.Services;using System.Web.Services;

Ejemplo:Ejemplo:HolaMundoWebS.asmxHolaMundoWebS.asmx

Declarar la clase:Declarar la clase:public class HolaMundoWebS {public class HolaMundoWebS {

Ejemplo:Ejemplo:HolaMundoWebS.asmxHolaMundoWebS.asmx

Opcional, pero recomendado, usar el Opcional, pero recomendado, usar el atributo WebService:atributo WebService:[WebService([WebService(

Namespace="http://elGuille/")]Namespace="http://elGuille/")]

Ejemplo:Ejemplo:HolaMundoWebS.asmxHolaMundoWebS.asmx

Indicar la descripción de la clase:Indicar la descripción de la clase:[WebService([WebService(

Namespace="http://elGuille/",Namespace="http://elGuille/",

Description="Hola, Mundo al Description="Hola, Mundo al estilo Web Service")]estilo Web Service")]

Ejemplo:Ejemplo:HolaMundoWebS.asmxHolaMundoWebS.asmx

El atributo hay que indicarlo antes El atributo hay que indicarlo antes de la declaración de la clase:de la declaración de la clase:[WebService([WebService(Namespace="http://elGuille/", Namespace="http://elGuille/", Description="Hola, Mundo al Description="Hola, Mundo al estilo Web Service")]estilo Web Service")]

public class HolaMundoWebS {public class HolaMundoWebS {

Ejemplo:Ejemplo:HolaMundoWebS.asmxHolaMundoWebS.asmx

Declarar los métodos, usando el Declarar los métodos, usando el atributo WebMethod:atributo WebMethod:[WebMethod][WebMethod]

public string Saludar() {public string Saludar() {

return "Hola, Mundo";return "Hola, Mundo";

}}

Ejemplo:Ejemplo:HolaMundoWebS.asmxHolaMundoWebS.asmx

En los métodos también podemos En los métodos también podemos añadir una descripción:añadir una descripción:[WebMethod(Description="Saluda [WebMethod(Description="Saluda al Mundo")]al Mundo")]

Ejemplo:Ejemplo:HolaMundoWebS.asmxHolaMundoWebS.asmx

Por supuesto, podemos añadir Por supuesto, podemos añadir cuantos métodos queramos a la cuantos métodos queramos a la clase; pero, si no llevan el atributo clase; pero, si no llevan el atributo WebMethod, no serán expuestos por WebMethod, no serán expuestos por el servicio Web.el servicio Web.

Ejemplo:Ejemplo:HolaMundoWebS.asmxHolaMundoWebS.asmx

Veamos todo lo dicho en acción.Veamos todo lo dicho en acción.

Crear servicio Web con Crear servicio Web con Visual Studio .NETVisual Studio .NET

EjemploEjemplo

Desarrollo y consumo de Desarrollo y consumo de Servicios Web Servicios Web Hacer públicos los servicios Web:Hacer públicos los servicios Web:

UDDI:UDDI: Universal Description, Discovery and IntegrationUniversal Description, Discovery and Integration

(Descripción, descubrimiento e integración (Descripción, descubrimiento e integración universales)universales)

UDDI permite dar a conocer los servicios WebUDDI permite dar a conocer los servicios Web Usar http://uddi.microsoft.com/ para publicar Usar http://uddi.microsoft.com/ para publicar

nuestros servicios Webnuestros servicios Web

Desarrollo y consumo de Desarrollo y consumo de Servicios Web Servicios Web Consumo de servicios Web:Consumo de servicios Web:

¿Cómo usar los servicios Web?¿Cómo usar los servicios Web? Desde un cliente Web con ASP.NET (Web Form)Desde un cliente Web con ASP.NET (Web Form) Desde un cliente WindowsDesde un cliente Windows Desde un cliente que “entienda” XMLDesde un cliente que “entienda” XML

Cliente Web (Formulario Web)Cliente Web (Formulario Web)

ExploradorExplorador ServidorServidor Web Web

FormularioFormularioWebWeb

ServicioServicioWebWeb

InternetInternet InternetInternetServidorServidor

Web Web

Cliente WindowsCliente Windows

Aplicación de WindowsAplicación de Windows

ServidorServidor Web Web

ServicioServicioWebWeb

InternetInternet

Desarrollo y consumo de Desarrollo y consumo de Servicios Web Servicios Web Ejemplo de cliente Web:Ejemplo de cliente Web:

Creamos una aplicación Web (Web Form)Creamos una aplicación Web (Web Form) Localizamos el servicio Web (UDDI o ‘a mano’)Localizamos el servicio Web (UDDI o ‘a mano’) Creamos una referencia WebCreamos una referencia Web Usamos la clase del servicio Web como Usamos la clase del servicio Web como

cualquier otra clasecualquier otra clase Publicamos la aplicación WebPublicamos la aplicación Web La ‘consumimos’ desde el exploradorLa ‘consumimos’ desde el explorador

Crear un cliente WebCrear un cliente Web

EjemploEjemplo

Desarrollo y consumo de Desarrollo y consumo de Servicios Web Servicios Web Ejemplo de cliente Windows:Ejemplo de cliente Windows:

Creamos una aplicación WindowsCreamos una aplicación Windows Localizamos el servicio Web (UDDI o ‘a mano’)Localizamos el servicio Web (UDDI o ‘a mano’) Creamos una referencia WebCreamos una referencia Web Usamos la clase del servicio Web como Usamos la clase del servicio Web como

cualquier otra clasecualquier otra clase La ‘consumimos’ como cualquier otra La ‘consumimos’ como cualquier otra

aplicación de escritorioaplicación de escritorio

Crear un cliente Crear un cliente WindowsWindows

EjemploEjemplo

Desarrollo y consumo de Desarrollo y consumo de Servicios Web Servicios Web Ejemplo de cliente XML Ejemplo de cliente XML

Creamos la aplicaciónCreamos la aplicación En esta ocasión no existe una “clase”En esta ocasión no existe una “clase” Usamos el código SOAP para enviar el valor y Usamos el código SOAP para enviar el valor y

recuperar el resultadorecuperar el resultado La comunicación se hace mediante la clase La comunicación se hace mediante la clase

XMLHTTPRequestXMLHTTPRequest

El comando a enviar:El comando a enviar:<?xml version="1.0" encoding="utf-8"?><?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body><soap:Body>

<CaF xmlns="elGuille"><CaF xmlns="elGuille">

<valor><valor>doubledouble</valor> </valor>

</CaF></CaF>

</soap:Body></soap:Body></soap:Envelope></soap:Envelope>

oHttReq.open "POST", txtURL.Text, FalseoHttReq.open "POST", txtURL.Text, False

oHttReq.setRequestHeader "Content-Type", _oHttReq.setRequestHeader "Content-Type", _

"text/xml; charset=utf-8""text/xml; charset=utf-8"

oHttReq.setRequestHeader "SOAPAction", _oHttReq.setRequestHeader "SOAPAction", _"elGuille/CaF""elGuille/CaF"

El código XML recibido:El código XML recibido:<?xml version="1.0" encoding="utf-8"?><?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body><soap:Body>

<CaFResponse xmlns="elGuille"><CaFResponse xmlns="elGuille">

<CaFResult><CaFResult>doubledouble</CaFResult></CaFResult>

</CaFResponse></CaFResponse>

</soap:Body></soap:Body></soap:Envelope></soap:Envelope>

Interpretar el resultado:Interpretar el resultado:txtF.Text = _txtF.Text = _

XMLparser.selectSingleNode( _XMLparser.selectSingleNode( _"/soap:Envelope/soap:Body/CaFResponse/CaFResult""/soap:Envelope/soap:Body/CaFResponse/CaFResult").Text).Text

EjemplosEjemplos

MSDN: El recurso para el desarrolladorMSDN: El recurso para el desarrolladorwww.microsoft.com/spanish/msdnwww.microsoft.com/spanish/msdn

MSDN!Estudiantes:Recursos para los MSDN!Estudiantes:Recursos para los estudiantesestudianteswww.microsoft.com/spanish/MSDN/estudianteswww.microsoft.com/spanish/MSDN/estudiantes

Microsoft University Tour: Prácticas de las Microsoft University Tour: Prácticas de las charlas de hoycharlas de hoywww.microsoft.com/spanish/MSDN/estudiantes/ewww.microsoft.com/spanish/MSDN/estudiantes/eventos/universitytour.aspventos/universitytour.asp

http://guille.costasol.net/http://guille.costasol.net/

http://vblibros.com/http://vblibros.com/

© 2001 Microsoft Corporation. All rights reserved.© 2001 Microsoft Corporation. All rights reserved.