Mashups Aplicaciones Hacia El Enterprise 2.0

  • Uploaded by: Esteban Saavedra López
  • 0
  • 0
  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Mashups Aplicaciones Hacia El Enterprise 2.0 as PDF for free.

More details

  • Words: 1,744
  • Pages: 92
Mashups Aplicaciones hacia el Enterprise 2.0 Esteban Saavedra Lopez, Ph.D CEO Opentelematics Internacional Bolivia email: [email protected] http://jesaavedra.opentelematics.org

El Problema

Problema a resolver Los datos están en cualquier parte Los datos no son integrados Los datos son internos y externos

Mashups

Que es un Mashup? • Un Mashup es un sitio web que accede a datos o servicios de terceros y los combina para crear una nueva aplicación. • Un aplicación Web híbrida, que usa contenido de más de una fuente para crear un nuevo servicio completo.

Definición • Un Mashups es una aplicación web que combina datos de mas de una fuente, dentro una herramienta integrada simple

Jungla 2.0

Agregación social: centralizando y sindicando tu vida online

Población de widgets • • • •

Muchos proveedores Todos los sabores Todos los gustos N aplicaciones

Widgetmania

Inteligencia colectiva (Folksonomy) • Categorización colaborativa basada en etiquetas (tags) • La opinión de los usuarios cuenta y mucho. • Agregación de datos de diferentes fuentes (Mashups)

Ecosistema

Categorías

Categorías de Mashups • • • • • •

De mapas: wikimapia.org De fotos: wikimapia + flickr + youtube = jotle.com De compras: shopping.com + amazon.com = secretprices.com De noticias: digg.com + del.icio.us + slashdot = doggdot.us De gobierno: chicagoCrime.org De tecnologia movil: wikiloc.com (Mashup gratuito para compartir rutas con GPS)

Categorías de Mashups

Características

Las 3 R de los Mashups • Retorna valores rápidamente • Rápida creación • Reuso de capacidades existentes

Características • Hecho por y para el usuario y compartirlo con más usuarios • Capacidad dinámica de compartir e integrar de la misma manera con otras fuentes. • Utilización tanto de servicios Web públicos, así como servicios internos. • Orientado hacia la empresa, sus clientes y aliados de negocio

Propiedades de los Mashups

Agregar contenido desde más de una fuente • APIS: webservices públicos • Screen Scraping (scrAPIs) de sitios web existentes • Datos locales que adicionalmente son provistos por los proveedores • Información provista por usuarios (wikis compartidos o privados)

Ligero esfuerzo al programar • Se precisa un poco de HTML y Javascript para empezar

Aplicaciones web interactivas • Estas también pueden proveer su propia API

Composición Ad-hoc • No considera a largo plazo la estabilidad y la solidez

Crecimiento de Mashups

Pros Contras Riesgos

Pros para el desarrollo • • • • • • •

Aplicaciones de alto nivel Pocos recursos Tecnología accesible Interesar a un público global (contenidos) Experimentar con las últimas tecnologías Web. Creatividad muy importante No solo para programadores (+creatividad, +mashups, +know-how)

Pros para los usuarios • • • • • • •

Ocio y diversión Trabajo en entornos Web 2.0 Ahorro de tiempo y dinero Democratización de la tecnología Acceso a nuevos y mejores servicios Los usuarios salimos beneficiados Los usuarios somos lo más importante en la Web2.0

Contras • • • • • • •

Anuncios no deseados Dependencia de los proveedores Propiedad Intelectual / LPD Contenidos de poca calidad Congestión de la red Cuellos de botella de la red Daños por la falla de una servicio

Riesgos • Pasible a las estrategias más comunes para ataques > Cross-site-scripting (XSS) > Cross-site-request-forgery (CSRF) > JSON Hijacking

• Muchos riegos resultan de las nuevas arquitecturas y tecnologías

Clasificación

Clasificación • Orientado hacia el cliente • Orientado hacia el servidor

Orientado hacia el cliente • Orientado hacia el navegador (browser) • Está más enfocado en la mezcla o composición de información con imágenes del lado del navegador, principalmente usando Javascript como lenguaje de programación para lograrlo.

Mashups basado en el cliente

Tecnologías Web 2.0 en el cliente • CSS (Separación de Diseño y Contenido) • RSS, RDF, ATOM (Sindicación y agregación de contenidos) • AJAX (Aplicaciones Web basadas en HTML y XML con componentes asíncronos) • JAVA WEB START, FLEX, LASZLO, FLASH (Clientes Ricos Ligeros no HTML) • CAPTCHA (Palabra aleatoria y distorsionada sólo legible para ojos humanos que sirve para evitar el acceso de robots)

Orientado hacia el servidor • En éste, la integración y manipulación de la información suceden en ambos lados: servidor y navegador. • Su uso principal es interactuar con información de diferentes sistemas para generar vistas necesarias para la toma de decisiones.

Mashups Basados en Servidor

Tecnologías Web 2.0 en el servidor • SOAP, REST, JCC (Servicios Web) • SSO, Registro, Federación de Identidad (Autenticación, Autorización y Seguridad en el acceso a las Aplicaciones WEB) • JAVASCRIPT, RUBY, PYTHON, PHP, Groovy (Lenguajes de Script) • Frameworks ágiles: RubyOnRails, Jruby, Grails, Django, TurboGears,..

Ejemplos de Mashups • HousingMaps.com • www.programmableweb.com/mashups • www.webmashup.com • mashupawards.com • www.jumpcut.com/view?id=C086AA92568811DCAB02000423CF381C • www.youtube.com/watch?v=-GeU3Rp7wnY

Arquitectura

Tipología

Dentro del Mashup

Tecnologías inmersas

Integración de Tecnologías

Tecnologías de los mashups • • • • •

Screen Scraping REST Atom RSS APIs - Web API

Screen scraping • Es una técnica de programación que consiste en tomar una presentación de una información (normalmente texto, aunque puede incluir información gráfica) para, mediante ingeniería inversa, extraer los datos que dieron lugar a esa presentación.

REST (Representational State Transfer) • REST , según algunos, la mejor manera de crear interfaces para servicios web que promulguen ante todo el débil acoplamiento . • REST depende directamente del protocolo HTTP, utiliza un conjunto simple y pequeño de operaciones bien definidas: POST, GET, PUT y DELETE.

Atom • Formato de Redifusión Atom, que básicamente es un fichero en formato XML. • Protocolo de Publicación Atom, es un protocolo simple basado en HTTP para crear o actualizar recursos en Web.

RSS > Rich Site Summary (RSS 0.91) > RDF Site Summary (RSS 0.9 y 1.0) > Really Simple Syndication (RSS 2.0)

• RSS es una familia de formatos de fuentes web codificados en XML, utilizado para suministrar a suscriptores de información actualizada frecuentemente. • El formato permite distribuir contenido sin necesidad de un navegador.

API(Appligation Programming Interface) • Es un programa o código para crear otros programas • Funciones instantáneas: Es todo lo que necesita un programador para crear nuevas aplicaciones

APIs en la Web

Mashups Vs SOA

SOA • Centrados en el servidor • Bien definido • Conecta sistemas

Mashups • • • •

Centrado en el cliente Basado en la Web Ad hoc Conecta usuarios

En resumen • Los mashups son una extensión de SOA

Website (1992)

Web Services (2000)

RESTful Web services (2007)

Tendencia en la Jungla

Plataformas

Plataformas para mashups • Yahoo! Pipes > pipes.yahoo.com

• Google Mashup Editor > editor.googlemashups.com

• Microsoft Popfly > www.popfly.ms

• IBM Alphaworks > services.alphaworks.ibm.com

Constructores de Mashups • • • • • • •

BEA Pages IBM QEDWiki JackBe Presto Nexaweb Studio Oracle WebCenter Coghead Intel Mash Maker

Yahoo Pipes: pipes.yahoo.com • Al igual que las tuberías de Unix, son comandos simples que pueden ser combinadas para crear una salida que satisfaga sus necesidades: • Combina muchos canales (feeds) dentro uno solo, para luego ordenarlos, filtrarlos y traducirlos • Geo-codifica tus canales favoritos y permite navegar por los items dentro un mapa interactivo • Incluye el poder de los widgets/badges en tu sitio web • Permite grabar la salida de cualquier tuberia (pipe) como RSS, JSON, KML y otros formatos.

Ejemplos de Yahoo Pipes

Ejemplos de Yahoo Pipes

Ejemplos de Yahoo Pipes

Google Mashup Editor • code.google.com/gme • editor.googlemashups.com/editor

• Es un marco de desarrollo AJAX y un conjunto de herramientas que permiten a los desarrolladores crear rápida y fácilmente aplicaciones web sencillas y mashups con los servicios de Google como Google Maps y Google Base • Es una gran herramienta para el acaparamiento de la información de los canales y permitir que los usuarios ver y manipular la misma.

Ejemplos de Google Mashup Editor

Ejemplos de Google Mashup Editor

MS Popfly: www.popfly.ms • Popfly es una forma divertida y fácil de construir y compartir mashups, gadgets y páginas Web. • Está formada por herramientas visuales en linea, para la creación de páginas web y mashups y una red social, donde se puede acoger, compartir, puntuar, comentar e incluso remezclar creaciones de otros usuarios de Popfly.

Ejemplos de MS Popfly

Ejemplos de MS Popfly

Ejemplos de MS Popfly

MS Silverlight: silverlight.net • Silverlight es un plug-in multiplataforma, que se incluirá en la próxima generación de .NET, que proveerá medios de comunicación basados en ricas experiencias y aplicaciones interactivas para la Web. • Silverlight ofrece un modelo de programación flexible que soporta AJAX, VB, C #, Python y Ruby, y se integra con las aplicaciones Web.

Ejemplos de MS Silverlight

Ejemplos de MS Silverlight

Ejemplos de MS Silverlight

IBM DAMIA: services.alphaworks.ibm.com/damia/ • A través de una interfaz basada en Web, proporciona una forma fácil de usar herramientas que los desarrolladores y usuarios de IT, pueden utilizar para reunir rápidamente datos desde Internet y una variedad de fuentes de datos empresariales. • Los beneficios de este servicio, incluye la posibilidad de agregar y transformar una amplia variedad de canales de datos o contenidos, que puede ser utilizados en mashups empresariales

Ejemplos de Damia

Ejemplos de Damia

IBM QEDWiki: services.alphaworks.ibm.com/qedwiki/ • QEDWiki es un navegador basado en el manejo de canvas utilizado para crear mashups simples. • Un constructor de mashups es un entorno en el que el creador de mashups utiliza componentes de software (o servicios) puestos a disposición por los proveedores. • QEDWiki Wiki es un marco único en el que ofrece tanto los usuarios y desarrolladores Web un único espacio para desarrollar y alojar aplicaciones web 2.0

Ejemplos de IBM QEDWiki

Ejemplos de IBM QEDWiki

Visualization:

services.alphaworks.ibm.com/ManyEyes many-eyes.com

• Many eyes es un servicio que combina la visualización de información con software social, permitiendo la visualización colaborativa por parte de grupos de usuarios.

Ejemplos de Visualizacion

Ejemplos de Visualizacion

Otras plataformas para mashups • fwicki com • wicki.com • www.jackbe.com • openkapow.com • Telephony mashups (BTO sylantro)

Construir un Mashup

Metáforas de usuario • Mapas: Googlemaps no es la única (immo.search.ch) • Calendarios: Colección de eventos • Streeming: Agregación de multiples fuentes de streeming (diggdot.us) • Wiki: espacio para compartir documentos • Portales: Juxtaposición de Web widgets (netvibes.com)

Pasos de la construcción Seleccionar 2 o mas APIs de webservices Estudiar la funcionalidad de capas y los formatos de datos Probar el acceso al API (registro) Seleccionar una metáfora de mezcla (Mashups Metaphor) para el usuario • Diseñar el mashup (basado en cliente o en servidor) • Construirlo usando su lenguaje favorito > Cliente/Browser: HTML/Javascript/Flash > Server: PHP, JSP, Ruby, JOpera, Python, ... • • • •

El Futuro

Arquitectura orientada a la Web

Preguntas - Consultas

Mashups Aplicaciones hacia el Enterprise 2.0 Esteban Saavedra Lopez, Ph.D CEO Opentelematics Internacional Bolivia email: [email protected] http://jesaavedra.opentelematics.org

Related Documents


More Documents from ""