Introducci - PowerPoint PPT Presentation

About This Presentation
Title:

Introducci

Description:

Introducci n a los Webservices Contenidos Definici n Protocolos que hacen posible la existencia de los Webservices Webservices en Java Ejemplo Webservices Los ... – PowerPoint PPT presentation

Number of Views:3
Avg rating:3.0/5.0
Slides: 23
Provided by: Felipe69
Category:

less

Transcript and Presenter's Notes

Title: Introducci


1
Introducción a los Webservices
2
Contenidos
  • Definición
  • Protocolos que hacen posible la existencia de los
    Webservices
  • Webservices en Java
  • Ejemplo

3
Webservices
  • Los servicios Web proporcionan una manera de
    crear aplicaciones que pueden ser accedidas y
    utilizadas por diferentes clientes utilizando
    diferentes plataformas.
  • Permite invocar funciones de otras aplicaciones
    independientemente de cómo se hayan creado las
    aplicaciones
  • Permite integración de aplicaciones

4
Webservices
  • Los Servicios Web son para los computadores, lo
    que las páginas Web para los humanos
  • Fortaleza de los WebServices basados en
    estándares
  • Protocolos de comunicación
  • Formatos de representación de datos
  • Lenguajes descriptivos
  • Mecanismo de descubrimiento

5
Protocolos y estándares
  • HTTP
  • XML
  • SOAP, XML-RPC
  • WSDL
  • UDDI

6
Protocolos y Estándares
  • HTTP
  • Un esquema de direccionamiento comprensible.
  • Arquitectura Cliente-Servidor.
  • HTTP se asienta en el paradigma
    solicitud/respuesta. La comunicación se asienta
    sobre TCP/IP. El puerto por defecto es el 80,
    pero se pueden utilizar otros.

7
Protocolos y Estándares
  • HTTP
  • Es un protocolo sin conexión y sin estado.
  • Después de que el servidor ha respondido la
    petición del cliente, se rompe la conexión entre
    ambos.
  • Está abierto a nuevos tipos de datos.
  • Cuando un servidor HTTP transmite información de
    vuelta a un cliente, incluye una cabecera que le
    indica al cliente sobre los tipos de datos que
    componen el documento.

8
Protocolos y Estándares
  • XML (eXtended Markup Language)
  • Base de los servicios Web
  • Permite comunicación entre sistemas de forma
    estándar
  • Información con estructura
  • Utilizado ampliamente en la industria
  • Futuro estándar de estructuración de información

9
Protocolos y Estándares
  • SOAP v/s XML-RPC
  • Invocación de procedimientos a través de
    protocolos estándar
  • XML-RPC . Unix Friendly
  • SOAP . Arquitectura .NET
  • Especifican todas las reglas necesarias para
    ubicar servicios Web XML, integrarlos en
    aplicaciones y establecer la comunicación entre
    ellos.
  • Incompatibles entre sí

10
Protocolos y Estándares
  • SOAP v/s XML-RPC
  • Estandarizados por la W3C
  • SOAP lidera en desarrollos de Webservices
  • Google posee un servicio Web de búsqueda
    implementado con protocolo SOAP

11
Protocolos y Estándares
  • SOAP
  • Protocolo de acceso a objetos simple
  • soporte completo y minucioso de todo tipo de
    servicios Web
  • Mas potente que XML-RPC
  • Incluye toda una arquitectura a su alrededor

12
Protocolos y Estándares
  • WSDL y UDDI
  • El archivo WSDL, en formato XML, indica al
    sistema que consulte, qué servicios dispone
  • WSDL además da una referencia precisa sobre el
    servicio, para poder invocarlo usando los
    parámetros adecuados
  • UDDI es un Servicio Web en línea que se puede
    utilizar desde las aplicaciones para descubrir de
    forma dinámica otros servicios en línea

13
Protocolos y Estándares
  • WSDL y UDDI

Registro UDDI
WSDL
WSDL
SOAP
Cliente
Servicio Web
SOAP
14
Webservices en Java
  • Apache Axis Implementación de SOAP para Java y
    C
  • Continuación del proyecto Apache SOAP
  • Deploy de servicios en forma natural
  • Requiere un WebServer para operar (Apache Tomcat)

15
Ejemplo deploy simple
  • Cálculo raíz cuadrada
  • public class Raiz
  • public double raizCuadrada(String i1)
  • return Math.sqrt(Integer.parseInt(i1))
  • Guardamos clase con extensión .jws en directorio
    de Axis

16
Ejemplo deploy simple
  • XML SOAP generado
  • lt?xml version"1.0" encoding"UTF-8"?gt
  • ltsoapenvEnvelope xmlnssoapenv"http//schemas.xm
    lsoap.org/soap/envelope/" xmlnsxsd"http//www.w3
    .org/2001/XMLSchema" xmlnsxsi"http//www.w3.org/
    2001/XMLSchema-instance"gt
  • ltsoapenvBodygt
  • ltraizCuadradaResponse soapenvencodingStyle"htt
    p//schemas.xmlsoap.org/soap/encoding/gt
  • ltraizCuadradaReturn xsitype"xsddouble"gt2.0lt/
    raizCuadradaReturngt
  • lt/raizCuadradaResponsegt
  • lt/soapenvBodygt
  • lt/soapenvEnvelopegt

17
Ejemplo deploy simple
  • Cliente que utiliza este Webservice
  • String numero "465"
  • Service service new Service()
  • Call call (Call)service.createCall()
  • call.setTargetEndpointAddress(new
    URL("http//localhost8080/axis/Raiz.jws"))
  • call.setOperationName(new QName("http//soapintero
    p.org/", "RaizCuadrada"))
  • Double returnValue (Double)call.invoke(new
    Objectnumero)
  • System.out.println("La raiz de "numero " es
    "returnValue)

18
Ejemplo deploy simple
  • Tipos de datos estandarizados
  • xsdbase64Binary byte
  • xsdboolean boolean
  • xsdbyte byte
  • xsddateTime java.util.Calendar
  • xsddecimal java.math.BigDecimal
  • xsddouble double
  • xsdfloat float
  • xsdhexBinary byte
  • xsdint int
  • xsdinteger java.math.BigInteger
  • xsdlong long
  • xsdshort short
  • xsdstring java.lang.String
  • xsdQName javax.xml.namespace.QName

19
Deploy más elaborado
  • Ejemplo Webservice que retorna una clase creada
    por nosotros
  • public class Archivo implements Serializable
  • public String Nombre
  • public byte Datos
  • public Archivo()
  • public void setNombre(String param_Nombre)
  • Nombre param_Nombre
  • public void setDatos(byte param_Datos)
  • Datos param_Datos
  • public byte getDatos()
  • return Datos
  • public String getNombre()
  • return Nombre

20
Deploy más elaborado
  • Archivo WSDD
  • ltdeployment xmlns"http//xml.apache.org/axis/wsdd
    /" xmlnsjava"http//xml.apache.org/axis/wsdd/pro
    viders/java"gt
  • ltservice name"EventosServidor"
    provider"javaRPC"gt
  • ltparameter name"className" value"WS_EventosSer
    vidor"/gt
  • ltparameter name"allowedMethods" value""/gt
  • ltbeanMapping qname"myNSArchivo"
    xmlnsmyNS"urnBeanService"
  • languageSpecificType"javaArchivo"
    /gt
  • lt/servicegt
  • lt/deploymentgt

21
Deploy más elaborado
  • Cliente
  • Service service new Service()
  • Call call (Call)service.createCall()
  • QName archivoqn new QName("urnBeanService","Arc
    hivo")
  • call.setOperationName( "descargaEventos" )
  • call.registerTypeMapping(Archivo.class,archivoqn,n
    ew BeanSerializerFactory(Archivo.class,archivoqn),
    new BeanDeserializerFactory(Archivo.class,archivoq
    n),false)
  • call.registerTypeMapping(Archivo.class,archivoqn,n
    ew BeanSerializerFactory(Archivo.class,archivoqn),
    new BeanDeserializerFactory(Archivo.class,archivoq
    n))
  • call.setTargetEndpointAddress(new
    URL("http//localhost8080/axis/services/EventosSe
    rvidor"))
  • Archivo returnValue (Archivo)call.invoke(new
    ObjectFecha,Hora)

22
  • Fin
Write a Comment
User Comments (0)
About PowerShow.com