La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a los Webservices. Contenidos Definición Definición Protocolos que hacen posible la existencia de los Webservices Protocolos que hacen posible.

Presentaciones similares


Presentación del tema: "Introducción a los Webservices. Contenidos Definición Definición Protocolos que hacen posible la existencia de los Webservices Protocolos que hacen posible."— Transcripción de la presentación:

1 Introducción a los Webservices

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

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

4 Webservices Los Servicios Web son para los computadores, lo que las páginas Web para los humanos Los Servicios Web son para los computadores, lo que las páginas Web para los humanos Fortaleza de los WebServices – basados en estándares 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 HTTP XML XML SOAP, XML-RPC SOAP, XML-RPC WSDL WSDL UDDI UDDI

6 Protocolos y Estándares HTTP HTTP Un esquema de direccionamiento comprensible. Un esquema de direccionamiento comprensible. Arquitectura Cliente-Servidor. 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. 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 HTTP Es un protocolo sin conexión y sin estado. 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. 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. 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. 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 ( XML (eXtended Markup Language) Base de los servicios Web Base de los servicios Web Permite comunicación entre sistemas de forma estándar Permite comunicación entre sistemas de forma estándar Información con estructura Información con estructura Utilizado ampliamente en la industria Utilizado ampliamente en la industria Futuro estándar de estructuración de información Futuro estándar de estructuración de información

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

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

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

12 Protocolos y Estándares WSDL y UDDI WSDL y UDDI El archivo WSDL, en formato XML, indica al sistema que consulte, qué servicios dispone 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 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 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 WSDL y UDDI ClienteServicio Web SOAP Registro UDDI WSDL

14 Webservices en Java Apache Axis – Implementación de SOAP para Java y C++ Apache Axis – Implementación de SOAP para Java y C++ Continuación del proyecto Apache SOAP Continuación del proyecto Apache SOAP Deploy de servicios en forma natural Deploy de servicios en forma natural Requiere un WebServer para operar (Apache Tomcat) Requiere un WebServer para operar (Apache Tomcat)

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

16 Ejemplo deploy simple XML SOAP generado XML SOAP generado 2.0 2.0 </soapenv:Envelope>

17 Ejemplo deploy simple Cliente que utiliza este Webservice Cliente que utiliza este Webservice String numero ="465"; Service service = new Service(); Call call = (Call)service.createCall(); call.setTargetEndpointAddress(new URL("http://localhost:8080/axis/Raiz.jws")); call.setOperationName(new QName("http://soapinterop.org/", "RaizCuadrada")); Double returnValue = (Double)call.invoke(new Object[]{numero}); System.out.println("La raiz de "+numero +" es "+returnValue);

18 Ejemplo deploy simple Tipos de datos estandarizados Tipos de datos estandarizados xsd:base64Binarybyte[] xsd:base64Binarybyte[] xsd:boolean boolean xsd:boolean boolean xsd:bytebyte xsd:bytebyte xsd:dateTimejava.util.Calendar xsd:dateTimejava.util.Calendar xsd:decimaljava.math.BigDecimal xsd:decimaljava.math.BigDecimal xsd:doubledouble xsd:doubledouble xsd:floatfloat xsd:floatfloat xsd:hexBinarybyte[] xsd:hexBinarybyte[] xsd:intint xsd:intint xsd:integerjava.math.BigInteger xsd:integerjava.math.BigInteger xsd:longlong xsd:longlong xsd:shortshort xsd:shortshort xsd:stringjava.lang.String xsd:stringjava.lang.String xsd:QNamejavax.xml.namespace.QName xsd:QNamejavax.xml.namespace.QName

19 Deploy más elaborado Ejemplo: Webservice que retorna una clase creada por nosotros 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 Archivo WSDD <beanMapping qname="myNS:Archivo" xmlns:myNS="urn:BeanService" <beanMapping qname="myNS:Archivo" xmlns:myNS="urn:BeanService" languageSpecificType="java:Archivo"/> languageSpecificType="java:Archivo"/> </deployment>

21 Deploy más elaborado Cliente Cliente Service service = new Service(); Call call = (Call)service.createCall(); QName archivoqn = new QName("urn:BeanService","Archivo"); call.setOperationName( "descargaEventos" ); call.registerTypeMapping(Archivo.class,archivoqn,new BeanSerializerFactory(Archivo.class,archivoqn),new BeanDeserializerFactory(Archivo.class,archivoqn),false); call.registerTypeMapping(Archivo.class,archivoqn,new BeanSerializerFactory(Archivo.class,archivoqn),new BeanDeserializerFactory(Archivo.class,archivoqn)); call.setTargetEndpointAddress(new URL("http://localhost:8080/axis/services/EventosServidor")); Archivo[] returnValue = (Archivo[])call.invoke(new Object[]{Fecha,Hora});

22 Fin


Descargar ppt "Introducción a los Webservices. Contenidos Definición Definición Protocolos que hacen posible la existencia de los Webservices Protocolos que hacen posible."

Presentaciones similares


Anuncios Google