Tema 3.6: El Estilo Arquitectónico REST

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tema 3.6: El Estilo Arquitectónico REST"

Transcripción

1 Tema 3.6: El Estilo Arquitectónico REST

2 Índice Introducción Conceptos básicos de REST Recursos y Representaciones Conjunto fijo de operaciones Hypermedia: Cambio de estado Servicios auto-descriptivos Intermediarios y caches Ejemplo: Movies RPC vs Movies REST Estilo REST vs Estilo RPC Valoración y Conclusiones

3 Introducción REpresentational State Transfer. Estilo arquitectónico propuesto por Roy Fielding en La Web es, sin duda, la aplicación distribuida más exitosa de la historia. REST: Estilo arquitectónico para construir aplicaciones distribuidas inspirado en las características de la web. REST se basa fuertemente en HTTP 1.1: Realmente es independiente de HTTP Pero HTTP 1.1 es el único protocolo utilizado masivamente diseñado para soportar los principios REST.

4 Introducción (y 2) El estilo REST pretende que sea posible construir sistemas distribuidos compuestos por miles de servicios desarrollados y evolucionados independientemente, escalando a niveles comparables a la Web. Para ello hace énfasis en minimizar el acoplamiento entre servicios. A menudo se les denomina servicios web RESTful. Nosotros también los denominaremos servicios web REST puros.

5 Recursos y Representaciones (1) Una aplicación REST se compone de recursos. Cada recurso es identificado mediante un identificador único (típicamente URLs): Puede representar un 747 de la compañía Boeing Amelie en la BD de películas de movieprovider.com. Approach/dp/ / El libro Ajax and REST Recipes: A Problem-Solution Approach (ISBN: ) en Amazon. Representa la información sobre HTTP proporcionada por Wikipedia. Los identificadores (URLs) son globales. Todo recurso tiene un nombre único a nivel mundial. No existen espacios de nombres restringidos a un servicio/aplicación. Eso no quiere decir que todos los recursos sean accesibles para todos (mecanismos de autorización).

6 Recursos y Representaciones (y2) Al invocar la URL, el cliente obtiene una representación del recurso. La representación de un recurso puede variar en el tiempo. El identificador está ligado al recurso, no a la representación. Si cambian los datos sobre HTTP en la Wikipedia, cambiará la representación. La URL apuntará siempre a la representación actual del recurso (entrada actual en Wikipedia). La representación puede permitir actuar sobre el recurso. Ejemplo: Formularios para introducir datos. La representación puede contener nuevas URLs hacia otros recursos. Ejemplo: cuando atravesamos un hiperenlace (URL) en la web estamos accediendo a un recurso cuya representación (página web) puede contener otros hiperenlaces.

7 Conjunto fijo de operaciones(1) Interfaz uniforme. Las operaciones disponibles sobre los recursos son siempre las mismas y su semántica es conocida por todos los clientes y servicios. El estilo REST no dice cuáles deben ser esas operaciones, sólo que deben ser siempre las mismas y ser usadas consistentemente por los servicios. En el caso de HTTP: GET, POST, PUT, DELETE. GET: Acceso a recursos y consultas. Sin efectos secundarios. PUT: Crear o reemplazar completamente la representación de un recurso. Idempotente. DELETE: Borrar un recurso. Idempotente. POST: Acciones que pueden tener efectos secundarios (creación / modificación de recursos, coste) y pueden no ser idempotentes.

8 Conjunto fijo de operaciones(y2) Analogía con QUERY / UPDATE / INSERT /DELETE en una Base de datos. PUT sirve para UPDATEs idempotentes e INSERTS (cliente decide el identificador). POST sirve para INSERT si servidor decide URL. Sirve para UPDATES no idempotentes. También se usa a menudo para UPDATES parciales. Un servicio web REST debe utilizar sólo estas operaciones para manipular los recursos. Esto quiere decir que cierta semántica de una invocación ( lo que hace ) sobre un recurso es conocida sin saber nada sobre el servicio. Facilita la interoperabilidad entre aplicaciones. Para manipular un recurso de otra aplicación sólo se precisa su URL. Este conocimiento semántico limitado es suficiente para permitir capas intermedias (e.g. cache) transparentes que proporcionan servicios útiles.

9 Hypermedia: Cambio de Estado La representación recibida por el cliente cambia (transfer) su estado (state). Una aplicación REST (web) puede verse como el grafo de transición de estados de un autómata. Las representaciones de recursos (páginas) son estados del autómata. Las URLs (hiperenlaces) son transiciones entre estados. El estado en el que estamos determina qué otros estados (recursos) tenemos accesibles. No hay estado específico para cada cliente en el servidor: Cada petición del cliente debe incluir todo lo necesario para que el servidor pueda responderla. Facilita escalabilidad y replicación.

10 Servicios Autodescriptivos (1) Idealmente, un cliente de un servicio REST necesitaría conocer a priori una única URL (la de entrada al servicio). El resto de sus interacciones serían guiadas por las representaciones por las que va navegando: Hiperenlaces para operar sobre otros recursos. Plantillas de consulta/actualización que permitan operar sobre otros recursos usando parámetros especificados por el cliente: Equivalente a formularios en la web. Permite que el servicio varíe los parámetros de la operación o la URL sobre la que actúan dinámicamente.

11 Servicios Autodescriptivos (2) Las representaciones devueltas deben intentar expresarse en formatos conocidos a priori por todos los clientes posibles del servicio: Intentar evitar formatos propietarios de cada servicio. En lo posible, utilizar tipos MIME con semántica conocida (e.g. ATOM). Si los clientes posibles están dentro de una organización intentar usar estándares de la organización. Si hay que añadir información específica, intentar proporcionar también una representación en un formato estándar (e.g. ATOM) Así, cualquier cliente podrá al menos obtener parte de la información.

12 Servicios Autodescriptivos (y 3) Si esto se consigue, el cliente y el servicio están muy desacoplados: El servicio puede cambiar totalmente su funcionamiento interno (e.g. esquemas de URL, campos consultables para un recurso) sin que el cliente rompa. Análogo a un usuario humano que accede con su browser a una web que ha cambiado totalmente -> aún eres capaz de usar el servicio. En muchos casos, puede ser muy difícil / imposible de conseguir totalmente: Cómo expresar forms entendibles por programas?. Existen varias propuestas, aún no muy usadas (e.g. Xforms). No hay vocabularios estándar para todo! Intentar ajustarse lo más posible o adoptar soluciones parciales (e.g. tener una representación en ATOM además de la representación en un formato específico)

13 Intermediarios y Caches (1) Soporte para Cache: Las representaciones deben poderse marcar como cacheables o no por capas intermedias. Soporte para tiempos de expiración, detección de si hay o no nuevas versiones de un recurso, El uso de una interfaz uniforme permite introducir intermediarios de forma transparente entre los clientes y los recursos: Servicios de eficiencia, seguridad, Ejemplos : Proxies. Pueden implementar reintentos de forma transparente con peticiones idempotentes. Servidores de cache. Sabe que las peticiones GET de un recurso invalidan su copia, las otras sí. Filtros de contenido. Pueden decidir actuar sólo sobre peticiones GET.

14 Intermediarios y Caches (2) La interfaz uniforme permite que los clientes también pueden realizar ciertos procesamientos sobre los recursos de un servicio sin conocimiento a priori: E.g. un crawler sabe que puede hacer GETS de representaciones. En un enfoque RPC típico, la semántica de una operación no es conocida para el intermediario/cliente a menos que se le configure específicamente para cada servicio. Si además de respetar la interfaz uniforme, se consigue que el sistema sea auto-descriptivo en un grado alto, los clientes / intermediarios pueden realizar operaciones más sofisticadas.

15 Intermediarios y Caches (y 3) Intermediarios: Cache HTTP Servicio-1 HTTP HTTP Servicio-2 Cliente HTTP... Servicio-N

16 Ejemplo: Movies RPC (1) Ejemplo películas al estilo RPC (CORBA, DCOM, SOAP, ) Proveedor proporciona una interfaz que consiste en, entre otras, las siguientes operaciones: MovieSummary [] findmovies() MovieSummary [] findmoviesbydate(calendar date) MovieInformationDetail getmovieinformation (String movieid) String addmovie(movieinformationdetail info) void updatemovie (String movieid,movieinformationdetail info) void removemovie (String movieid) void addgross (double amount, movieid, Calendar week) NOTA: usamos notación a la JAVA.

17 Ejemplo: Movies RPC (2) Los clientes del proveedor suelen utilizar: findmovies permite obtener la lista de todas las películas. findmoviesbydate permite obtener la cartelera de un día determinado. Ambos métodos devuelven la información más importante de una película (objeto MovieSummary): Se incluye un identificador numérico para cada película. No se devuelve toda la información porque puede ser bastante grande y normalmente no se necesita toda. Si se quiere toda la información de una película puede llamarse a getmovieinformation pasándole el identificador de la película.

18 Ejemplo: Movies RPC (y 3) Las aplicaciones que editan los contenidos del proveedor (internas o externas) suelen utilizar addmovie permite añadir una película. removemovie permite eliminar una película. updatemovie. Permite reemplazar la información completa de una película. addgross. Permite especificar la recaudación semanal de una película. Modifica el atributo recaudación total de la misma sumándole la nueva recaudación. No es idempotente. Las operaciones pueden lanzar exceptions ad-hoc como las que vimos en temas anteriores.

19 Ejemplo: Movies REST (1) Cada película es un recurso con una URL asociada: Su representación es un documento XML. Similar al ejemplo utilizado en el tema 2 con elementos de datos adicionales (e.g. recaudación, productora, puntero al trailer, punteros a biografías de los actores, ). Podría utilizarse una representación alternativa en ATOM (del estilo de la que vimos en el Tema 3.2) para los clientes que no entiendan nuestro formato: A través de cabeceras HTTP es posible para el cliente especificar qué formatos acepta. Podría no utilizarse XML: Si los datos son sencillos. Ejemplo: CSV. Si al cliente puede facilitarle su procesamiento. Ejemplo: desde clientes Javascript, es más fácil usar JSON.

20 Ejemplo: Movies REST (2) es un recurso colección que contiene: La información resumida de todas las películas. Una referencia al recurso de cada película. Un formulario que indica como buscar por fecha. Su representación es un documento XML: Incluye alguna información de resumen de cada película. Usa Xlink ( para especificar referencias a otros recursos. Usa una URI Template ( Templates/spec/draft-gregorio-uritemplate-03.html) para especificar como consultar la colección por fecha. Podría haber una representación alternativa en ATOM para los clientes que no entendiesen nuestro formato (no serviría para la interfaz de consulta). Análogo a una página web convencional.

21 Ejemplo: Movies REST (3) <?xml version="1.0"?> <mov:movies xmlns:mov=" xmlns:xlink= xmlns:xf=" <Movie title= Amelie director= Jean Pierre Jeunet xlink:href=" <Movie title= The Godfather Part II director= Francis Ford Coppola xlink:href=" II"/> <mov:filter url= & day,month,year} > </mov:movies>

22 Ejemplo: Movies REST (4) puede recibir parámetros de consulta Pero los clientes no tienen que saber cuál es exactamente el formato de URL utilizado. El patrón de URL especifica esto. Qué hacen los clientes ahora? Invocan Parsean el XML para obtener la información resumida. Si quieren la información completa de una película, invocan a su referencia y parsean el XML. Si quieren la cartelera, interpretan la URI Template y componen la invocación con parámetros. Todas son peticiones GET.

23 Ejemplo: Movies REST (5) Qué hacen las aplicaciones que editan los contenidos ahora? Para añadir una película, realizan una petición PUT indicando la URL asociada Ejemplo: Los datos de la película van como un documento XML en el cuerpo del mensaje. Otra opción es hacer una petición POST a un recurso colección ( que nos devuelva la nueva URL: De esta forma es el servicio en lugar del cliente el que controla la generación de identificadores. Para borrar una película invocan el recurso que representa a la película con el método DELETE. Para reemplazar la información de una película invocan el recurso que representa a la película con el método PUT. Los datos de la película van como un documento XML en el cuerpo del mensaje.

24 Ejemplo: Movies REST (6) Para la operación addgross hay varias opciones: El cliente obtiene el recurso (GET), lo modifica y lo sobreescribe (PUT). Obliga al cliente a descargarse la representación completa. Definimos la recaudación como un recurso. El cliente puede descargarlo y actualizarlo sin descargarse la representación completa de la película. Forzado, ya que la recaudación no parece realmente un recurso con entidad suficiente para ser referenciada por sí misma. Definimos un recurso al que accedemos vía POST: Recibe como parámetro la cantidad a incrementar y un indicador de la operación a realizar (e.g. addgross). Los intermediarios sabrán que es una operación no idempotente y con posibles efectos secundarios sobre el recurso, aunque no entiendan toda su semántica. Quizás la mejor opción.

25 Ejemplo: Movies REST (y 7) En lugar de usar exceptions ad-hoc se utilizan los códigos de error de HTTP. De esta forma, clientes genéricos pueden interpretar los mensajes de error sin saber nada a priori sobre el servicio. HTTP, entre muchos otros, define códigos de error para situaciones tales como recurso duplicado o intentar eliminar un recurso no existente.

26 Ejemplo: REST vs RPC (1) Espacio de nombres global vs local El enfoque RPC utiliza un espacio de nombres local basado en identificadores de película. Los identificadores del enfoque REST son globales. Si otro servicio web (e.g. que proporciona críticas de películas) quiere incluir una referencia a una película de movieprovider.com puede sencillamente incluir su URL en una de sus respuestas. Hace más fácil reusar recursos y servicios. El cliente debe aún conocer el vocabulario (formato XML) utilizado por movieprovider.com. Si existe una representación en un formato estándar como ATOM, un cliente genérico podrá aún hacer cierto uso del servicio sin conocer nuestro vocabulario específico. No existe una posibilidad equivalente en el enfoque RPC. Se usan identificadores numéricos no globales. Para acceder a un servicio siempre es necesario crear los stubs y los objetos asociados, que son propietarios. La causa principal del éxito de la Web no fueron HTML ni HTTP, cuya principal virtud era la simplicidad. La causa principal fue la utilización de un espacio de nombres global que permitía reusar muy fácilmente (mediante enlaces) los contenidos ya existentes.

27 Ejemplo: REST vs RPC (2) Operaciones estándar vs Operaciones no estándar. RPC permite que cada servicio defina sus propias operaciones pero no expone ninguna semántica de las mismas. No puede saberse, por ejemplo, que: La operación addgross no es idempotente y además tiene efectos secundarios. La operación updatemovie es idempotente y tiene efectos secundarios. La operación findmovies es idempotente y no tiene efectos secundarios. REST intenta modelar aplicaciones en términos de recursos y usar un conjunto fijo de operaciones: GET, POST, PUT, DELETE. Cierta semántica de estas operaciones es conocida: POST tiene efectos secundarios y no tiene porque ser idempotente. PUT, DELETE tienen efectos secundarios pero son idempotentes. GET es idempotente y no tiene efectos secundarios.

28 Ejemplo: REST vs RPC (3) Operaciones estándar vs Operaciones no estándar (cont.) Conocer algo sobre la semántica de las operaciones permite tener intermediarios/clientes que proporcionan valor añadido a CUALQUIER servicio (sin tener que saber nada sobre él a priori). Ejemplos: Un servidor de cache sabe que un recurso al que se haya emitido una petición PUT, DELETE o POST debe ser invalidado. Un proxy que, cuando una petición falla, la reintenta de forma transparente al cliente, sabe que puede reintentar una petición GET sin riesgo (porque es idempotente). Un crawler de recursos ( a la Google ) sabe que debe acceder sólo a recursos usando sólo GET (ausencia de efectos secundarios). Las invocaciones RPC no pueden beneficiarse directamente de los servicios de estos intermediarios, salvo que se configure específicamente para cada servicio. RPC permite tener el API más adecuado a las características de tu aplicación. REST obliga a modelar todas las aplicaciones de la misma forma, y puede no ser fácil o cómodo en todos los casos.

29 Ejemplo: REST vs RPC (4) Servicios auto-descriptivos: Si se consigue, permite que un cliente pueda usar un servicio sin saber nada a priori sobre él. El servicio guía al cliente a través de las opciones posibles mediante hypermedia y especificaciones de formatos de consulta / actualización (e.g. URITemplates, Xforms) El uso de formatos estándares universales (e.g. ATOM y otros tipos MIME) permite que el cliente sepa interpretar los datos. Ejemplo: crawler / buscador de recursos accesibles a través de servicios web REST. El cliente debe entender la forma de especificar las opciones. No existen estándares suficientemente extendidos. No existen vocabularios estándar para todo. Intentar dar salida en algún formato estándar y complementar con formatos menos estándar para clientes con mayor conocimiento.

30 Ejemplo: REST vs RPC (5) Accesibilidad REST usa directamente URLs y HTTP: Fácil ver y manipular datos para humanos: puedo acceder a un recurso directamente con un navegador (XML suele ser legible para humanos). Fácil devolver distintas representaciones del recurso. Ejemplo: HTML para usuarios humanos y XML para aplicaciones (cabecera HTTP Agente de Usuario + XSLT). Prácticamente cualquier aplicación (desde Office a los sistemas de integración de datos) puede acceder recursos HTTP. Interoperabilidad garantizada El cliente debe ocuparse de los detalles de ejecutar peticiones HTTP y parsear documentos XML Es bastante fácil en casi todos los lenguajes de programación.

31 Ejemplo: REST vs RPC (6) Accesibilidad (cont.) RPC utiliza librerías y protocolos específicos: No es fácil para un humano acceder rápidamente a los recursos. Hay que construir aplicaciones ad-hoc para ello. Cualquier operación que involucre acceso al recurso implica programar. Para acceder a un servicio RPC, las aplicaciones deberán utilizar librerías generadas específicamente para nuestro servicio. Menor interoperabilidad. El programador no se preocupa de cómo se envían peticiones ni de parsear XML. El sistema RPC le da todo eso resuelto. El cliente pasa a ser dependiente de todo el XML de salida. Cualquier cambio en el mismo puede afectarle aunque sea en un campo que no usa. Puede haber problemas de interoperabilidad entre implementaciones (problema temporal). Ejemplo: Debido a bugs, un servicio SOAP programado con una toolkit puede tener problemas con otro servicio programado con otra toolkit.

32 Ejemplo: REST vs RPC (7) Reusar mecanismos genéricos de diseño de HTTP vs Nuevos mecanismos Aunque REST es un estilo en teoría independiente de HTTP, este es el único protocolo actual que tiene las características necesarias para soportar este estilo. Con REST, pueden reusarse directamente los mecanismos de autorización (permisos de acceso), cifrado y autenticación de HTTP. Con esquemas RPC, deben crearse nuevos mecanismos para esto: En algunas tecnologías como CORBA ya existen. En el mundo SOAP no existen pero se están construyendo. Pueden crearse para que mejoren a los de HTTP. HTTP no tiene todo lo necesario (e.g. transacciones distribuidas, servicios de mensajería, ). Los defensores de REST proponen extender HTTP en lugar de crear nuevos protocolos.

33 Ejemplo: REST vs RPC (y 8) Transporte fijo vs Independiente Transporte Con REST, en la práctica, el protocolo encargado de transferir las peticiones es siempre HTTP. Los sistemas RPC pueden utilizar diversos protocolos: Ejemplo: SOAP puede funcionar sobre HTTP, SMTP, JMS, Los defensores de REST dicen que prácticamente siempre se usa HTTP también en RPC (SOAP casi siempre va sobre HTTP). Defensores de RPC dicen que HTTP a veces es inadecuado: Es poco eficiente. Hay cosas que no soporta: Ejemplo: HTTP no puede garantizar la entrega de un mensaje. Hay servicios web reales que utilizan SOAP sobre JMS, porque JMS sí proporciona esa funcionalidad.

34 REST en la Práctica (1) La mayor parte de servicios que se autodenominan REST se parecen más a lo que hemos visto en el Tema 3.3 que al enfoque RESTful. Normalmente sólo se utilizan GET (lectura) y POST (escritura) Prácticamente siempre hay recursos que realmente implementan operaciones no estándar. Pocas veces se asignan URLs a recursos que no representen realmente operaciones sino objetos.

35 REST en la Práctica (y 2) Incluso en los servicios autodenominados RESTful es raro ver algunas características (hypermedia, servicios autodescriptivos). A pesar de esto, algunas de las ventajas más importantes se mantienen: Caches Accesibilidad sigue siendo mejor. Aprovechamiento de los mecanismos de HTTP. Aprovechamiento de los mecanismos de HTTP. El estilo REST no supone una decisión de todo o nada : El que nuestro servicio tenga sólo algunas de las características de REST puede ser útil todavía.

36 Conclusiones REST es un nuevo estilo arquitectónico para construir aplicaciones distribuidas basadas en los principios que hicieron exitosa a la web. REST modela un servicio como la aplciación de una serie de operaciones fijas sobre un conjunto de recursos referenciables universalmente. REST tiene el potencial para permitir la construcción de aplicaciones distribuidas mucho más escalables e interoperables, compuestas por cientos de servicios muy desacoplados entre sí. RPC es más flexible (REST obliga a modelar la aplicación de una forma concreta) y más amigable para el programador (independiente de XML y HTTP). La mayoría de aplicaciones distribuidas corporativas y B2B siguen modelándose según la arquitectura RPC, aunque REST tiene su importancia y gana terreno. A menudo, REST se usa para referirse a servicios web que usan exclusivamente HTTP / XML (en lugar de SOAP), incluso si la arquitectura de dichos servicios es básicamente RPC. Estos servicios se benefician de parte de las ventajas de REST.

Tema 3.2.1: El Estilo Arquitectónico REST

Tema 3.2.1: El Estilo Arquitectónico REST Tema 3.2.1: El Estilo Arquitectónico REST Índice Introducción Introducción a HTTP Conceptos básicos de REST Recursos y Representaciones Cambio de estado Características de un Servicio Web REST Ejemplo:

Más detalles

3.6 Comparación REST/SOAP

3.6 Comparación REST/SOAP 3.6 Comparación REST/SOAP Comparativa (1) A diferencia del enfoque REST purista, el enfoque SOAP Al igual que cualquier otro enfoque RPC (e.g. CORBA), está pensado para concebir un servicio en términos

Más detalles

Tema 3.1: Introducción a Servicios Web

Tema 3.1: Introducción a Servicios Web Tema 3.1: Introducción a Servicios Web Servicios Web (1) La Web proporciona un mecanismo de transporte universal, eficiente, robusto, escalable y probado tanto en aplicaciones inter-organización como intraorganización.

Más detalles

API: REST o RESTful WEB-SERVICES

API: REST o RESTful WEB-SERVICES API: REST o RESTful JUAN CARLOS CONDE RAMÍREZ WEB-SERVICES API: Qué? y Por qué? Si estás construyendo apps o sitios Web, es probable que ya hayas oído hablar de APIs REST o incluso ya hasta las hayas utilizado,

Más detalles

Tema 5. APIs y Servicios web

Tema 5. APIs y Servicios web Tema 5 APIs y Servicios web Texto 5.1 Introducción APIs y Servicios web 2 APIs web vs. Servicios web 3 Servicio web: un componente remoto al que se puede acceder mediante protocolos web estándar y desde

Más detalles

Introducción a los Servicios Web

Introducción a los Servicios Web Octubre 2006 Contenidos Introducción Estándares SOAP WSDL UDDI Arquitecturas Retos Servicios Web Aplicaciones auto-contenidas, auto-descritas que pueden ser publicadas, localizadas e invocadas a través

Más detalles

Servicios Web. Desarrollo de Aplicaciones Empresariales

Servicios Web. Desarrollo de Aplicaciones Empresariales Servicios Web Desarrollo de Aplicaciones Empresariales 2014-1 Contenidos Introducción REST SOAP 2 Introducción Servicio Web Un servicio web es un sistema software diseñado para soportar interacciones máquina-a-máquina

Más detalles

Internet está evolucionando

Internet está evolucionando JSON API Drupal 8 Internet está evolucionando Los Websites son cada vez más interactivos. Se requiere integración entre la información procedente de diferentes medios. Está evolucionando las aplicaciones

Más detalles

CAPITULO 12: SISTEMAS DE FICHEROS DISTRIBUIDOS Un sistema bien diseñado permite el acceso a un servidor de ficheros (remoto) con eficiencia y

CAPITULO 12: SISTEMAS DE FICHEROS DISTRIBUIDOS Un sistema bien diseñado permite el acceso a un servidor de ficheros (remoto) con eficiencia y CAPITULO 12: SISTEMAS DE FICHEROS DISTRIBUIDOS Un sistema bien diseñado permite el acceso a un servidor de ficheros (remoto) con eficiencia y fiabilidad comparables a las del acceso a los ficheros locales

Más detalles

Desarrollo y servicios web

Desarrollo y servicios web Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2016-1 Qué haremos hoy? 1. Qué son los servicios RESTful? 2. Cuál es la diferencia entre un servicio RESTful y un servicio SOAP? 3. Cómo exponer un

Más detalles

RMI. Aplicaciones Distribuidas

RMI. Aplicaciones Distribuidas RMI Aplicaciones Distribuidas Contenido Objetos Distribuidos y RMI. Interface Remota. Clase Implementación. Referencias Remotas. Registro RMI. Paso de parámetros. Descarga dinámica de código. Desarrollo

Más detalles

Características generales de un servicio Web. Jesús Torres Cejudo

Características generales de un servicio Web. Jesús Torres Cejudo Los servicios web son un conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre sí con el objetivo de ofrecer unos

Más detalles

Introducción a Web Services

Introducción a Web Services Introducción a Web Services Introducción internet Otros Java Organización A Organización B.Net Introducción Sistemas distribuidos procesamiento de la información está distribuido en dos o más computadoras

Más detalles

3.3 Casos de estudio

3.3 Casos de estudio 3.3 Casos de estudio Introducción Objetivo Estudiar casos de estudio que ilustren escenarios típicos de aplicación de XML Indicar las APIs apropiadas en cada caso Casos de estudio Configuración de aplicaciones

Más detalles

Proyecto Fin de Carrera

Proyecto Fin de Carrera Proyecto Fin de Carrera Capítulo 2: Memoria Descriptiva Página 15 de 265 Capítulo 2: Memoria Descriptiva 3. Objetivo del proyecto En este proyecto se desarrolla una aplicación basada en algunas de las

Más detalles

Características generales de un servicio Web.

Características generales de un servicio Web. Características generales de un servicio Web. Qué son los Servicios Web? Existen múltiples definiciones sobre lo que son los Servicios Web, lo que muestra su complejidad a la hora de dar una adecuada definición

Más detalles

Enlace B2B Manual del API

Enlace B2B Manual del API Enlace B2B Manual del API LA INFORMACIÓN CONTENIDA EN ESTE DOCUMENTO PUEDE MODIFICARSE SIN PREVIO AVISO. Todas las declaraciones, información y recomendaciones en este documento se supone que son exactas

Más detalles

SERVICIOS WEB DE MODIFICACIÓN DE LA D.G. DEL CATASTRO Introducción general

SERVICIOS WEB DE MODIFICACIÓN DE LA D.G. DEL CATASTRO Introducción general SERVICIOS WEB DE MODIFICACIÓN DE LA D.G. DEL CATASTRO Introducción general Versión 1.0 1 Control Versión 1.0 Fecha: 22-10-2008 1 Introducción 3 2 Servicios web de actualización 3 2.1 Acceso y seguridad:

Más detalles

República Argentina - Poder Ejecutivo Nacional Año de las Energías Renovables. Anexo

República Argentina - Poder Ejecutivo Nacional Año de las Energías Renovables. Anexo República Argentina - Poder Ejecutivo Nacional 2017 - Año de las Energías Renovables Anexo Número: Referencia: Anexo Pautas Técnicas de Interoperabilidad I.- Introducción ANEXO Pautas Técnicas de Interoperabilidad

Más detalles

APLICACIONES DE INTERNET: SOAP

APLICACIONES DE INTERNET: SOAP Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas Desarrollo de Aplicaciones Distribuidas AUTORES: Alejandro Calderón Mateos Javier García Blas David Expósito Singh Laura Prada Camacho Departamento

Más detalles

TEMA 1. Introducción a las arquitecturas distribuidas

TEMA 1. Introducción a las arquitecturas distribuidas TEMA 1. Introducción a las arquitecturas distribuidas Tema 1. ARQUITECTURAS DISTRIBUIDAS: CONCEPTOS BÁSICOS 1. Qué es un sistema distribuido? 2. Servicios 3. Arquitectura 4. Definición de AD 5. Modelos

Más detalles

Evolución de la Web y Servicios Web. Daniel Bruzual Marilyn Nowacka

Evolución de la Web y Servicios Web. Daniel Bruzual Marilyn Nowacka Evolución de la Web y Servicios Web Daniel Bruzual Marilyn Nowacka Web 1.0 Contenidos estáticos Difícil de actualizar "Solo lectura" Etiquetas html como: , , , ,

Más detalles

Punto 2 Características del Servicio Web. Juan Luis Cano

Punto 2 Características del Servicio Web. Juan Luis Cano Punto 2 Características del Servicio Web Juan Luis Cano Un servicio web (en inglés, Web service) es una pieza de software que utiliza un conjunto de protocolos y estándares que sirven para intercambiar

Más detalles

Aplicaciones Web. Aplicaciones Distribuidas

Aplicaciones Web. Aplicaciones Distribuidas Aplicaciones Web Aplicaciones Distribuidas Contenido La Web. Sitios Web vs. Aplicaciones Web. HTTP. HTML. Sesiones. Tecnologías facilitadoras. HTML Dinámico. JavaScript. 2 La Web Petición http://www.um.es/index.html

Más detalles

Aspectos pragmáticos de los lenguajes de programación

Aspectos pragmáticos de los lenguajes de programación Aspectos pragmáticos de los lenguajes de programación 6.2 Principios de diseño de los lenguajes No hay lenguaje de programación perfecto. Ciertos lenguajes se usan más que otros. C: programación de sistemas

Más detalles

Jorge De Nova Segundo

Jorge De Nova Segundo UD 4: Instalación y administración de servicios Web Características generales de un servidor Web. Jorge De Nova Segundo Qué son los Servicios Web? Existen múltiples definiciones sobre lo que son los Servicios

Más detalles

Sesión 17. Servicios web RESTful

Sesión 17. Servicios web RESTful Sesión 17. Servicios web RESTful Luisa Fernanda Rincón Pérez 2015-1 Qué vimos la sesión pasada? 1. Consumir servicio web SOAP desde JAVA 2. Consumir servicio web en PHP 3. Exponer servicio web en PHP Qué

Más detalles

Portal Inteligente Medellín Documentación de la Arquitectura de Software

Portal Inteligente Medellín Documentación de la Arquitectura de Software Guías para las API de servicios Portal Inteligente Medellín Documentación de la Arquitectura de Software Juan G. Lalinde-Pulido Claudia M. Zea Luis F. Londoño Nicolás Hock Sergio A. Monsalve Departamento

Más detalles

PROCESAMIENTO DISTRIBUIDO

PROCESAMIENTO DISTRIBUIDO Pág. 1 INTRODUCCIÓN PROCESAMIENTO DISTRIBUIDO Arquitectura de comunicaciones: Software básico de una red de computadoras Brinda soporte para aplicaciones distribuidas Permite diferentes Sistemas Operativos

Más detalles

buscador diacronico Documentation

buscador diacronico Documentation buscador diacronico Documentation Publicación 1.0 ProLNat@GE 07 de November de 2016 Índice general 1. Instalación 3 1.1. Prerequisitos............................................... 3 1.2. Dependencias...............................................

Más detalles

Sistemas Operativos Distribuidos

Sistemas Operativos Distribuidos Evolución de la Web Introducción a los Servicios Web (Web Services) Pasado: Web de documentos Páginas estáticas Web como un enorme repositorio de información Tecnologías: HTTP + HTML Presente: Web de aplicaciones

Más detalles

Descripción de Servicios

Descripción de Servicios Descripción de Servicios JUAN CARLOS CONDE RAMÍREZ WEB-SERVICES Contenido 1. Definición y búsqueda de servicios 2. Interacción entre Servicios Web 3. Combinación de Servicios Web FCC-BUAP 2 Contenido 1.

Más detalles

Características generales de un servicio web

Características generales de un servicio web Características generales de un servicio web Tema 4 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto Características generales de un servicio web Existen múltiples definiciones sobre lo que son los Servicios

Más detalles

Modelo de aplicaciones Web clásico (1)

Modelo de aplicaciones Web clásico (1) Introducción a AJAX Modelo de aplicaciones Web clásico (1) La mayor parte de las interacciones del usuario causan una petición HTTP al servidor Web El servidor Web procesa la petición y devuelve la nueva

Más detalles

Desarrollo de WebServices- GEL XML

Desarrollo de WebServices- GEL XML Desarrollo de WebServices- GEL XML Interoperabilidad de sistemas de información. Introducción Nexura provee una plataforma de servicios, consultoría y desarrollo basada en los estándares para WebServices

Más detalles

SISTEMAS DISTRIBUIDOS MÓDULO 9

SISTEMAS DISTRIBUIDOS MÓDULO 9 SISTEMAS DISTRIBUIDOS MÓDULO 9 Web Services Web Services (Servicios Web) Servicios Web: Estructura y Funcionalidades Protocolo de Comunicación: Soap y Rest Lenguaje Descriptor de Servicios WSDL Protocolo

Más detalles

Ingeniería de Sistemas

Ingeniería de Sistemas Ingeniería de Sistemas Desarrollo y Servicios Web Sesión 8 Fernando Barraza A. fbarraza@javerianacali.edu.co Sesión 8 Objetivo: Brindar al estudiante los conocimientos teóricos y prácticos alrededor de

Más detalles

Sistemas Informáticos Industriales

Sistemas Informáticos Industriales Escuela Técnica Superior de Ingeniería y Diseño Industrial Universidad Politécnica de Madrid Llamadas a Procedimientos Remotos (RPC) Sistemas Informáticos Industriales 2017/2018 Raquel CEDAZO LEÓN

Más detalles

Diego Seco Material adaptado de: Fernando Bellas Universidade da Coruña Desarrollo de Aplicaciones Empresariales

Diego Seco Material adaptado de: Fernando Bellas Universidade da Coruña Desarrollo de Aplicaciones Empresariales Diego Seco Material adaptado de: Fernando Bellas fbellas@udc.es Universidade da Coruña 2014-1 Desarrollo de Aplicaciones Empresariales Ejemplo Arquitectura con capa modelo local Arquitectura con capa modelo

Más detalles

Programabilidad de redes con infraestructura céntrica de aplicaciones de Cisco

Programabilidad de redes con infraestructura céntrica de aplicaciones de Cisco Informe técnico Programabilidad de redes con infraestructura céntrica de aplicaciones de Cisco Lo que aprenderá En este documento se analiza el soporte de programabilidad de la infraestructura céntrica

Más detalles

Sistemas Distribuidos. Prog. Distribuida bajo Internet

Sistemas Distribuidos. Prog. Distribuida bajo Internet Sistemas Distribuidos Prog. Distribuida bajo Internet Definición Hay muchas definiciones Básicamente, varios computadores o nodos de computación en lazados mediante una red y que comparten datos, procesamiento,

Más detalles

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Código: S28 Duración: 25 horas En este curso, los estudiantes aprenderán a desarrollar aplicaciones ASP.NET MVC con avanzadas tecnologías y herramientas de.net Framework 4.5. Se centrará en la codificación

Más detalles

SISTEMATIZACIÓN DE LA GENERACIÓN DE PRESUPUESTOS PARA PROYECTOS DE OBRA: SISTEMA DE ADMINISTRACIÓN DE MATERIALES DE TUBERÍA

SISTEMATIZACIÓN DE LA GENERACIÓN DE PRESUPUESTOS PARA PROYECTOS DE OBRA: SISTEMA DE ADMINISTRACIÓN DE MATERIALES DE TUBERÍA SISTEMATIZACIÓN DE LA GENERACIÓN DE PRESUPUESTOS PARA PROYECTOS DE OBRA: SISTEMA DE ADMINISTRACIÓN DE MATERIALES DE TUBERÍA PARA INARGOS LTDA. DOCUMENTO DE ARQUITECTURA DE SOFTWARE VERSIÓN 3.0 BOGOTÁ,

Más detalles

Tipos Recursivos de Datos

Tipos Recursivos de Datos 1/1 Tipos Recursivos de Datos Josefina Sierra Santibáñez 27 de noviembre de 2016 2/1 Introducción La recursividad no sólo se puede aplicar a la definición de procedimientos (i.e. funciones o acciones),

Más detalles

PROYECTOS DE WEBSERVICE PARA DESARROLLADORES. 12 Agosto 2016

PROYECTOS DE WEBSERVICE PARA DESARROLLADORES. 12 Agosto 2016 PROYECTOS DE WEBSERVICE PARA DESARROLLADORES 12 Agosto 2016 Qué es el timbrado con FactuPronto? Los WebService son conexiones entre servidores donde la empresa con su ERP (es decir su solución en software

Más detalles

5. Desarrollo de Aplicaciones en Internet

5. Desarrollo de Aplicaciones en Internet 5. Desarrollo de Aplicaciones en Internet 5.1. Introducción y conceptos básicos 5.1.1. Aplicaciones Es importante definir algunos conceptos que nos sirvan como marco de referencia antes de abordar los

Más detalles

Online Arquitecture. Page1. Video filmado con GeneXus tm 15

Online Arquitecture. Page1. Video filmado con GeneXus tm 15 Online Arquitecture Ahora vamos a enfocarnos en la arquitectura de las aplicaciones online y vamos a dejar la parte de aplicaciones offline para el final del curso Para pensar la arquitectura subyacente

Más detalles

Introducción a las Aplicaciones Web

Introducción a las Aplicaciones Web 16/02/2012 aplicación? 5. Servicios Introducción a las Aplicaciones Web Departamento de Lenguajes y Sistemas Informáticos Grupo de Ingeniería del Software Febrero de 2012 Antes de empezar... EXAMEN aplicación?

Más detalles

Tema VI. Servicios Web I. Introducción

Tema VI. Servicios Web I. Introducción Tema VI. Servicios Web I. Introducción Desarrollo de Aplicaciones para Internet Curso 12 13 Índice 1.Introducción 2.Llamada a Procedimientos Remotos (RPC) 3.Servicios Web i. Introducción ii. WSDL iii.soap

Más detalles

Tipos de Datos Recursivos

Tipos de Datos Recursivos 1/1 Tipos de Datos Recursivos Josefina Sierra Santibáñez 15 de mayo de 2018 2/1 Introducción La recursividad no sólo se puede aplicar a la definición de procedimientos (i.e. funciones o acciones), sino

Más detalles

Introducción a las Aplicaciones Web

Introducción a las Aplicaciones Web Versión original: Amador Durán y David Benavides (octubre 2005) Última revisión: Pablo Fernández; añadidas nuevas transparencias. Tiempo: 2h escuela técnica superior de ingeniería informática Introducción

Más detalles

Ingeniería de Aplicaciones Web

Ingeniería de Aplicaciones Web Ingeniería de Aplicaciones Web Diego C. Martínez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Tecnologías web cliente servidor Arquitecturas Web cliente servidor

Más detalles

Sistemas de Información

Sistemas de Información Sistemas de Información Introducción a los Sistemas de Información: El Modelo Cliente/Servidor 1 El Sistema de Información moderno y el modelo Cliente/Servidor!El Sistema de Información moderno "Administra

Más detalles

Introducción a las Aplicaciones Web

Introducción a las Aplicaciones Web 09/02/2014 aplicación? 5. Servicios Introducción a las Aplicaciones Web Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla febrero

Más detalles

Sistemas Distribuidos Servicios web. Rodrigo Santamaría

Sistemas Distribuidos Servicios web. Rodrigo Santamaría + Sistemas Distribuidos Servicios web Rodrigo Santamaría + Servicios web Introducción Definición Características Aplicaciones IDL SOAP REST XML/JSON-RPC 2 + Introducción 3 Tipos de middleware Middleware

Más detalles

BROKER Publicador Suscriptor. Jonnathan Corredor Lorena Arrieta Alejandro Mosquera

BROKER Publicador Suscriptor. Jonnathan Corredor Lorena Arrieta Alejandro Mosquera BROKER Publicador Suscriptor Jonnathan Corredor Lorena Arrieta Alejandro Mosquera Contenido 1. Descripción General 2. Guía de Implementación 3. Patrones Relacionados 4. Usos Conocidos 5. Variaciones 6.

Más detalles

Arquitectura Java Web. Ing. Juan Zevallos Valle

Arquitectura Java Web. Ing. Juan Zevallos Valle Arquitectura Java Web Ing. Juan Zevallos Valle 1 Objetivos Al final de la sesión usted debe ser capaz de: Conocer el modelo MVC utilizado en JAVA. Crear la vista usando paginas JSP Crear Servlets para

Más detalles

CAPÍTULO I Investigación Preliminar

CAPÍTULO I Investigación Preliminar CAPÍTULO I Investigación Preliminar 1.1 Introducción Según la descripción dada en la página web oficial, Go (conocido también como Golang), es un lenguaje de programación de código abierto que hace simple

Más detalles

Servicios en Red. UT6. Servicio HTTP

Servicios en Red. UT6. Servicio HTTP Servicios en Red UT6. Servicio HTTP 1.El servicio HTTP Protocolo de Transferencia de HiperTexto (HyperTextTransfer Protocol) Es el método más común de intercambio de información en la WorldWideWeb, por

Más detalles

Tutorial Netscape Navigator 4.7

Tutorial Netscape Navigator 4.7 Tutorial Netscape Navigator 4.7 Introducción Los navegadores como Netscape Communicator o Internet Explorer son sistemas hipermedia diseñados para recuperar información distribuida sobre la red Internet

Más detalles

Punto 1 Introducción al servicio. Juan Luis Cano

Punto 1 Introducción al servicio. Juan Luis Cano Punto 1 Introducción al servicio Juan Luis Cano Hypertext Transfer Protocol o HTTP (en español protocolo de transferencia de hipertexto) es el protocolo usado en cada transacción de la World Wide Web.

Más detalles

IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA

IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA Implementación de conceptos P.O.O. en Java Temario 2. Conceptos de Programación Orientada a Objetos 1. Conceptos de P.O.O. 2. Implementación de conceptos P.O.O

Más detalles

Implementación de Componentes

Implementación de Componentes Implementación de Componentes Concepto Un componente es una parte no trivial, casi independiente, y reemplazable de un sistema que llena claramente una funcionalidad dentro de un contexto en una arquitectura

Más detalles

PRÓLOGO...13 CAPÍTULO 1. INTRODUCCIÓN A AJAX...17

PRÓLOGO...13 CAPÍTULO 1. INTRODUCCIÓN A AJAX...17 ÍNDICE PRÓLOGO...13 CAPÍTULO 1. INTRODUCCIÓN A AJAX...17 1.1 CONTEXTO DE UTILIZACIÓN DE AJAX...17 1.2 QUÉ ES AJAX?...18 1.3 LAS TECNOLOGÍAS AJAX...20 1.4 PRIMERA APLICACIÓN AJAX...22 1.4.1 DESCRIPCIÓN

Más detalles

Curso Developing ASP.NET MVC 4 Web Applications (20486)

Curso Developing ASP.NET MVC 4 Web Applications (20486) Curso Developing ASP.NET MVC 4 Web Applications (20486) Programa de Estudio Curso Developing ASP.NET MVC 4 Web Applications (20486) Aprende a desarrollar aplicaciones avanzadas de ASP.NET MVC usando tecnologías

Más detalles

Figura 161. Fragmento del método dopost en el servlet que recibe los datos del formulario mostrado en la Figura 160

Figura 161. Fragmento del método dopost en el servlet que recibe los datos del formulario mostrado en la Figura 160 ... HttpSession sesion=request.getsession(false); if (sesion!=null) { String BOTON=request.getParameter("BOTON"); Usuario usu=(usuario) sesion.getattribute("usuario"); Broker bd=(broker) sesion.getattribute("bd");

Más detalles

COMUNICACIÓN DE LA CONTRATACIÓN LABORAL TRAVÉS DE INTERNET

COMUNICACIÓN DE LA CONTRATACIÓN LABORAL TRAVÉS DE INTERNET COMUNICACIÓN DE LA CONTRATACIÓN LABORAL TRAVÉS DE INTERNET ANA CERDEIRA GUTIÉRREZ Jefa del proyecto Comunicación de la Contratación por Internet. FUNCIONALIDAD La Comunicación de la Contratación Laboral

Más detalles

Bootstrapping Databases en equipos móviles

Bootstrapping Databases en equipos móviles + Bootstrapping Databases en equipos móviles Carlos Andrés Gajardo Maureira Profesor Guía: Jérémy Barbay Miembros de la comisión: Benjamín Bustos C. Javier Bustos J. + Índice 1 1. Introducción 2 2. Análisis,

Más detalles

Seguridad en las aplicaciones informáticas

Seguridad en las aplicaciones informáticas Seguridad en las aplicaciones informáticas Segunda Parte Agenda Objetivo. Seguridad en la aplicación Componentes de la aplicación. Utilizando mecanismos de la Base de Datos. Mecanismo de seguridad propietaria.

Más detalles

Capitulo 3. Remote Method Invocation: RMI

Capitulo 3. Remote Method Invocation: RMI Capitulo 3 Remote Method Invocation: RMI En este capitulo mencionamos los aspectos principales de RMI, capas y componentes, entre otras características. 3. Remote Method Invocation (RMI) Los sistemas distribuidos

Más detalles

Aplicaciones Concurrentes

Aplicaciones Concurrentes PROGRAMACIÓN CONCURRENTE TEMA 6 Aplicaciones Concurrentes ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN PROGRAMACIÓN CONCURRENTE Aplicaciones Concurrentes

Más detalles

CAPÍTULO 1: INTRODUCCIÓN

CAPÍTULO 1: INTRODUCCIÓN CAPÍTULO 1: INTRODUCCIÓN 1.1.- Introducción a los servicios Web En los últimos años la mayoría de los procesos de negocio han cambiado para dar una mayor flexibilidad, interconectividad y autonomía debido

Más detalles

Análisis comparativo de la. API REST de GeoServicios de ESRI. y los. Servicios estándar OGC clásicos. Javier Abadía, ESRI España

Análisis comparativo de la. API REST de GeoServicios de ESRI. y los. Servicios estándar OGC clásicos. Javier Abadía, ESRI España Análisis comparativo de la API REST de GeoServicios de ESRI y los Servicios estándar OGC clásicos Javier Abadía, ESRI España javier.abadia@esri.es Agenda Introducción KVP vs SOAP vs REST Servicios de Mapa

Más detalles

Ajax. Technology review

Ajax. Technology review Ajax Technology review AJAX (Asynchronous JavaScript And XML) XHTML (o HTML) y hojas de estilos en cascada (CSS) para el diseño que acompaña los datos Document Object Model (DOM) accedido con un lenguaje

Más detalles

Tema 1: Patrones Arquitectónicos

Tema 1: Patrones Arquitectónicos escuela técnica superior de ingeniería informática Tema 1: Patrones Arquitectónicos Departamento de Lenguajes y Sistemas Informáticos Ingeniería del Software de Gestión III Ejemplo de otro dominio Diseño

Más detalles

Introducción a Web Services. Taller de Programación 2017

Introducción a Web Services. Taller de Programación 2017 Introducción a Web Services Taller de Programación 2017 tprog@fing.edu.uy Introducción internet Otros Java Organización A.Net Organización B Introducción Sistemas distribuidos procesamiento de la información

Más detalles

Integrando telefonía IP. con una aplicación de. gestión de tiempos

Integrando telefonía IP. con una aplicación de. gestión de tiempos Trabajo de Grado Integrando telefonía IP con una aplicación de gestión de tiempos Butierrez, Sebastián O. Ramos Giacosa, Luis F. Facultad de Informática, UNLP Septiembre, 2007 MOTIVACIÓN Usuario de una

Más detalles

Sistema de Gestión de Procesos

Sistema de Gestión de Procesos Sistema de Gestión de Procesos Manual de Alambrado de Web Services con AZ Digital Modele, gestione y optimice los procesos de la organización, y genere automáticamente el código de sus aplicativos 1. Tabla

Más detalles

PRACTICA FINAL. Diseño e implementación de un servidor Web básico y cliente http. Protocolo HTTP-RC

PRACTICA FINAL. Diseño e implementación de un servidor Web básico y cliente http. Protocolo HTTP-RC PRACTICA FINAL Diseño e implementación de un servidor Web básico y cliente http Descripción de la práctica Protocolo HTTP-RC Se pretende desarrollar un servidor Web básico con soporte a múltiples conexiones

Más detalles

1. Introducción a REST

1. Introducción a REST REST REpresentational State Transfer Javier González Pisano Programa de Doctorado: Avances en Informática (2006-2007). Universidad de Oviedo Curso de Tecnologías, Estándares y Servicios Web. jgpisano@gmail.com

Más detalles

Objetivos MODULO I. HTML, XHTML,CSS

Objetivos MODULO I. HTML, XHTML,CSS DISEÑO Objetivos MODULO I. HTML, XHTML,CSS Obtener un conocimiento base sobre las tecnologías usadas en la creación de páginas web. Conocer la estructura y comandos básicos utilizados para la creación

Más detalles

Conclusiones y recomendaciones

Conclusiones y recomendaciones Conclusiones y recomendaciones El MD5C otorga, al grupo de desarrollo, 3 vistas claramente definidas en base a: a. Los tipos de presentación y subpresentación que tiene la aplicación. b. Las 5 capas que

Más detalles

Programación Web Tema 1.1: Introducción

Programación Web Tema 1.1: Introducción Programación Web Tema 1.1: Introducción Miguel Ángel Manso Emerson Castañeda ETSI en Topografía, Geodesia y Cartografía - UPM Contenido Qué es una aplicación web? Recursos pasivos y activos Aplicaciones

Más detalles

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5 MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5 TEMARIO MODULO I. EL LENGUAJE C# 5 Introducción al desarrollo de soluciones informáticas. El Framework.NET. o Descripción de la plataforma. o Las especificaciones

Más detalles

Sesión 5 Introducción a REST

Sesión 5 Introducción a REST Sesión 5 Introducción a REST Sistemas Distribuidos Diego Sevilla Ruiz DITEC Facultad de Informática Murcia, 2012 Diego Sevilla Ruiz (DITEC Facultad de Informática) Sesión 5 Introducción a REST Murcia,

Más detalles

Arquitecturas Distribuidas. TEMA 3. Tecnologías de la web dinámica

Arquitecturas Distribuidas. TEMA 3. Tecnologías de la web dinámica Arquitecturas Distribuidas TEMA 3. Tecnologías de la web dinámica Contenido del tema III I. Procesado de información en el servidor. Tipos de peticiones. CGI II. Cookies III. PHP IV. Lenguajes de script

Más detalles

MWEB 2007 Acceso Dinámico a Servicios de una Infraestructura Web desde Teléfonos Móviles

MWEB 2007 Acceso Dinámico a Servicios de una Infraestructura Web desde Teléfonos Móviles MWEB 2007 Acceso Dinámico a Servicios de una Infraestructura Web desde Teléfonos Móviles Elena Sánchez Nielsen Sandra Martín Ruiz Jorge Rodríguez Pedrianes UNIVERSIDAD DE LA LAGUNA CONTENIDO DE LA PRESENTACIÓN

Más detalles

TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos

TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos III. Otros entornos de objetos distribuidos 1. Problemas de CORBA 2. Java Enterprise Edition 1. EJB 2. Servidor de aplicaciones

Más detalles

SISTEMAS DISTRIBUIDOS MÓDULO 9. Web Services en Sistemas Distribuidos. Arquitectura Orientada a Servicios

SISTEMAS DISTRIBUIDOS MÓDULO 9. Web Services en Sistemas Distribuidos. Arquitectura Orientada a Servicios SISTEMAS DISTRIBUIDOS MÓDULO 9 Web Services en Sistemas Distribuidos Arquitectura Orientada a Servicios Servicios Web: Estructura y Funcionalidades Protocolo de Comunicación: Soap y Rest Lenguaje Descriptor

Más detalles

FanJam, red social para buscar e integrar talentos en la industria musical

FanJam, red social para buscar e integrar talentos en la industria musical FanJam, red social para buscar e integrar talentos en la industria musical Trabajo de Grado DOCUMENTO DE ESPECIFICACION DE LA ARQUITECTURA 15 de Octubre de 2012 V 2.3 Juan Sebastián Ruiz Juan David Cadena

Más detalles

Este capitulo contiene una análisis de los posibles soluciones que se pueden presentar en el momento de desarrollar aplicaciones con J2EE

Este capitulo contiene una análisis de los posibles soluciones que se pueden presentar en el momento de desarrollar aplicaciones con J2EE III J2EE proporciona diferentes tipos de arquitecturas para el desarrollo de aplicaciones, cada una de estas muy funcionales dependiente al tipo de aplicación que se este construyendo o al criterio del

Más detalles

Access 2016 Completo. Duración: Objetivos: Contenido: 65 horas

Access 2016 Completo. Duración: Objetivos: Contenido: 65 horas Access 2016 Completo Duración: 65 horas Objetivos: Descripción del funcionamiento del programa de gestión de bases de datos Microsoft Access 2016, estudiando los conceptos fundamentales de las bases de

Más detalles

Desarrollo Web con PHP y MySQL

Desarrollo Web con PHP y MySQL Desarrollo Web con PHP y MySQL DESCRIPCION MODULOS DE CAPACITACION 1. Introducción Qué es PHP Por qué PHP Qué necesitamos para trabajar con PHP Funcionamiento básico de PHP Embebido de PHP dentro de HTML

Más detalles

Web Services Tecnologías asociadas

Web Services Tecnologías asociadas Web Services 274 Web Services Tecnologías asociadas SOAP WSDL XML Tecnologías asociadas El modelo de web services está basado en ciertas tecnologías emergente que es el resultado del trabajo de varias

Más detalles

1. ARQUITECTURA SOA 1.1. FUNDAMENTOS DE SOA. Encapsulación de la lógica en servicios. Relación entre servicios ARQUITECTURA SOA

1. ARQUITECTURA SOA 1.1. FUNDAMENTOS DE SOA. Encapsulación de la lógica en servicios. Relación entre servicios ARQUITECTURA SOA 12 En esta sección se comentará con mayor detenimiento tanto los principios de la programación orientada a servicios como las tecnologías y especificaciones empleadas para llevarlos a cabo. 1. ARQUITECTURA

Más detalles