You are on page 1of 6

Mashups empresariales

Extrado de Editorial MKM


http://www.mkm-pi.com

Mashups empresariales
- ISV Magazine - ISV-5 Octubre 2007 - Programacin -

Fecha de publicacin: Martes 6 de noviembre de 2007

Descripcin:
Para aportar verdaderamente informacin hace falta la unin de unos pocos elementos clave. Bsicamente unos datos, que a su vez, son organizados y gestionados
por un programa. Los mashups permiten aprovechar datos pblicos, as como aadir eventualmente otros privados, y mezclarlos, usando incluso bloques de
programas ya disponibles y listos para usar.

Editorial MKM

Copyright Editorial MKM. Todos los derechos reservados

Pgina 1/6

Mashups empresariales
La tecnologa de mashups, que se puede definir como la mezcla de datos provenientes de varias fuentes, unidos por un
programa, est despertando el inters no slo de los aficionados a la programacin, sino tambin de las empresas.
Debido a que se trata de una modalidad reciente, no todos los programadores se han adentrado a hacer prcticas con
ella. Y, peor an, no todas las empresas tienen claro qu se puede hacer y, sobre todo, cmo utilizarlo.
Los mashups son un nuevo paso en busca de la Web 2.0 donde los contenidos fluyan ms fcilmente y resulte fcil
acceder a la informacin de mltiples formas. Como referencia de la importancia del fenmeno, a pesar de su juventud,
slo hay que mirar en Google sobre este trmino para encontrar varios millones de referencias (casi 3 millones en el
momento de escribir estas lneas).

Segn la definicin de la Wikipedia (http://es.wikipedia.org/wiki/Mashup_(aplicaci%C3%B3n_web_h%C3%ADbrida)),


Una aplicacin web hbrida (mashup o remezcla), es un sitio web o aplicacin web que usa contenido de ms de una
fuente para crear un nuevo servicio completo. De lo poco explcito que resulta la fa definicin se sacan dos aspectos
importantes. El primero es que se necesitan una fuente de datos, y el segundo que el objetivo es crear un servicio Web,
accesible por tanto a travs de un sencillo navegador Web.
Tras los pasos de la sindicacin, RSS, los mashups estn abriendo un camino para generar y, sobre todo, compartir
informacin. Un sistema adecuado para mltiples usos, tanto personales como profesionales. Sin duda ambos aspectos
despiertan curiosidad, pero el segundo presenta un campo interesante que est por desarrollar.
Mashups empresariales
Para las empresas, el empleo de mashups puede suponer un elemento que facilite la comunicacin interna entre
empleados, o incluso con proveedores y clientes. La funcionalidad de un mashups dentro de un portal corporativa es
indudable. Sobre todo porque, en principio requiere menos esfuerzo para el departamento de TI.
Todo un conjunto de tecnologas que como indica Monte Kluemper de BEA Systems, son tecnologas que otorgan el
poder a los usuarios finales. En lugar de necesitar el empleo de complejos sistemas de programacin, los mashups
permiten que usuarios con ideas sean capaces de desarrollarlas y llevarlas a cabo dentro de un marco colaborativo y
pblico como es Internet.
Uno de los aspectos clave es la facilidad para extraer datos corporativos, incluso provenientes de diversas fuentes
(precisamente uno de los puntos fuertes de los mashups) y crear un nuevo informe o servicio, listo para ser consultado
por el resto de empleados.
El punto importante para las empresas es doble: por una parte qu datos pueden ser consultados y por otra por quin.
Adicionalmente para los departamentos de TI est el impacto que el uso de acceso a los datos puede suponer sobre el
rendimiento de las aplicaciones corporativas crticas. Toda una serie de factores a considerar que no hay que descuidar
deslumbrados por la sencillez para crear potentes mashups.

Algunas empresas ven con gran reticencia la colocacin a disposicin pblica de datos corporativos. No es una

Copyright Editorial MKM. Todos los derechos reservados

Pgina 2/6

Mashups empresariales
eleccin sencilla y tiene ms consideraciones de poltica interna de la empresa que problemas tcnicos.
Una vez superadas las eventuales dificultades acerca de qu datos poner disponibles para el mashup, el siguiente
punto es colocar los mecanismos que aseguran tanto que stos estn disponibles como garantizar que su acceso no
entorpece otros procesos corporativos que usan los mismos datos.
Control de mashups
Uno de los aspectos ms importantes a la hora de crear un mashups, o ms bien de emplearlo, es controlar el acceso a
las fuentes de datos. Tanto de cara a los datos en s, como a quin accede, o realizar un control sobre el nivel de
acceso a los mismos. La facilidad de acceso a los datos destinados a un mashup no debe interferir con otros tipos de
acceso.
Un mashup crea un servicio nuevo a base de mezclar datos de otros servicios existentes
Para las empresas este es uno de los puntos ms complicados de llevar correctamente a buen trmino. Salvo cuando
se tiene una cierta cultura y experiencia sobre arquitectura orienta a servicios, SOA, los departamentos de TI no estn
muy acostumbrados a gestionar un acceso a datos internos, pero estableciendo filtros o limitaciones adicionales.

Bsicamente se trata de controlar el uso de los recursos, tanto internos como externos, y llegado el caso de limitarlo
para impedir un abuso que bloquee otros accesos. En este punto se necesitan herramientas profesionales capaces de
simplificar las tareas de puesta en marcha. En este terreno algunas empresas, como BEA Systems, se colocan en la
vanguardia de la Web 2.0 y la informtica social con la creacin de las nuevas soluciones tecnolgicas Web 2.0 para la
empresa, proporcionando una plataforma donde compartir componentes y aplicaciones, sin tener en cuenta cmo se
han construido, en qu cdigo se escribieron y dnde estn alojadas, y donde integrarlas con nuevas o existentes
aplicaciones Web.
BEA AquaLogic Ensemble, www.bea.com/enterprise, por ejemplo, es un sistema muy potente para la gestin de
recursos Web, tales como aplicaciones, componentes, widgets, funciones programables, y para la integracin de esos
recursos en aplicaciones Web nuevas o existentes.
APIs y fuentes de datos
Desde el punto de vista de programacin los mashups no resultan complejos para iniciar. Pero hay que considerar otros
aspectos que condicionan sin duda tanto su creacin como su despliegue y empleo.

El primero es el de las fuentes de datos. Lo ms simple e inmediato es emplear algunas de las mltiples fuentes
pblicas, entre las cuales la ms popular, sin duda, es GoogleMaps (http://www.google.com/apis/maps/), que segn
algunos datos representa casi el la mitad de los APIs que se emplean en los mashups. Esto se debe no solo a la
gratuidad de los datos, sino a lo extensamente documentado que est el API para emplearlo. Pero no es la nica que
cuenta con unos datos excelentes y documentacin de cmo emplearlos.
Otras APIs populares actualmente son:

Amazon Web Services (http://aws.amazon.com)


del.icio.us (http://del.icio.us/help/api)
eBay (http://developer.ebay.com)
Flickr (http://www.flickr.com/services/api/)

Copyright Editorial MKM. Todos los derechos reservados

Pgina 3/6

Mashups empresariales

Twitter (http://twitter.com/help/api)
YouTube (http://www.youtube.com/dev)
http://www.webmashup.com/Mashup_APIs/index.php
Recopilacin de varios APIs ( http://www.programmableweb.com/apis)

Lo de las fuentes de datos est relacionado con lo anterior, ya que precisamente los mejores proveedores de datos
son los que se han preocupado tambin de suministrar la informacin, mediante un API, para acceder a ellos.
Los principales fabricantes de software ofrecen herramientas para desarrollar con facilidad los mashups
Lo cual indica que, bsicamente, una vez determinados los datos a compartir hay que crear un mecanismo de acceso a
los mismos y documentarlo, para que terceras partes puedan acceder a ellos.
Herramientas para mashups
Gracias a mltiples herramientas, la creacin de mashups no resulta complicada. Los principales fabricantes de
software se han dado cuenta de la importancia de este nuevo campo de desarrollo y ofrecen diversas herramientas
para facilitar la tarea.

Denodo, (www.denodo.com)
Google Mashup Editor (http://editor.googlemashups.com)
IBM (http://services.alphaworks.ibm.com/qedwiki)
Microsoft Popfly (http://popfly.com)
Yahoo! Pipes (http://pipes.yahoo.com/pipes)

En un terreno ms profesional, BEA Systems cuenta con su Aqualogic Pages, un producto enfocado a la Web 2.0 que
facilita a las empresas la creacin y control de mashups. Con la reciente popularidad que han adquirido sitios como
MySpace y YouTube, esperamos impulsar una revolucin en aplicaciones y servicios de nuevos medios digitales,
afirma Enrique Martn, Director Tcnico, BEA Systems.

El mundo TI est experimentando una transformacin gracias al fenmeno Web 2.0 y en este sentido los mashups
jugarn un papel clave. BEA ha tomado el liderazgo de la creacin de soluciones de ltima generacin que permitirn a
las empresas crear mashups dinmicos orientados al usuario. Los seminarios que organizamos proporcionarn a los
desarrolladores el conocimiento y las aptitudes necesarias para trabajar en soluciones Web 2.0. Microsoft ha lanzado
su proyecto popfly (http://popfly.com) para dar respuesta a la programacin de mashups, mientras que por su parte
Adobe cuenta con su entorno RIA Adobe Flex que contempla la creacin de mashups con todas las funcionalidades de
la Web 2.0.
Junto a los nombres ms conocidos del panorama internacional tambin despuntan nombre nacionales, pero con
proyeccin internacional, como Denodo (www.denodo.com), que con su Enterprise Data Mashups resuelve muchos de
los problemas de adaptacin de la Web 2.0 dentro de las empresas. La plataforma de Denodo, actualmente en su
versin 4.0, facilita la integracin de informacin proveniente de mltiples fuentes internas, como blogs, foros, chats,
mensajera instantnea, etc y tiende un puente entre la informacin generada en la Web 2.0 y las empresas.

La plataforma de Denodo resuelve la conversin de todas esos contenidos, dispersos en mltiples formatos diferentes
de datos, en informacin accesible de forma centralizada. La plataforma tiene capacidad para integrar no slo datos

Copyright Editorial MKM. Todos los derechos reservados

Pgina 4/6

Mashups empresariales
externos sino tambin los internos que provengan del sistema ERP o CRM empresarial, as como bases de datos.
Denodo es capaz de operar con datos estructurados, como bases de datos, ficheros delimitados, XML, as como no
estructurados, documentos de texto, correos electrnicos, blogs, e incluso semiestructurados, como pginas Web
dinmicas.
Ejemplos
Un ejemplo brillante de mashups es la informacin ofrecida actualmente por mltiples compaas areas, adjunta al
billete electrnico. En l consta un enlace directo que redirige al viajero a la informacin meteorolgica de la ciudad de
destino para los prximos das. Bsicamente se trata de extraer de los datos del viaje las ciudades de origen y destino,
as como la fecha del viaje, y enlazar con uno de los mltiples servicios que ofrecen la informacin sobre previsin de
tiempo.
Hay multitud de ejemplos con de cmo crear mashups de todo tipo. Muchos estn basados en los populares y bien
documentados mapas de Google, http://www.google.com/apis/maps/, gracias a su amplia documentacin. Un vistazo al
popular sitio http://www.programmableweb.com/apis muestra que casi un tercio de las aplicaciones referenciadas estn
relacionadas con el empleo de mapas. Le siguen en popularidad las relacionadas con las aplicaciones sociales y la
fotografa, seguidas por las de compras de casa y viajes. Pero estas no son las nicas aplicaciones posibles y la
combinacin de datos ofrece casi infinitas posibilidades, slo limitadas por la imaginacin.
Entre las mltiples ideas curiosas cabe mencionar el estado de los embalses espaoles,
http://franchu.net/2007/05/26/estado-de-los-embalses-espanoles/, cuya creacin est ampliamente detallada en
http://franchu.net/2007/06/02/como-hacer-un-mashup-y-no-morir-en-el-intento/, y que revela que con pocos
conocimientos, algo de habilidad y las fuentes de datos adecuadas se puede generar rpidamente (el autor indica que
apenas le llev un par de minutos) un mashup. Como se aprecia en el listado,
http://best.eis.uva.es/franchu/nivel_embalses/mapa_google.txt, se necesitan menos de un centenar de lneas para crear
esta interesante informacin.
La informacin en castellano comienza a ser abundante, y con descripcin paso a paso de cmo crear un mashups,
como, por ejemplo en http://www.techtear.com/2007/04/22/curso-crea-tu-propio-mashup-con-google-maps-parte-1/, con
detalle de todos los elementos y conocimientos necesarios para iniciar uno. En la pgina
http://www.webmashup.com/Mashup_Examples/index.php pueden encontrarse otros interesantes ejemplos.
Referencias
El nmero de sitios a consultar comienza a ser elevado. Adems de las referencias indicadas con informacin sobre los
APIs y las herramientas, resulta interesante echar un vistazo a las siguientes pginas:

http://mashupawards.com
http://www.webmashup.com
http://www.mashupevent.com
http://www.ibm.com/developerworks/xml/library/x-mashups.html
http://www.mashuptown.com
http://del.icio.us/popular/mashup

Post-scriptum:
CUADRO LISTADO

Google Maps JavaScript API Example

//
function createMarker(coordenadas, nivel, embalse, datos) var iconoVerde = new GIcon(G_DEFAULT_ICON); iconoVerde.image =
\"http://best.eis.uva.es/franchu/nivel_embalses/marker_verde.png\"; var iconoVerdeClaro = new GIcon(G_DEFAULT_ICON); iconoVerdeClaro.image
= \"http://best.eis.uva.es/franchu/nivel_embalses/marker_verde_claro.png\"; var iconoAmarillo = new GIcon(G_DEFAULT_ICON); iconoAmarillo.image
= \"http://best.eis.uva.es/franchu/nivel_embalses/marker_amarillo.png\"; var iconoRojo = new GIcon(G_DEFAULT_ICON); iconoRojo.image =
\"http://best.eis.uva.es/franchu/nivel_embalses/marker_rojo.png\"; if(nivel
var informacion = []; indice = datos.indexOf(\"Agua\"); informacion.push(datos.substring(0, indice)); datos = datos.substring(indice, datos.length);
indice = datos.indexOf(\"Variacion\"); informacion.push(datos.substring(0, indice)); datos = datos.substring(indice, datos.length); indice =

Copyright Editorial MKM. Todos los derechos reservados

Pgina 5/6

Mashups empresariales
datos.indexOf(\"Agua\"); informacion.push(datos.substring(0, indice)); datos = datos.substring(indice, datos.length); indice = datos.indexOf(\"Agua\");
informacion.push(datos.substring(0, indice)); informacion.push(datos.substring(indice, datos.length));
GEvent.addListener(marker, \"click\", function() marker.openInfoWindowHtml(\"
Pantano de \" +embalse + \"
Nivel actual: \"+nivel+\"%
\"+informacion[0]+\"\"+informacion[1]+\"\"+informacion[2]+\"
\"); ); return marker;
function load() if (GBrowserIsCompatible()) var map = new GMap2(document.getElementById(\"map\")); map.addControl(new
GSmallMapControl()); map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(40.2019, -3.1419), 5);
var datos = ; var batch = [];
mgr = new GMarkerManager(map);
var items = datos.value.items;
for (var i = 0; i //alert(items[i].coordenadas); var coordenadas = items[i].coordenadas.split(\",\");
batch.push(createMarker(coordenadas, items[i].nivel, items[i].embalse, items[i].estado)); mgr.addMarkers(batch,2); mgr.refresh();

//]]>
</code>

Copyright Editorial MKM. Todos los derechos reservados

Pgina 6/6

You might also like