Expositor : Cruzado Paredes Naim Jhon
Desarrollo y consumo de Servicios Webs
Desarrollo y consumo de Servicios Web Contenido: ¿Qué son los servicios Web?
Desarrollo y consumo de Servicios Web Contenido: ¿Qué son los servicios Web? Creación de un servicio Web
Desarrollo y consumo de Servicios Web Contenido: ¿Qué son los servicios Web? Creación de un servicio Web Localizar un servicio Web
Desarrollo y consumo de Servicios Web Contenido: ¿Qué son los servicios Web? Creación de un servicio Web Localizar un servicio Web Cómo usar un servicio Web desde… Una aplicación Web Una aplicación Windows (de escritorio)
Desarrollo y consumo de Servicios Web  ¿Qué son los servicios Web?: Definición: Son componentes que nos permiten crear aplicaciones independientes de la plataforma. Se pueden usar servicios Web para integrar aplicaciones escritas en lenguajes diferentes.
Desarrollo y consumo de Servicios Web  ¿Qué son los servicios Web?: Definición: Son componentes que nos permiten crear aplicaciones independientes de la plataforma. Se pueden usar servicios Web para integrar aplicaciones escritas en lenguajes diferentes. ¿Debo saber XML para crear servicios Web?
Desarrollo y consumo de Servicios Web  Definiciones “técnicas”: XML: (eXtensible Markup Language) Estándar para describir la información que se intercambia entre sistemas diferentes. SOAP: (Simple Object Access Protocol) Es una especificación que define el formato XML para mensajes. WSDL: (Web Services Description Language) Un archivo WSDL es un documento XML que describe mensajes SOAP y la forma en que se intercambian esos mensajes.
Desarrollo y consumo de Servicios Web  Creación de servicios Web: ¿Cómo crear servicios Web? Usando un editor de textos o WebMatrix Usando Visual Studio .NET
“ Hola, Mundo” al estilo  Web Service Ejemplo paso a paso
Ejemplo: HolaMundoWebS.asmx Usar directivas ASP.NET para indicar que es un servicio Web: <%@ WebService
Ejemplo: HolaMundoWebS.asmx Indicar el lenguaje usado para el código: Language=“C#”
Ejemplo: HolaMundoWebS.asmx El nombre de la clase: Class=“HolaMundoWebS”
Ejemplo: HolaMundoWebS.asmx Cerrar la directiva ASP.NET: %>
Ejemplo: HolaMundoWebS.asmx Indicar el espacio de nombres: using System.Web.Services;
Ejemplo: HolaMundoWebS.asmx Declarar la clase: public class HolaMundoWebS {
Ejemplo: HolaMundoWebS.asmx Opcional, pero recomendado, usar el atributo WebService: [WebService( Namespace=&quot;http://elGuille/&quot;)]
Ejemplo: HolaMundoWebS.asmx Indicar la descripción de la clase: [WebService( Namespace=&quot;http://elGuille/&quot;, Description=&quot;Hola, Mundo al estilo Web Service&quot;)]
Ejemplo: HolaMundoWebS.asmx El atributo hay que indicarlo antes de la declaración de la clase: [WebService( Namespace=&quot;http://elGuille/&quot;, Description=&quot;Hola, Mundo al estilo Web Service&quot;)] public class HolaMundoWebS {
Ejemplo: HolaMundoWebS.asmx Declarar los métodos, usando el atributo WebMethod: [WebMethod] public string Saludar() { return &quot;Hola, Mundo&quot;; }
Ejemplo: HolaMundoWebS.asmx En los métodos también podemos añadir una descripción: [WebMethod(Description=&quot;Saluda al Mundo&quot;)]
Ejemplo: HolaMundoWebS.asmx Por supuesto, podemos añadir cuantos métodos queramos a la clase; pero, si no llevan el atributo WebMethod, no serán expuestos por el servicio Web.
Ejemplo: HolaMundoWebS.asmx Veamos todo lo dicho en acción.
Crear servicio Web con Visual Studio .NET Ejemplo
Desarrollo y consumo de Servicios Web  Hacer públicos los servicios Web: UDDI: Universal Description, Discovery and Integration (Descripción, descubrimiento e integración universales) UDDI permite dar a conocer los servicios Web Usar http://uddi.microsoft.com/ para publicar nuestros servicios Web
Desarrollo y consumo de Servicios Web  Consumo de servicios Web: ¿Cómo usar los servicios Web? Desde un cliente Web con ASP.NET (Web Form) Desde un cliente Windows Desde un cliente que “entienda” XML
Cliente Web (Formulario Web) Explorador Servidor  Web Formulario Web Servicio Web Internet Internet Servidor  Web
Cliente Windows Aplicación de Windows Servidor  Web Servicio Web Internet
Desarrollo y consumo de Servicios Web  Ejemplo de cliente Web: Creamos una aplicación Web (Web Form) Localizamos el servicio Web (UDDI o ‘a mano’) Creamos una referencia Web Usamos la clase del servicio Web como cualquier otra clase Publicamos la aplicación Web La ‘consumimos’ desde el explorador
Crear un cliente Web Ejemplo
Desarrollo y consumo de Servicios Web  Ejemplo de cliente Windows: Creamos una aplicación Windows Localizamos el servicio Web (UDDI o ‘a mano’) Creamos una referencia Web Usamos la clase del servicio Web como cualquier otra clase La ‘consumimos’ como cualquier otra aplicación de escritorio
Crear un cliente Windows Ejemplo
Desarrollo y consumo de Servicios Web  Ejemplo de cliente XML  Creamos la aplicación En esta ocasión no existe una “clase” Usamos el código SOAP para enviar el valor y recuperar el resultado La comunicación se hace mediante la clase XMLHTTPRequest
El comando a enviar: <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;> <soap:Body> <CaF xmlns=&quot;elGuille&quot;> <valor> double </valor>  </CaF> </soap:Body> </soap:Envelope>   oHttReq.open &quot;POST&quot;, txtURL.Text, False oHttReq.setRequestHeader &quot;Content-Type&quot;, _ &quot;text/xml; charset=utf-8&quot; oHttReq.setRequestHeader &quot;SOAPAction&quot;, _ &quot;elGuille/CaF&quot;
El código XML recibido: <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;> <soap:Body> <CaFResponse xmlns=&quot;elGuille&quot;> <CaFResult> double </CaFResult> </CaFResponse> </soap:Body> </soap:Envelope> Interpretar el resultado: txtF.Text = _ XMLparser.selectSingleNode( _ &quot;/soap:Envelope/soap:Body/CaFResponse/CaFResult&quot;).Text
Ejemplos
 
MSDN: El recurso para el desarrollador www.microsoft.com/spanish/msdn MSDN!Estudiantes:Recursos para los estudiantes www.microsoft.com/spanish/MSDN/estudiantes Microsoft University Tour: Prácticas de las charlas de hoy www.microsoft.com/spanish/MSDN/estudiantes/eventos/universitytour.asp http://guille.costasol.net/ http://vblibros.com/
© 2001 Microsoft Corporation. All rights reserved.

Desarrollo y consumo de web services

  • 1.
    Expositor : CruzadoParedes Naim Jhon
  • 2.
    Desarrollo y consumode Servicios Webs
  • 3.
    Desarrollo y consumode Servicios Web Contenido: ¿Qué son los servicios Web?
  • 4.
    Desarrollo y consumode Servicios Web Contenido: ¿Qué son los servicios Web? Creación de un servicio Web
  • 5.
    Desarrollo y consumode Servicios Web Contenido: ¿Qué son los servicios Web? Creación de un servicio Web Localizar un servicio Web
  • 6.
    Desarrollo y consumode Servicios Web Contenido: ¿Qué son los servicios Web? Creación de un servicio Web Localizar un servicio Web Cómo usar un servicio Web desde… Una aplicación Web Una aplicación Windows (de escritorio)
  • 7.
    Desarrollo y consumode Servicios Web ¿Qué son los servicios Web?: Definición: Son componentes que nos permiten crear aplicaciones independientes de la plataforma. Se pueden usar servicios Web para integrar aplicaciones escritas en lenguajes diferentes.
  • 8.
    Desarrollo y consumode Servicios Web ¿Qué son los servicios Web?: Definición: Son componentes que nos permiten crear aplicaciones independientes de la plataforma. Se pueden usar servicios Web para integrar aplicaciones escritas en lenguajes diferentes. ¿Debo saber XML para crear servicios Web?
  • 9.
    Desarrollo y consumode Servicios Web Definiciones “técnicas”: XML: (eXtensible Markup Language) Estándar para describir la información que se intercambia entre sistemas diferentes. SOAP: (Simple Object Access Protocol) Es una especificación que define el formato XML para mensajes. WSDL: (Web Services Description Language) Un archivo WSDL es un documento XML que describe mensajes SOAP y la forma en que se intercambian esos mensajes.
  • 10.
    Desarrollo y consumode Servicios Web Creación de servicios Web: ¿Cómo crear servicios Web? Usando un editor de textos o WebMatrix Usando Visual Studio .NET
  • 11.
    “ Hola, Mundo”al estilo Web Service Ejemplo paso a paso
  • 12.
    Ejemplo: HolaMundoWebS.asmx Usardirectivas ASP.NET para indicar que es un servicio Web: <%@ WebService
  • 13.
    Ejemplo: HolaMundoWebS.asmx Indicarel lenguaje usado para el código: Language=“C#”
  • 14.
    Ejemplo: HolaMundoWebS.asmx Elnombre de la clase: Class=“HolaMundoWebS”
  • 15.
    Ejemplo: HolaMundoWebS.asmx Cerrarla directiva ASP.NET: %>
  • 16.
    Ejemplo: HolaMundoWebS.asmx Indicarel espacio de nombres: using System.Web.Services;
  • 17.
    Ejemplo: HolaMundoWebS.asmx Declararla clase: public class HolaMundoWebS {
  • 18.
    Ejemplo: HolaMundoWebS.asmx Opcional,pero recomendado, usar el atributo WebService: [WebService( Namespace=&quot;http://elGuille/&quot;)]
  • 19.
    Ejemplo: HolaMundoWebS.asmx Indicarla descripción de la clase: [WebService( Namespace=&quot;http://elGuille/&quot;, Description=&quot;Hola, Mundo al estilo Web Service&quot;)]
  • 20.
    Ejemplo: HolaMundoWebS.asmx Elatributo hay que indicarlo antes de la declaración de la clase: [WebService( Namespace=&quot;http://elGuille/&quot;, Description=&quot;Hola, Mundo al estilo Web Service&quot;)] public class HolaMundoWebS {
  • 21.
    Ejemplo: HolaMundoWebS.asmx Declararlos métodos, usando el atributo WebMethod: [WebMethod] public string Saludar() { return &quot;Hola, Mundo&quot;; }
  • 22.
    Ejemplo: HolaMundoWebS.asmx Enlos métodos también podemos añadir una descripción: [WebMethod(Description=&quot;Saluda al Mundo&quot;)]
  • 23.
    Ejemplo: HolaMundoWebS.asmx Porsupuesto, podemos añadir cuantos métodos queramos a la clase; pero, si no llevan el atributo WebMethod, no serán expuestos por el servicio Web.
  • 24.
    Ejemplo: HolaMundoWebS.asmx Veamostodo lo dicho en acción.
  • 25.
    Crear servicio Webcon Visual Studio .NET Ejemplo
  • 26.
    Desarrollo y consumode Servicios Web Hacer públicos los servicios Web: UDDI: Universal Description, Discovery and Integration (Descripción, descubrimiento e integración universales) UDDI permite dar a conocer los servicios Web Usar http://uddi.microsoft.com/ para publicar nuestros servicios Web
  • 27.
    Desarrollo y consumode Servicios Web Consumo de servicios Web: ¿Cómo usar los servicios Web? Desde un cliente Web con ASP.NET (Web Form) Desde un cliente Windows Desde un cliente que “entienda” XML
  • 28.
    Cliente Web (FormularioWeb) Explorador Servidor Web Formulario Web Servicio Web Internet Internet Servidor Web
  • 29.
    Cliente Windows Aplicaciónde Windows Servidor Web Servicio Web Internet
  • 30.
    Desarrollo y consumode Servicios Web Ejemplo de cliente Web: Creamos una aplicación Web (Web Form) Localizamos el servicio Web (UDDI o ‘a mano’) Creamos una referencia Web Usamos la clase del servicio Web como cualquier otra clase Publicamos la aplicación Web La ‘consumimos’ desde el explorador
  • 31.
    Crear un clienteWeb Ejemplo
  • 32.
    Desarrollo y consumode Servicios Web Ejemplo de cliente Windows: Creamos una aplicación Windows Localizamos el servicio Web (UDDI o ‘a mano’) Creamos una referencia Web Usamos la clase del servicio Web como cualquier otra clase La ‘consumimos’ como cualquier otra aplicación de escritorio
  • 33.
    Crear un clienteWindows Ejemplo
  • 34.
    Desarrollo y consumode Servicios Web Ejemplo de cliente XML Creamos la aplicación En esta ocasión no existe una “clase” Usamos el código SOAP para enviar el valor y recuperar el resultado La comunicación se hace mediante la clase XMLHTTPRequest
  • 35.
    El comando aenviar: <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;> <soap:Body> <CaF xmlns=&quot;elGuille&quot;> <valor> double </valor> </CaF> </soap:Body> </soap:Envelope> oHttReq.open &quot;POST&quot;, txtURL.Text, False oHttReq.setRequestHeader &quot;Content-Type&quot;, _ &quot;text/xml; charset=utf-8&quot; oHttReq.setRequestHeader &quot;SOAPAction&quot;, _ &quot;elGuille/CaF&quot;
  • 36.
    El código XMLrecibido: <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;> <soap:Body> <CaFResponse xmlns=&quot;elGuille&quot;> <CaFResult> double </CaFResult> </CaFResponse> </soap:Body> </soap:Envelope> Interpretar el resultado: txtF.Text = _ XMLparser.selectSingleNode( _ &quot;/soap:Envelope/soap:Body/CaFResponse/CaFResult&quot;).Text
  • 37.
  • 38.
  • 39.
    MSDN: El recursopara el desarrollador www.microsoft.com/spanish/msdn MSDN!Estudiantes:Recursos para los estudiantes www.microsoft.com/spanish/MSDN/estudiantes Microsoft University Tour: Prácticas de las charlas de hoy www.microsoft.com/spanish/MSDN/estudiantes/eventos/universitytour.asp http://guille.costasol.net/ http://vblibros.com/
  • 40.
    © 2001 MicrosoftCorporation. All rights reserved.

Notas del editor

  • #3 Copyright Microsoft 2001
  • #4 Copyright Microsoft 2001
  • #5 Copyright Microsoft 2001
  • #6 Copyright Microsoft 2001
  • #7 Copyright Microsoft 2001
  • #8 Copyright Microsoft 2001
  • #9 Copyright Microsoft 2001
  • #10 Copyright Microsoft 2001 WSDL se pronuncia wis-del
  • #11 Copyright Microsoft 2001
  • #12 Copyright Microsoft 2001 Se indicará “paso a paso” cómo crear un servicio Web usando un editor de textos.
  • #13 Copyright Microsoft 2001 Usar directivas ASP.NET para indicar que es un servicio Web, el lenguaje a utilizar y el nombre de la clase.
  • #14 Copyright Microsoft 2001 Indicar el lenguaje a usar “C#” o “VB”
  • #15 Copyright Microsoft 2001 Indicar el nombre de la clase que contendrá este servicio Web
  • #16 Copyright Microsoft 2001 Cerrar la directiva ASP.NET
  • #17 Copyright Microsoft 2001 Indicar el/los espacios de nombres que necesitará el servicio Web, como mínimo hay que indicar System.Web.Services
  • #18 Copyright Microsoft 2001
  • #19 Copyright Microsoft 2001 Al definir la clase, se recomienda el uso de un espacio de nombres que no sea el predeterminado. El espacio de nombre no tiene porqué ser una dirección URI válida.
  • #20 Copyright Microsoft 2001 En el atributo WebService podemos indicar la descripción de la clase, además del espacio de nombres.
  • #21 Copyright Microsoft 2001 El atributo se indicará antes de la declaración de la clase.
  • #22 Copyright Microsoft 2001 Declarar el método con el atributo WebMethod, si no lo hacemos así, el método no se expondrá en el servicio Web.
  • #23 Copyright Microsoft 2001 En los métodos también podemos añadir una descripción.
  • #24 Copyright Microsoft 2001 Agregar más métodos si así lo creemos oportuno, no olvidar el atributo WebMethod.
  • #25 Copyright Microsoft 2001 Publicar el servicio Web creado en localhost, (simplemente copiándolo) y acceder al servicio, para que se vea cómo se muestra la descripción, etc.
  • #26 Copyright Microsoft 2001 Crear un servicio Web con Visual Studio. El tipo será para sumar dos números enteros o la conversión de grados Fahrenheit a Celsius.
  • #27 Copyright Microsoft 2001 Búsqueda de servicios Web: Podemos usar los servicios UDDI para localizar servicios Web. También podemos publicar nuestros servicios Web en http://uddi.microsoft.com/
  • #28 Copyright Microsoft 2001
  • #31 Copyright Microsoft 2001 Pasos para crear un cliente Web (Web Form)
  • #32 Copyright Microsoft 2001 Crear un cliente Web Form con Visual Studio.
  • #33 Copyright Microsoft 2001 Pasos para crear un cliente Windows (de escritorio)
  • #34 Copyright Microsoft 2001 Crear un cliente Windows con Visual Studio.
  • #35 Copyright Microsoft 2001 Pasos para crear un cliente que “entienda” XML, en este caso un cliente realizado con VB6 y una librería COM (XML parser)
  • #36 Copyright Microsoft 2001 Enviar el comando mediante la clase XMLHTTPRequest
  • #37 Copyright Microsoft 2001 Interpretar el resultado obtenido.
  • #38 Copyright Microsoft 2001 Crear un cliente Windows con Visual Basic 6.0 y la librería MSXML.
  • #39 Copyright Microsoft 2001 Se acabó lo que se daba…
  • #40 Copyright Microsoft 2001
  • #41 Copyright Microsoft 2001