BLOQUE II: Integración de Sistemas Software. Integración Web. Arquitectura e Integración de Sistemas Software Curso 2012/2013.

Documentos relacionados
Consumo de Servicios RESTful (II)

Patrones de Integración

Modelado de Arquitectura Software

Integración de datos

Arquitectura Web. Arquitectura e Integración de Sistemas Software Curso 2012/2013. Índice

Introducción a la Integración Software

Introducción a las Aplicaciones Web

Desarrollo de Aplicaciones con GWT (I)

Consumo de Servicios RESTful (III)

Pruebas de Integración

1er. Semestre en la Licenciatura de Educación Preescolar. Las tics en la educación preescolar. Actividad 3 de la Unidad II

Introducción a los Servicios Web

Introducción a la Arquitectura del Software

Introducción a las Aplicaciones Web

Introducción a las Aplicaciones Web

Desarrollo de aplicaciones Cliente Servidor

Introducción a las Aplicaciones Web

Servicio de sindicación

Tema 1: Patrones Arquitectónicos

Tecnologías de la participación

Servicios Web. Desarrollo de Aplicaciones Empresariales

NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO

En la ingeniería de software se denomina aplicación web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a

Aprovechar las capacidades nativas de los dispositivos. Diseño y experiencia de usuario nativa. Seguridad y reportes automáticos e integrales

APLICACIONES DE INTERNET: SOAP

Tema 3.1: Introducción a Servicios Web

DESARROLLO WEB EN ENTORNO SERVIDOR

Mashups Integración bottom up de aplicaciones web. Ing. Gabriel López

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

Tema 1: Patrones Arquitectónicos

Índice INTRODUCCIÓN...11

Diseño Basado en Componentes. 2008/2009

Desarrollo de WebServices- GEL XML

Internet está evolucionando

Descripción de Servicios

Tema 2. Gestión por Procesos. Soporte de Tecnología

El Modelo de Integración basado en Servicios

GTI PC-IDE. Alvaro Anguix Asociación gvsig 1 Of 20

Nueva generación de innovaciones empresariales con un entorno de red abierta

Web Services. I Jornadas TIC. Vicerrectorado de Servicios Informáticos y de Comunicación. Coordinador: Alfonso Herranz Teruel

Diseño y Aplicaciones de Sistemas Distribuidos. Programa de la asignatura

RECURSOS DEL E-LEARNING

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

IMPLEMENTACIÓN DE INTEGRACIÓN DE SISTEMAS HEREDADOS UTILIZANDO WEB SERVICES

Unidad de Competencia I Elementos de Competencia Requerimientos de información

PLAN DOCENTE DE LA ASIGNATURA. Curso académico

Presentación de la Guía de web Service SIRH SIAC

WebService Profe Web

ESTÁNDARES PARA LA INTEROPERABILIDAD ESTANDARIZACIÓN INDUSTRIA CONECTADA 4.0

Introducción a las APIs de SCOPUS. Abril 2018

Servicios Web. Alberto Molina Coballes. Rodríguez. 16 de abril de 2012

Planeador de Torneos y Competencias: PLATYCO. Documentación de la Arquitectura de Software

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

PHP Web Services. Programa de Estudio.

PHP Web Services. Programa de Estudio.

Plone 3: Un sistema de gestión de contenidos libre

Acosta P., Salvador L.

PHP Web Services. Programa de Estudio.

PROYECTO DOCENTE ASIGNATURA: "Arquitectura e Integración de Sistemas Software"

Sistemas de Información

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

5.6. Tendencias e innovaciones Portabilidad: Diversidad de ambientes: Oportunidad en su aparición:

Curso Programming in HTML5 with JavaScript and CSS3 (20480)

Sistema de Información Geográfica siginfocentros Arquitectura del Sistema

Reader. Herramienta para reunir, leer y compartir todos los blogs y los sitios web interesantes que lees en Internet

Sistemas Distribuidos Orientados a Objetos

GESTIÓN DE LA INFORMACIÓN EN LA WEB

Introducción a la ingeniería del software dirigida por modelos Curso

INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE PROGRAMACIÓN DE APLICACIONES

Jorge De Nova Segundo

De dónde viene el término Web 2.0?

Plan de Estudios Experto Desarrollo GIS

Las tecnologías del desarrollo Web

INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN

GUÍA DOCENTE ARQUITECTURA Y SERVICIOS DE INTERNET

Plan de Estudios Experto Desarrollo GIS

Lenguajes de marcado para presentación de Páginas web.

Diseño e Implementación con Tecnologías de Integración de Aplicaciones

Chávez Bosquez, Carlos Arturo Custodio Izquierdo, José Hernández Torruco Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización:

Aspectos pragmáticos de los lenguajes de programación

Composición de servicios

MANUAL RSS Y COMO FUNCIONA LA SINDICACIÓN

Diseño de la Arquitectura Lógica con Patrones. mayo de 2008

Tema 5. APIs y Servicios web

PHP Web Services Contenido del Curso

Introducción a Web Services

IFCD0210 Desarrollo de Aplicaciones con Tecnologías Web

Diplomado C#.NET con Visual Studio

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

Service Oriented Architecture

API: REST o RESTful WEB-SERVICES

División Académica de Informática y Sistemas Licenciatura en Sistemas Computacionales

Servicio de sindicación

Índice de contenido. Índice de contenido

Transcripción:

Departamento de Lenguajes y Sistemas Informáticos BLOQUE II: Integración de Sistemas Software Integración Web Tema 6 Arquitectura e Integración de Sistemas Software Curso 2012/2013 Índice Mashups Sindicación de contenidos Servicios web Application Programming Interfaces (APIs) Bibliografía 1

Índice Mashups Sindicación de contenidos Servicios web Application Programming Interfaces (APIs) Bibliografía Mashups Idea intuitiva: 2

Mashups Un mashup (o aplicación web híbrida) es una aplicación que usa y combina datos, presentaciones y funcionalidad procedentes de una o más fuentes. La nueva aplicación debería proporcionar un valor añadido, no debería ser sólo una agregación de contenidos. El contenido y los elementos de presentación suelen venir en forma de feeds RSS o Atom, servicios webs o JavaScript con APIs abiertas. Las principales características del mashup son la combinación, la visualización y la agregación. Mashups Diferencias con la integración tradicional La Web es el medio de vida natural de los mashups. La interfaz de usuario es un componente elemental en un mashup. Los mashups suelen ir dirigidos a personas no expertas. Los mashups suelen servir para cubrir una determinada necesidad (de corta duración) y suelen desarrollarse con las tecnologías web más novedosas y fáciles de usar. 3

Mashups Arquitectura habitual: pipes and filters Presentación (Vista) Lógica de aplicación (Controlador) Gestión de recursos (Modelo de datos) Pipes & Filters Mashups Editores http://pipes.yahoo.com 4

Mashups Editores https://ifttt.com/ Índice Mashups Sindicación de contenidos Servicios web Application Programming Interfaces (APIs) Bibliografía 5

Sindicación de contenido Los mecanismos de sindicación hacen que la información de un sitio web público sea reutilizable por terceros. Permite, por ejemplo, consultar noticias de prensa o entradas de un blog sin necesidad de acudir al sitio web original. La datos reciben el nombre de fuente web o web feeds en inglés. Las fuentes web suelen codificarse en XML. Logo de sindicación web Sindicación de contenido Formatos Really Simple Sindication (RSS) Es el formato más extendido. Su especificación es conforme a XML 1.0. Un documento RSS esta compuesto de un canal (channel) y varios elementos (ítems). No permite indicar el formato del contenido (texto o HTML) Atom Su especificación es conforme a XML 1.0. Un documento Atom está compuesto de un feed que contiene varias entradas (entry). Permite indicar el formato del contenido (texto, HTML, XHTML, etc.) 6

Sindicación de contenido Formatos: RSS Sindicación de contenido Formatos: Atom 7

Sindicación de contenido Formatos: GeoRSS GeoRSS Estándar emergente para añadir información geográfica a los feeds. Permite añadir información sobre puntos, líneas, polígonos, etc. Puedes usarse tanto con RSS como con Atom. http://en.wikipedia.org/wiki/georss Sindicación de contenido 8

Sindicación de contenido Lectores y suscripciones Sindicación de contenido Es posible integrar información de distintas fuentes web y generar nuevos feeds añadiendo, recortando o transformando los datos. También es posible usar la información de las fuentes para procesarla de alguna forma. Ejemplo: mostrarla en un mapa. Aplicaciones como Yahoo pipes permiten hacer esto de forma visual. Generar feeds es una forma sencilla de permitir que terceros usen datos de nuestras aplicaciones. 9

Sindicación de contenido Índice Mashups Sindicación de contenidos Servicios web Application Programming Interfaces (APIs) Bibliografía 10

Servicios web Un servicio web ofrece una interfaz de programación (no de usuario) de una determinada funcionalidad (servicio) accesible a través de Internet y basada en estándares W3C. Permiten intercambiar información entre aplicaciones software desarrolladas en lenguajes de programación diferentes y ejecutadas sobre distintas plataformas. Son una pieza clave para la integración Web. Ventajas: Facilita la interoperabilidad entre sistemas diversos. Uso de protocolos abiertos. Inconvenientes: Rendimiento bajo si se compara con otros modelos de computación distribuida. Servicios web Acoplamiento débil. Los usuarios de un servicio web no necesitan conocer sus detalles de implementación, sólo su contrato, es decir, instrucciones sobre como usarlo. Enlace dinámico. Las aplicaciones pueden decidir en tiempo de ejecución que servicio invocar. Registros. Los servicios web pueden almacenarse en registros que pueden ser consultados de forma automática. Atributos no funcionales. Los servicios pueden tener asociados atributos de calidad (coste, tiempo de ejecución, nivel de seguridad ) que pueden usarse para decidir que servicio se adapta mejor a nuestras necesidades. 11

Servicios web Composición. Los servicios web se pueden componer para formar servicios más complejos. Orquestación vs. Coreografía Servicios web Servicios SOAP vs servicios RESTful Servicios web tradicionales Son los servicios web clásicos a los que se refiere el W3C en su definición de servicio web. La mayoría de documentación y estándares sobre servicios web se refieren a este tipo de servicios. Se caracterizan por el uso de WDSL para describir la interfaz pública del servicio (tipos de datos, formato de mensajes, etc) y SOAP para el intercambio de mensajes en formato XML. Servicios web RESTful Se caracterizan por estar orientados a recursos y usar el protocolo HTTP para manejar un conjunto restringido de operaciones sobre los recursos. Son más recientes que los servicios web SOAP pero ampliamente usados en la actualidad. Servicios SOAP vs. Servicios RESTful 12

Índice Mashups Sindicación de contenidos Servicios web Application Programming Interfaces (APIs) Bibliografía Def. 1: Conjunto particular de reglas y especificaciones que puede seguir un programa software para usar servicios y recursos proporcionados por el programa software que crea la API [Shafqat Islam] Def. 2: Especificación basada en código fuente destinada a ser utilizada por los componentes software como interfaz para comunicarse entre ellos. [Wikipedia] 13

Servicios Información sobre cómo invocar los servicios Información sobre las posibles respuestas de los servicios Por qué desarrollar APIs? El desarrollo de aplicaciones pasa a ser un esfuerzo distribuido en el que pueden participar terceros. Favorece la innovación permitiendo que otros piensen en nuevas ideas en las que sacar partido a la aplicación. Reduce costes y tiempo de desarrollo. Otros pueden integrar nuestra aplicación de forma independiente. Puede usarse como estrategia publicitaria. Permite nuevos modelos de negocio. Por ejemplo, cobrar por el número de llamadas a la API. Es multiplataforma e independiente del número de usuarios de la API. 14

Fuente: http://www.slideshare.net/jmusser/open-apis-state-of-the-market-2011 by John Musser. ProgrammableWeb 2013: Más de 8700 APis Fuente: http://www.slideshare.net/jmusser/open-apis-state-of-the-market-2011 by John Musser. ProgrammableWeb 15

Fuente: http://www.slideshare.net/jmusser/open-apis-state-of-the-market-2011 by John Musser. ProgrammableWeb Fuente: http://www.slideshare.net/jmusser/open-apis-state-of-the-market-2011 by John Musser. ProgrammableWeb 16

Tecnologías Existen diversas tecnologías y protocolos para implementar APIs web. Los más usados son: Servicios web RESTful. Servicios web SOAP. JavaScript. XML-RPC. Los más extendidos hoy en día son los servicios RESTful por su sencillez y el uso de HTTP como protocolo de aplicación, ampliamente soportado en cualquier plataforma. Tecnologías 2013: 63.8% Fuente: http://www.slideshare.net/jmusser/open-apis-state-of-the-market-2011 by John Musser. ProgrammableWeb 17

Formato de datos Los formatos para el intercambio de datos más utilizados son XML y JSON. Directorio de APIs & mashups Noticias, comunidad, herramientas de desarrollo. 8.700 APIs Web 6,900 mashups http://www.programmableweb.com/ 18

Aspectos clave Las APIs deben ser simples tanto para los usuarios como para los desarrolladores. La calidad de la documentación es fundamental. Deben quedar claro los servicios disponibles, cómo invocarlos, las posibles respuestas y formatos de intercambio de datos. Los ejemplos son de gran ayuda. Es importante dar un buen soporte a la comunidad de desarrolladores. Ej. Si un desarrollador tiene una pregunta, cuánto se tarda en darle una respuesta? Los aspectos de seguridad y gestión de errores nodeben descuidarse. Las APIs suelen empezar pequeñas e internas, y luego crecen hacia fuera. En algunos casos, la API es el único producto de la empresa. Índice Mashups Sindicación de contenidos Servicios web Application Programming Interfaces (APIs) Bibliografía 19

Bibliografía Webber, J., REST in Practice: Hypermedia and Systems Architecture, O'Reilly, Beijing. 2010 Daignea, R.,Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services. Addison-Wesley Professional. 2011. Enlaces de interés Especificación Atom http://www.ietf.org/rfc/rfc4287 Especificación RSS http://cyber.law.harvard.edu/rss/rss.html Tutorial Atom http://www.atomenabled.org/developers/syndication/ Atom vs RSS http://www.intertwingly.net/wiki/pie/rss20andatom10compared Servicios web (W3C) http://www.w3c.es/divulgacion/guiasbreves/serviciosweb 20

Disclaimer and Terms of Use All material displayed on this presentation is for teaching and personal use only. Many of the images that have been used in the presentation are Royalty Free images taken from http://www.everystockphoto.com/. Other images have been sourced directly from the Public domain, from where in most cases it is unclear whether copyright has been explicitly claimed. Our intention is not to infringe any artist s copyright, whether written or visual. We do not claim ownership of any image that has been freely obtained from the public domain. In the event that we have freely obtained an image or quotation that has been placed in the public domain and in doing so have inadvertently used a copyrighted image without the copyright holder s express permission we ask that the copyright holder writes to us directly, upon which we will contact the copyright holder to request full written permission to use the quote or images. 21