Mashups Aplicaciones hacia el Enterprise 2.0

download Mashups Aplicaciones hacia el Enterprise 2.0

of 92

Transcript of Mashups Aplicaciones hacia el Enterprise 2.0

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    1/92

    MashupsAplicaciones hacia elEnterprise 2.0

    Esteban Saavedra Lopez, Ph.DCEO OpentelematicsInternacional Boliviaemail: [email protected]://jesaavedra.opentelematics.org

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    2/92

    ElProblema

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    3/92

    Problema a resolver

    Los datos estnen cualquier parte

    Los datos no sonintegrados

    Los datos soninternos y externos

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    4/92

    Mashups

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    5/92

    Que es un Mashup?

    Un Mashup es un sitio web que accede a datos oservicios de terceros y los combina para crear unanueva aplicacin.

    Un aplicacin Web hbrida, que usa contenido dems de una fuente para crear un nuevo serviciocompleto.

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    6/92

    Definicin

    Un Mashups es una aplicacin web que combinadatos de mas de una fuente, dentro unaherramienta integrada simple

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    7/92

    Jungla 2.0

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    8/92

    Agregacin social: centralizando ysindicando tu vida online

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    9/92

    Poblacin de widgets

    Muchos proveedores Todos los sabores Todos los gustos N aplicaciones

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    10/92

    Widgetmania

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    11/92

    Inteligencia colectiva (Folksonomy)

    Categorizacin colaborativa basada en etiquetas(tags)

    La opinin de los usuarios cuenta y mucho. Agregacin de datos de diferentes fuentes

    (Mashups)

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    12/92

    Ecosistema

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    13/92

    Categoras

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    14/92

    Categoras 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)

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    15/92

    Categoras de Mashups

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    16/92

    Caractersticas

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    17/92

    Las 3 R de los Mashups

    Retorna valores rpidamente Rpida creacin

    Reuso de capacidades existentes

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    18/92

    Caractersticas Hecho por y para el usuarioy compartirlo con ms

    usuarios Capacidad dinmicade compartir e integrar de la

    misma manera con otras fuentes. Utilizacin tanto de servicios Webpblicos, as

    como serviciosinternos. Orientado hacia laempresa, sus clientes y aliados

    de negocio

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    19/92

    Propiedadesde los

    Mashups

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    20/92

    Agregar contenido desde ms de

    una fuente APIS:webservices pblicos Screen Scraping (scrAPIs) de sitios web existentes

    Datos locales que adicionalmente son provistos por los proveedores Informacin provista por usuarios(wikis

    compartidos o privados)

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    21/92

    Ligero esfuerzo al programar Se precisa un poco de HTMLy Javascript para

    empezar

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    22/92

    Aplicaciones web interactivas Estas tambin pueden proveer su propia API

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    23/92

    Composicin Ad-hoc No considera a largo plazo laestabilidady la

    solidez

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    24/92

    Crecimiento de Mashups

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    25/92

    ProsContras

    Riesgos

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    26/92

    Pros para el desarrollo Aplicaciones de alto nivel Pocos recursos Tecnologa accesible Interesar a un pblico global (contenidos) Experimentar con las ltimas tecnologas Web. Creatividad muy importante

    No solo para programadores (+creatividad, +mashups,+know-how)

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    27/92

    Pros para los usuarios

    Ocio y diversin Trabajo en entornos Web 2.0

    Ahorro de tiempo y dinero Democratizacin de la tecnologa Acceso a nuevos y mejores servicios

    Los usuarios salimos beneficiados Los usuarios somos lo ms importante en laWeb2.0

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    28/92

    Contras

    Anuncios no deseados Dependencia de los proveedores

    Propiedad Intelectual / LPD Contenidos de poca calidad Congestin de la red

    Cuellos de botella de la red Daos por la falla de una servicio

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    29/92

    Riesgos

    Pasible a las estrategias ms comunes paraataques> Cross-site-scripting (XSS)> Cross-site-request-forgery (CSRF)> JSON Hijacking

    Muchos riegos resultan de las nuevas arquitecturasy tecnologas

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    30/92

    Clasificacin

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    31/92

    Clasificacin

    Orientado hacia elcliente Orientado hacia elservidor

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    32/92

    Orientado hacia el cliente

    Orientado hacia el navegador (browser) Est ms enfocado en la mezcla o composicin de

    informacin con imgenes del lado delnavegador ,principalmente usando Javascript como lenguaje deprogramacin para lograrlo.

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    33/92

    Mashups basado en el cliente

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    34/92

    Tecnologas Web 2.0 en el cliente

    CSS (Separacin de Diseo y Contenido) RSS, RDF, ATOM(Sindicacin y agregacin de

    contenidos) AJAX(Aplicaciones Web basadas en HTML y XML concomponentes asncronos) JAVA WEB START, FLEX, LASZLO, FLASH(Clientes

    Ricos Ligeros no HTML) CAPTCHA(Palabra aleatoria y distorsionada slo legible

    para ojos humanos que sirve para evitar el acceso derobots)

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    35/92

    Orientado hacia el servidor

    En ste, la integracin y manipulacin de lainformacin suceden en ambos lados:servidor ynavegador .

    Su uso principal esinteractuar con informacin dediferentes sistemas para generar vistas necesariaspara la toma de decisiones.

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    36/92

    Mashups Basados en Servidor

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    37/92

    Tecnologas Web 2.0 en el servidor

    SOAP, REST, JCC (Servicios Web) SSO, Registro, Federacin de Identidad

    (Autenticacin, Autorizacin y Seguridad en elacceso a las Aplicaciones WEB)

    JAVASCRIPT, RUBY, PYTHON, PHP, Groovy(Lenguajes de Script)

    Frameworks giles: RubyOnRails, Jruby, Grails,Django, TurboGears,..

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    38/92

    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

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    39/92

    Arquitectura

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    40/92

    Tipologa

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    41/92

    Dentro del Mashup

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    42/92

    Tecnologasinmersas

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    43/92

    Integracin de Tecnologas

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    44/92

    Tecnologas de los mashups

    Screen Scraping REST

    Atom RSS APIs - Web API

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    45/92

    Screen scraping

    Es una tcnica de programacin que consiste entomar una presentacin de una informacin(normalmente texto, aunque puede incluir

    informacin grfica) para, mediante ingenierainversa, extraer los datos que dieron lugar a esapresentacin.

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    46/92

    REST (Representational StateTransfer) REST , segn algunos, la mejor manera de crear

    interfaces para servicios webque promulguen antetodo el dbil acoplamiento .

    REST depende directamente delprotocolo HTTP,utiliza un conjunto simple y pequeo deoperaciones bien definidas: POST, GET, PUT yDELETE.

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    47/92

    Atom

    Formato de Redifusin Atom, que bsicamente esun fichero en formato XML.

    Protocolo dePublicacin Atom, es un protocolosimple basado en HTTP para crear o actualizar recursos en Web.

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    48/92

    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 deformatos de fuentes webcodificados en XML,utilizado para suministrar asuscriptores de informacin actualizadafrecuentemente.

    El formato permite distribuir contenido sinnecesidad de un navegador.

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    49/92

    API(Appligation Programming

    Interface) Es un programa o cdigo para crear otrosprogramas

    Funciones instantneas: Es todo lo que necesita unprogramador para crear nuevas aplicaciones

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    50/92

    APIs en la Web

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    51/92

    MashupsVs

    SOA

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    52/92

    SOA

    Centrados en el servidor Bien definido Conecta sistemas

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    53/92

    Mashups

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

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    54/92

    En resumen

    Los mashups son una extensin de SOA

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    55/92

    Website (1992)

    Web Services (2000)

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    56/92

    RESTful Web services (2007)

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    57/92

    Tendencia en la Jungla

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    58/92

    Plataformas

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    59/92

    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

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    60/92

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

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    61/92

    Yahoo Pipes: pipes.yahoo.com Al igual que las tuberas de Unix, soncomandos simplesque

    pueden ser combinadas para crear una salida que satisfaga susnecesidades:

    Combinamuchos canales (feeds) dentro uno solo, para luego

    ordenarlos, filtrarlos y traducirlos Geo-codificatus canales favoritos y permite navegar por lositems dentro un mapa interactivo

    Incluye el poder de loswidgets/badgesen tu sitio web

    Permitegrabar la salidade cualquier tuberia (pipe) como RSS,JSON, KML y otros formatos.

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    62/92

    Ejemplos de Yahoo Pipes

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    63/92

    Ejemplos de Yahoo Pipes

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    64/92

    Ejemplos de Yahoo Pipes

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    65/92

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

    Es un marco de desarrollo AJAXy un conjunto deherramientas que permiten a los desarrolladores crear

    rpida y fcilmente aplicaciones web sencillas y mashupscon los servicios de Google como Google Maps y GoogleBase

    Es una gran herramienta para el acaparamiento de lainformacin de los canales y permitir que los usuarios ver ymanipular la misma.

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    66/92

    Ejemplos de Google Mashup Editor

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    67/92

    Ejemplos de Google Mashup Editor

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    68/92

    MS Popfly: www.popfly.ms Popfly es una forma divertida y fcil deconstruir y

    compartir mashups, gadgets y pginas Web. Est formada por herramientas visuales en linea,

    para la creacin de pginas web y mashups y unared social, donde se puede acoger, compartir,puntuar, comentar e inclusoremezclar creacionesde otros usuarios de Popfly.

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    69/92

    Ejemplos de MS Popfly

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    70/92

    Ejemplos de MS Popfly

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    71/92

    Ejemplos de MS Popfly

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    72/92

    MS Silverlight: silverlight.net Silverlight es unplug-in multiplataforma, que se

    incluir en la prxima generacin de .NET, queproveer medios de comunicacin basados en ricasexperiencias y aplicaciones interactivas para laWeb.

    Silverlight ofrece unmodelo de programacin flexible que soporta AJAX, VB, C #, Python y Ruby,y se integra con las aplicaciones Web.

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    73/92

    Ejemplos de MS Silverlight

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    74/92

    Ejemplos de MS Silverlight

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    75/92

    Ejemplos de MS Silverlight

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    76/92

    IBM DAMIA: services.alphaworks.ibm.com/damia/ A travs de una interfaz basada en Web, proporciona una

    forma fcil de usar herramientas que losdesarrolladores yusuarios de IT, pueden utilizar para reunir rpidamentedatos desde Internet y una variedad de fuentes de datosempresariales.

    Los beneficios de este servicio, incluye la posibilidad deagregar y transformar una amplia variedad de canales dedatos o contenidos, que puede ser utilizados enmashupsempresariales

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    77/92

    Ejemplos de Damia

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    78/92

    Ejemplos de Damia

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    79/92

    IBM QEDWiki: services.alphaworks.ibm.com/qedwiki/ QEDWiki es un navegador basado en el manejo decanvas

    utilizado para crear mashups simples. Un constructor de mashups es un entorno en el que el

    creador de mashups utilizacomponentes de software (o

    servicios)puestos a disposicin por los proveedores. QEDWiki Wiki es un marco nico en el que ofrece tanto los

    usuarios y desarrolladores Web un nico espacio paradesarrollar y alojar aplicaciones web 2.0

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    80/92

    Ejemplos de IBM QEDWiki

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    81/92

    Ejemplos de IBM QEDWiki

    Vi li i

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    82/92

    Visualization:services.alphaworks.ibm.com/ManyEyesmany-eyes.com

    Many eyes es un servicio que combina lavisualizacinde informacin con software social,permitiendo lavisualizacin colaborativapor partede grupos de usuarios.

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    83/92

    Ejemplos de Visualizacion

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    84/92

    Ejemplos de Visualizacion

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    85/92

    Otras plataformas para mashups

    fwicki com wicki.com www.jackbe.com openkapow.com Telephony mashups (BTO sylantro)

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    86/92

    Construir un

    Mashup

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    87/92

    Metforas de usuario

    Mapas: Googlemaps no es la nica (immo.search.ch) Calendarios:Coleccin de eventos Streeming:Agregacin de multiples fuentes de

    streeming (diggdot.us) Wiki:espacio para compartir documentos Portales: Juxtaposicin de Web widgets (netvibes.com)

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    88/92

    Pasos de la construccin

    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 metfora de mezcla (Mashups Metaphor)

    para el usuario Disear el mashup (basado en cliente o en servidor) Construirlo usando su lenguaje favorito

    > Cliente/Browser: HTML/Javascript/Flash> Server: PHP, JSP, Ruby, JOpera, Python, ...

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    89/92

    El Futuro

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    90/92

    Arquitectura orientada a la Web

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    91/92

    Preguntas - Consultas

  • 8/14/2019 Mashups Aplicaciones hacia el Enterprise 2.0

    92/92

    MashupsAplicaciones hacia elEnterprise 2.0

    Esteban Saavedra Lopez, Ph.DCEO OpentelematicsInternacional Bolivia

    il b d @ h