soap, xml, web services y java

Upload: jose

Post on 13-Apr-2018

246 views

Category:

Documents


2 download

TRANSCRIPT

  • 7/23/2019 Soap, XML, Web Services y Java

    1/24

    1

    Simple Object Access Protocol

    (SOAP)

    Alumnos:

    Abel Rodas Castillo

    Cristhian Causo Gil

    Curso: Desarrollo de Aplicaciones Mviles

  • 7/23/2019 Soap, XML, Web Services y Java

    2/24

    2

    Introduccin La mayora de los sitios webs grandes (Google,

    Bancos, Facebook, Microsoft, etc.) usan aplicaciones

    que utilizan servicios webs (web services). Un web

    service es un conjunto de protocolos y estndares que

    sirven para intercambiar datos entre aplicaciones. As

    que distintas aplicaciones de software desarrolladas en

    lenguajes de programacin diferentes, y ejecutadas

    sobre cualquier plataforma, pueden utilizar losservicios web para intercambiar datos en redes de

    ordenadores como Internet, esto significa que los ws

    aportan interoperabilidad.

  • 7/23/2019 Soap, XML, Web Services y Java

    3/24

    3

    SOAP

    Es un protocolo mas utilizados en los servicios WEBpara el intercambio de datos estructurados en

    formato XML entre dos entidades. SOAP (Simple Object Access Protocol) define cmo

    dos objetos en diferentes procesos puedencomunicarse por medio de intercambio de datos

    XML (mensajes).

    Este protocolo deriva de un protocolo creado porDave Wineren 1998, llamadoXML-RPC(XMLRemote Procedure Call).

  • 7/23/2019 Soap, XML, Web Services y Java

    4/24

    4

    WSDL son las siglas de

    Web Services Description

    Language, un formato XML

    que se utiliza para describir

    servicios Web .

  • 7/23/2019 Soap, XML, Web Services y Java

    5/24

    5

    Resumiendo

    SOAP es una manera para que un

    programa que se ejecuta en un sistema

    operativo para comunicarse con un

    programa que se ejecuta en el mismo o un

    sistema operativo diferente , utilizando

    HTTP (o cualquier otro protocolo detransporte ) y XML.

  • 7/23/2019 Soap, XML, Web Services y Java

    6/24

    6

    Caractersticas de SOAP

    Extensibilidad(seguridad y WS-routing

    son extensiones aplicadas en el

    desarrollo).

    Neutralidad(SOAP puede ser utilizado

    sobre cualquier protocolo de transporte

    comoHTTP, SMTP, TCP oJMS). Independencia (SOAP permite cualquier

    modelo de programacin).

  • 7/23/2019 Soap, XML, Web Services y Java

    7/24

    7

    Ventajas

    Debido al uso de XML permite invocar procedimientos remotos

    de muchos lenguajes, por lo tanto, presenta una gran

    interoperabilidad.

    Al utilizar una comunicacin vaHTTP es fcilmente escalable,

    adems de ser casi siempre permitido por los cortafuegos.

    Puede ser implementado utilizando cualquier lenguaje y

    ejecutado en cualquier plataforma.

    Es posible utilizarlo mediante usuario annimo y medianteautentificacin.

    Es posible transmitirlo mediante cualquier protocolo de

    transporte capaz de transmitir texto, tpicamenteHTTP o SMTP.

  • 7/23/2019 Soap, XML, Web Services y Java

    8/24

    8

    Desventajas

    Debido al uso de XML para el paso de mensajes, SOAP es

    considerablemente ms lento que otros middleware como CORBA

    ya que los datos binarios se codifican como texto. Paracontrarrestar este punto dbil en el caso de XML con cdigo

    binario incrustado se desarroll un mtodo optimizado de

    transmisin de mensajes.

    Depende del WSDL (Web Services Description Language).

    Al contrario que Java, PHP o Python ciertos lenguajes noofrecen un apoyo adecuado para su uso ya sea a nivel de

    integracin o de soporteIDE.

  • 7/23/2019 Soap, XML, Web Services y Java

    9/24

    9

    El Papel de JSON

    Como sabemos que al invocar un ws se estn

    comunicando dos aplicaciones, y esto es posible, por el

    protocolo SOAP que realiza un intercambio de mensajescon estndarXML. Entre mas datos se estn

    intercambiando entre las aplicaciones, los mensajes

    crecern mas y el tiempo de entrega se ira incrementando.

    Esto situacin ha hecho que haya surgido una nuevoformato para el intercambio de datos con el fin de hacer

    mas ligeros los mensajes de intercambio. Este nuevo

    formato esJSON.

  • 7/23/2019 Soap, XML, Web Services y Java

    10/24

    10

    JSON y XML

    JSON (JavaScript Object Notation) es un formato

    ligero para el intercambio de datos. JSON es un

    subconjunto de la notacin literal de objetos deJavaScript que no requiere el uso de XML. La

    simplicidad de JSON ha dado lugar a la

    generalizacin de su uso, especialmente como

    alternativa a XML. Tambin es frecuente el uso deJSON y XML en la misma aplicacin.

  • 7/23/2019 Soap, XML, Web Services y Java

    11/24

    11

    WSDL

    WSDL (Web Services Description Language) describe

    la interfaz pblica a los servicios Web. Est basado

    en XML y describe la forma de comunicacin, esdecir, los requisitos del protocolo y los formatos de

    los mensajes necesarios para interactuar con los

    servicios listados en su catlogo. Las operaciones y

    mensajes que soporta se describen en abstracto y seligan despus al protocolo concreto de red y al

    formato del mensaje.

  • 7/23/2019 Soap, XML, Web Services y Java

    12/24

    12

    Estructura del mensaje Envelope (obligatoria): raz que de la estructura, es la parte que identifica

    al mensaje SOAP como tal.

    Header: esta parte es un mecanismo de extensin ya que permite enviar

    informacin relativa a como debe ser procesado el mensaje. Es unaherramienta para que los mensajes puedan ser enviados de la forma ms

    conveniente para las aplicaciones. El elemento "Header" se compone a su

    vez de "Header Blocks" que delimitan las unidades de informacin

    necesarias para el header.

    Body (obligatoria): contiene la informacin relativa a la llamada y la

    respuesta.

    Fault: bloque que contiene informacin relativa a errores que se hayan

    producido durante el procesado del mensaje y el envio desde el "SOAP

    Sender" hasta el "Ultimate SOAP Receiver"

  • 7/23/2019 Soap, XML, Web Services y Java

    13/24

    13

    Estructura del mensaje

  • 7/23/2019 Soap, XML, Web Services y Java

    14/24

    14

    Ejemplo de mensaje SOAP Como ejemplo se muestra la forma en que un cliente solicitara

    informacin de un producto a un proveedor de servicios Web:

  • 7/23/2019 Soap, XML, Web Services y Java

    15/24

    15

    Ejemplo de mensaje SOAP Y esta sera la respuesta del proveedor:

  • 7/23/2019 Soap, XML, Web Services y Java

    16/24

    16

    Implementacin de un servicio

    web SOAP Todos los lenguajes de uso mayoritario en el desarrollo de

    sistemas web implementan o incluyen algn tipo de soporte para la

    implementacin tanto de web services SOAP como de los clientes

    que los consumen. Adems de libreras que implementan elprotocolo a nivel bsico, encontramos otras que implementan

    diferentes escenarios de uso y establecen interfaces ms sencillas

    simplificando la programacin.

    Estas libreras, utilizadas en conjunto con frameworks de

    desarrollo de sistemas web agilizan el proceso de desarrollo tanto

    del web service como de sus clientes, en especial si se genera un

    fichero WSDL que comunique a los clientes las caractersticas del

    servicio.

  • 7/23/2019 Soap, XML, Web Services y Java

    17/24

    17

    Implementacin de un servicio

    web SOAP JAVA: dentro de su librera estndar se encuentran implementaciones

    concretas a las que se dasoporte oficial. Tambin podemos encontrar

    libreras de terceros que, tal y como se ha comentado, ayudan al

    desarrollador simplificando las interfaces e implementando los casos deuso ms habituales. Cabe destacar que losIDEs ms utilizados ofrecen

    soporte para la creacin de servicios web SOAP que, entre otras cosas,

    generan automticamente el fichero WSDLy permiten disear de

    forma visual el API y las llamadas que contendr. En cuanto el servidor

    a utilizar, se pueden considerar las opciones tpicas en Java: Tomcat,Glashfish, etc. An as, la eleccin del servidor puede suponer algunas

    ventajas, por ejemplo, Glashfish genera una sencilla interfaz web para

    probar las diferentes llamadas del servicio. Adems, la mayora de

    herramientas permiten la generacin del cliente del servicio

    automticamente a partir de su fichero WSDL.

  • 7/23/2019 Soap, XML, Web Services y Java

    18/24

    18

    Implementacin de un servicio

    web SOAP PHP:ofrece soporte y unas libreras de apoyo

    habilitando la extensin SOAP en el servidor. Se ha

    desarrollado un gran nmero de libreras de terceros,que combinadas con el uso de frameworks MVC,

    simplifican las interfaces e implementan los escenarios

    de uso ms habituales. Tambin son habituales las

    implementaciones de clientes para servicios web pblicos

    concretos.

  • 7/23/2019 Soap, XML, Web Services y Java

    19/24

    19

    Implementacin de un servicio

    web SOAP

    Python: no ofrece un soporte en sus libreras

    estandar, sin embargo, existe un gran nmero de

    paquetes de terceros que permiten la

    implementacin de servicios web SOAP y sus

    clientes. En el mbito del desarrollo de servicios

    web en Python, predomina la utilizacin delFramework Django que se puede combinar con

    cualquiera de las implementaciones de SOAP.

  • 7/23/2019 Soap, XML, Web Services y Java

    20/24

    20

    Implementacin de un servicio

    web SOAP .NET: dentro del Framework se ofrecen herramientas similares a

    las de Java para el diseo visual del servicio y la creacin

    automtica de WSDL . Tambin da soporte para la creacin de los

    clientes a partir del fichero de definicin del servicio. En el casode .NET, el IDE destacado es Visual Studio. En cuanto a libreras

    encontramos que el ecosistema .NET ofrece mltiples opciones en

    varios lenguajes, aunque la apuesta actual de Microsoft para el

    desarrollo web es su Framework .NET MVC. Se debe tener en

    cuenta, que Microsoft cre el formato Windows Communication

    Foundation que es un modelo para la creacin de sistemas

    orientados a servicios, similar y complementario al WSDL.

  • 7/23/2019 Soap, XML, Web Services y Java

    21/24

    21

    Proyecto en Android

    Como sabemos Android usa java como lenguaje de

    programacin, as que para este ejemplo necesitaremos

    las librera: ksoap2-androides una biblioteca ligera y eficiente para web services

    basados en el protocolo SOAP.

    Adems para este proyecto necesitaremos un web service

    previamente creado: pruebasoap.somee.com/ServicioClientes.asmx.

  • 7/23/2019 Soap, XML, Web Services y Java

    22/24

    22

    Conclusiones SOAP es un protocolo ligero para el intercambio de informacin

    en un entorno distribuido y descentralizado. Esta basado en el

    protocolo XML y consiste en tres partes: una envoltura que define

    una estructura para describir que contiene el mensaje y comoprocesarlo, un conjunto de reglas de codificacin para expresar

    instancias de tipos de datos definidos para la aplicacin y un

    convenio para representar las llamadas a procedimientos remotos

    y las respuestas.

    Web Services y SOAP hoy en da estn siendo altamente utilizadosen las grandes empresas del mundo pues le permiten a estas la

    cooperacin e integridad entre ellas cuando trabajan en un

    proyecto en comn, debido a que permite la interoperabilidad

    entre sus tecnologas.

  • 7/23/2019 Soap, XML, Web Services y Java

    23/24

    23

    Enlaces Web y Bibliografa http://www.monografias.com/trabajos29/protocolo-

    acceso/protocolo-acceso.shtml#ixzz3bNvGBV8n

    http://www.taringa.net/posts/ciencia-

    educacion/17508365/Acceso-a-Servicios-Web-SOAP-en-

    Android.html

    http://androideity.com/2011/11/16/consumiendo-web-

    service-soap-json-con-android-i/

    http://androideity.com/2011/11/16/consumiendo-web-

    service-soap-json-con-android-ii/

    https://github.com/Androideity/Tutorial_WebServiceSoap

    EnAndroid

  • 7/23/2019 Soap, XML, Web Services y Java

    24/24

    24

    Enlaces Web y Bibliografia https://msdn.microsoft.com/es-es/library/bb972248.aspx

    http://picarcodigo.blogspot.com/2014/05/webservice-

    conexiones-base-de-datos.html https://www.youtube.com/watch?v=GipKwMGO6Nc

    http://tintelligence.blogspot.mx/2014/07/codigo-fuente-

    conexion-android-con.html

    http://www.sgoliver.net/blog/acceso-a-servicios-web-

    soap-en-android-12/

    http://www.sgoliver.net/blog/acceso-a-servicios-web-

    soap-en-android-22/