SlideShare una empresa de Scribd logo
1 de 71
Introduccióna
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Ciencias de la Ingeniería
Carrera de Sistemas
Plataformas de Desarrollo 2
Unidad 3. Webservices
3.3 Inicio de Proyecto
(Desarrollo)
Autor(es): Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Aguaszoft@Outlook.es
Introduccióna
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
“No puedes derrotar a la persona que nunca se
rinde”
(Anónimo)
Ciencias de la Ingeniería
Carrera de Sistemas
Plataformas de Desarrollo 2
Introduccióna
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Resultados de Aprendizaje
Créditosy
Licencia
• Desarrollar soluciones informáticas
mediante metodologías, herramientas y
estándares que satisfagan los
requerimientos de las organizaciones sobre
la base de los principios de la sociedad de la
información
Introduccióna
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
3.3 Inicio de Proyecto
Créditosy
Licencia
Introduccióna
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Objetivos
Créditosy
Licencia
• Adquirir los conceptos básicos
relacionados con el web Service
• Reconocer las características del diseño
de web Service
Introduccióna
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
La visión del desconocimiento
La aplicación es un
bloque
Todas las operaciones
están dentro de la
misma aplicación.
Los datos están en la
propia aplicación.
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
Una visión un poco más realista
La aplicación está
formada por
componentes.
Algunas operaciones
no pertenecen a la
aplicación.
Los datos están en
sitios externos. REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
Una visión un poco más óptima
Componentes en
diferentes
ordenadores.
Comunicación
mediante protocolos.
Desacoplamiento
entre aplicaciones.
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
Una visión un poco distribuida
Compartición de
datos entre
aplicaciones.
Posible medio de
comunicación entre
aplicaciones. XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
Una visión distribuida
Partes de la
aplicación en otros
ordenadores.
Solicitud de servicios.
Mayor
desacoplamiento
entre aplicaciones. SOAP
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
Una visión realmente distribuida
Componentes
reaprovechables.
Simplificación de
desarrollo.
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Abundantes escenarios
Conexión a Base de Datos
Aplicaciones clientes-servidor.
Conexiones FTP/Telnet
Navegador Web
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
Ya... ¿pero cómo?
Protocolos ad-hoc.
Las aplicaciones se mandan mensajes unas a otras.
Los mensajes pueden ser órdenes a ejecutar.
Los interlocutores deben tener la lógica para enviar
mensajes.
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
Pidiendo cosas... RPC
Remote Procedure Call
Llamadas a operaciones en aplicaciones remotas.
Se mandan los parámetros y la orden a ejecutar. Se
recibe el resultado.
Hay muy diversas implementaciones
Java RMI
.NET Remoting
¡¡CORBA!!
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Pidiendo cosas... RPC
Ejemplo de RPC
objeto.metodo();
El método podría ejecutarse en remoto...
Normalmente se acompañan de lenguajes de
descripción
Facilidad de programación
Estandarización
Automatización
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
Formatos ad-hoc
Se ajustan el 100% al problema
Pueden ser optimizados y modificados
Tienen una adopción más rápida en escenarios
simples
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Formatos ad-hoc
Cada implementación empieza de cero
Requieren un proceso de diseño del protocolo
Requiere la adopción del protocolo por parte del cliente
y el servidor
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
¿Qué se necesita?
Estándar reconocido
Múltiples implementaciones
Soporte de envío de mensajes
Formato ‘simple’ que soporte cosas complejas
Introduccióna
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Who are you gonna call?
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Estructurando el mensaje
XML permite representar entidades
Los mensajes consisten de entidades (Llamada a
método, tipos, parámetro, valor de retorno, fallo. ..)
El formato permite intercambiar mensajes equivalentes
a llamadas de métodos
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Estructurando el mensaje
Ejemplo de RPC
<?xml version="1.0"?>
<methodCall>
<methodName>examples.getStateName</methodName>
<params>
<param>
<value><i4>40</i4></value>
</param>
</params>
</methodCall>
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Implementaciones
PHP
C++
Java
.NET
Ruby
Python
Objetive-C (Mac)
Perl
Action Script
Conclusiones
Créditosy
Licencia
¡Haskell!
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Ventajas
Todo lenguaje...
Capaz de realizar peticiones HTTP puede realizar la
comunicación.
Capaz de procesar XML puede procesar la respuesta.
Conclusiones
Créditosy
Licencia
XML-RPC = HTTP + XML
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Más información sobre el servicio
XML-RPC describe las llamadas que se pueden
realizar.
Más información podría llevar a una mayor
automatización.
XML-RPC no está preparado para crecer.
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Más información sobre el servicio
SOAP permite una mayor descripción
Más información => mayor automatización.
Más información => más funcionalidad
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Datos sobre SOAP
Evolución de XML-RPC
Formato adoptado por el W3C
Está en su versión 2.0, aunque la más soportada es la
1.1
Forma parte del conjunto WS-*
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
Describiendo el servicio
SOAP recupera los lenguajes de descripción de
servicio.
Se describen tipos, operaciones, excepciones, ‘puntos
de entrada’ y más
La descripción se realiza mediante un fichero WSDL
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
Describiendo el servicio
Ejemplo de WSDL
<?xml version="1.0" encoding="UTF-8"?>
<description xmlns="http://www.w3.org/ns/wsdl"
xmlns:tns="http://www.example.com/wsdl20sample"
xmlns:whttp="http://www.w3.org/ns/wsdl/http"
xmlns:wsoap="http://www.w3.org/ns/wsdl/soap"
REST
Conclusiones
Créditosy
Licencia
targetNamespace="http://www.example.com/wsdl20sample">
...
</description>
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
Creando tipos
En XML-RPC se pueden crear estructuras nuevas
EN SOAP se permite la definición de nuevos tipos
Uso de XML-Schema
SOAP
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditos y
Creando tipos
Ejemplo de WSDL - Tipos
<types>
<xs:schema
xmlns="http://www.example.com/wsdl20sample"
xmlns:xs="http://www.w3.org/2001/XMLSchema" target-
Namespace="http://www.example.com/wsdl20sample">
<xs:element name="request">
<xs:complexType>
<xs:attribute name="method" type="xs:string"
use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
Licencia
</types>
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Definiendo la interface
Se define qué operaciones se permiten
Se definen los parámetros y respuestas
Se definen las excepciones
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Definiendo la interface
Ejemplo de WSDL - Interfaces
<interface name="RESTfulInterface">
<fault name="ClientError" element="tns:response"/>
<operation name="Get"
pattern="http://www.w3.org/ns/wsdl/in-out">
<input messageLabel="GetMsg" element="tns:request"/>
<output messageLabel="SuccessfulMsg"
element="tns:response"/>
</operation>
</interface>
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Especificando la capa de transporte
SOAP permite a priori varias capas de transporte, no
solo HTTP.
Se pueden especificar varios protocolos de transporte.
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Especificando la capa de transporte
Ejemplo de WSDL - Binding
<binding name="RESTfulInterfaceHttpBinding"
interface="tns:RESTfulInterface"
type="http://www.w3.org/ns/wsdl/http">
<operation ref="tns:Get" whttp:method="GET"/>
<operation ref="tns:Post" whttp:method="POST"
whttp:inputSerialization="application/x-www-form-
urlencoded"/>
<operation ref="tns:Put" whttp:method="PUT"
whttp:inputSerialization="application/x-www-form-
urlencoded"/>
<operation ref="tns:Delete" whttp:method="DELETE"/>
Créditosy
Licencia</binding>
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Indicando el punto de entrada
Se puede indicar la URL en la que responderá el
servicio web
Hay un solo punto de entrada para todas las
operaciones
SOAP indica en el mensaje la operación concreta que
deseamos
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Indicando el punto de entrada
Ejemplo de WSDL - Servicicios
<service name="RESTfulService"
interface="tns:RESTfulInterface">
<endpoint name="RESTfulServiceHttpEndpoint"
binding="tns:RESTfulInterfaceHttpBinding"
address="http://www.example.com/rest/"/>
</service>
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
El ecosistema WS-*
Conjunto de especificaciones sobre servicios web
SOAP
Cada especificación se especializa en un aspecto de
los Servicios Web
Juntos forman un conjunto bastante coherente
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
El ecosistema WS-*
WS-Addressing: Encaminamiento de mensajes SOAP.
WS-Transfer: Transferencia de recursos involucrados
en WS-Adressing
WS-Eventing: Suscripción a otros Servicios Web
WS-Policy: Soporte de políticas (de uso, de servicio...)
WS-Security: Aspectos de seguridad
WS-BPEL y WS-Choreography: Relaciones entre
servicios web para definir procesos de negocio REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
¿Suficiente descripción?
La toma de decisiones no se automatiza
Necesidad de aplicar sistemas de razonamiento e
inferencia
Web Semántica + Servicios Web = Servicios Web
Semánticos
SOAP
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Implementación
El desarrollo de un WSDL puede ser muy duro
El procesado de los mensajes y sus respuestas ya no
es trivial
Existencia de múltiples herramientas deautomatización
‘Necesidad’ de dichas herramientas
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Generación de código
Ejemplos:
PHP: NuSOAP
JAVA: wsdl2java
.NET: Visual Studio
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Generación de código
Se indica el fichero descriptor
La herramienta genera clases que se encargan de toda
la comunicación por HTTP
Se crean clases que simbolizan las operaciones y
tienen métodos para realizar la llamada.
En lenguajes dinámicos las clases se crean al vuelo
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Generación de WSDL
Ejemplos:
PHP: NuSOAP
PHP (Symfony): ckWebService
JAVA: java2wsdl
.NET: Visual Studio
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Generación de WSDL
Se indican las operaciones a exponer
La herramienta genera la descripción de los servicios
Se crean tipos para hacer corresponder con los
remotos
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Ventajas
Mayor descripción del servicio
Más funcionalidades (especificaciones para seguridad,
orquestación de servicios...)
Herramientas que facilitan el desarrollo
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Ventajas
Más estables y fiables (la descripción indica los
detalles sobre la comunicación)
las modificaciones solo requieren ejecutar de nuevo la
herramenta de generación de código
Usados en entornos donde se requiere muy alta
fiabilidad
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Back to basics
SOAP exige una descripción más detallada
SOAP da soporte a muchas funcionalidades extra
(seguridad, confianza...)
SOAP requiere herramientas adecuadas
SOAP es demasiado complejo.
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Back to basics
HTTP es un método de transporte válido
HTTP ofrece alguna funcionalidad extra (HTTPS para
conexiones seguras)
HTTP dispone de diversos ‘verbos’ para distintas
acciones (GET, POST, PUT. .. )
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Filosofía REST
Las peticiones se hacen a recursos, no a métodos
No es ‘dame los datos del alumno 1’ sino ‘acceder al
alumno 1’
Cada recurso equivale a un punto de entrada para el
servicio web
SOAP disponía de 1 punto de acceso
Los métodos que se pueden invocar son los del
estándar HTTP
Para el mismo punto de acceso (recurso) se pueden
ejecutar distintas acciones
Está basado en HTTP Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Filosofía REST
Concepto publicado por Roy Fielding en su tesis doctoral.
REST enables intermediate processing by constraining
messages to be self-descriptive: interaction is stateless
between requests, standard methods and media types are
used to indicate semantics and exchange information, and
responses explicitly indicate cacheability.
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Filosofía REST
No es un estándar
No define formatos
Es una manera de desarrollar servicios web
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST y CRUD
En un sistema basado en métodos (RPC) hay ‘n’
acciones posibles
En un sistema basado en recursos (RES) hay ‘n’
recursos, pero solo 4 acciones básicas
Un recurso:
Se crea
Se obtiene
Se actualiza
Se elimina REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
REST y CRUD
Problema básico de gestión de datos: CRUD
CREATE
RETRIEVE
UPDATE
DELETE
SOAP
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
REST y CRUD
Problema básico de gestión de datos: CRUD => PGPD
CREATE => PUT
RETRIEVE => GET
UPDATE => POST
DELETE => DELETE
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Método PUT
RFC 2616, HTTP PUT
The PUT method requests that the enclosed entity be
Conclusiones
Créditosy
Licencia
stored under the supplied Request-URI.
If the Request-URI refers to an already existing resource,
the enclosed entity SHOULD be considered as a modified
version of the one residing on the origin server.
Introduccióna
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Método PUT
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Método GET
RFC 2616, HTTP GET
The GET method means retrieve whatever information (in
the form of an entity) is identified by the Request-URI.
Introduccióna
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Método GET
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Método POST
RFC 2616, HTTP POST
The POST method is used to request that the origin server
accept the entity enclosed in the request as a new
subordinate of the resource identified by the Request-URI in
the Request-Line.
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Método POST
RFC 2616, HTTP POST
- Annotation of existing resources;
- Extending a database through an append operation.
Introduccióna
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Método POST
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Método DELETE
RFC 2616, HTTP DELETE
The DELETE method requests that the origin server delete
the resource identified by the Request-URI.
Introduccióna
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Método DELETE
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
REST y otros protocolos
REST no detalla formatos
XML-RPC podría implementarse sobre REST
SOAP 2.0 permite crear servicios web RESTful
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
Definición del servicio
REST no habla de definición de servicio
La respuesta puede tener el formato que se quiera
(XML, JSON, HTML. . .)
REST no contempla el lanzamiento de excepciones
HTTP posee códigos de error para indicar problemas
Puede usarse un lenguaje de descripción sobre REST
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
Funcionalidades añadidas
Las funcionalidades están presentes en HTTP
Seguridad mediante HTTPS
Autenticación mediante HTTP-Auth
Gestión de errores
Posibilidad de incorporar certificados digitales
Manejo de sesiones en el servidor
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
Comunicación entre aplicaciones
Una aplicación aislada está muy limitada.
La separación de funciones permite optimizar
desarrollos y aplicaciones
La comunicación puede realizarse entre distintos
ordenadores
Las aplicaciones pueden comunicarse con varias
aplicaciones
SOAP
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
Formatos de comunicación
Un formato ad-hoc es rápido de diseñar (mal)
Un formato estándar puede no ajustarse al 100%
Un formato estandar cuenta con más experiencia
Un formato estándar contará con implementación
HTTP es un formato estándar de comunicaciones
SOAP
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
Servicios Web
Intercambio de mensajes a través de HTTP
XML-RPC: Formato básico de llamada a procedimiento
remoto.
SOAP: Formato RPC más elaborado y con varios
estándares a su alrededor
REST: Filosofía de desarrollo de Servicios Web
basada en HTTP
SOAP
REST
Conclusiones
Créditosy
Licencia
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
REST
Conclusiones
Créditosy
Licencia
Servicios Web
Y basta de teoría por hoy
Introducción a
ServiciosWeb
Mg. Luis
Fernando
Aguas
Estructura de
una aplicación
¿Cómo se
comunicanlas
aplicaciones?
HTTP como
protocolo de
transporte
XML-RPC
SOAP
Licencia
Estas transparencias se publican bajo licencia Creative
Commons y se pueden redistribuir o modificar bajo las
siguientes condiciones:
Se dé reconocimiento al autor de estas transparencias.
No se use con propósitos comerciales.
Se distribuya con la misma licencia.
Texto de la licencia: http:
//creativecommons.org/licenses/by-nc-sa/3.0/
REST
Conclusiones
Créditosy
Licencia

Más contenido relacionado

La actualidad más candente

SOAP y Web Services
SOAP y Web ServicesSOAP y Web Services
SOAP y Web Servicesedmodi
 
Arquitectura Web y Aplicaciones web [Infografia]
Arquitectura Web y Aplicaciones web [Infografia]Arquitectura Web y Aplicaciones web [Infografia]
Arquitectura Web y Aplicaciones web [Infografia]FelixVasquez32
 
WCF for Dummies (Parte I)
WCF for Dummies (Parte I)WCF for Dummies (Parte I)
WCF for Dummies (Parte I)Will.i.am
 
Arquitectura Web y Aplicaciones web (Infografia)
Arquitectura Web y Aplicaciones web (Infografia)Arquitectura Web y Aplicaciones web (Infografia)
Arquitectura Web y Aplicaciones web (Infografia)FelixVasquez32
 
Seguridad Para Servicios Web
Seguridad Para Servicios WebSeguridad Para Servicios Web
Seguridad Para Servicios WebJose Selman
 
Introduccion a los Servicios Web Rest
Introduccion a los Servicios Web RestIntroduccion a los Servicios Web Rest
Introduccion a los Servicios Web RestDavid J. Brenes
 
Windows comunication fundaction
Windows comunication fundactionWindows comunication fundaction
Windows comunication fundactionkcarbache
 
Componentes de los servicos web
Componentes de los servicos webComponentes de los servicos web
Componentes de los servicos webArlu Flex
 
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...Luis Fernando Aguas Bucheli
 
Windows communication foundation wcf
Windows communication foundation  wcfWindows communication foundation  wcf
Windows communication foundation wcfelvis mendieta
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)Vivi Marquez
 
4.1 4.3 ccna
4.1 4.3 ccna4.1 4.3 ccna
4.1 4.3 ccnaPauNyo
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservicesJuan Cortes
 

La actualidad más candente (19)

SOAP y Web Services
SOAP y Web ServicesSOAP y Web Services
SOAP y Web Services
 
Arquitectura Web y Aplicaciones web [Infografia]
Arquitectura Web y Aplicaciones web [Infografia]Arquitectura Web y Aplicaciones web [Infografia]
Arquitectura Web y Aplicaciones web [Infografia]
 
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF) Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
WCF for Dummies (Parte I)
WCF for Dummies (Parte I)WCF for Dummies (Parte I)
WCF for Dummies (Parte I)
 
Arquitectura Web y Aplicaciones web (Infografia)
Arquitectura Web y Aplicaciones web (Infografia)Arquitectura Web y Aplicaciones web (Infografia)
Arquitectura Web y Aplicaciones web (Infografia)
 
Seguridad Para Servicios Web
Seguridad Para Servicios WebSeguridad Para Servicios Web
Seguridad Para Servicios Web
 
Servicios WEB
Servicios WEBServicios WEB
Servicios WEB
 
Introduccion a los Servicios Web Rest
Introduccion a los Servicios Web RestIntroduccion a los Servicios Web Rest
Introduccion a los Servicios Web Rest
 
Windows comunication fundaction
Windows comunication fundactionWindows comunication fundaction
Windows comunication fundaction
 
Componentes de los servicos web
Componentes de los servicos webComponentes de los servicos web
Componentes de los servicos web
 
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
12-Unidad 3: Webservices-3.3. Inicio de Proyecto (Introducción, Contenidos In...
 
Web Services
Web ServicesWeb Services
Web Services
 
Windows communication foundation wcf
Windows communication foundation  wcfWindows communication foundation  wcf
Windows communication foundation wcf
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)
 
4.1 4.3 ccna
4.1 4.3 ccna4.1 4.3 ccna
4.1 4.3 ccna
 
Desarrollo y consumo de web services
Desarrollo y consumo de web servicesDesarrollo y consumo de web services
Desarrollo y consumo de web services
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservices
 
Wcf
WcfWcf
Wcf
 

Similar a 13-Unidad 3. WebServices-3.3. Inicio de Proyecto (Desarrollo)

Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxLuisTenorio42
 
Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web ServicesJose Selman
 
Servicios Web II.ppt
Servicios Web II.pptServicios Web II.ppt
Servicios Web II.pptDiegoRomn20
 
RES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRobert Caraguay
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con RESTAlex Puig
 
Web services
Web servicesWeb services
Web servicesjam c
 
ACTIVIDAD 05 COMUNICACIONES DE PROTOCOLOS.
ACTIVIDAD 05 COMUNICACIONES DE PROTOCOLOS.ACTIVIDAD 05 COMUNICACIONES DE PROTOCOLOS.
ACTIVIDAD 05 COMUNICACIONES DE PROTOCOLOS.Paola0228
 
Arquitectura tres capas
Arquitectura tres capasArquitectura tres capas
Arquitectura tres capasJenny Gonzalez
 
144 Rest Web Services
144 Rest Web Services144 Rest Web Services
144 Rest Web ServicesGeneXus
 
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxArquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxXavierNavia
 
ACTIVIDAD 5
ACTIVIDAD 5ACTIVIDAD 5
ACTIVIDAD 5alejasss
 

Similar a 13-Unidad 3. WebServices-3.3. Inicio de Proyecto (Desarrollo) (20)

T final modulo_1
T final modulo_1T final modulo_1
T final modulo_1
 
Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptx
 
Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web Services
 
Servicios Web II.ppt
Servicios Web II.pptServicios Web II.ppt
Servicios Web II.ppt
 
Scom5 Ws Ii
Scom5 Ws IiScom5 Ws Ii
Scom5 Ws Ii
 
Webservices
WebservicesWebservices
Webservices
 
RES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRES - Transferencia de Estado Representacional
RES - Transferencia de Estado Representacional
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con REST
 
Servicios web
Servicios webServicios web
Servicios web
 
Web services
Web servicesWeb services
Web services
 
REST
RESTREST
REST
 
ACTIVIDAD 05 COMUNICACIONES DE PROTOCOLOS.
ACTIVIDAD 05 COMUNICACIONES DE PROTOCOLOS.ACTIVIDAD 05 COMUNICACIONES DE PROTOCOLOS.
ACTIVIDAD 05 COMUNICACIONES DE PROTOCOLOS.
 
Presentacion ws
Presentacion wsPresentacion ws
Presentacion ws
 
Arquitectura tres capas
Arquitectura tres capasArquitectura tres capas
Arquitectura tres capas
 
144 Rest Web Services
144 Rest Web Services144 Rest Web Services
144 Rest Web Services
 
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxArquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
 
ACTIVIDAD 5
ACTIVIDAD 5ACTIVIDAD 5
ACTIVIDAD 5
 
Capa de Aplicación
Capa de Aplicación Capa de Aplicación
Capa de Aplicación
 
Mashups
MashupsMashups
Mashups
 
Internet Explorer.R
Internet Explorer.RInternet Explorer.R
Internet Explorer.R
 

Más de Luis Fernando Aguas Bucheli (20)

EFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptxEFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptx
 
P-S2.pptx
P-S2.pptxP-S2.pptx
P-S2.pptx
 
EBTS-S1.pptx
EBTS-S1.pptxEBTS-S1.pptx
EBTS-S1.pptx
 
P-S3.pptx
P-S3.pptxP-S3.pptx
P-S3.pptx
 
EBTS-S4.pptx
EBTS-S4.pptxEBTS-S4.pptx
EBTS-S4.pptx
 
P-S4.pptx
P-S4.pptxP-S4.pptx
P-S4.pptx
 
P-S1.pptx
P-S1.pptxP-S1.pptx
P-S1.pptx
 
EBTS-S3.pptx
EBTS-S3.pptxEBTS-S3.pptx
EBTS-S3.pptx
 
EBTS-S2.pptx
EBTS-S2.pptxEBTS-S2.pptx
EBTS-S2.pptx
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
PDIDTI-S4.pptx
PDIDTI-S4.pptxPDIDTI-S4.pptx
PDIDTI-S4.pptx
 
PDIDTI-S2.pptx
PDIDTI-S2.pptxPDIDTI-S2.pptx
PDIDTI-S2.pptx
 
PDIDTI-S1.pptx
PDIDTI-S1.pptxPDIDTI-S1.pptx
PDIDTI-S1.pptx
 
PDIDTI-S8.pptx
PDIDTI-S8.pptxPDIDTI-S8.pptx
PDIDTI-S8.pptx
 
PDIDTI-S6.pptx
PDIDTI-S6.pptxPDIDTI-S6.pptx
PDIDTI-S6.pptx
 
PDIDTI-S5.pptx
PDIDTI-S5.pptxPDIDTI-S5.pptx
PDIDTI-S5.pptx
 
PDIDTI-S3.pptx
PDIDTI-S3.pptxPDIDTI-S3.pptx
PDIDTI-S3.pptx
 
TIC-S4.pptx
TIC-S4.pptxTIC-S4.pptx
TIC-S4.pptx
 
TIC-S3.pptx
TIC-S3.pptxTIC-S3.pptx
TIC-S3.pptx
 
TIC-S2.pptx
TIC-S2.pptxTIC-S2.pptx
TIC-S2.pptx
 

Último

Mecatronica Automotriz .pdf
Mecatronica Automotriz              .pdfMecatronica Automotriz              .pdf
Mecatronica Automotriz .pdfleonardocahua1
 
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOalejandrocrisostomo2
 
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdfGUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdfWILLIAMSTAYPELLOCCLL1
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.pptjacnuevarisaralda22
 
5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.davidtonconi
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de GestiónYanet Caldas
 
ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................Juan293605
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheJuan Luis Menares
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosandersonsubero28
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanaArnolVillalobos
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cerealescarlosjuliogermanari1
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxcarlosEspaaGarcia
 
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptxrorellanoq
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhFoxy963
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
INFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfINFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfoctaviosalazar18
 
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxG4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxMaxPercyBorjaVillanu
 
entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasDerlyValeriaRodrigue
 
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)miguelbenito23
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptxNancyJulcasumaran
 

Último (20)

Mecatronica Automotriz .pdf
Mecatronica Automotriz              .pdfMecatronica Automotriz              .pdf
Mecatronica Automotriz .pdf
 
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
 
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdfGUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo Limache
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbana
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
INFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfINFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdf
 
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxG4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
 
entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemas
 
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
INTEGRATED PROJECT DELIVERY.pdf (ENTREGA INTEGRADA DE PROYECTOS)
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 

13-Unidad 3. WebServices-3.3. Inicio de Proyecto (Desarrollo)

  • 1. Introduccióna ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Ciencias de la Ingeniería Carrera de Sistemas Plataformas de Desarrollo 2 Unidad 3. Webservices 3.3 Inicio de Proyecto (Desarrollo) Autor(es): Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec Aguaszoft@Outlook.es
  • 2. Introduccióna ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia “No puedes derrotar a la persona que nunca se rinde” (Anónimo) Ciencias de la Ingeniería Carrera de Sistemas Plataformas de Desarrollo 2
  • 3. Introduccióna ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Resultados de Aprendizaje Créditosy Licencia • Desarrollar soluciones informáticas mediante metodologías, herramientas y estándares que satisfagan los requerimientos de las organizaciones sobre la base de los principios de la sociedad de la información
  • 4. Introduccióna ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones 3.3 Inicio de Proyecto Créditosy Licencia
  • 5. Introduccióna ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Objetivos Créditosy Licencia • Adquirir los conceptos básicos relacionados con el web Service • Reconocer las características del diseño de web Service
  • 6. Introduccióna ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones La visión del desconocimiento La aplicación es un bloque Todas las operaciones están dentro de la misma aplicación. Los datos están en la propia aplicación. Créditosy Licencia
  • 7. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP Una visión un poco más realista La aplicación está formada por componentes. Algunas operaciones no pertenecen a la aplicación. Los datos están en sitios externos. REST Conclusiones Créditosy Licencia
  • 8. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte Una visión un poco más óptima Componentes en diferentes ordenadores. Comunicación mediante protocolos. Desacoplamiento entre aplicaciones. XML-RPC SOAP REST Conclusiones Créditosy Licencia
  • 9. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte Una visión un poco distribuida Compartición de datos entre aplicaciones. Posible medio de comunicación entre aplicaciones. XML-RPC SOAP REST Conclusiones Créditosy Licencia
  • 10. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC Una visión distribuida Partes de la aplicación en otros ordenadores. Solicitud de servicios. Mayor desacoplamiento entre aplicaciones. SOAP REST Conclusiones Créditosy Licencia
  • 11. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte Una visión realmente distribuida Componentes reaprovechables. Simplificación de desarrollo. XML-RPC SOAP REST Conclusiones Créditosy Licencia
  • 12. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Abundantes escenarios Conexión a Base de Datos Aplicaciones clientes-servidor. Conexiones FTP/Telnet Navegador Web
  • 13. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP Ya... ¿pero cómo? Protocolos ad-hoc. Las aplicaciones se mandan mensajes unas a otras. Los mensajes pueden ser órdenes a ejecutar. Los interlocutores deben tener la lógica para enviar mensajes. REST Conclusiones Créditosy Licencia
  • 14. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP Pidiendo cosas... RPC Remote Procedure Call Llamadas a operaciones en aplicaciones remotas. Se mandan los parámetros y la orden a ejecutar. Se recibe el resultado. Hay muy diversas implementaciones Java RMI .NET Remoting ¡¡CORBA!! REST Conclusiones Créditosy Licencia
  • 15. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Pidiendo cosas... RPC Ejemplo de RPC objeto.metodo(); El método podría ejecutarse en remoto... Normalmente se acompañan de lenguajes de descripción Facilidad de programación Estandarización Automatización Conclusiones Créditosy Licencia
  • 16. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP Formatos ad-hoc Se ajustan el 100% al problema Pueden ser optimizados y modificados Tienen una adopción más rápida en escenarios simples REST Conclusiones Créditosy Licencia
  • 17. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Formatos ad-hoc Cada implementación empieza de cero Requieren un proceso de diseño del protocolo Requiere la adopción del protocolo por parte del cliente y el servidor
  • 18. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia ¿Qué se necesita? Estándar reconocido Múltiples implementaciones Soporte de envío de mensajes Formato ‘simple’ que soporte cosas complejas
  • 19. Introduccióna ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Who are you gonna call?
  • 20. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Estructurando el mensaje XML permite representar entidades Los mensajes consisten de entidades (Llamada a método, tipos, parámetro, valor de retorno, fallo. ..) El formato permite intercambiar mensajes equivalentes a llamadas de métodos Créditosy Licencia
  • 21. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Estructurando el mensaje Ejemplo de RPC <?xml version="1.0"?> <methodCall> <methodName>examples.getStateName</methodName> <params> <param> <value><i4>40</i4></value> </param> </params> </methodCall> Créditosy Licencia
  • 22. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Implementaciones PHP C++ Java .NET Ruby Python Objetive-C (Mac) Perl Action Script Conclusiones Créditosy Licencia ¡Haskell!
  • 23. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Ventajas Todo lenguaje... Capaz de realizar peticiones HTTP puede realizar la comunicación. Capaz de procesar XML puede procesar la respuesta. Conclusiones Créditosy Licencia XML-RPC = HTTP + XML
  • 24. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Más información sobre el servicio XML-RPC describe las llamadas que se pueden realizar. Más información podría llevar a una mayor automatización. XML-RPC no está preparado para crecer. Conclusiones Créditosy Licencia
  • 25. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Más información sobre el servicio SOAP permite una mayor descripción Más información => mayor automatización. Más información => más funcionalidad
  • 26. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Datos sobre SOAP Evolución de XML-RPC Formato adoptado por el W3C Está en su versión 2.0, aunque la más soportada es la 1.1 Forma parte del conjunto WS-*
  • 27. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP Describiendo el servicio SOAP recupera los lenguajes de descripción de servicio. Se describen tipos, operaciones, excepciones, ‘puntos de entrada’ y más La descripción se realiza mediante un fichero WSDL REST Conclusiones Créditosy Licencia
  • 28. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP Describiendo el servicio Ejemplo de WSDL <?xml version="1.0" encoding="UTF-8"?> <description xmlns="http://www.w3.org/ns/wsdl" xmlns:tns="http://www.example.com/wsdl20sample" xmlns:whttp="http://www.w3.org/ns/wsdl/http" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" REST Conclusiones Créditosy Licencia targetNamespace="http://www.example.com/wsdl20sample"> ... </description>
  • 29. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC Creando tipos En XML-RPC se pueden crear estructuras nuevas EN SOAP se permite la definición de nuevos tipos Uso de XML-Schema SOAP REST Conclusiones Créditosy Licencia
  • 30. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditos y Creando tipos Ejemplo de WSDL - Tipos <types> <xs:schema xmlns="http://www.example.com/wsdl20sample" xmlns:xs="http://www.w3.org/2001/XMLSchema" target- Namespace="http://www.example.com/wsdl20sample"> <xs:element name="request"> <xs:complexType> <xs:attribute name="method" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:schema> Licencia </types>
  • 31. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Definiendo la interface Se define qué operaciones se permiten Se definen los parámetros y respuestas Se definen las excepciones Conclusiones Créditosy Licencia
  • 32. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Definiendo la interface Ejemplo de WSDL - Interfaces <interface name="RESTfulInterface"> <fault name="ClientError" element="tns:response"/> <operation name="Get" pattern="http://www.w3.org/ns/wsdl/in-out"> <input messageLabel="GetMsg" element="tns:request"/> <output messageLabel="SuccessfulMsg" element="tns:response"/> </operation> </interface> Créditosy Licencia
  • 33. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Especificando la capa de transporte SOAP permite a priori varias capas de transporte, no solo HTTP. Se pueden especificar varios protocolos de transporte. Conclusiones Créditosy Licencia
  • 34. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Especificando la capa de transporte Ejemplo de WSDL - Binding <binding name="RESTfulInterfaceHttpBinding" interface="tns:RESTfulInterface" type="http://www.w3.org/ns/wsdl/http"> <operation ref="tns:Get" whttp:method="GET"/> <operation ref="tns:Post" whttp:method="POST" whttp:inputSerialization="application/x-www-form- urlencoded"/> <operation ref="tns:Put" whttp:method="PUT" whttp:inputSerialization="application/x-www-form- urlencoded"/> <operation ref="tns:Delete" whttp:method="DELETE"/> Créditosy Licencia</binding>
  • 35. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Indicando el punto de entrada Se puede indicar la URL en la que responderá el servicio web Hay un solo punto de entrada para todas las operaciones SOAP indica en el mensaje la operación concreta que deseamos Conclusiones Créditosy Licencia
  • 36. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Indicando el punto de entrada Ejemplo de WSDL - Servicicios <service name="RESTfulService" interface="tns:RESTfulInterface"> <endpoint name="RESTfulServiceHttpEndpoint" binding="tns:RESTfulInterfaceHttpBinding" address="http://www.example.com/rest/"/> </service> Conclusiones Créditosy Licencia
  • 37. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP El ecosistema WS-* Conjunto de especificaciones sobre servicios web SOAP Cada especificación se especializa en un aspecto de los Servicios Web Juntos forman un conjunto bastante coherente REST Conclusiones Créditosy Licencia
  • 38. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP El ecosistema WS-* WS-Addressing: Encaminamiento de mensajes SOAP. WS-Transfer: Transferencia de recursos involucrados en WS-Adressing WS-Eventing: Suscripción a otros Servicios Web WS-Policy: Soporte de políticas (de uso, de servicio...) WS-Security: Aspectos de seguridad WS-BPEL y WS-Choreography: Relaciones entre servicios web para definir procesos de negocio REST Conclusiones Créditosy Licencia
  • 39. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC ¿Suficiente descripción? La toma de decisiones no se automatiza Necesidad de aplicar sistemas de razonamiento e inferencia Web Semántica + Servicios Web = Servicios Web Semánticos SOAP REST Conclusiones Créditosy Licencia
  • 40. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Implementación El desarrollo de un WSDL puede ser muy duro El procesado de los mensajes y sus respuestas ya no es trivial Existencia de múltiples herramientas deautomatización ‘Necesidad’ de dichas herramientas
  • 41. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Generación de código Ejemplos: PHP: NuSOAP JAVA: wsdl2java .NET: Visual Studio
  • 42. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Generación de código Se indica el fichero descriptor La herramienta genera clases que se encargan de toda la comunicación por HTTP Se crean clases que simbolizan las operaciones y tienen métodos para realizar la llamada. En lenguajes dinámicos las clases se crean al vuelo Conclusiones Créditosy Licencia
  • 43. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Generación de WSDL Ejemplos: PHP: NuSOAP PHP (Symfony): ckWebService JAVA: java2wsdl .NET: Visual Studio Conclusiones Créditosy Licencia
  • 44. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Generación de WSDL Se indican las operaciones a exponer La herramienta genera la descripción de los servicios Se crean tipos para hacer corresponder con los remotos
  • 45. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Ventajas Mayor descripción del servicio Más funcionalidades (especificaciones para seguridad, orquestación de servicios...) Herramientas que facilitan el desarrollo
  • 46. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Ventajas Más estables y fiables (la descripción indica los detalles sobre la comunicación) las modificaciones solo requieren ejecutar de nuevo la herramenta de generación de código Usados en entornos donde se requiere muy alta fiabilidad Conclusiones Créditosy Licencia
  • 47. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Back to basics SOAP exige una descripción más detallada SOAP da soporte a muchas funcionalidades extra (seguridad, confianza...) SOAP requiere herramientas adecuadas SOAP es demasiado complejo. Conclusiones Créditosy Licencia
  • 48. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Back to basics HTTP es un método de transporte válido HTTP ofrece alguna funcionalidad extra (HTTPS para conexiones seguras) HTTP dispone de diversos ‘verbos’ para distintas acciones (GET, POST, PUT. .. ) Conclusiones Créditosy Licencia
  • 49. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Filosofía REST Las peticiones se hacen a recursos, no a métodos No es ‘dame los datos del alumno 1’ sino ‘acceder al alumno 1’ Cada recurso equivale a un punto de entrada para el servicio web SOAP disponía de 1 punto de acceso Los métodos que se pueden invocar son los del estándar HTTP Para el mismo punto de acceso (recurso) se pueden ejecutar distintas acciones Está basado en HTTP Conclusiones Créditosy Licencia
  • 50. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Filosofía REST Concepto publicado por Roy Fielding en su tesis doctoral. REST enables intermediate processing by constraining messages to be self-descriptive: interaction is stateless between requests, standard methods and media types are used to indicate semantics and exchange information, and responses explicitly indicate cacheability. Conclusiones Créditosy Licencia
  • 51. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Filosofía REST No es un estándar No define formatos Es una manera de desarrollar servicios web Conclusiones Créditosy Licencia
  • 52. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST y CRUD En un sistema basado en métodos (RPC) hay ‘n’ acciones posibles En un sistema basado en recursos (RES) hay ‘n’ recursos, pero solo 4 acciones básicas Un recurso: Se crea Se obtiene Se actualiza Se elimina REST Conclusiones Créditosy Licencia
  • 53. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC REST y CRUD Problema básico de gestión de datos: CRUD CREATE RETRIEVE UPDATE DELETE SOAP REST Conclusiones Créditosy Licencia
  • 54. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia REST y CRUD Problema básico de gestión de datos: CRUD => PGPD CREATE => PUT RETRIEVE => GET UPDATE => POST DELETE => DELETE
  • 55. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Método PUT RFC 2616, HTTP PUT The PUT method requests that the enclosed entity be Conclusiones Créditosy Licencia stored under the supplied Request-URI. If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a modified version of the one residing on the origin server.
  • 56. Introduccióna ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Método PUT Conclusiones Créditosy Licencia
  • 57. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Método GET RFC 2616, HTTP GET The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI.
  • 58. Introduccióna ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Método GET
  • 59. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Método POST RFC 2616, HTTP POST The POST method is used to request that the origin server accept the entity enclosed in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.
  • 60. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Método POST RFC 2616, HTTP POST - Annotation of existing resources; - Extending a database through an append operation.
  • 61. Introduccióna ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Método POST
  • 62. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Método DELETE RFC 2616, HTTP DELETE The DELETE method requests that the origin server delete the resource identified by the Request-URI.
  • 63. Introduccióna ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Método DELETE
  • 64. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia REST y otros protocolos REST no detalla formatos XML-RPC podría implementarse sobre REST SOAP 2.0 permite crear servicios web RESTful
  • 65. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP Definición del servicio REST no habla de definición de servicio La respuesta puede tener el formato que se quiera (XML, JSON, HTML. . .) REST no contempla el lanzamiento de excepciones HTTP posee códigos de error para indicar problemas Puede usarse un lenguaje de descripción sobre REST REST Conclusiones Créditosy Licencia
  • 66. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP Funcionalidades añadidas Las funcionalidades están presentes en HTTP Seguridad mediante HTTPS Autenticación mediante HTTP-Auth Gestión de errores Posibilidad de incorporar certificados digitales Manejo de sesiones en el servidor REST Conclusiones Créditosy Licencia
  • 67. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC Comunicación entre aplicaciones Una aplicación aislada está muy limitada. La separación de funciones permite optimizar desarrollos y aplicaciones La comunicación puede realizarse entre distintos ordenadores Las aplicaciones pueden comunicarse con varias aplicaciones SOAP REST Conclusiones Créditosy Licencia
  • 68. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC Formatos de comunicación Un formato ad-hoc es rápido de diseñar (mal) Un formato estándar puede no ajustarse al 100% Un formato estandar cuenta con más experiencia Un formato estándar contará con implementación HTTP es un formato estándar de comunicaciones SOAP REST Conclusiones Créditosy Licencia
  • 69. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC Servicios Web Intercambio de mensajes a través de HTTP XML-RPC: Formato básico de llamada a procedimiento remoto. SOAP: Formato RPC más elaborado y con varios estándares a su alrededor REST: Filosofía de desarrollo de Servicios Web basada en HTTP SOAP REST Conclusiones Créditosy Licencia
  • 70. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP REST Conclusiones Créditosy Licencia Servicios Web Y basta de teoría por hoy
  • 71. Introducción a ServiciosWeb Mg. Luis Fernando Aguas Estructura de una aplicación ¿Cómo se comunicanlas aplicaciones? HTTP como protocolo de transporte XML-RPC SOAP Licencia Estas transparencias se publican bajo licencia Creative Commons y se pueden redistribuir o modificar bajo las siguientes condiciones: Se dé reconocimiento al autor de estas transparencias. No se use con propósitos comerciales. Se distribuya con la misma licencia. Texto de la licencia: http: //creativecommons.org/licenses/by-nc-sa/3.0/ REST Conclusiones Créditosy Licencia