Alberto Guirao Rico - PowerPoint PPT Presentation

About This Presentation
Title:

Alberto Guirao Rico

Description:

... oportunidades empresariales: facilitan la comunicaci n ... Reducen la duraci n del ... para documentos estructurados y datos en la Web administrado por W3C ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 27
Provided by: joseprh
Category:

less

Transcript and Presenter's Notes

Title: Alberto Guirao Rico


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

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

3
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
TuCompañia.com
Usuarios finales
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?
Directory http//www.uddi.org
UDDI
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/Insta
ntOrder.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

lt_at_ WebService Languagec ClassServicioMates
gtUsing System.Web.ServicesPublic 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?opsuma

19
Invocación de un servicio Web
  • Desde cualquier browser
  • http//servidor/ServicioMates.asmx/suma?num14num
    22
  • Equivale a un HTTP-GET
  • Devuelve un mensaje en XML con el resultado

GET /ServicioMates.asmx/suma?num1stringnum2stri
ng HTTP/1.1 Host servidor
lt?xml version"1.0" encoding"utf-8" ?gt ltint
xmlns"http//servidor/"gt6lt/intgt
20
Invocación de un servicio Web
  • Desde cualquier browser
  • http//servidor/ServicioMates.asmx?WSDL
  • Devuelve un mensaje en XML con el resultado

lt?xml version"1.0" encoding"utf-8" ?gt
ltdefinitions xmlnshttp"http//schemas.xmlsoap.o
rg/wsdl/http/" ... xmlns"http//schemas.xmlsoap.o
rg/wsdl/"gt lttypesgt ltsschema elementFormDefault"q
ualified" targetNamespace"http//servidor/"gt
ltselement name"suma"gt ltscomplexTypegt
ltssequencegt   ltselement minOccurs"1"
maxOccurs"1" name"num1" type"sint" /gt  
ltselement minOccurs"1" maxOccurs"1"
name"num2" type"sint" /gt  lt/ssequencegt  lt/sc
omplexTypegt  lt/selementgt ...
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() ServicioMates sm new
ServicioMates() int suma sm.suma( 3, 5
) Console.WriteLine( suma )
22
Invocación de un servicio Web
Servicio Web
... WebMethodpublic int suma(int num1,int
num2) return num1 num2 ...
Internet XML
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?contentid28000442
  • 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
Write a Comment
User Comments (0)
About PowerShow.com