1 / 26

Alberto Guirao Rico Jesús Barahona Esteve

Alberto Guirao Rico Jesús Barahona Esteve. Web Services con .NET. Agenda. Visión general Infraestructura Desarrollo de un servicio Web Invocación de un servicio Web Bibliografía. HTML, XML. HTML, XML. Visión general - ¿Qué es un web Service?. Definición:

rupert
Download Presentation

Alberto Guirao Rico Jesús Barahona Esteve

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Alberto Guirao Rico Jesús Barahona Esteve Web Services con .NET

  2. Agenda • Visión general • Infraestructura • Desarrollo de un servicio Web • Invocación de un servicio Web • Bibliografía

  3. HTML, XML HTML, XML Visión general - ¿Qué es un web Service? • Definición: • Es una unidad de lógica de aplicación que ofrece datos y servicios a otras aplicaciones. • ¿Cómo funciona? • Las aplicaciones acceden a los servicios Web a través de estándares como HTTP, XML y SOAP. • Independencia de cómo se haya implementado el servicio Web y acceso desde cualquier dispositivo. Servicios Web Servicios Web

  4. Visión general - Escenario Otros servicios Web Servicios Webde tus socios Internet + XML Usuarios finales TuCompañia.com Capa de lógica de negocio de la aplicación Capa de acceso a datos y almacenamiento Otras aplicaciones

  5. Visión general - ¿Para qué sirven? • Permiten interconectar • Aplicaciones • Diferentes clientes • No sólo browsers • Cualquier dispositivo • PC, móvil, PDA, ... • Distribución de la lógica de la aplicación • Permiten una Web programable • No sólo puramente interactiva

  6. Visión general - ¿Qué aporta? • Nuevas oportunidades empresariales: facilitan la comunicación con los socios. • Ofrecen a los usuarios experiencias mucho más personalizadas e integradas, por medio de la nueva gama de dispositivos inteligentes. • Reducen la duración del ciclo de creación. • Ponen fácilmente sus propios servicios Web XML a disponibilidad de otros.

  7. Visión general - Ejemplos • E-commerce: venta de libros, música online y otros productos • Seguimiento de mercancías: UPS, FedEx • Parte meteorológico • Consulta de mapas online • TerraServer: TerraServer.Microsoft.Net • Servicios web gratuitos en: www.XMethods.com

  8. Agenda • Visión general • Infraestructura • Desarrollo de un servicio Web • Invocación de un servicio Web • Bibliografía

  9. Infraestructura - Tecnologías subyacentes Direcory: Publish & Find Services: UDDI Inspection: Find Services on server: DISCO Description: Formal Service Descriptions: WSDL Wire Format: Service Interactions: SOAP Universal Data Format: XML Communications: Internet Simple, Open, Broad Industry Support

  10. Infraestructura - Tecnologías subyacentes • XML (eXtensible Markup Language) • Formato universal para documentos estructurados y datos en la Web administrado por W3C • UDDI (Universal Description, Discovery and Integration) • Servicio de directorio que permite publicar y/o describir servicios Web • DISCO • Permite encontrar servicios Web en un sitio dado • WSDL (Web Service Description Language) • Una gramática basada en XML que permite describir las capacidades de un servicio Web • SOAP (Simple Object Access Protocol) • Protocolo ligero para el intercambio de información en entornos distribuidos y descentralizados administrado por W3C

  11. Infraestructura - ¿Cómo acceder? UDDI Directory http://www.uddi.org UDDI u otro servicio de directorio Localiza un servicio Enlace al Discovery Document (XML) Inspection http://www.ibuyspy.com/ibuyspy.disco DISCO Pide un Discovery Document Cliente del servicio Web Devuelve el Discovery Document (XML) WSDL Description http://www.ibuyspy.com/ibuyspycs/InstantOrder.asmx?wsdl Pide una descripción del servicio Servicio Web Devuelve la descripción del servicio (XML) SOAP Wire Format Pide un servicio Devuelve la respuesta del servicio (XML)

  12. Agenda • Visión general • Infraestructura • Desarrollo de un servicio Web • Invocación de un servicio Web • Bibliografía

  13. Desarrollo de un servicio Web - Introducción • Tiene extensión .asmx • Contiene código pero no la interficie de usuario • Herramientas: • Notepad • Simplemente crear el archivo .asmx • Visual Studio .NET • Crear un proyecto “ASP.NET Web Service” • Sun ONE y otras plataformas

  14. Desarrollo de un servicio Web - Código • ServicioMates.asmx <%@ WebService Language=“c#” Class=“ServicioMates” %>Using System.Web.Services;Public class ServicioMates : WebService {[WebMethod] public int suma( int num1, int num2 ) { return num1 + num2; }[WebMethod] public int resta( int num1, int num2 ) { return num1 - num2; }}

  15. Desarrollo de un servicio Web - Publicación • Visual Studio .NET hace todo lo necesario • Genera un proxy del servicio Web • Permitirá a los desarrolladores programar contra el servicio Web • Publica el contrato WSDL • Genera el fichero .vsdisco • Enlace al recurso que proporcionará el WSDL • Si tenemos instalado .NET Framework • Colocamos el fichero .asmx en el root de nuestro servidor Web. • Cuando alguien haga una petición a nuestro servicio Web, .NET generará todo lo necesario y dará una respuesta.

  16. Agenda • Visión general • Infraestructura • Desarrollo de un servicio Web • Invocación de un servicio Web • Bibliografía

  17. Invocación de un servicio Web • Desde cualquier browser • http://servidor/ServicioMates.asmx • Resultado:

  18. Invocación de un servicio Web • Desde cualquier browser • http://servidor/ServicioMates.asmx?op=suma

  19. Invocación de un servicio Web • Desde cualquier browser • http://servidor/ServicioMates.asmx/suma?num1=4&num2=2 • Equivale a un HTTP-GET • Devuelve un mensaje en XML con el resultado: GET /ServicioMates.asmx/suma?num1=string&num2=string HTTP/1.1 Host: servidor <?xml version="1.0" encoding="utf-8" ?> <int xmlns="http://servidor/">6</int>

  20. Invocación de un servicio Web • Desde cualquier browser • http://servidor/ServicioMates.asmx?WSDL • Devuelve un mensaje en XML con el resultado: <?xml version="1.0" encoding="utf-8" ?> <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" ... xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <s:schema elementFormDefault="qualified" targetNamespace="http://servidor/"> <s:element name="suma"> <s:complexType> <s:sequence>   <s:element minOccurs="1" maxOccurs="1" name="num1" type="s:int" />   <s:element minOccurs="1" maxOccurs="1" name="num2" type="s:int" />  </s:sequence>  </s:complexType>  </s:element> ...

  21. Invocación de un servicio Web • Desde una aplicación • Crear el proxy de acceso al servicio Web remoto • Añadir una referencia Web al sitio donde se encuentra el servicio o • Crear el proxy manualmente • wsdl http://servidor/ServicioMates.asmx?WSDL • Acceder de forma normal • ClienteMates.cs Using System; class App { public static void Main() {ServicioMatessm = new ServicioMates(); int suma = sm.suma( 3, 5 ); Console.WriteLine( suma ); }}

  22. Cliente ... int suma = sm.suma( 3, 5 ); ... Invocación de un servicio Web Servicio Web Internet XML ... [WebMethod]public int suma(int num1,int num2){ return num1 + num2;} ...

  23. Invocación de un servicio Web • Desde una página web ASP.NET • ClienteMates.aspx • ASP.NET UI • Operandos: Text Box • Metodos: Botones • Resultado: Label • Manipulador de eventos • OnServerClick

  24. Agenda • Visión general • Infraestructura • Desarrollo de un servicio Web • Invocación de un servicio Web • Bibliografía

  25. Bibliografia • Microsoft XML Web Services • http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=28000442 • XML • http://www.w3.org/TR/REC-xml • Especificación de SOAP • http://www.w3.org/TR/SOAP • Especificación de WSDL • http://www.w3.org/TR/wsdl • UDDI • www.uddi.org

  26. Bibliografia - Servicios Web gratuitos • XMethods • Servicios Web implementados desde diversas plataformas • http://www.XMethods.com • TerraServer • Conjunto de servicios, como por ejemplo un visor de mapas topográficos de Estados Unidos • http://TerraServer.Microsoft.net

More Related