Añadir un JAR a nuestro ClassLoader dinámicamente

Para agregar nuevas rutas estáticas al classpath podemos:

· Agregar la opción –cp seguido de las librerías que deseamos incluir (separadas por “;”) al ejecutar el comando java:

>java -cp unJar.jar;otroJar.jar;unDirectorio/ claseInicial

· Incluir el nombre de las librerías en el manifiesto del archivo (MANIFEST.MF) bajo la propiedad “Class-Path”, separando cada clase por espacio:

>Class-Path: unJar.jar otroJar.jar unDirectorio/

Pero si queremos agregar nuevas rutas en tiempo de ejecución debemos usar el ClassLoader:

URLClassLoader classLoader = ((URLClassLoader) ClassLoader.getSystemClassLoader());

Method metodoAdd = URLClassLoader.class.getDeclaredMethod("addURL", new Class[] { URL.class });

metodoAdd.setAccessible(true);

// La URL del jar que queremos anadir

URL url = new URL("file:///C:/Users/lib/mysql-connector-java-5.1.6.jar");

// Se invoca al metodo addURL pasando esa url del jar

metodoAdd.invoke(classLoader, new Object[] { url });

Un ejemplo completo:

Big Data y Smart Cities

Continuando con el post sobre campos de aplicación de Big Data.

Uno de los ámbitos donde mayor aplicabilidad tiene Big Data es en la aplicación del gobierno de las ciudades: las Smart Cities, debido a la gran cantidad de datos generados desde múltiples fuentes y con diferentes estructuras, así como a las complejas necesidades de gestión e interacción.

En 2007, por primera vez en la historia, más de la mitad de la población mundial vivía en las ciudades y para el año 2050 se espera que el porcentaje se incremente hasta el 70%, según datos del Programa de la ONU para el medioambiente. La población y las necesidades en las ciudades están en continuo crecimiento y la gestión municipal se desarrolla en un entorno cada vez más complejo. Se hace necesaria, pues, una evolución en la gestión de los servicios municipales hacia un modelo óptimo, eficiente y sostenible.

El resultado de esta evolución son las ciudades inteligentes (Smart Cities) mediante las cuales se dota de inteligencia a las infraestructuras, la información y los servicios públicos, al tiempo que se potencia la colaboración entre los diferentes agentes implicados en el entorno municipal.

De esta manera, la implementación de una Smart City puede quedar estructurada mediante el siguiente modelo funcional:

1. Las infraestructuras inteligentes, formadas principalmente por los dispositivos terminales de monitorización/operación y las redes de comunicaciones.

2. La información inteligente, basada en plataformas de gestión que incluye los sistemas de información, bases de datos “OpenData” y conectores Big Data para su maximización de valor.

3. Los servicios inteligentes, creados, actualizados y administrados mediante plataformas de desarrollo inteligentes incorporadas en el gobierno integral de la ciudad.

4. La colaboración inteligente, como elemento transversal básico para rentabilizar el potencial de Smart City para los diferentes agentes implicados.

El potencial de Big Data en la implantación de Smart Cities, reside en el gran volumen de información proveniente de los dispositivos distribuidos en la ciudad, que continuamente están proporcionando datos en distintos formatos y por diferentes canales, al tiempo que son accedidos, compartidos o modificados por usuarios u otras aplicaciones. Así mismo, Big Data facilita una gestión homogénea de la información independientemente del tipo de servicio y/o valor y de su ubicuidad, ya sea en concentrada en CPDs o bien distribuida en cloud computing.

Leer más

Campos de aplicación de Big Data

Big data sirve para referirse en TI al tratamiento y análisis de enormes repositorios de datos (tanto que no puede tratarse con las herramientas de base de datos y análisis tradicionales).

La exigencia tecnológica de un Big Data es alta dado el gran volumen de información, la velocidad de evolución y volatilidad de ésta y la complejidad al combinar gran variedad de tipologías de datos no estructurados.

Las principales plataformas Big Data incluyen aplicaciones de Búsqueda y exploración de datos (data discovery), organización de la información, procedimientos de inteligencia y establecimiento de reglas de operación, conectores con aplicaciones comerciales, herramientas de análisis y capas de presentación.

La capacidad de gestionar y analizar de forma eficiente enormes volúmenes de datos de fuentes heterogéneas, pone en valor la ventaja competitiva y diferencial de Big Data, lo que hace que los campos de aplicación sean muy diversos:

· Gobierno y toma de decisiones: Big Data ofrece una mejora y optimización en los procesos de gobernanza de empresas y gobiernos, permitiendo entre muchas otras, el soporte a la toma decisiones, siendo

complementario a las plataformas de “Business Intelligence” (BI). Gigantes como Facebook, Google, Amazon, Twitter o eBay basan sus decisiones empresariales en los datos que obtienen. Por su parte, la implantación de la e-administración es un ejemplo del beneficio que aporta la utilización de un Big Data en la Administración Pública.

· CRM: La gestión de la relación de una empresa con sus clientes suele implicar la gestión de data wharehouse y la interrelación de diversidad de datos (comercial, operaciones, marketing,…), diversos canales (web, redes sociales, correo,…) y formatos. Big Data facilita las operaciones de análisis y seguimiento, favoreciendo la fidelidad y descubrimiento de nuevos mercados.

· Internet 2.0 genera una gran multitud de datos que difícilmente se podrían gestionar sin un Big Data. Las redes sociales cada vez se extienden a más ámbitos de nuestra sociedad. El “blogging” de Tumblr4 , con más de 15 billones de visitas mensuales, es una de las plataformas de “bloggins” más usada y cuenta con la solución tecnológica “HBase” de Apache.

· Investigación médica: Caso particular del anterior, la investigación médica puede mejorar muchísimo si es capaz de asimilar una enorme cantidad de datos (monitorización, historiales, tratamientos, etc.) y estructurarlos para el establecimiento de diagnósticos o la síntesis de medicamentos.

· Logística: El sector logístico mejora notablemente gracias a las posibilidades analíticas de un Big Data y su potencial para el despliegue de servicios específicos (movilidad, tracking, seguridad, etc.). El ejemplo más popular se encuentra en el control de flotas (la ruta óptima permite a los vehículos circular con la máxima capacidad de carga, pudiendo recorrer rutas mejorando tiempos, consumos y contaminación).

· Seguridad: Su potencial reside en la capacidad de análisis de volúmenes de datos antes impensable de una manera óptima y ágil. Existen, por ejemplo, modelos de análisis del comportamiento humano para prevenir atentados terroristas obtenidos mediante un análisis permanente de las cámaras y sensores de seguridad de áreas de especial interés, vinculado con otras fuentes de información no estructurada como pueden ser las redes sociales .

· La capacidad de gestionar y analizar de forma eficiente enormes volúmenes de datos de fuentes heterogéneas, pone en valor la ventaja competitiva y diferencial de Big Data, lo que hace que los campos de aplicación sean muy diversos:

· Smart City: la gestión de los servicios públicos de una ciudad tiene un gran potencial de optimización mediante su digitalización y automatización de sus operaciones. No obstante, este proceso viene condicionado por las características de la información inherente: grandes volúmenes de datos, procedentes de múltiples canales (sensores, cámaras, redes sociales, smartphones,….) y sin estructuración previa. En este ámbito, Big Data merece una atención especial. Así mismo, tan importante puede llegar a ser el valor actual (online) como el histórico acumulado para la obtención de conclusiones.