Sei sulla pagina 1di 20

Integracin de Sistemas de Informacin

UNIVERSIDAD CARLOS III DE MADRID


MASTER EN INGENIERA INFORMTICA

TRABAJO

CURSO: INTEGRACIN DE SISTEMAS INFORMTICOS

INTEGRANTES:
GILMERT FAUSTINO SILVERA ALARCN
JOS DIOMEDES ARISMENDI GUTIRREZ

MADRID 2014

NDICE GENERAL

NDICE GENERAL ......................................................................................................................... 2


CAPTULO 1 | INTRODUCCIN ....................................................................................................... 4
1.1

RAZON DEL PROYECTO. ........................................................................................ 4

1.2

Limitacin de la Investigacin ................................................................................... 4

1.3

Esquema de Proyecto ................................................................................................ 5


Abreviaturas y definiciones ................................................................................... 5

1.3.1

CAPTULO 2 | OBJETIVO GENERAL Y ESPECFICOS..................................................................... 6


CAPTULO 3. DESARROLLO DE PROYECTO .................................................................................. 6
3.1

Dominio de datos. ....................................................................................................... 6

3.2

Transferencia de Estado Representacional (REST) .............................................. 7

3.3

Fuentes de Recoleccin de Datos ............................................................................ 7

3.3.1

HelpMyCash.com.................................................................................................... 8

3.3.2

Rankia. ..................................................................................................................... 8

CAPTULO 4 | DESCRIPCIN DE LA SOLUCIN ............................................................................. 9


4.1

Funcionalidad .............................................................................................................. 9

4.1.1.1

Proceso de Scraping ............................................................................................ 9

4.1.2

Twitter Stream api. ................................................................................................ 10

4.1.3

Tokenizacin Hadoop .......................................................................................... 11

4.2

Arquitectura ................................................................................................................ 11

4.3

Aplicaciones y Herramientas Utilizadas:................................................................ 12

A.

Hadoop ....................................................................................................................... 12

B.

Java ............................................................................................................................. 12

C.

Lenguaje de Marcas Extensibles (XML) ................................................................ 12

D.

JSON........................................................................................................................... 12

E.

Java Eclipse ............................................................................................................... 13

F.

NetBeans .................................................................................................................... 13

G.

Subversion (SVN) ..................................................................................................... 13

H.

TortoiseSVN ............................................................................................................... 13

I.

Dropbox ...................................................................................................................... 13

J.

Java Development kit ............................................................................................... 14

CAPTULO 5 | PRUEBA DE CONCEPTO ....................................................................................... 14


5.1

Instrucciones de ejecucin ...................................................................................... 14

CAPTULO 6 | CONCLUSIONES Y LNEAS FUTURAS .................................................................... 14

Captulo 1 | Introduccin
Actualmente las personas y empresas necesitan recolectar informacin
de varias fuentes para realizar un anlisis de un problema de cualquier tipo, de
all surge la necesidad de una api que pueda agrupar informacin de varias
fuentes y agruparlas de manera efectiva reduciendo considerablemente el
tiempo invertido en la recoleccin de datos, estos ha evolucionado una grande
demanda de estas aplicaciones en el mercado actual, motivado por la creciente
necesidad de manipular los grandes volmenes de informacin que se encuentra
actualmente disponible en muchos medios accesibles para cual.
Actualmente se dispone de la tecnologa de diseo en programacin para
agrupar dichas informaciones de varias fuentes en una sola, as de esta manera
mejoras los servicios y reducir el tiempo de bsquedas gracias a la integracin
de Sistemas de Informacin, el cual puede ser empleado en procesos tanto
mecnicos como software.

1.1

RAZON DEL PROYECTO.


Debido a la creciente demanda de necesidad de manipular y realizar de

manera efectiva el tratamiento de la informacin que actualmente es imposible


ser manipulada de manera manual de forma ptima y en un tiempo manejable
ya que el volumen de data crece de manera exponencial a cada momento
hacindolo imposible, y para las empresas resulta de vital importancia la
realizacin de aplicaciones que faciliten dicha actividad, ha originado la aparicin
de programas Integracionales que vienen a solventar cada vez ms esta
necesidad, y tomando en cuenta en esto hemos decidido desarrollar una
aplicacin de este mbito.

1.2

Limitacin de la Investigacin
Nuestras Aplicacin se origina de la necesidad de manejar temas

financieros para entornos usuarios y empresariales ya que se podr visualizar la


informacin econmica de manera detallada y resumida de varias fuentes en una
sola interfaz que a travs de mtodos de optimizacin eliminara la data
redundante, para la extraccin se utilizara el mtodo Jsoup de java, y para la
eliminacin de redundancia el Hadoop a travs de la tcnica del MapReduce.

1.3

Esquema de Proyecto
A Continuacin se detalla los puntos a desarrollar en nuestro tema de
investigacin:

Captulos 1 y 2 Introduccin y Objetivos: Presentacin de forma


introductoria la investigacin, y determinado los objetivos planteados

Captulo 3: Desarrollo de Proyecto: Descripcin detallada de los


dominios seleccionados para los estudios, y las funciones empleadas
para obtener los resultados.

Captulo 4: DESCRIPCIN DE LA SOLUCIN: Se centra en la


extraccin de tres fuentes de datos con lo cual se proceder al anlisis.

Captulo 5: PRUEBA DE CONCEPTO Se proceder a la ejecucin de


los aplicativos hechos y verificacin de los datos extrados.

Captulo 6: CONCLUSIONES Y LNEAS FUTURAS: Se tendr un


perspectiva de los aspectos tocados en el presente trabajo, con lo cual
se llegara a las conclusiones pertinentes.

1.3.1 Abreviaturas y definiciones


A continuacin se enumera trminos abreviados en el proyecto y su
definicin:

XML: Lenguaje de Marcas extensibles

POI: Punto de Inters

Api: Interfaz de aplicacin de Programacin.

Json: Acrnimo de java Scrip Object Notation

Jsoup: es un parser java para HTML.

App: Aplicacin Informtica.

Parser: analizador sintctico es una de las partes del compilador

HTML: Lenguaje de Marcas de Hipertexto, lenguaje de elaboracin de


pginas web

URL: Localizador de Recursos Uniforme.

SO: Sistema Operativo

JDK: Kit de Software de Desarrollo.

Captulo 2 | Objetivo General Y Especficos


Desarrollar una herramienta que facilite la recoleccin de informacin de
varias fuentes, para analizar e integrar y as de esa manera proporcionar
informacin detallada y simplificada de un tema especfico.
Teniendo como objetivos especficos:

Aprender sobre el desarrollo de aplicaciones capaces de integrar


informacin.

Crear una referencia en cuanto ayuda de integracin de


informacin.

Captulo 3. Desarrollo de Proyecto


Para la estructuracin del sistema se realiz un anlisis de las
necesidades en cuanto al manejo de informacin econmica y la ayuda
del mismo para el manejo de esta informacin, necesaria al momento de
un proyecto econmico.
De manera esquemtica se hace conocer acerca de cmo se ha
representado el proyecto, los momentos en de desarrollo y cules seran
sus posibles soluciones, as como la investigacin de alguna herramienta
parecida en el mercado.

3.1

Dominio de datos.
En nuestro da a da el manejo de informacin en temas especficos es
vital para el desarrollo de cualquier actividad por ello la necesidad de
establecer dominios de informacin, lo cual es un conjunto de informacin
de diferentes fuentes con una informacin o dato en comn agrupadas
en un solo medio, para ser manipulada de manera fcil y efectiva.

Con

los mtodos virtuales esta informacin que podra tener mucha


informacin redundante es eliminada y asi de esta forma se obtendran la

informacin ms detallada y concisa de varias fuentes, acortando tiempos


de bsqueda y de anlisis.
3.2

Transferencia de Estado Representacional (REST)


Actualmente los sistemas de hipermedia utilizan a como tcnica de
arquitectura de software el REST que no es ms Transferencia de Estado
Representacional (Representational State Transfer), tambin se usa para
describir cualquier interfaz web que emplea XML y HTTP, sin las
contradicciones de los protocolos de intercambio de mensajes dado en el
protocolo SOAP siendo una manera ms fcil de representar, y ms
determinado a los servicios y sus recursos.
Las arquitecturas rest se basan en una serie de reglas que toda aplicacin
que decida seguir sus lineamientos debe cumplir, entre los cuales estn
Arquitectura cliente servidor, estos deben estar bien independientes entre
si lo cual permitir la flexibilidad entre ellos, los Stateless que no es ms
que el servidor no tiene que almacenar datos del cliente para mantener un
estado del mismo, Cacheable en donde el servidor debe cachear las
especificaciones del cliente, Debe contar con un sistema de capas pero el
cliente no debe estar forzado a saber por cual transita sino desplazarse
libremente por ellas, y por ultimo contar con una interfaz uniforme para
simplificar el protocolo y aumentando la escabilidad y rendimiento del
mismo

3.3

Fuentes de Recoleccin de Datos


Para La recopilacin de la data de la aplicacin se tomaron dos fuentes
importante s en el mbito econmico financiero como es www.Rankia.com

que es una comunidad financiera y la Pgina www.Helpmycash.com que


tambin recaba informacin de tipo financiera dada por clientes y
comentada por ellos mismos.
Utilizando herramientas de recopilacin de informacin como la es jsoup
de java se pudo recolectar la data necesaria o requerida que
principalmente es la comentada por los usuarios de las pginas para
poder analizarla por el metodo de hadoop por la tcnica de mapreduce.
A continuacin se describirn las diversas fuentes empleadas:

3.3.1 HelpMyCash.com
En esta pgina se engloban todas las posibles inversiones o informacin
de tipo econmica requerida desde entidades financieras tipos de
inversin y otros.

3.3.2

Rankia.
Esta es una Comunidad de usuarios interesados en el mundo de la
finanzas, la bolsa, la banca y los brokers online en donde se valoran y
opinan sobre cada producto, aqu se va a optener la informacion de
usuario requerida para ser relacionada con los de la otra fuente.

3.3.3 Twitter.
Twitter es una aplicacin web gratuita de microblogging que rene las
ventajas de los blogs, las redes sociales y la mensajera instantnea. Esta
nueva forma de comunicacin, permite a sus usuarios estar en contacto

en tiempo real con personas de su inters a travs de mensajes breves


de texto a los que se denominan Updates (actualizaciones) o Tweets, por
medio de una sencilla pregunta: Qu ests haciendo?.

Captulo 4 | Descripcin de la Solucin


4.1

Funcionalidad
La funcionalidad de la integracin, se puede decir que se ha estructurado
mediante dos grandes mdulos de integracin, los cuales servirn de
ayuda para la gestin de peticiones y muestra de resultados.

4.1.1.1

Proceso de Scraping

Screen scraping es el nombre en ingls de una tcnica de programacin


que consiste en tomar una presentacin de una informacin (normalmente
texto, aunque puede incluir informacin grfica) para, mediante ingeniera
inversa, extraer los datos que dieron lugar a esa presentacin.

4.1.2 Twitter Stream api.


El conjunto de API de streaming que ofrece Twitter ofrece a los
desarrolladores acceso de baja latencia a la corriente mundial de
Twitter Tweet de datos. Una correcta aplicacin de un cliente de
streaming ser empujado mensajes que indican Tweets y se han
producido otros hechos, sin ninguna de la sobrecarga asociada a
votacin un punto final REST.
Ingresamos la informacin de inters.
Observar los comentarios obtenidos de la consulta enviada
Nos devuelve la bsqueda filtrada con la informacin de
inters.

Search API
La API de bsqueda est diseada con el objetivo de permitir al usuario
realizar consultas sobre el contenido de Twitter, esto incluye desde la
bsqueda de tweets aplicando diversos filtros (bsqueda de palabras
clave, tweets pertenecientes a un usuario, tweets que hagan referencia a
un usuario especfico, en funcin del idioma, en funcin de la ubicacin,
etc.). Tambin proporciona acceso a las tendencias del momento. El
contenido al que se tiene acceso mediante la API de bsqueda tiene una
limitacin temporal de 50 Twittes cada 15 Minutos.

4.1.3 Tokenizacin Hadoop


Una vez extrada toda la informacin de los comentarios sobre un punto
de inters que el usuario haya seleccionado, la aplicacin de guarda en
ficheros predeterminados en formato Txt, para que este sea enviado a
Hadoop para su anlisis.

4.2

Arquitectura
El modelovistacontrolador (MVC) es un patrn de arquitectura de
software que separa los datos y la lgica de negocio de una aplicacin de
la interfaz de usuario y el mdulo encargado de gestionar los eventos y
las comunicaciones. Para ello MVC propone la construccin de
tres componentes distintos que son el modelo, la vista y el controlador, es
decir, por un lado define componentes para la representacin de la
informacin, y por otro lado para la interaccin del usuario.1 2 Este patrn
de arquitectura de software se basa en las ideas de reutilizacin de
cdigo y la separacin de conceptos, caractersticas que buscan facilitar
la tarea de desarrollo de aplicaciones y su posterior mantenimiento

4.3 Aplicaciones y Herramientas Utilizadas:


A. Hadoop
Es un framework de software que soporta aplicaciones distribuidas que
funcionen en licencia de tipo abierta, permite trabajar con miles de nodos
de petabytes de datos este fue inspirado en los documentos de google
para mapreduce y (Gfs) google file system.

B. Java
Este es un lenguaje de programacin y una plataforma informtica que es
comercializada por Sun Microsystems, esta plataforma es rpida, seguro
y fiable, lo cual la convierte en una opcin favorita entre usuarios y
programadores

el

cual

puede

ser

implementado

desde

sper

computadoras hasta telfonos mviles, sin dejar a un lado el internet, y al


ser una opcin gratuita la hace la opcin idnea.
C. Lenguaje de Marcas Extensibles (XML)
De su siglas en ingles Extensible Markup Lenguaje, es el lenguaje de
marcas de desarrollado por la World wide Web Consortium, el cual es
usada para el almacenamiento de datos manera legible.

Este formado

es el ms utilizado en cuanto se debe comunicar entre aplicaciones e


integrar informacin.

En nuestro caso el formato de la mayora de los

foros est diseado bajo estar reglas lo cual representa nuestra principal
va de extraccin de informacin ya que los datos son etiquetados para su
manejo y distribucin.
D. JSON
Este es el acrnimo de JavaScript Object, el cual constituye un formato
ligero que se utiliza en el intercambio de datos, el cual est compuesto
por un subconjunto de notaciones de los objetos del JavaScript que hace
no necesario el uso del formato XML. Una de las ventajas de este sobre
XML es que su lenguaje de intercambio de datos es mucho ms fcil de
programar un analizador sintctico de JSON.

E. Java Eclipse
Es un sistema de programacin con una serie de herramientas de cdigo
abierto multiplataforma, que se utiliza para desarrollar aplicaciones de
cliente enriquecido opuesto a las aplicaciones de cliente liviano basadas
en navegadores.
F. NetBeans
Es un ambiente de desarrollo libre, realizado principalmente para el
lenguaje de programacin de java, este proyecto tiene un gran xito
teniendo una gran cantidad de usuarios formando una comunidad de
crecimiento sostenido. Esta plataforma permite que las aplicaciones sean
desarrolladas bajo un conjunto de mdulos y cada mdulo es un archivo
java el cual contiene clases javas, desarrolladas para interactuar con las
apis de netbeans y un archivo especial que identificado como modulo.
G. Subversion (SVN)
Es una herramienta de control de versiones de lenguaje abierto basados
en un deposito centralizado de informacin en forma de un sistema de
ficheros, trabaja en licencia libre de tipo Apache/BSD.
H. TortoiseSVN
Este es un cliente Subversin, el cual es usado como extensin de Shell
de Windows, este es un software libre de fuente abierta que trabaja bajo
la licencia GNU GPL. Con este se consigue la integracin de comandos
de Windows, utilizado habitualmente en el mundo de la programacin,
estando disponible en 28 idiomas diferentes, y se encarga del manejo de
la muestra de diferencias entre documentos de office como los creados
en Word.

I. Dropbox
Es un sistema de almacenamiento online con sincronizacin cuya
principal caracterstica es su explorador de archivos, por medio el cual
podemos acceder a nuestros ficheros almacenados en el servidor de
dropbox como si fuera una unidad ms de nuestro computador.

Siendo la herramienta principal para almacenar y compartir la


informacin necesaria para el desarrollo del proyecto.

J. Java Development kit


Es el software que est provisto de la herramienta de programacin o
desarrollo para el diseo de aplicaciones en Java, pueden funcionar de
forma local o remota. Este kit proporciona un conjunto de libreras que
permiten la interactuacin del cdigo generado para nuestra aplicacin
con el sistema operativo, para la cual fue Utilizada en su ltima versin.

Captulo 5 | Prueba de Concepto

5.1

Instrucciones de ejecucin
Para la ejecucin del sistema de integracin de datos, y verlo en detalle la
funcionalidad, se realiz un pequeo manual de la mquina virtual a
entregar con todos los procesos a utilizar; en el anexo de este documento.

Captulo 6 | Conclusiones y Lneas Futuras

Cada da se genera informacin de todos los tipos, y estas son


almacenadas utilizando recurso informticos, pero llegamos a la gran
pregunta, si se tiene la gran diversidad de informacin estas son utilizadas
y procesadas, con qu fin y para qu; ya vimos a los largo de este
documento herramientas para poder extraer y a su vez procesarlas, para
una toma de decisiones correctas, claro ests de acuerdo al objetivo de
nuestra extraccin. La utilizacin de Hadoop es una herramienta la cual
nos permite hacer un MapReduce, y procesarla toda la informacin en un
tiempo reducido; esta nos da una gran ventaja ya que se procesa una gran
informacin en un tempo pequeo.

Anexo
MANUAL DE USUARIO

1. Iniciacin de la Mquina virtual:


Para iniciar la mquina virtual con el sistema Ubuntu 14.01

Paso N 2: Clic en Iniciar

Paso N 1: Seleccionar la
Maquina Virtual a Ejecutar:

2. Iniciar con el Usuario HDUSER.

Paso N 3: Seleccionar el
usuario HDUSER, ingresar la
clave: softsil

3. Ejecutar el Programa NetsBeans.

Paso N 4: Seleccionar el programa


NetsBeans y hacemos clic sobre el
icono.

4. Iniciar el APLICATIVO:

Paso N 6: Hacer
Clic en el botn
ejecutar
Paso N 5:
Seleccionar la
clase Main con
doble click

5. Uso del aplicativo.

Nota: el paso 9 y 10 se puede hacer las veces que


Ud. Cree conveniente para extraer mas Twitts, salo
tendr que cambien el tema para que no repita los
twitts
Paso N9:
Ingresar el tema a
extraer de Twitter

Paso N 7:
Hacer Clic en el
botn, para
extraer datos de
la primera
fuente, y
esperar a que
nos muestre el
resultado

Paso N8: Hacer


Clic en el
botn, para
extraer datos de
la segunda
fuente, y
esperar a que
nos muestre el
resultado

Paso N10:
Hacer clic en el
botn, para hacer
la consulta a
twitter, esperar a
que nos muestre
los resultados

Paso N11: clic en el botopn para: una vez extrada la informacin necesaria para el
procesamiento en Hadoop, se procede a ingresarlos en el fichero que hadoop utilizar para el
MApReduce.

6. Ejecutar Hadoop.
Abrir terminal.

Paso N12: Para iniciar Hadoop escribir el siguiente


comando (start-all.sh)

Paso N13: Una vez iniciado Hadoop ingresar los comando siguientes: (cd
/usr/local) y presionar enter.
YA ubicados en la carpeta local ingresar el siguiente comando: (hadoop jar
/home/hduser/workspace/hadoopdistributed.jar input output). Y presionar enter

Paso N11: clic en el


icono para lanzar un
terminal.

7. Visualizacin de datos MapReduce:


Ingresar a la carpeta Output.

Paso N14: clic en el icono y navegar al siguiente directorio:


Carpeta Personal; workspace, Instegracion-UC3M, output, output.
Y ejecutar el archivo part.

Potrebbero piacerti anche