soap, xml, web services y java
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/