SlideShare una empresa de Scribd logo
1 de 68
Descargar para leer sin conexión
Introducción a
                                                                        Servicios Web
                                                                          David J.
                                                                          Brenes
                                                                          Martínez
                                                                        Desarrollador
         Introducción a Servicios Web                                    en Grupo
                                                                           Índigo


                                                                        Estructura de
                                                                        una aplicación
                David J. Brenes Martínez
                                                                        ¿Cómo se
              Desarrollador en Grupo Índigo                             comunican las
                                                                        aplicaciones?

                                                                        HTTP como
                   Curso de Extensión Universitaria                     protocolo de
Desarrollo de aplicaciones web mediante servicios web y APIs abiertas   transporte
                        Universidad de Oviedo                           XML-RPC
                                                                        SOAP
                                                                        REST


                           2009/07/20                                   Conclusiones

                                                                        Créditos y
                                                                        Licencia
La visión del desconocimiento

                                                   Introducción a
                                                   Servicios Web
                                                     David J.
                                                     Brenes
                                                     Martínez
                                                   Desarrollador
                                                    en Grupo
                                                      Índigo
                           La aplicación es un
                           bloque                  Estructura de
                                                   una aplicación
                           Todas las operaciones   ¿Cómo se
                           están dentro de la      comunican las
                                                   aplicaciones?
                           misma aplicación.       HTTP como
                                                   protocolo de
                           Los datos están en la   transporte
                                                   XML-RPC
                           propia aplicación.      SOAP
                                                   REST

                                                   Conclusiones

                                                   Créditos y
                                                   Licencia
Una visión un poco más realista

                                                 Introducción a
                                                 Servicios Web
                                                   David J.
                                                   Brenes
                                                   Martínez
                                                 Desarrollador
                                                  en Grupo
                           La aplicación está       Índigo
                           formada por
                                                 Estructura de
                           componentes.          una aplicación

                           Algunas operaciones   ¿Cómo se
                                                 comunican las
                           no pertenecen a la    aplicaciones?

                                                 HTTP como
                           aplicación.           protocolo de
                                                 transporte
                           Los datos están en    XML-RPC
                                                 SOAP
                           sitios externos.      REST

                                                 Conclusiones

                                                 Créditos y
                                                 Licencia
Una visión un poco más óptima

                                                 Introducción a
                                                 Servicios Web
                                                   David J.
                                                   Brenes
                                                   Martínez
                                                 Desarrollador
                                                  en Grupo
                                                    Índigo
                          Componentes en
                          diferentes             Estructura de
                                                 una aplicación
                          ordenadores.
                                                 ¿Cómo se
                                                 comunican las
                          Comunicación           aplicaciones?
                          mediante protocolos.   HTTP como
                                                 protocolo de
                          Desacoplamiento        transporte
                                                 XML-RPC
                          entre aplicaciones.    SOAP
                                                 REST

                                                 Conclusiones

                                                 Créditos y
                                                 Licencia
Una visión un poco distribuida

                                                 Introducción a
                                                 Servicios Web
                                                   David J.
                                                   Brenes
                                                   Martínez
                                                 Desarrollador
                                                  en Grupo
                                                    Índigo

                            Compartición de      Estructura de
                            datos entre          una aplicación

                            aplicaciones.        ¿Cómo se
                                                 comunican las
                                                 aplicaciones?
                            Posible medio de
                                                 HTTP como
                            comunicación entre   protocolo de
                                                 transporte
                            aplicaciones.        XML-RPC
                                                 SOAP
                                                 REST

                                                 Conclusiones

                                                 Créditos y
                                                 Licencia
Una visión distribuida

                                                   Introducción a
                                                   Servicios Web
                                                     David J.
                                                     Brenes
                                                     Martínez
                                                   Desarrollador
                                                    en Grupo
                                                      Índigo
                         Partes de la
                         aplicación en otros       Estructura de
                                                   una aplicación
                         ordenadores.
                                                   ¿Cómo se
                         Solicitud de servicios.   comunican las
                                                   aplicaciones?

                         Mayor                     HTTP como
                                                   protocolo de
                         desacoplamiento           transporte
                                                   XML-RPC
                         entre aplicaciones.       SOAP
                                                   REST

                                                   Conclusiones

                                                   Créditos y
                                                   Licencia
Una visión realmente distribuida

                                               Introducción a
                                               Servicios Web
                                                 David J.
                                                 Brenes
                                                 Martínez
                                               Desarrollador
                                                en Grupo
                                                  Índigo


                                               Estructura de
                            Componentes        una aplicación

                            reaprovechables.   ¿Cómo se
                                               comunican las
                            Simplificación de   aplicaciones?

                                               HTTP como
                            desarrollo.        protocolo de
                                               transporte
                                               XML-RPC
                                               SOAP
                                               REST

                                               Conclusiones

                                               Créditos y
                                               Licencia
Abundantes escenarios

                                     Introducción a
                                     Servicios Web
                                       David J.
                                       Brenes
                                       Martínez
                                     Desarrollador
                                      en Grupo
                                        Índigo

   Conexión a Base de Datos
                                     Estructura de
   Aplicaciones clientes-servidor.   una aplicación

                                     ¿Cómo se
   Conexiones FTP/Telnet             comunican las
                                     aplicaciones?
   Navegador Web                     HTTP como
                                     protocolo de
                                     transporte
                                     XML-RPC
                                     SOAP
                                     REST

                                     Conclusiones

                                     Créditos y
                                     Licencia
Ya... ¿pero cómo?

                                                          Introducción a
                                                          Servicios Web
                                                            David J.
                                                            Brenes
                                                            Martínez
                                                          Desarrollador
                                                           en Grupo
                                                             Índigo
   Protocolos ad-hoc.
                                                          Estructura de
   Las aplicaciones se mandan mensajes unas a otras.      una aplicación

   Los mensajes pueden ser órdenes a ejecutar.            ¿Cómo se
                                                          comunican las
                                                          aplicaciones?
   Los interlocutores deben tener la lógica para enviar
                                                          HTTP como
   mensajes.                                              protocolo de
                                                          transporte
                                                          XML-RPC
                                                          SOAP
                                                          REST

                                                          Conclusiones

                                                          Créditos y
                                                          Licencia
Pidiendo cosas... RPC

                                                         Introducción a
                                                         Servicios Web
                                                           David J.
                                                           Brenes
                                                           Martínez
                                                         Desarrollador
    Remote Procedure Call                                 en Grupo
                                                            Índigo
    Llamadas a operaciones en aplicaciones remotas.
                                                         Estructura de
    Se mandan los parámetros y la orden a ejecutar. Se   una aplicación
    recibe el resultado.                                 ¿Cómo se
                                                         comunican las
    Hay muy diversas implementaciones                    aplicaciones?

                                                         HTTP como
        Java RMI                                         protocolo de
                                                         transporte
        .NET Remoting                                    XML-RPC

        ¡¡CORBA!!                                        SOAP
                                                         REST

                                                         Conclusiones

                                                         Créditos y
                                                         Licencia
Pidiendo cosas... RPC

                                               Introducción a
                                               Servicios Web
                                                 David J.
                                                 Brenes
                                                 Martínez
Ejemplo de RPC                                 Desarrollador
                                                en Grupo
                                                  Índigo
objeto.metodo();
                                               Estructura de
                                               una aplicación
    El método podría ejecutarse en remoto...   ¿Cómo se
                                               comunican las
    Normalmente se acompañan de lenguajes de   aplicaciones?
    descripción                                HTTP como
                                               protocolo de
        Facilidad de programación              transporte
        Estandarización                        XML-RPC
                                               SOAP
        Automatización                         REST

                                               Conclusiones

                                               Créditos y
                                               Licencia
Formatos ad-hoc

                                                  Introducción a
                                                  Servicios Web
                                                    David J.
                                                    Brenes
                                                    Martínez
                                                  Desarrollador
                                                   en Grupo
                                                     Índigo

   Se ajustan el 100% al problema                 Estructura de
                                                  una aplicación
   Pueden ser optimizados y modificados
                                                  ¿Cómo se
   Tienen una adopción más rápida en escenarios   comunican las
                                                  aplicaciones?
   simples                                        HTTP como
                                                  protocolo de
                                                  transporte
                                                  XML-RPC
                                                  SOAP
                                                  REST

                                                  Conclusiones

                                                  Créditos y
                                                  Licencia
Formatos ad-hoc

                                                              Introducción a
                                                              Servicios Web
                                                                David J.
                                                                Brenes
                                                                Martínez
                                                              Desarrollador
                                                               en Grupo
                                                                 Índigo

   Cada implementación empieza de cero                        Estructura de
                                                              una aplicación
   Requieren un proceso de diseño del protocolo
                                                              ¿Cómo se
   Requiere la adopción del protocolo por parte del cliente   comunican las
                                                              aplicaciones?
   y el servidor                                              HTTP como
                                                              protocolo de
                                                              transporte
                                                              XML-RPC
                                                              SOAP
                                                              REST

                                                              Conclusiones

                                                              Créditos y
                                                              Licencia
¿Qué se necesita?

                                                  Introducción a
                                                  Servicios Web
                                                    David J.
                                                    Brenes
                                                    Martínez
                                                  Desarrollador
                                                   en Grupo
                                                     Índigo

   Estándar reconocido
                                                  Estructura de
   Múltiples implementaciones                     una aplicación

                                                  ¿Cómo se
   Soporte de envío de mensajes                   comunican las
                                                  aplicaciones?
   Formato ‘simple’ que soporte cosas complejas   HTTP como
                                                  protocolo de
                                                  transporte
                                                  XML-RPC
                                                  SOAP
                                                  REST

                                                  Conclusiones

                                                  Créditos y
                                                  Licencia
Who are you gonna call?

                          Introducción a
                          Servicios Web
                            David J.
                            Brenes
                            Martínez
                          Desarrollador
                           en Grupo
                             Índigo


                          Estructura de
                          una aplicación

                          ¿Cómo se
                          comunican las
                          aplicaciones?

                          HTTP como
                          protocolo de
                          transporte
                          XML-RPC
                          SOAP
                          REST

                          Conclusiones

                          Créditos y
                          Licencia
Estructurando el mensaje

                                                               Introducción a
                                                               Servicios Web
                                                                 David J.
                                                                 Brenes
                                                                 Martínez
                                                               Desarrollador
                                                                en Grupo
                                                                  Índigo
    XML permite representar entidades
                                                               Estructura de
    Los mensajes consisten de entidades (Llamada a             una aplicación

    método, tipos, parámetro, valor de retorno, fallo. . . )   ¿Cómo se
                                                               comunican las
                                                               aplicaciones?
    El formato permite intercambiar mensajes equivalentes
                                                               HTTP como
    a llamadas de métodos                                      protocolo de
                                                               transporte
                                                               XML-RPC
                                                               SOAP
                                                               REST

                                                               Conclusiones

                                                               Créditos y
                                                               Licencia
Estructurando el mensaje

                                                 Introducción a
                                                 Servicios Web
                                                   David J.
                                                   Brenes
Ejemplo de RPC                                     Martínez
                                                 Desarrollador
                                                  en Grupo
<?xml version="1.0"?>                               Índigo

<methodCall>
                                                 Estructura de
<methodName>examples.getStateName</methodName>   una aplicación

<params>                                         ¿Cómo se
                                                 comunican las
<param>                                          aplicaciones?

<value><i4>40</i4></value>                       HTTP como
                                                 protocolo de
</param>                                         transporte
                                                 XML-RPC

</params>                                        SOAP
                                                 REST
</methodCall>                                    Conclusiones

                                                 Créditos y
                                                 Licencia
Implementaciones

                      Introducción a
                      Servicios Web
                        David J.
   PHP                  Brenes
                        Martínez
   C++                Desarrollador
                       en Grupo
                         Índigo
   Java
                      Estructura de
   .NET               una aplicación

   Ruby               ¿Cómo se
                      comunican las
   Python             aplicaciones?

                      HTTP como
   Objetive-C (Mac)   protocolo de
                      transporte
   Perl               XML-RPC
                      SOAP
                      REST
   Action Script
                      Conclusiones
   ¡Haskell!          Créditos y
                      Licencia
Ventajas

                                                          Introducción a
                                                          Servicios Web
                                                            David J.
                                                            Brenes
                                                            Martínez
                                                          Desarrollador
                                                           en Grupo
Todo lenguaje...                                             Índigo

    Capaz de realizar peticiones HTTP puede realizar la   Estructura de
                                                          una aplicación
    comunicación.
                                                          ¿Cómo se
    Capaz de procesar XML puede procesar la respuesta.    comunican las
                                                          aplicaciones?

                                                          HTTP como
                   XML-RPC = HTTP + XML                   protocolo de
                                                          transporte
                                                          XML-RPC
                                                          SOAP
                                                          REST

                                                          Conclusiones

                                                          Créditos y
                                                          Licencia
Más información sobre el servicio

                                                  Introducción a
                                                  Servicios Web
                                                    David J.
                                                    Brenes
                                                    Martínez
                                                  Desarrollador
                                                   en Grupo
                                                     Índigo
    XML-RPC describe las llamadas que se pueden
    realizar.                                     Estructura de
                                                  una aplicación

    Más información podría llevar a una mayor     ¿Cómo se
                                                  comunican las
    automatización.                               aplicaciones?

                                                  HTTP como
    XML-RPC no está preparado para crecer.        protocolo de
                                                  transporte
                                                  XML-RPC
                                                  SOAP
                                                  REST

                                                  Conclusiones

                                                  Créditos y
                                                  Licencia
Más información sobre el servicio

                                               Introducción a
                                               Servicios Web
                                                 David J.
                                                 Brenes
                                                 Martínez
                                               Desarrollador
                                                en Grupo
                                                  Índigo


    SOAP permite una mayor descripción         Estructura de
                                               una aplicación
    Más información => mayor automatización.   ¿Cómo se
                                               comunican las
    Más información => más funcionalidad       aplicaciones?

                                               HTTP como
                                               protocolo de
                                               transporte
                                               XML-RPC
                                               SOAP
                                               REST

                                               Conclusiones

                                               Créditos y
                                               Licencia
Datos sobre SOAP

                                                           Introducción a
                                                           Servicios Web
                                                             David J.
                                                             Brenes
                                                             Martínez
                                                           Desarrollador
                                                            en Grupo
                                                              Índigo
   Evolución de XML-RPC
                                                           Estructura de
   Formato adoptado por el W3C                             una aplicación

   Está en su versión 2.0, aunque la más soportada es la   ¿Cómo se
                                                           comunican las
   1.1                                                     aplicaciones?

                                                           HTTP como
   Forma parte del conjunto WS-*                           protocolo de
                                                           transporte
                                                           XML-RPC
                                                           SOAP
                                                           REST

                                                           Conclusiones

                                                           Créditos y
                                                           Licencia
Describiendo el servicio

                                                            Introducción a
                                                            Servicios Web
                                                              David J.
                                                              Brenes
                                                              Martínez
                                                            Desarrollador
                                                             en Grupo
                                                               Índigo
    SOAP recupera los lenguajes de descripción de
    servicio.                                               Estructura de
                                                            una aplicación

    Se describen tipos, operaciones, excepciones, ‘puntos   ¿Cómo se
                                                            comunican las
    de entrada’ y más                                       aplicaciones?

                                                            HTTP como
    La descripción se realiza mediante un fichero WSDL       protocolo de
                                                            transporte
                                                            XML-RPC
                                                            SOAP
                                                            REST

                                                            Conclusiones

                                                            Créditos y
                                                            Licencia
Describiendo el servicio

                                                         Introducción a
                                                         Servicios Web
                                                           David J.
                                                           Brenes
                                                           Martínez
Ejemplo de WSDL                                          Desarrollador
                                                          en Grupo
                                                            Índigo
<?xml version="1.0" encoding="UTF-8"?>
<description xmlns="http://www.w3.org/ns/wsdl"           Estructura de
                                                         una aplicación
xmlns:tns="http://www.example.com/wsdl20sample"
                                                         ¿Cómo se
xmlns:whttp="http://www.w3.org/ns/wsdl/http"             comunican las
                                                         aplicaciones?
xmlns:wsoap="http://www.w3.org/ns/wsdl/soap"
                                                         HTTP como
targetNamespace="http://www.example.com/wsdl20sample">   protocolo de
                                                         transporte
...                                                      XML-RPC
                                                         SOAP
</description>                                           REST

                                                         Conclusiones

                                                         Créditos y
                                                         Licencia
Creando tipos

                                                      Introducción a
                                                      Servicios Web
                                                        David J.
                                                        Brenes
                                                        Martínez
                                                      Desarrollador
                                                       en Grupo
                                                         Índigo


    En XML-RPC se pueden crear estructuras nuevas     Estructura de
                                                      una aplicación
    EN SOAP se permite la definición de nuevos tipos   ¿Cómo se
                                                      comunican las
    Uso de XML-Schema                                 aplicaciones?

                                                      HTTP como
                                                      protocolo de
                                                      transporte
                                                      XML-RPC
                                                      SOAP
                                                      REST

                                                      Conclusiones

                                                      Créditos y
                                                      Licencia
Creando tipos

                                                      Introducción a
                                                      Servicios Web
Ejemplo de WSDL - Tipos                                 David J.
                                                        Brenes
<types>                                                 Martínez
                                                      Desarrollador
<xs:schema                                             en Grupo
xmlns="http://www.example.com/wsdl20sample"              Índigo

xmlns:xs="http://www.w3.org/2001/XMLSchema" target-   Estructura de
                                                      una aplicación
Namespace="http://www.example.com/wsdl20sample">
                                                      ¿Cómo se
<xs:element name="request">                           comunican las
                                                      aplicaciones?
<xs:complexType>
                                                      HTTP como
<xs:attribute name="method" type="xs:string"          protocolo de
                                                      transporte
use="required"/>                                      XML-RPC
                                                      SOAP
</xs:complexType>                                     REST


</xs:element>                                         Conclusiones

</xs:schema>                                          Créditos y
                                                      Licencia
</types>
Definiendo la interface

                                            Introducción a
                                            Servicios Web
                                              David J.
                                              Brenes
                                              Martínez
                                            Desarrollador
                                             en Grupo
                                               Índigo


    Se define qué operaciones se permiten    Estructura de
                                            una aplicación
    Se definen los parámetros y respuestas   ¿Cómo se
                                            comunican las
    Se definen las excepciones               aplicaciones?

                                            HTTP como
                                            protocolo de
                                            transporte
                                            XML-RPC
                                            SOAP
                                            REST

                                            Conclusiones

                                            Créditos y
                                            Licencia
Definiendo la interface

                                                       Introducción a
                                                       Servicios Web
                                                         David J.
                                                         Brenes
Ejemplo de WSDL - Interfaces                             Martínez
                                                       Desarrollador
                                                        en Grupo
<interface name="RESTfulInterface">                       Índigo

<fault name="ClientError" element="tns:response"/>
                                                       Estructura de
<operation name="Get"                                  una aplicación

pattern="http://www.w3.org/ns/wsdl/in-out">            ¿Cómo se
                                                       comunican las
<input messageLabel="GetMsg" element="tns:request"/>   aplicaciones?

<output messageLabel="SuccessfulMsg"                   HTTP como
                                                       protocolo de
element="tns:response"/>                               transporte
                                                       XML-RPC

</operation>                                           SOAP
                                                       REST
</interface>                                           Conclusiones

                                                       Créditos y
                                                       Licencia
Especificando la capa de transporte

                                                            Introducción a
                                                            Servicios Web
                                                              David J.
                                                              Brenes
                                                              Martínez
                                                            Desarrollador
                                                             en Grupo
                                                               Índigo


    SOAP permite a priori varias capas de transporte, no    Estructura de
                                                            una aplicación
    solo HTTP.                                              ¿Cómo se
                                                            comunican las
    Se pueden especificar varios protocolos de transporte.   aplicaciones?

                                                            HTTP como
                                                            protocolo de
                                                            transporte
                                                            XML-RPC
                                                            SOAP
                                                            REST

                                                            Conclusiones

                                                            Créditos y
                                                            Licencia
Especificando la capa de transporte

                                                      Introducción a
                                                      Servicios Web
Ejemplo de WSDL - Binding                               David J.
                                                        Brenes
<binding name="RESTfulInterfaceHttpBinding"             Martínez
                                                      Desarrollador
interface="tns:RESTfulInterface"                       en Grupo
                                                         Índigo
type="http://www.w3.org/ns/wsdl/http">
                                                      Estructura de
<operation ref="tns:Get" whttp:method="GET"/>         una aplicación
<operation ref="tns:Post" whttp:method="POST"         ¿Cómo se
                                                      comunican las
whttp:inputSerialization="application/x-www-form-     aplicaciones?
urlencoded"/>                                         HTTP como
                                                      protocolo de
<operation ref="tns:Put" whttp:method="PUT"           transporte
whttp:inputSerialization="application/x-www-form-     XML-RPC
                                                      SOAP

urlencoded"/>                                         REST

                                                      Conclusiones
<operation ref="tns:Delete" whttp:method="DELETE"/>
                                                      Créditos y
</binding>                                            Licencia
Indicando el punto de entrada

                                                          Introducción a
                                                          Servicios Web
                                                            David J.
                                                            Brenes
                                                            Martínez
                                                          Desarrollador
                                                           en Grupo
                                                             Índigo
    Se puede indicar la URL en la que responderá el
    servicio web                                          Estructura de
                                                          una aplicación
    Hay un solo punto de entrada para todas las           ¿Cómo se
    operaciones                                           comunican las
                                                          aplicaciones?
    SOAP indica en el mensaje la operación concreta que   HTTP como
                                                          protocolo de
    deseamos                                              transporte
                                                          XML-RPC
                                                          SOAP
                                                          REST

                                                          Conclusiones

                                                          Créditos y
                                                          Licencia
Indicando el punto de entrada

                                              Introducción a
                                              Servicios Web
                                                David J.
                                                Brenes
                                                Martínez
                                              Desarrollador
                                               en Grupo
Ejemplo de WSDL - Servicicios                    Índigo

<service name="RESTfulService"                Estructura de
interface="tns:RESTfulInterface">             una aplicación

                                              ¿Cómo se
<endpoint name="RESTfulServiceHttpEndpoint"   comunican las
                                              aplicaciones?
binding="tns:RESTfulInterfaceHttpBinding"
                                              HTTP como
address="http://www.example.com/rest/"/>      protocolo de
                                              transporte
</service>                                    XML-RPC
                                              SOAP
                                              REST

                                              Conclusiones

                                              Créditos y
                                              Licencia
El ecosistema WS-*

                                                        Introducción a
                                                        Servicios Web
                                                          David J.
                                                          Brenes
                                                          Martínez
                                                        Desarrollador
                                                         en Grupo
                                                           Índigo
   Conjunto de especificaciones sobre servicios web
   SOAP                                                 Estructura de
                                                        una aplicación

   Cada especificación se especializa en un aspecto de   ¿Cómo se
                                                        comunican las
   los Servicios Web                                    aplicaciones?

                                                        HTTP como
   Juntos forman un conjunto bastante coherente         protocolo de
                                                        transporte
                                                        XML-RPC
                                                        SOAP
                                                        REST

                                                        Conclusiones

                                                        Créditos y
                                                        Licencia
El ecosistema WS-*

                                                                 Introducción a
                                                                 Servicios Web
                                                                   David J.
                                                                   Brenes
                                                                   Martínez
   WS-Addressing: Encaminamiento de mensajes SOAP.               Desarrollador
                                                                  en Grupo
                                                                    Índigo
   WS-Transfer: Transferencia de recursos involucrados
   en WS-Adressing                                               Estructura de
                                                                 una aplicación
   WS-Eventing: Suscripción a otros Servicios Web                ¿Cómo se
                                                                 comunican las
   WS-Policy: Soporte de políticas (de uso, de servicio. . . )   aplicaciones?

   WS-Security: Aspectos de seguridad                            HTTP como
                                                                 protocolo de
                                                                 transporte
   WS-BPEL y WS-Choreography: Relaciones entre                   XML-RPC
                                                                 SOAP
   servicios web para definir procesos de negocio                 REST

                                                                 Conclusiones

                                                                 Créditos y
                                                                 Licencia
¿Suficiente descripción?

                                                      Introducción a
                                                      Servicios Web
                                                        David J.
                                                        Brenes
                                                        Martínez
                                                      Desarrollador
                                                       en Grupo
                                                         Índigo
    La toma de decisiones no se automatiza
                                                      Estructura de
    Necesidad de aplicar sistemas de razonamiento e   una aplicación

    inferencia                                        ¿Cómo se
                                                      comunican las
    Web Semántica + Servicios Web = Servicios Web     aplicaciones?

                                                      HTTP como
    Semánticos                                        protocolo de
                                                      transporte
                                                      XML-RPC
                                                      SOAP
                                                      REST

                                                      Conclusiones

                                                      Créditos y
                                                      Licencia
Implementación

                                                            Introducción a
                                                            Servicios Web
                                                              David J.
                                                              Brenes
                                                              Martínez
                                                            Desarrollador
                                                             en Grupo
                                                               Índigo
   El desarrollo de un WSDL puede ser muy duro
                                                            Estructura de
   El procesado de los mensajes y sus respuestas ya no      una aplicación

   es trivial                                               ¿Cómo se
                                                            comunican las
   Existencia de múltiples herramientas de automatización   aplicaciones?

                                                            HTTP como
   ‘Necesidad’ de dichas herramientas                       protocolo de
                                                            transporte
                                                            XML-RPC
                                                            SOAP
                                                            REST

                                                            Conclusiones

                                                            Créditos y
                                                            Licencia
Generación de código

                          Introducción a
                          Servicios Web
                            David J.
                            Brenes
                            Martínez
                          Desarrollador
                           en Grupo
                             Índigo
Ejemplos:
                          Estructura de
    PHP: NuSOAP           una aplicación

                          ¿Cómo se
    JAVA: wsdl2java       comunican las
                          aplicaciones?
    .NET: Visual Studio   HTTP como
                          protocolo de
                          transporte
                          XML-RPC
                          SOAP
                          REST

                          Conclusiones

                          Créditos y
                          Licencia
Generación de código

                                                          Introducción a
                                                          Servicios Web
                                                            David J.
                                                            Brenes
                                                            Martínez
                                                          Desarrollador
                                                           en Grupo
   Se indica el fichero descriptor                            Índigo


   La herramienta genera clases que se encargan de toda   Estructura de
                                                          una aplicación
   la comunicación por HTTP
                                                          ¿Cómo se
   Se crean clases que simbolizan las operaciones y       comunican las
                                                          aplicaciones?
   tienen métodos para realizar la llamada.               HTTP como
                                                          protocolo de
   En lenguajes dinámicos las clases se crean al vuelo    transporte
                                                          XML-RPC
                                                          SOAP
                                                          REST

                                                          Conclusiones

                                                          Créditos y
                                                          Licencia
Generación de WSDL

                                  Introducción a
                                  Servicios Web
                                    David J.
                                    Brenes
                                    Martínez
                                  Desarrollador
                                   en Grupo
Ejemplos:                            Índigo


    PHP: NuSOAP                   Estructura de
                                  una aplicación

    PHP (Symfony): ckWebService   ¿Cómo se
                                  comunican las
    JAVA: java2wsdl               aplicaciones?

                                  HTTP como
    .NET: Visual Studio           protocolo de
                                  transporte
                                  XML-RPC
                                  SOAP
                                  REST

                                  Conclusiones

                                  Créditos y
                                  Licencia
Generación de WSDL

                                                           Introducción a
                                                           Servicios Web
                                                             David J.
                                                             Brenes
                                                             Martínez
                                                           Desarrollador
                                                            en Grupo
                                                              Índigo

   Se indican las operaciones a exponer                    Estructura de
                                                           una aplicación
   La herramienta genera la descripción de los servicios
                                                           ¿Cómo se
   Se crean tipos para hacer corresponder con los          comunican las
                                                           aplicaciones?
   remotos                                                 HTTP como
                                                           protocolo de
                                                           transporte
                                                           XML-RPC
                                                           SOAP
                                                           REST

                                                           Conclusiones

                                                           Créditos y
                                                           Licencia
Ventajas

                                                           Introducción a
                                                           Servicios Web
                                                             David J.
                                                             Brenes
                                                             Martínez
                                                           Desarrollador
                                                            en Grupo
                                                              Índigo

    Mayor descripción del servicio                         Estructura de
                                                           una aplicación
    Más funcionalidades (especificaciones para seguridad,
                                                           ¿Cómo se
    orquestación de servicios. . . )                       comunican las
                                                           aplicaciones?
    Herramientas que facilitan el desarrollo               HTTP como
                                                           protocolo de
                                                           transporte
                                                           XML-RPC
                                                           SOAP
                                                           REST

                                                           Conclusiones

                                                           Créditos y
                                                           Licencia
Ventajas

                                                            Introducción a
                                                            Servicios Web
                                                              David J.
                                                              Brenes
                                                              Martínez
                                                            Desarrollador
                                                             en Grupo
                                                               Índigo
    Más estables y fiables (la descripción indica los
    detalles sobre la comunicación)                         Estructura de
                                                            una aplicación
    las modificaciones solo requieren ejecutar de nuevo la   ¿Cómo se
    herramenta de generación de código                      comunican las
                                                            aplicaciones?
    Usados en entornos donde se requiere muy alta           HTTP como
                                                            protocolo de
    fiabilidad                                               transporte
                                                            XML-RPC
                                                            SOAP
                                                            REST

                                                            Conclusiones

                                                            Créditos y
                                                            Licencia
Back to basics

                                                     Introducción a
                                                     Servicios Web
                                                       David J.
                                                       Brenes
                                                       Martínez
                                                     Desarrollador
                                                      en Grupo
    SOAP exige una descripción más detallada            Índigo

    SOAP da soporte a muchas funcionalidades extra   Estructura de
                                                     una aplicación
    (seguridad, confianza. . . )
                                                     ¿Cómo se
    SOAP requiere herramientas adecuadas             comunican las
                                                     aplicaciones?

                                                     HTTP como
             SOAP es demasiado complejo.             protocolo de
                                                     transporte
                                                     XML-RPC
                                                     SOAP
                                                     REST

                                                     Conclusiones

                                                     Créditos y
                                                     Licencia
Back to basics

                                                         Introducción a
                                                         Servicios Web
                                                           David J.
                                                           Brenes
                                                           Martínez
                                                         Desarrollador
                                                          en Grupo
                                                            Índigo
    HTTP es un método de transporte válido
                                                         Estructura de
    HTTP ofrece alguna funcionalidad extra (HTTPS para   una aplicación

    conexiones seguras)                                  ¿Cómo se
                                                         comunican las
    HTTP dispone de diversos ‘verbos’ para distintas     aplicaciones?

                                                         HTTP como
    acciones (GET, POST, PUT. . . )                      protocolo de
                                                         transporte
                                                         XML-RPC
                                                         SOAP
                                                         REST

                                                         Conclusiones

                                                         Créditos y
                                                         Licencia
Filosofía REST

                                                              Introducción a
                                                              Servicios Web
                                                                David J.
                                                                Brenes
   Las peticiones se hacen a recursos, no a métodos             Martínez
                                                              Desarrollador
       No es ‘dame los datos del alumno 1’ sino ‘acceder al    en Grupo
                                                                 Índigo
       alumno 1’
   Cada recurso equivale a un punto de entrada para el        Estructura de
                                                              una aplicación
   servicio web
                                                              ¿Cómo se
       SOAP disponía de 1 punto de acceso                     comunican las
                                                              aplicaciones?
   Los métodos que se pueden invocar son los del              HTTP como
   estándar HTTP                                              protocolo de
                                                              transporte
       Para el mismo punto de acceso (recurso) se pueden      XML-RPC
                                                              SOAP
       ejecutar distintas acciones                            REST


   Está basado en HTTP                                        Conclusiones

                                                              Créditos y
                                                              Licencia
Filosofía REST

                                                            Introducción a
                                                            Servicios Web
                                                              David J.
                                                              Brenes
                                                              Martínez
                                                            Desarrollador
                                                             en Grupo
Concepto publicado por Roy Fielding en su tesis doctoral.      Índigo


REST enables intermediate processing by constraining        Estructura de
                                                            una aplicación
messages to be self-descriptive: interaction is stateless   ¿Cómo se
between requests, standard methods and media types are      comunican las
                                                            aplicaciones?
used to indicate semantics and exchange information, and    HTTP como
responses explicitly indicate cacheability.                 protocolo de
                                                            transporte
                                                            XML-RPC
                                                            SOAP
                                                            REST

                                                            Conclusiones

                                                            Créditos y
                                                            Licencia
Filosofía REST

                                                Introducción a
                                                Servicios Web
                                                  David J.
                                                  Brenes
                                                  Martínez
                                                Desarrollador
                                                 en Grupo
                                                   Índigo


   No es un estándar                            Estructura de
                                                una aplicación
   No define formatos                            ¿Cómo se
                                                comunican las
   Es una manera de desarrollar servicios web   aplicaciones?

                                                HTTP como
                                                protocolo de
                                                transporte
                                                XML-RPC
                                                SOAP
                                                REST

                                                Conclusiones

                                                Créditos y
                                                Licencia
REST y CRUD

                                                    Introducción a
                                                    Servicios Web
                                                      David J.
                                                      Brenes
                                                      Martínez
                                                    Desarrollador
   En un sistema basado en métodos (RPC) hay ‘n’     en Grupo
   acciones posibles                                   Índigo


   En un sistema basado en recursos (RES) hay ‘n’   Estructura de
                                                    una aplicación
   recursos, pero solo 4 acciones básicas           ¿Cómo se
   Un recurso:                                      comunican las
                                                    aplicaciones?
       Se crea                                      HTTP como
       Se obtiene                                   protocolo de
                                                    transporte
       Se actualiza                                 XML-RPC
                                                    SOAP
       Se elimina                                   REST

                                                    Conclusiones

                                                    Créditos y
                                                    Licencia
REST y CRUD

                                            Introducción a
                                            Servicios Web
                                              David J.
                                              Brenes
                                              Martínez
                                            Desarrollador
                                             en Grupo
Problema básico de gestión de datos: CRUD      Índigo


    CREATE                                  Estructura de
                                            una aplicación

    RETRIEVE                                ¿Cómo se
                                            comunican las
    UPDATE                                  aplicaciones?

                                            HTTP como
    DELETE                                  protocolo de
                                            transporte
                                            XML-RPC
                                            SOAP
                                            REST

                                            Conclusiones

                                            Créditos y
                                            Licencia
REST y CRUD

                                                    Introducción a
                                                    Servicios Web
                                                      David J.
                                                      Brenes
                                                      Martínez
                                                    Desarrollador
                                                     en Grupo
Problema básico de gestión de datos: CRUD => PGPD      Índigo


    CREATE => PUT                                   Estructura de
                                                    una aplicación

    RETRIEVE => GET                                 ¿Cómo se
                                                    comunican las
    UPDATE => POST                                  aplicaciones?

                                                    HTTP como
    DELETE => DELETE                                protocolo de
                                                    transporte
                                                    XML-RPC
                                                    SOAP
                                                    REST

                                                    Conclusiones

                                                    Créditos y
                                                    Licencia
Método PUT

                                                             Introducción a
                                                             Servicios Web
                                                               David J.
                                                               Brenes
                                                               Martínez
                                                             Desarrollador
                                                              en Grupo
RFC 2616, HTTP PUT                                              Índigo


The PUT method requests that the enclosed entity be          Estructura de
                                                             una aplicación
stored under the supplied Request-URI.
                                                             ¿Cómo se
If the Request-URI refers to an already existing resource,   comunican las
                                                             aplicaciones?
the enclosed entity SHOULD be considered as a modified        HTTP como
version of the one residing on the origin server.            protocolo de
                                                             transporte
                                                             XML-RPC
                                                             SOAP
                                                             REST

                                                             Conclusiones

                                                             Créditos y
                                                             Licencia
Método PUT

             Introducción a
             Servicios Web
               David J.
               Brenes
               Martínez
             Desarrollador
              en Grupo
                Índigo


             Estructura de
             una aplicación

             ¿Cómo se
             comunican las
             aplicaciones?

             HTTP como
             protocolo de
             transporte
             XML-RPC
             SOAP
             REST

             Conclusiones

             Créditos y
             Licencia
Método GET

                                                          Introducción a
                                                          Servicios Web
                                                            David J.
                                                            Brenes
                                                            Martínez
                                                          Desarrollador
                                                           en Grupo
                                                             Índigo


RFC 2616, HTTP GET                                        Estructura de
                                                          una aplicación
The GET method means retrieve whatever information (in    ¿Cómo se
                                                          comunican las
the form of an entity) is identified by the Request-URI.   aplicaciones?

                                                          HTTP como
                                                          protocolo de
                                                          transporte
                                                          XML-RPC
                                                          SOAP
                                                          REST

                                                          Conclusiones

                                                          Créditos y
                                                          Licencia
Método GET

             Introducción a
             Servicios Web
               David J.
               Brenes
               Martínez
             Desarrollador
              en Grupo
                Índigo


             Estructura de
             una aplicación

             ¿Cómo se
             comunican las
             aplicaciones?

             HTTP como
             protocolo de
             transporte
             XML-RPC
             SOAP
             REST

             Conclusiones

             Créditos y
             Licencia
Método POST

                                                              Introducción a
                                                              Servicios Web
                                                                David J.
                                                                Brenes
                                                                Martínez
                                                              Desarrollador
                                                               en Grupo
                                                                 Índigo
RFC 2616, HTTP POST
                                                              Estructura de
The POST method is used to request that the origin server     una aplicación

accept the entity enclosed in the request as a new            ¿Cómo se
                                                              comunican las
subordinate of the resource identified by the Request-URI in   aplicaciones?

the Request-Line.                                             HTTP como
                                                              protocolo de
                                                              transporte
                                                              XML-RPC
                                                              SOAP
                                                              REST

                                                              Conclusiones

                                                              Créditos y
                                                              Licencia
Método POST

                                                      Introducción a
                                                      Servicios Web
                                                        David J.
                                                        Brenes
                                                        Martínez
                                                      Desarrollador
                                                       en Grupo
                                                         Índigo


RFC 2616, HTTP POST                                   Estructura de
                                                      una aplicación
- Annotation of existing resources;                   ¿Cómo se
                                                      comunican las
- Extending a database through an append operation.   aplicaciones?

                                                      HTTP como
                                                      protocolo de
                                                      transporte
                                                      XML-RPC
                                                      SOAP
                                                      REST

                                                      Conclusiones

                                                      Créditos y
                                                      Licencia
Método POST

              Introducción a
              Servicios Web
                David J.
                Brenes
                Martínez
              Desarrollador
               en Grupo
                 Índigo


              Estructura de
              una aplicación

              ¿Cómo se
              comunican las
              aplicaciones?

              HTTP como
              protocolo de
              transporte
              XML-RPC
              SOAP
              REST

              Conclusiones

              Créditos y
              Licencia
Método DELETE

                                                           Introducción a
                                                           Servicios Web
                                                             David J.
                                                             Brenes
                                                             Martínez
                                                           Desarrollador
                                                            en Grupo
                                                              Índigo


RFC 2616, HTTP DELETE                                      Estructura de
                                                           una aplicación
The DELETE method requests that the origin server delete   ¿Cómo se
                                                           comunican las
the resource identified by the Request-URI.                 aplicaciones?

                                                           HTTP como
                                                           protocolo de
                                                           transporte
                                                           XML-RPC
                                                           SOAP
                                                           REST

                                                           Conclusiones

                                                           Créditos y
                                                           Licencia
Método DELETE

                Introducción a
                Servicios Web
                  David J.
                  Brenes
                  Martínez
                Desarrollador
                 en Grupo
                   Índigo


                Estructura de
                una aplicación

                ¿Cómo se
                comunican las
                aplicaciones?

                HTTP como
                protocolo de
                transporte
                XML-RPC
                SOAP
                REST

                Conclusiones

                Créditos y
                Licencia
REST y otros protocolos

                                                   Introducción a
                                                   Servicios Web
                                                     David J.
                                                     Brenes
                                                     Martínez
                                                   Desarrollador
                                                    en Grupo
                                                      Índigo


    REST no detalla formatos                       Estructura de
                                                   una aplicación
    XML-RPC podría implementarse sobre REST        ¿Cómo se
                                                   comunican las
    SOAP 2.0 permite crear servicios web RESTful   aplicaciones?

                                                   HTTP como
                                                   protocolo de
                                                   transporte
                                                   XML-RPC
                                                   SOAP
                                                   REST

                                                   Conclusiones

                                                   Créditos y
                                                   Licencia
Definición del servicio

                                                             Introducción a
                                                             Servicios Web
                                                               David J.
                                                               Brenes
                                                               Martínez
                                                             Desarrollador
                                                              en Grupo
    REST no habla de definición de servicio                      Índigo


    La respuesta puede tener el formato que se quiera        Estructura de
                                                             una aplicación
    (XML, JSON, HTML. . . )
                                                             ¿Cómo se
    REST no contempla el lanzamiento de excepciones          comunican las
                                                             aplicaciones?
        HTTP posee códigos de error para indicar problemas   HTTP como
                                                             protocolo de
    Puede usarse un lenguaje de descripción sobre REST       transporte
                                                             XML-RPC
                                                             SOAP
                                                             REST

                                                             Conclusiones

                                                             Créditos y
                                                             Licencia
Funcionalidades añadidas

                                                     Introducción a
                                                     Servicios Web
                                                       David J.
                                                       Brenes
                                                       Martínez
                                                     Desarrollador
                                                      en Grupo
     Las funcionalidades están presentes en HTTP        Índigo


                                                     Estructura de
   Seguridad mediante HTTPS                          una aplicación

                                                     ¿Cómo se
   Autenticación mediante HTTP-Auth                  comunican las
                                                     aplicaciones?
   Gestión de errores                                HTTP como
                                                     protocolo de
   Posibilidad de incorporar certificados digitales   transporte
                                                     XML-RPC

   Manejo de sesiones en el servidor                 SOAP
                                                     REST

                                                     Conclusiones

                                                     Créditos y
                                                     Licencia
Comunicación entre aplicaciones

                                                       Introducción a
                                                       Servicios Web
                                                         David J.
                                                         Brenes
                                                         Martínez
                                                       Desarrollador
    Una aplicación aislada está muy limitada.           en Grupo
                                                          Índigo

    La separación de funciones permite optimizar
                                                       Estructura de
    desarrollos y aplicaciones                         una aplicación

                                                       ¿Cómo se
    La comunicación puede realizarse entre distintos   comunican las
                                                       aplicaciones?
    ordenadores
                                                       HTTP como
    Las aplicaciones pueden comunicarse con varias     protocolo de
                                                       transporte
    aplicaciones                                       XML-RPC
                                                       SOAP
                                                       REST

                                                       Conclusiones

                                                       Créditos y
                                                       Licencia
Formatos de comunicación

                                                    Introducción a
                                                    Servicios Web
                                                      David J.
                                                      Brenes
                                                      Martínez
                                                    Desarrollador
                                                     en Grupo
                                                       Índigo
   Un formato ad-hoc es rápido de diseñar (mal)
                                                    Estructura de
   Un formato estándar puede no ajustarse al 100%   una aplicación

   Un formato estandar cuenta con más experiencia   ¿Cómo se
                                                    comunican las
                                                    aplicaciones?
   Un formato estándar contará con implementación
                                                    HTTP como
   HTTP es un formato estándar de comunicaciones    protocolo de
                                                    transporte
                                                    XML-RPC
                                                    SOAP
                                                    REST

                                                    Conclusiones

                                                    Créditos y
                                                    Licencia
Servicios Web

                                                        Introducción a
                                                        Servicios Web
                                                          David J.
                                                          Brenes
                                                          Martínez
                                                        Desarrollador
                                                         en Grupo
   Intercambio de mensajes a través de HTTP                Índigo

   XML-RPC: Formato básico de llamada a procedimiento   Estructura de
   remoto.                                              una aplicación

                                                        ¿Cómo se
   SOAP: Formato RPC más elaborado y con varios         comunican las
                                                        aplicaciones?
   estándares a su alrededor
                                                        HTTP como
   REST: Filosofía de desarrollo de Servicios Web       protocolo de
                                                        transporte
   basada en HTTP                                       XML-RPC
                                                        SOAP
                                                        REST

                                                        Conclusiones

                                                        Créditos y
                                                        Licencia
Servicios Web

                                        Introducción a
                                        Servicios Web
                                          David J.
                                          Brenes
                                          Martínez
                                        Desarrollador
                                         en Grupo
                                           Índigo


                                        Estructura de
                                        una aplicación
            Y basta de teoría por hoy   ¿Cómo se
                                        comunican las
                                        aplicaciones?

                                        HTTP como
                                        protocolo de
                                        transporte
                                        XML-RPC
                                        SOAP
                                        REST

                                        Conclusiones

                                        Créditos y
                                        Licencia
Créditos

                                                        Introducción a
                                                        Servicios Web
                                                          David J.
                                                          Brenes
                                                          Martínez
                                                        Desarrollador
                                                         en Grupo
                                                           Índigo


                                                        Estructura de
                                                        una aplicación
    Los ejemplos sobre SOAP provienen de la Wikipedia
                                                        ¿Cómo se
                                                        comunican las
                                                        aplicaciones?

                                                        HTTP como
                                                        protocolo de
                                                        transporte
                                                        XML-RPC
                                                        SOAP
                                                        REST

                                                        Conclusiones

                                                        Créditos y
                                                        Licencia
Licencia

                                                             Introducción a
                                                             Servicios Web
                                                               David J.
                                                               Brenes
                                                               Martínez
Estas transparencias se publican bajo licencia Creative      Desarrollador
                                                              en Grupo
Commons y se pueden redistribuir o modificar bajo las            Índigo

siguientes condiciones:                                      Estructura de
                                                             una aplicación
    Se dé reconocimiento al autor de estas transparencias.
                                                             ¿Cómo se
                                                             comunican las
    No se use con propósitos comerciales.                    aplicaciones?

    Se distribuya con la misma licencia.                     HTTP como
                                                             protocolo de
Texto de la licencia: http:                                  transporte
                                                             XML-RPC

//creativecommons.org/licenses/by-nc-sa/3.0/                 SOAP
                                                             REST

                                                             Conclusiones

                                                             Créditos y
                                                             Licencia

Más contenido relacionado

La actualidad más candente

La actualidad más candente (9)

Tp Tics Hypertexto
Tp Tics HypertextoTp Tics Hypertexto
Tp Tics Hypertexto
 
LA WED 2.0
LA WED 2.0LA WED 2.0
LA WED 2.0
 
Roadshow chile
Roadshow chileRoadshow chile
Roadshow chile
 
Implementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOAImplementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOA
 
2 do trabajo-penas
2 do trabajo-penas2 do trabajo-penas
2 do trabajo-penas
 
Definición de Alcance Desire 2.0
Definición de Alcance Desire 2.0Definición de Alcance Desire 2.0
Definición de Alcance Desire 2.0
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Servicios SOA
Servicios SOAServicios SOA
Servicios SOA
 
SOA y Web Services
SOA y Web ServicesSOA y Web Services
SOA y Web Services
 

Destacado (15)

Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con REST
 
Web services restful con JAX-RS
Web services restful con JAX-RSWeb services restful con JAX-RS
Web services restful con JAX-RS
 
Introducción a REST - SymfonyVLC
Introducción a REST - SymfonyVLCIntroducción a REST - SymfonyVLC
Introducción a REST - SymfonyVLC
 
Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)
 
Rest Conf Rails
Rest Conf RailsRest Conf Rails
Rest Conf Rails
 
Rest
RestRest
Rest
 
Servicios web soap java
Servicios web soap javaServicios web soap java
Servicios web soap java
 
Web Services
Web ServicesWeb Services
Web Services
 
Manual de creación y uso de Web Service SOAP
Manual de creación y uso de Web Service SOAPManual de creación y uso de Web Service SOAP
Manual de creación y uso de Web Service SOAP
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API REST
 
Creando un servicio SOAP en Java con NetBeans
Creando un servicio SOAP en Java con NetBeansCreando un servicio SOAP en Java con NetBeans
Creando un servicio SOAP en Java con NetBeans
 
Introducción a Angular
Introducción a AngularIntroducción a Angular
Introducción a Angular
 
Web services
Web servicesWeb services
Web services
 
JSON and REST
JSON and RESTJSON and REST
JSON and REST
 

Similar a Introduccion a los Servicios Web Rest

ppt Web 2.0
ppt Web 2.0ppt Web 2.0
ppt Web 2.0puntocom
 
Web services
Web servicesWeb services
Web servicesjam c
 
Symfony-Community: Introducción a arquitecturas de aplicaciones web y frameworks
Symfony-Community: Introducción a arquitecturas de aplicaciones web y frameworksSymfony-Community: Introducción a arquitecturas de aplicaciones web y frameworks
Symfony-Community: Introducción a arquitecturas de aplicaciones web y frameworksexcedesoft
 
Planificacio y formulacion web d
Planificacio y formulacion web dPlanificacio y formulacion web d
Planificacio y formulacion web ddiana_caluna
 
Web 2.0 alfonso camilo alfonso mauricio 1101
Web 2.0 alfonso camilo  alfonso mauricio   1101Web 2.0 alfonso camilo  alfonso mauricio   1101
Web 2.0 alfonso camilo alfonso mauricio 1101mauro1031
 
Power web 2.0
Power web 2.0Power web 2.0
Power web 2.0armbyr
 
Web 2.0 alfonso camilo alfonso mauricio 1101
Web 2.0 alfonso camilo  alfonso mauricio   1101Web 2.0 alfonso camilo  alfonso mauricio   1101
Web 2.0 alfonso camilo alfonso mauricio 1101Camilo Alfonso
 

Similar a Introduccion a los Servicios Web Rest (20)

Practica#04
Practica#04Practica#04
Practica#04
 
Practica#04
Practica#04Practica#04
Practica#04
 
ppt Web 2.0
ppt Web 2.0ppt Web 2.0
ppt Web 2.0
 
Web services
Web servicesWeb services
Web services
 
la web 2.0
la web 2.0la web 2.0
la web 2.0
 
Ingeniería Web
Ingeniería WebIngeniería Web
Ingeniería Web
 
Practica04 1103 felipe forero
Practica04 1103 felipe foreroPractica04 1103 felipe forero
Practica04 1103 felipe forero
 
Servicios w eb
Servicios w ebServicios w eb
Servicios w eb
 
Symfony-Community: Introducción a arquitecturas de aplicaciones web y frameworks
Symfony-Community: Introducción a arquitecturas de aplicaciones web y frameworksSymfony-Community: Introducción a arquitecturas de aplicaciones web y frameworks
Symfony-Community: Introducción a arquitecturas de aplicaciones web y frameworks
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Planificacio y formulacion web d
Planificacio y formulacion web dPlanificacio y formulacion web d
Planificacio y formulacion web d
 
ciencia, tecnología y sociedad
ciencia, tecnología y sociedadciencia, tecnología y sociedad
ciencia, tecnología y sociedad
 
Web
WebWeb
Web
 
Web 2.0 alfonso camilo alfonso mauricio 1101
Web 2.0 alfonso camilo  alfonso mauricio   1101Web 2.0 alfonso camilo  alfonso mauricio   1101
Web 2.0 alfonso camilo alfonso mauricio 1101
 
Power web 2.0
Power web 2.0Power web 2.0
Power web 2.0
 
Power web 2.0
Power web 2.0Power web 2.0
Power web 2.0
 
Presentacion web 3.0 cris
Presentacion web 3.0 crisPresentacion web 3.0 cris
Presentacion web 3.0 cris
 
Web2.0
Web2.0Web2.0
Web2.0
 
Web2.0
Web2.0Web2.0
Web2.0
 
Web 2.0 alfonso camilo alfonso mauricio 1101
Web 2.0 alfonso camilo  alfonso mauricio   1101Web 2.0 alfonso camilo  alfonso mauricio   1101
Web 2.0 alfonso camilo alfonso mauricio 1101
 

Más de David J. Brenes

Desarrollo rápido con PHP y Symfony (VI): Los formularios
Desarrollo rápido con PHP y Symfony (VI): Los formulariosDesarrollo rápido con PHP y Symfony (VI): Los formularios
Desarrollo rápido con PHP y Symfony (VI): Los formulariosDavid J. Brenes
 
Desarrollo rápido con PHP y Symfony (V): Las rutas
Desarrollo rápido con PHP y Symfony (V): Las rutasDesarrollo rápido con PHP y Symfony (V): Las rutas
Desarrollo rápido con PHP y Symfony (V): Las rutasDavid J. Brenes
 
Desarrollo rápido con PHP y Symfony (IV): El Modelo
Desarrollo rápido con PHP y Symfony (IV): El ModeloDesarrollo rápido con PHP y Symfony (IV): El Modelo
Desarrollo rápido con PHP y Symfony (IV): El ModeloDavid J. Brenes
 
Desarrollo rápido con PHP y Symfony (III): La vista
Desarrollo rápido con PHP y Symfony (III): La vistaDesarrollo rápido con PHP y Symfony (III): La vista
Desarrollo rápido con PHP y Symfony (III): La vistaDavid J. Brenes
 
Desarrollo rápido con PHP y Symfony (II): El controlador
Desarrollo rápido con PHP y Symfony (II): El controladorDesarrollo rápido con PHP y Symfony (II): El controlador
Desarrollo rápido con PHP y Symfony (II): El controladorDavid J. Brenes
 
Desarrollo rápido con PHP y Symfony (I): Introducción a Symfony
Desarrollo rápido con PHP y Symfony (I): Introducción a SymfonyDesarrollo rápido con PHP y Symfony (I): Introducción a Symfony
Desarrollo rápido con PHP y Symfony (I): Introducción a SymfonyDavid J. Brenes
 
Introducción a la Yahoo! Open Strategy
Introducción a la Yahoo! Open StrategyIntroducción a la Yahoo! Open Strategy
Introducción a la Yahoo! Open StrategyDavid J. Brenes
 
Cloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaCloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaDavid J. Brenes
 
Cloud Computing: Algoritmos en la Nube
Cloud Computing: Algoritmos en la NubeCloud Computing: Algoritmos en la Nube
Cloud Computing: Algoritmos en la NubeDavid J. Brenes
 
Cloud Computing: Recursos de la Web 2.0
Cloud Computing: Recursos de la Web 2.0Cloud Computing: Recursos de la Web 2.0
Cloud Computing: Recursos de la Web 2.0David J. Brenes
 
Automatic detection of navigational queries according to Behavioural Characte...
Automatic detection of navigational queries according to Behavioural Characte...Automatic detection of navigational queries according to Behavioural Characte...
Automatic detection of navigational queries according to Behavioural Characte...David J. Brenes
 
Programación de Yahoo! Pipes
Programación de Yahoo! PipesProgramación de Yahoo! Pipes
Programación de Yahoo! PipesDavid J. Brenes
 
Yahoo! Pipes y la Web 2.0
Yahoo! Pipes y la Web 2.0Yahoo! Pipes y la Web 2.0
Yahoo! Pipes y la Web 2.0David J. Brenes
 
Presentación Lectura TFMI
Presentación Lectura TFMIPresentación Lectura TFMI
Presentación Lectura TFMIDavid J. Brenes
 

Más de David J. Brenes (15)

Desarrollo rápido con PHP y Symfony (VI): Los formularios
Desarrollo rápido con PHP y Symfony (VI): Los formulariosDesarrollo rápido con PHP y Symfony (VI): Los formularios
Desarrollo rápido con PHP y Symfony (VI): Los formularios
 
Desarrollo rápido con PHP y Symfony (V): Las rutas
Desarrollo rápido con PHP y Symfony (V): Las rutasDesarrollo rápido con PHP y Symfony (V): Las rutas
Desarrollo rápido con PHP y Symfony (V): Las rutas
 
Desarrollo rápido con PHP y Symfony (IV): El Modelo
Desarrollo rápido con PHP y Symfony (IV): El ModeloDesarrollo rápido con PHP y Symfony (IV): El Modelo
Desarrollo rápido con PHP y Symfony (IV): El Modelo
 
Desarrollo rápido con PHP y Symfony (III): La vista
Desarrollo rápido con PHP y Symfony (III): La vistaDesarrollo rápido con PHP y Symfony (III): La vista
Desarrollo rápido con PHP y Symfony (III): La vista
 
Desarrollo rápido con PHP y Symfony (II): El controlador
Desarrollo rápido con PHP y Symfony (II): El controladorDesarrollo rápido con PHP y Symfony (II): El controlador
Desarrollo rápido con PHP y Symfony (II): El controlador
 
Desarrollo rápido con PHP y Symfony (I): Introducción a Symfony
Desarrollo rápido con PHP y Symfony (I): Introducción a SymfonyDesarrollo rápido con PHP y Symfony (I): Introducción a Symfony
Desarrollo rápido con PHP y Symfony (I): Introducción a Symfony
 
Introducción a la Yahoo! Open Strategy
Introducción a la Yahoo! Open StrategyIntroducción a la Yahoo! Open Strategy
Introducción a la Yahoo! Open Strategy
 
Yahoo! Query Language
Yahoo! Query LanguageYahoo! Query Language
Yahoo! Query Language
 
Cloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaCloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de Persistencia
 
Cloud Computing: Algoritmos en la Nube
Cloud Computing: Algoritmos en la NubeCloud Computing: Algoritmos en la Nube
Cloud Computing: Algoritmos en la Nube
 
Cloud Computing: Recursos de la Web 2.0
Cloud Computing: Recursos de la Web 2.0Cloud Computing: Recursos de la Web 2.0
Cloud Computing: Recursos de la Web 2.0
 
Automatic detection of navigational queries according to Behavioural Characte...
Automatic detection of navigational queries according to Behavioural Characte...Automatic detection of navigational queries according to Behavioural Characte...
Automatic detection of navigational queries according to Behavioural Characte...
 
Programación de Yahoo! Pipes
Programación de Yahoo! PipesProgramación de Yahoo! Pipes
Programación de Yahoo! Pipes
 
Yahoo! Pipes y la Web 2.0
Yahoo! Pipes y la Web 2.0Yahoo! Pipes y la Web 2.0
Yahoo! Pipes y la Web 2.0
 
Presentación Lectura TFMI
Presentación Lectura TFMIPresentación Lectura TFMI
Presentación Lectura TFMI
 

Último

CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfmiriamguevara21
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfMaritza438836
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajeKattyMoran3
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FJulio Lozano
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfJosé Hecht
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.karlazoegarciagarcia
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...GIANCARLOORDINOLAORD
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectosTrishGutirrez
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docxMagalyDacostaPea
 

Último (20)

El Bullying.
El Bullying.El Bullying.
El Bullying.
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdf
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguaje
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
 

Introduccion a los Servicios Web Rest

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