Revista de Tecnología

Page 1


Journal of Technology Bogotá D.C., Colombia • revista@unbosque.edu.co • Volumen 7 Número 1 • Enero a junio de 2008 • ISSN 1692-1399

OBJETIVOS Y ALCANCE: La REVISTA DE TECNOLOGÍA - JOURNAL OF TECHNOLOGY es una publicación que actúa como foro de investigaciones sobre las tecnologías de información, las interrelaciones de la tecnología informática con las organizaciones y con las prácticas y políticas de gestión. La REVISTA DE TECNOLOGÍA - JOURNAL OF TECHNOLOGY convoca a un amplio rango de análisis sobre estas interrelaciones y los cuestionamientos críticos sobre ellas desde la Medicina, Filosofía, Antropología, Derecho, Auditoría, Psicología, Sociología, Trabajo Social y otras ciencias sociales y exactas, incluyendo investigaciones y estudios teóricos, empíricos, analíticos e interpretativos. Su objetivo principal es acerca de las tecnologías de información, sus fundamentos teóricos, su práctica, evaluación y la exploración y comprensión de la relación de la tecnología informática con otras disciplinas incluyendo, pero sin restringirse a, la Medicina, la Gestión (Management), Matemáticas, Física, Filosofía, Antropología, Derecho, Auditoría, Psicología, Sociología y Trabajo Social, analizando el impacto de la tecnología informática sobre la ética, los derechos individuales, la transferencia de tecnología informática a las organizaciones y sobre los conceptos cambiantes de la gestión, la auditoría, el bienestar de las personas y la viabilidad de las organizaciones. La REVISTA DE TECNOLOGÍA - JOURNAL OF TECHNOLOGY viene a mejorar las comunicaciones entre la Universidad, las Organizaciones en general y las Empresas en particular. La tecnología informática moldea y es moldeada por, afecta y es afectada por aspectos económicos, políticos y sociales de las organizaciones en los sectores financiero, de servicios, educación, salud e industrial de origen privado o gubernamental. A su turno, las organizaciones experimentan el reto de la globalización, el fenómeno de la transmundialización y la necesidad de estandarizar para responder la demanda del mercado y a la vez adicionar características de diferenciación para ser competitivas. © Todos los derechos reservados. Se requiere permiso para reproducir, almacenar en un sistema de recuperación en cualquier forma o por cualquier medio, electrónico, mecánico, fotocopiado, grabado o por cualquier forma de todo o parte de esta Revista de Tecnología. Contáctenos para atender cualquier inquietud: Universidad El Bosque - Facultad de Ingeniería de Sistemas, Carrera 7 B Bis 132-11 Edificio El Campito, Bogotá D.C., Colombia. e-mail: revista@unbosque.edu.co. SUSCRIPCIONES Y PUBLICIDAD: La REVISTA DE TECNOLOGÍA - JOURNAL OF TECHNOLOGY ISSN 1692-1399 lo invita a dirigir sus órdenes publicitarias al correo electrónico orlandolopez@unbosque.edu.co o a la siguiente dirección geográfica: Orlando López - Facultad de Ingeniería de Sistemas, Carrera 7 B Bis 132-11 Edificio El Campito, Bogotá D.C., Colombia. Aunque todos los anuncios y demás contenidos de la revista dicen estar conforme a estándares éticos, por su inclusión en esta publicación, el anunciante declara que la responsabilidad por perjuicios o daños a personas o propiedades como resultado de la calidad o fiabilidad de los productos, la negligencia u otra forma, cualquier uso u operación de los métodos, productos, instrucciones o ideas contenidas en el material corresponde enteramente a su responsabilidad. Las suscripciones corporativas, educativas e individuales son siempre bienvenidas. Las suscripciones pueden ser realizadas al correo electrónico orlandolopez@unbosque.edu.co o a la siguiente dirección geográfica: Orlando López - Facultad de Ingeniería de Sistemas, Carrera 7 B Bis 132-11 Edificio El Campito, Bogotá D.C., Colombia. Vía fax al número (57 1) 625 2030. Dentro de Colombia también puede hacerlo vía telefónica al (57 1) 520 4018.


AIMS AND SCOPE REVISTA DE TECNOLOGÍA - JOURNAL OF TECHNOLOGY is a journal offering a forum for research on information technologies, the interrelationship between information technologies, organisations and management practices and policies. REVISTA DE TECNOLOGÍA - JOURNAL OF TECHNOLOGY invites a broad range of analyses of these interrelations as well as critical questioning of them from such a knowledge fields as Medicine, Philosophy, Anthropology, Law, Auditing, Psychology, Sociology, Social Work and any other social or exact sciences, including theoretical, empirical, analytical and interpretative studies and action research. Its special concern is on information technologies, its theoretical foundation, practice, assessment, exploring and understanding the relationship between information technology to other disciplines including, but not limited to, medicine, management, Mathematics, Physics, Philosophy, Anthropology, Law, Auditing, Psychology, Sociology, Social Work, analyzing the impacts of information technologies on ethics, individual rights, technology transfer into organisations and changing concepts on management, auditing, people well-being and organisations viabilityy. REVISTA DE TECNOLOGÍA - JOURNAL OF TECHNOLOGY comes to improve communications between University, organisations in general and business in particular. Information technology shapes and is shaped by, affects and is affected by economic, political and social affairs across organisations in fi nancial, service, education, health and industrial sectors either of private or governmental origin. In turn, organisations are being challenged by globalization, the trans-world phenomena and the need to be standardized to attend the demand from the market and, at the same time, to add differential characteristics to be competitive. © All rights reserved. Permission of the publisher is required to reproduce, store in a retrieval system in any form or by any means, electronic, mechanical, photocopying, recording or otherwise of all or any part of this Journal of Technology. Contact the publisher for any request El Bosque University Information Systems Engineering Faculty, Carrera 7 B Bis 132-11 Edificio El Campito, Bogotá D.C., Colombia, e-mail: revista@unbosque.edu.co. SUBSCRIPTIONS AND ADVERTISING REVISTA DE TECNOLOGÍA - JOURNAL OF TECHNOLOGY ISSN 1692-1399 is published on a semester basis by El Bosque University. Please direct inquiries regarding the placing of advertising in this journal to Orlando López, El Bosque University Information Systems Engineering Faculty Carrera 7 B Bis 132-11, Bogotá, Colombia. Phone (57 1) 520 4018. e-mail: revista@unbosque.edu.co. Both Institutional and individual subscriptions are welcome. Inside Colombia by phone call, outside Colombia besides phone call fax (57 1)625 20 30 or e-mail revista@unbosque.edu.co. Although all advertising and further contents is expected to conform to ethical standards, inclusion in this publication does not constitute a guarantee or endorsement of the quality or value of such productd or the claims made of it by its manufacturer. No responsibility is assumed by the Publisher for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or form any use or operation of any methods, products, instructions or ideas contained in the material herein.

© De cada texto su Autor. © 2008 Universidad El Bosque Ediciones El Bosque • Carrera 7 B Bis 132-11 PBX: 6331368 - 6331320 Fax: 6252030. Facultad de Ingeniería de Sistemas Tel.: 5204018 Página Web: www.sistemasunbosque.edu.co Vínculo: Revista. e-mail: revista@sistemasunbosque.edu.co Bogotá, D.C., Colombia. ISSN 1692-1399 Diseño de Portada: Centro de Diseño y Comunicaciones• Universidad El Bosque. Diagramación: Centro de Diseño y Comunicaciones• Universidad El Bosque. PBX: 6489000 Ext.: 311-322 Impresión: Bogotá D.C., Colombia Junio de 2008 Portada: “Imagen del Chip Intel 4004, diseñado por Ted Hoff, Federico Fagginy y Masatoshi Shima. Salió al mercado en el año de 1971 y era capaz de ejecutar 60.000 instrucciones por segundo. Puede decirse que es el antecesor de la base de toda la microcomputación moderna.


Contenido Editorial Presentación - Comprometidos o solamente Implicados

5

INVESTIGACIONES CIENTÍFICAS Y TECNOLÓGICAS Módulo de Aprendizaje Virtual de Apache para el proyecto EVA R-Grid.

7

Daniel Burbano, iovanna Sabogal, Andrea Prado, Mauricio Pertuz.

Diseño de un módulo para el control de iluminación de un hardware domótico a través de un teléfono celular en un ambiente distribuido.

13

Carlos Fernando Varela Pérez, Julián Augusto Bojacá Medina, Angela Viviana Ramírez Acevedo.

Software Basado en arquitectura de Java EE y estándar SOAP para la validación en línea de listas de sancionados.

21

Javier Augusto Rodríguez, Johanna González Moreno, Tatiana Murillas Herrera.

Optimización del motor de ejecución de PROGLAB e implementación de un icono del lenguaje para hacer iteraciones.

27

Alejandro León Mora, Néstor Gonzalo Martínez Sarmiento, Oscar Eduardo Torres Valbuena.

“PODOSOFT” Software para el análisis de malformaciones en el pie.

35

Efraín Patiño B., Luís Iván Suárez Manrique.

Diseño e implementación de un portal WAP para consultar la ubicación de clínicas.

43

Carlos Fernando Varela Pérez, Diana Isabel Munar Guerrero.

MQOP - A Tiny Reference to the Multiple-Query Optimization Problem.

49

Juan Felipe García.

REPORTES DE CASO Reconocimiento y Validación de huellas dactilares utilizando una Red Neuronal.

55

Juan Carlos Santamaría Olivares.

Help-Desk para el mantenimiento preventivo en Maquinaria Pesada.

61

Yolanda Hernández Ávila.

Modelamiento e implementación de un software simulador de evacuaciones de emergencia por medio de una solución gráfica.

67

Mauricio Alejandro Jiménez Escobedo.

Herramienta Web para el seguimiento y control del proceso de promoción y captación de estudiantes.

77

Fabio Enrique Polo Hurtado.

Implementación de una aplicación móvil para consulta de notas en la Universidad El Bosque.

83

Carlos Fernando Varela Pérez, Rafael Ricardo Moros, David Rodríguez Saavedra.

Herramienta Web para control de calidad en una organización, utilizando PHP, AJAX y MySQL.

89

Liliana Buitrago Barreto, Julián David Acevedo Romero, Davis Stiven Forero Vega.

BPM y BPEL como herramientas de Administración de Procesos de Negocio.

97

Alejandro León Mora, Sandra Bibiana Zárate Zárate.

Sistemas de Gestión Hotelero con base en Sistemas de Gestión del Conocimiento. Jairo Jamith Palacios Rozo, Adriana Mora Yanquén, katherin Lucero Wintaco, Carlos Andrés Muñoz Uscategui, Héctor Arvey Melo Pineda, Oscar Andrés Ocampo Cortés.

NOTA DE RESPONSABILIDAD La Revista de Tecnología de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque, es una publicación abierta a todas las opiniones e intereses académicos. En ese sentido, la responsabilidad sobre los contenidos del material presentado es de responsabilidad exclusiva de sus autores.

103


INVITACIÓN A ESCRIBIR ARTÍCULOS Desde esta sección la REVISTA DE TECNOLOGÍA JOURNAL OF TECHNOLOGY hace un llamado a la comunidad a escribir artículos a ser publicados en siguientes números. Una forma de desarrollo de nuestras profesiones es la publicación de documentos que reportan nuestras actividades en algún campo. Son aceptados artículos correspondientes a investigaciones originales e inéditas, revisión de artículos y de productos de software y hardware. Casos de estudio con su soporte teórico, ensayos y artículos en tópicos t é cnicos, p e dagóg icos, ac adém icos, administrativo y, en general, material de importancia para el desarrollo de las Ciencias de la Computación y de su interrelación con otras áreas del conocimiento. Los artículos deben ser enviados a la dirección e-mail: revista@sistemasunbosque.edu.co. En el asunto (subject) del mensaje indicar «Artículo para publicar» y como anexo un a rchivo en Microsoft Word, con la s sig uientes características: Los márgenes superior, inferior e izquierdo de 4 cm. El márgen derecho de 3cm. Preferiblemente tipo de letra Arial tamaño 12. Párrafos con interlineado 1.5. En caso de contener gráficos o imágenes, estas deben -además de estar incrustadas en el texto- venir en un archivo aparte anexo. En general, las publicaciones son temas de interés e investigación de los autores, de aspectos de su trabajo o campo de investigación. Se recomienda a los autores acompañar sus archivos con una carta de presentación donde manifiestan que no están considerando publicar el documento en otra revista y cediendo los derechos de autor. Se confirmará recibo de los archivos por el mismo medio. El envío de un manuscrito no obliga a la revista ni la compromete a la publicación. El archivo debe contener las siguientes partes. 1. TÍTULO: Se sugiere un título breve pero a la vez descriptivo. 2. AUTOR: Indicar nombre, apellido. 3. RESUMEN en castellano y ABSTRACT en inglés: en el que en un párrafo (máximo 2 párrafos o 150 palabras) se resume el tema del artículo, se presenta el punto de partida, el punto de finalización (de la investigación, experimento o ejercicio) y una lista de los medios utiliza dos (Tipos de laboratorio, ubicación geográfica, entre otros) cuando aplique. 4. PALABRAS CLAVE: Corresponde a los conceptos clave, llaves de búsqueda que permiten clasificar en forma automática los contenidos del artículo, no más de cinco por favor.

4

5. INTRODUCCIÓN: Debe contener los aspectos que motivaron la investigación, los métodos utilizados, el objetivo de la investigación y una breve reseña de los resultados obtenidos. 6. DESARROLLO TEMÁTICO: Es uno o más subtítulos que describen el método utilizado, las referencias a los productos de hardware y software utilizados, el marco teórico, los resultados obtenidos y las restricciones que existieron dentro del tema desarrollado. A partir del título de la Introducción, todos los títulos deben ir numerados consecutivamente en formato arábigo. Si aparecen referencias a las fuentes, estas deben ir en forma consecutiva entre paréntesis cuadrados. Si usa imágenes o fotografías por favor incluir el nombre y la fuente. 7. DISCUSIÓN/CONCLUSIÓN: En esta sección se confrontan los resultados con el marco teórico para establecer coincidencias, diferencias y aspectos sin resolver. En esta sección deben aparecer los puntos que pueden generar nuevas actividades de investigación. Una vez planteada la discusión, enuncie las conclusiones deriva das de las observaciones. Señale las perspectivas futuras que el tema permita explorar en futuras investigaciones. 8. REFERENCIAS: Corresponde a las referencias a libros, publicaciones periódicas e incluso URLs de instituciones en la Web. En este último caso es importante señalar URLs correspondientes a entidades cuya permanencia permita la recuperación de la referencia. La lista debe estar ordenada en forma lexicográfica por autor y precedida de un número arábigo que las enumera a partir del número 1. Este es el número que se anotará como referencia dentro del texto. En esta lista deben aparecer relacionados solamente documentos que hayan sido referenciados dentro del texto del artículo. 9. PRESENTACIÓN DEL AUTOR: En pocas palabras indicar su posición académica, institución a la que está vinculado, profesión, intereses e indicar si ha recibido financiación para realización del trabajo del que se presenta el informe. Para obtener una plantilla con el formato para escribir artículos consulte la página web: www.sistemasunbosque.edu.co, link: revista, link: formato de artículos.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 5-6

Editorial Presentación Desde el pasado mes de abril de 2.008 dirige la Facultad de Ingeniería de Sistemas de la Universidad El Bosque, en calidad de decano, el Dr. William Hernando López Zuleta. Profesional de la Informática con sólida e integral formación académica, con extensa experiencia empresarial en tecnologías de la información y una visión empresarial para la academia.

Orlando López Cruz

Las organizaciones en general y las manifestaciones de la existencia y actuaciones de las organizaciones, como es el caso particular de la Revista de Tecnología de la Universidad El Bosque, se rigen por las decisiones de las personas que las dirigen. Por esto, no puede ser más oportuna la invitación que se le hace al nuevo decano de la Facultad de Ingeniería de Sistemas para preparar la editorial de este número, con el cual comenzamos el volumen 7 de una publicación académica de periodicidad semestral que sin interrupción se lanza al mercado desde el segundo semestre del año 2.002. Bienvenido Señor Decano. Orlando López Editor

Comprometidos o Solamente Implicados Editorialista: William Hernando López Zuleta Decano de la Facultad de Ingeniería de Sistemas Universidad El Bosque En este mi primer editorial como decano de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque; quiero invitarlos no sólo a que conozcan seis de nuestros principales proyectos de investigación desarrollados en los últimos meses, dos artículos de investigación científica recibidos de investigadores otras universidades y siete artículos producidos desde nuestra Facultad, sino también darles a conocer algunos aspectos de la visión académica y empresarial que estamos definiendo en nuestra Facultad para los próximos años, la cual se basa en un modelo educativo marcado por la excelencia y la contribución para mejorar la calidad de vida en nuestra sociedad. En mi larga trayectoria en el campo de las Tecnologías de la Información aplicado durante más de 23 años en el área empresarial he podido determinar cuáles son algunas de las dificultades con las que el estudiante recién egresado puede enfrentarse: desorientación laboral, conciencia de lo que se pudo aprender y no se aprendió, conciencia de la competencia por alcanzar una posición laboral, expectativas de obtener mayores ingresos, dificultades de comunicarse en otro idioma, necesidad de tener claro un plan de desarrollo personal, familiar y profesional para los años siguientes, entre otras, pero todas estas dificultades podrían ser evitadas a tiempo si contáramos con un modelo más efectivo de revisión y ajuste donde los empresarios y los académicos jugamos un papel fundamental. Por otra parte, considero que en la elaboración y ejecución de un proyecto educativo se requieren factores como la excelencia académica, el reconocimiento nacional e internacional, la actitud empresarial y el análisis de programas académicos complementarios que una vez aplicados fortalecerán una sociedad de egresados que garantice un desarrollo sostenible. Es importante también reiterar que el escenario al que se enfrenta el

5


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 5-6

egresado se ve condicionado por aspectos integradores que serán evaluados por variables de desarrollo económico e indicadores de desempleo. Nuestro país al igual que el mundo entero presenta cambios sociales y culturales lo que exige una interdependencia entre los diferentes países, culturas y regiones del mundo, es por ello que el compromiso y el trabajo en equipo se convierten en el eje motor de todo proyecto. Uno de los objetivos será entonces buscar entre todos alternativas académicas en las que el alumno , profesor, directivos, gobierno y empresa coparticipen de manera activa a través del desarrollo de proyectos sobresalientes que permitan seguir consolidando una Facultad líder dentro del ámbito universitario, reconocida por sus logros, profesionales triunfadores, docentes reconocidos, proyectos de grado de talla mundial con reconocimiento nacional. Con respecto a nuestra revista o futuras publicaciones las expectativas deben estar enfocadas a que en cada número las cantidades impresas se agoten y lleguen a cientos de clientes con quienes tenemos el compromiso de llevar una lectura agradable, efectiva y multiplicadora de beneficios, me refiero a padres de familia, estudiantes, investigadores, directivos empresariales, entidades patrocinadoras de la investigación en nuestro país y medios de comunicación públicos y privados. Finalmente quiero referirme a una metáfora que emplearé como recurso para dar a conocer la diferencia entre estos dos conceptos: comprometidos e implicados… 'En la preparación de unos huevos con tocino participaron dos animales la gallina y el cerdo, pero quién fue el comprometido y quién se vio implicado. La gallina participó con su huevo pero seguramente seguirá con su biológica rutina y se implicará con muchos más huevos pero el cerdo puso su carne, participó con su vida, comprometió su existencia'. Por supuesto aquí el libre albedrío no cuenta pero eso es otra historia, aquí lo que cuenta es dónde nos ubicamos, en el compromiso o en la implicación. Los invito entonces a cuestionarse si están verdaderamente comprometidos o solamente implicados con nuestra comunidad universitaria.

6


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 7-12

Módulo de Aprendizaje Virtual de Apache para el proyecto EVA R-Grid Apache Virtual Learning Module for the project EVA R-Grid Daniel Burbano* Giovanna Sabogal** Andrea Prado*** Mauricio Pertuz****

Resumen

Abstract

El presente artículo describe el proceso realizado para desar rollar un soft ware educativo (componente tecnológico), programado en Java y Jzlib, JSCH (implementación de SSH), que tiene la posibilidad de ejecutar prácticas reales sobre equipos remotos mediante el establecimiento de conexiones seguras y la ejecución de comandos remotos a través de la Web sobre la instalación y configuración básica de Apache.

This article describes the process followed to develop an educational soft ware (technological component) programmed over Java and Jzlib, JSCH (SSH implementation), capable of executing real practices upon remote computers, created to establish secure communications and remote command execution capabilities through the Web regarding Apache's basic installation and configuration.

Palabras claves: Acceso remoto, Apache, Sistema Distribuido, Linux, Educación.

Key words: Remote access, Apache, Distributed System, Linux, Education.

Recibido: 21/01/08. Evaluado: 18/02/08. Aceptado: 14/03/08. * Universidad de los Andes. ** Coordinadora del Equipo de Investigación en Software Libre de la Universidad El Bosque. *** Universidad El Bosque. ****Universidad El Bosque.

7


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 7-12

I. INTRODUCCIÓN

II. DESCRIPCIÓN DEL SISTEMA

La Educación Virtual se presenta como una nueva metodología en el proceso de la enseñanza de temas relacionados con la tecnología y sus afines. Sin embargo, el desarrollo de herramientas computacionales que generen un aprendizaje combinado con la práctica, en tiempo real, ha sido escaso en el ámbito nacional e internacional.

El Módulo de Enseñanza Aprendizaje (MEA), utiliza las ventajas de un sistema distribuido para optimizar los recursos del conjunto de computadores utilizados. De ésta forma, los clientes se conectan al servidor de aplicaciones (donde se encuentra el MEA), a través de Internet. A su vez, el servidor de aplicaciones distribuye el trabajo entre varios computadores (nodos), dispuestos para este fin (Figura 1).

El proyecto Módulo de Enseñanza - Aprendizaje (MEA) de Apache para EVA R-Grid [1], forma parte del desarrollo de un entorno computacional donde se integran varias áreas del conocimiento como son la ingeniería, la psicología y la educación, para generar una ayuda informática que permita realizar conexiones a través de la Web a equipos remotos, para que los estudiantes puedan realizar prácticas sobre equipos reales.

MEA Módulo de Enseñanza Aprendizaje

Dentro de la estructura del EVA R-Grid se encuentra el MEA, que permite la interacción entre el usuario y el equipo remoto para el desarrollo de sus prácticas de laboratorio, a través de conexiones seguras basadas en SSH y la ejecución de comandos remotos a través de la Web. El desarrollo del MEA consiste en la programación de la interfaz del usuario con el sistema distribuido, incluyendo los componentes de comunicación y visualización de los requerimientos enviados al servidor, así como sus respectivas respuestas. Igualmente, se habilitó un espacio para incluir el guión resultante del desarrollo pedagógico. Inicialmente dicho componente incluye las instrucciones básicas para el desarrollo del módulo. El mencionado desarrollo, requiere investigar los conceptos básicos de sistemas distribuidos, comunicaciones cliente/servidor, diseño de páginas Web, así como experiencias anteriores en ambientes virtuales de aprendizaje [2]. El presente documento está dividido en tres capítulos: En el primer capítulo, “descripción del Sistema”, se explica detalladamente el funcionamiento del MEA sobre el EVA R-Grid. El segundo capítulo, “Diseño”, está dividido en tres partes: diseño de comunicaciones (conexiones remotas), diseño educativo (componente pedagógico), y el diseño del programa, que comprende el desarrollo de la aplicación. Por último, en resultados y conclusiones, se expondrán los resultados obtenidos, así como las experiencias y reflexiones sobre el desarrollo del proyecto.

8

Figura 1. Esquema de funcionamiento del Módulo de Aprendizaje Virtual. Como se aprecia en la Figura 2, el proyecto EVA R-Grid, del cual hacen parte los MEAs, está conformado por un servidor que administra la conexión (usuario, host y contraseña) de los clientes, otro que administra la ejecución de aplicaciones en los nodos y pretende tener una mayor cantidad de nodos apoyándose en los clusters para permitir mayor velocidad y además puedan ingresar muchos más clientes al módulo de aprendizaje. El equipo del usuario puede utilizar cualquier sistema operativo que soporte un navegador Web (Internet Explorer, Firefox, etc.). El servidor de aplicaciones, donde está alojada la aplicación, utiliza Linux como sistema operativo, y Sun Web Server como software para administrar dichas aplicaciones. Los nodos utilizan Linux como sistema operativo y son distribuidos a cada usuario por el Servidor de Aplicaciones. De esta forma, el MEA hace parte integral de EVA R-Grid, permitiendo identificar dos entes principales: el cliente y el servidor (este último se ve como un solo sistema, gracias a las características del Grid), proporcionando un sistema distribuido robusto que permita realizar las prácticas remotas [5].


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 7-12

EVA Entorno Virtual de Aprendizaje

Figura 2. Diagrama del funcionamiento de EVA R-Grid.

III. DISEÑO El proyecto se compone de tres partes principales: A. DISEÑO DE COMUNICACIONES Basados en los requerimientos del proyecto, se determinó que el usuario debe ser capaz de establecer una conexión remota segura con el servidor, donde se encuentra la aplicación del MEA. Dicha conexión remota implicó el uso de la librería JSch para Java, la cual implementa seguridad, confiabilidad, rapidez y asequible al proyecto. Se utilizó Java mediante NetBeans para el desarrollo de la aplicación Web. La comunicación entre el usuario (cliente), el servidor y los nodos del sistema distribuido, es el eje central del módulo, ya que aquí se establece la comunicación entre el cliente y el servidor remoto, a través de un canal seguro SSH. Las librerías JSch y Jzlib, crean un elemento tipo JSch, el cual es objeto que establece la comunicación con el equipo remoto, además de proporcionar los elementos necesarios

para garantizar la seguridad en la transmisión de la información [7]. La interfaz del usuario incluye dos opciones de comunicación. La primera es la conexión (botón Conectar Figura 4), el cual utiliza los campos ingresados por el estudiante: Usuario, Host y Contraseña (asignados por el Administrador del Sistema), para enviarlos de forma encriptada, usando SSH, al servidor de aplicaciones, el cual se encarga de validar dicha información y conceder el acceso al módulo. Las mencionada librerias JSch y Jzlib, permiten dicha conexión entre el cliente y el servidor. Dicha conexión se establece cuando la librería JSch crea un nuevo elemento de comunicación y establece una sesión a partir de los datos de usuario, host y contraseña digitados por el usuario. El método MyUserInfo (línea 11), mantiene la sesión activa hasta tanto el usuario no decida terminar la sesión, como se aprecia a continuación:

9


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 7-12

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.

public String button1_action() { try { String compare=(String)button1.getText(); if(compare.compareTo("Conectar")==0) { JSch jsch=new JSch();// host=(String)textField2.getText(); user=(String)textField1.getText(); session=jsch.getSession(user,host,22); UserInfo ui=new MyUserInfo(this); session.setUserInfo(ui); session.connect(); } }

Con el botón Enviar, la aplicación toma el comando ingresado por usuario (línea 13 del código describo abajo), y lo ejecuta en el servidor remoto (línea 14). En la línea 15 se habilita la función forwarding, la cual se encarga del intercambio de mensajes entre el cliente y el servidor. 1. public String button2_action() { 2. try { 3. String compare=(String)button2.getText(); 4. if(compare.compareTo("Conectar")==0) { 5. JSch jsch=new JSch(); 6. host=(String)textField2.getText(); 7. user=(String)textField1.getText(); 8. session=jsch.getSession(user,host,22); 9. UserInfo ui=new MyUserInfo(this); 10. session.setUserInfo(ui); 11. session.connect(); 12. channel=session.openChannel("exec"); 13. String command=(String)textFi4.getText(); 1 4 . ((ChannelExec)channel).setCommand(command) 15. channel.setXForwarding(true); 16. textArea1.setText(command+"\n\n"); 17. textField4.setText(""); 18. } Básicamente, el proceso realizado para lograr la comunicación entre el cliente y el servidor, se resume en el intercambio de mensajes entre estos dos componentes del sistema a través de un túnel seguro configurado en SSH. El manejo de las librerías mencionadas anteriormente, permite dicho intercambio de información, a la vez que envía las respuestas al campo de texto incluido en la interfaz del usuario, donde el estudiante podrá verificar los resultados de los comandos ejecutados sobre los equipos remotos.

10

B. DISEÑO EDUCATIVO. Para este paso del diseño se generan los guiones que el estudiante seguirá a través del módulo. Dichos guiones son estructurados según los lineamientos del módulo constructivista [3], e implementados por el grupo de investigación de la Facultad de Psicología de Universidad El Bosque. El guión incluye los pasos necesarios para instalar Apache en la primera ventana del área de instrucciones. Posteriormente, en la segunda etapa, el usuario encontrará los pasos para configurar el paquete recién instalado y, finalmente, encontrará la descripción de los módulos adicionales. Para el aprendizaje básico de Apache, se debe indicar al usuario que es un software estructurado en módulos. La configuración de cada módulo se hace mediante la configuración de las directivas que están contenidas dentro del mismo [4]. El texto se diseña y programa en XML y luego es importado a la aplicación a través de las propiedades del área de texto. Para poder importar un elemento de XML a NetBeans 5.5, es necesario instalar el paquete XML Schema Tools, del NetBeans Enterprise Pack 5.5. Para que el usuario sea capaz de instalar correctamente Apache, se debe precisar la estructura de la instalación, ya que esto le permitirá al estudiante estructurar el funcionamiento de este Servidor Web. Luego de la instalación y la configuración de Apache, el usuario puede verificar el correcto funcionamiento del software, utilizando los comandos especificados para dicho fin. C. DISEÑO DEL PROGRAMA Y SU INTERFAZ. Para el desarrollo del programa se escogió el software NetBeans 5.5 para Linux. Al paquete básico se le adicionaron las versiones actualizadas de Visual Web 5.5 y CND 5.5, las cuales proporcionan los elementos de diseño y servidor necesarios. Aunque toda la programación se hace sobre Java, es necesario traducir todos los comandos a lenguaje Web para que puedan funcionar como página Web. De esta forma, los requerimientos técnicos del usuario (cliente), se limitarán a aquellos necesarios para ejecutar un explorador de Internet (Firefox, Internet Explorer, etc.). La pantalla principal de la aplicación se presenta en la figura 3.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 7-12

Figura 3 Pantalla principal de la aplicación.

IV. RESULTADOS Y CONCLUSIONES El uso de un sistema distribuido para el desarrollo del MEA permite obtener mejores características de desempeño en cuanto a procesamiento de datos, almacenamiento externo y expansibilidad del sistema, comparado con sistemas basados en un solo servidor central que distribuyen la información a los demás nodos. El empleo de librerías dedicadas a las conexiones seguras, facilita el diseño de la comunicación entre el cliente y el servidor. NetBeans genera una carpeta con todos los archivos utilizados en la aplicación. Una carpeta en especial, denominada “Dist”, incluye un archivo con extensión .war (AplicacionApache.war), el cual se asemeja a un ejecutable de ambiente Windows. Con éste archivo, que incluye todas las funcionalidades del software Aplicación Apache, es posible, en el futuro, conectar la aplicación a

cualquier sistema distribuido y, en especial, al proyecto EVA R-Grid. Dicha conexión es posible a través de la funcionalidad que ofrecen los paquetes de software que administran un sistema distribuido. Para este proyecto se utilizó Sun Java System Application Server 9, el cual permite incluir los archivos tipo .war como ejecutables en el servidor. Igualmente, los demás paquetes de software para manejo de servidores, incluyen dicha función [6].

V. TRABAJO FUTURO El diseño y desarrollo del MEA de Apache, está configurado para ser instalado sobre cualquier servidor de aplicaciones. En un futuro, se espera conectar el MEA al Grid, utilizando las herramientas de conexión descritas previamente.

11


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 7-12

Para la parte educativa, se espera concluir el contenido educativo de éste proyecto por parte del grupo de investigación de la Facultad de Psicología, el cual debe proporcionar el guión definitivo que el usuario seguirá para la realización de los cursos.

REFERENCIAS [1] BURBANO, D, (2006), “Entorno virtual de aprendizaje remoto sobre Grid. EVA R-Gid”. Revista de Tecnología. Universidad El Bosque. ISSN 1692-1399 [2] DUAN, XINYU; ZHU, JIEJIE, “The implementation of real-time interaction in virtual education system based on VRML http://adsabs.harvard.edu/abs/2004SPIE.5444..539D, Harvard University, consultado el 15 de agosto de 2006.

[4] MONTOYA, A, Práctica de Servicios Telemáticos Instalación de Servidor Web Apache. Consultado en Agosto 9 de 2006 en www.eafit.com [5] PRADO, A, PERTUZ J. Tesis Módulo de Aprendizaje Virtual de Apache para El proyecto EVA R-Grid. Mayo de 2007. Sección Anexos [6] PRENTICE HALL, “UML PARA PROGRAMADORES JAVA”, consultado el 08 de noviembre de 2006. [7] RUBLE, D., (1998), Practical Analysis & Design for Client/Server & Gui Systems. Prentice Hall. p. 200.

[3] FUERTES, J., JavaScript Asíncrono y XML: Aportación Práctica para la Mejora de la Accesibilidad. Consultado en Septiembre 12 de 2006 en http://www.jornadas.sidar.org/2005/ponencias/juanfuertes/ graf/redes.gif

Artículo de Investigación Científica y Tecnológica.. Sometido a Arbitraje. Los Autores Daniel Alberto Burbano Sefair Universidad de Los Andes. Ingeniero electrónico, MCpE Ingeniería Eléctrica y Computadoras. Miembro de Equipo de Investigación en software Libre, Coordinador línea Grid computing. Carrera 1ª Este 18 A - 10, Bogotá D.C., Colombia. burbano@gmail.com Giovanna Paola Sabogal Alfaro Coordinadora del Equipo de Investigación en Software Libre de la Universidad El Bosque Ing. Electrónica MSc(c) en ingeniería de Telecomunicaciones Universidad Nacional de Colombia, y Actualmente desarrollando proyectos en el área de software libre, comunicaciones y educación. Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. guiovannasabogal@unbosque.edu.co Andrea del Pilar Prado Caro Ingeniero de Sistemas Universidad El Bosque (´07). Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. apradoc9@hotmail.com

José Mauricio Pertuz Franco Ingeniero de Sistemas Universidad El Bosque (´07). Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. jmpertuz@hotmail.com

12


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 13-20

Diseño de un módulo para el control de iluminación de un hardware domótico a través de un teléfono celular en un ambiente distribuido Design of a module for lighting control of domotic hardware through a cell phone on a distributed system Carlos Fernando Varela* Julián Augusto Bojacá Medina † ** Angela Viviana Ramírez Acevedo***

Resumen

Abstract

El proyecto reportado en este artículo estuvo orientado al desarrollo de una aplicación para un dispositivo celular (midlet) capaz de interactuar con un hardware domótico que simula a escala el ambiente de una casa; el objetivo es controlar el encendido y apagado de las luces que lo conforman, manteniendo las características de un sistema distribuido. Para lograr este objetivo, se diseñará un sistema de Ser vlet s siguiendo patrones de programación de J2EE como controladores frontales, despachadores y acceso a datos, junto con un servidor y cliente RMI. La aplicación midlet utilizará RMS para guardar y consultar datos y un computador llamado controlador domótico enviará por el puerto serial una orden de apagado o encendido al hardware domótico para que sea ejecutada.

This Project was intended to develop an application for a mobile device (midlet) capable to interact with a domotic hardware which simulates on a reduced scale a house environment; the prime objective is to control the actions of turning on and off the lights attached to the device taking into account the features of a distributed system. To achieve this goal, a Servlets system will be developed by following J2EE programming patterns such as front controller, dispatchers and data access, along with a RMI server and client. The midlet application will use the RMS for storing and fetching data while a computer called domotic controller will send by the serial port a “turn off” or “turn on” instruction to the domotic hardware which will execute the order.

Esta investigación se realiza como parte de una serie de alternativas de interfaces que se pueden crear para cont rola r disp osit ivos remot amente; próx imos desarrollos se pueden basar en los conceptos que se presentan en los siguientes capítulos para manipular dichos dispositivos no solo desde un celular, sino a través de reconocimiento de voz, realidad virtual o sistemas expertos.

This research is being carried out as a series of alternatives of interfaces that can be created in order to control devices remotely; further developments might be based on the concepts described in the following chapters to manipulating such devices not only from a cell phone, but through voice recognizing, virtual reality or expert systems. Key words: Mobile Application, Domotics, Servlets, Distributed Systems.

Palabras claves: Aplicación móvil, Domótica, Servlets, Sistemas Distribuidos. Recibido: 14/10/07. Evaluado: 11/02/08. Aceptado: 14/02/08. * Director del Área de Electrónica, Telemática, Arquitectura del Computador e Inteligencia Artificial de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque. ** Ingeniero de Sistemas de la Universidad El Bosque. *** Ingeniero de Sistemas de la Universidad El Bosque.

13


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 13-20

I. INTRODUCCIÓN

una orden de encender las luces de la casa a través de Internet, una PDA (Personal Digital Assistant) o un teléfono celular.

En la actualidad el mundo está en busca nuevas herramientas que sean capaces de hacer más fácil y agradable la vida a la hora de convivir en un espacio. Para esto se han diseñado “casas inteligentes” en las que se incorporan una serie de dispositivos que son manejados por computadora para que realicen una determinada tarea en el hogar, sin que haya la necesidad de que el hombre este presente. Dicho sistema doméstico automatizado recibe el nombre de domótica. Para hacer que la domótica sea más aplicable a las necesidades que el mundo de hoy exige, se ha incorporado en algunas aplicaciones móviles, la opción de manejar un sistema domótico por medio de un dispositivo celular.

Debido a la vertiginosa velocidad con que la tecnología ha avanzado, hoy en día es posible encontrar en el mercado diferentes tipos de dispositivos, la mayoría de ellos inalámbricos, capaces de integrar varios procesos en uno solo. Ejemplo de esto son los celulares y la creciente demanda de usuarios que ya no solo requieren suplir la necesidad de hablar y estar comunicados con sus allegados, sino la de encontrar la mayor capacidad de almacenamiento, conexiones bluetooth, cámara digital integrada, consulta de correo electrónico y archivos de la empresa, entre otros [1].

Se ha querido hacer una aplicación que involucre un hardware domótico con la tecnología móvil y que además sea capaz de mantener las características propias de un sistema distribuido, es decir, que sin importar en donde se encuentre el sistema domótico, se pueda acceder a el por medio del celular en cualquier momento.

Aprovechando la tecnología celular, la presente investigación plantea de qué manera pueden interactuar un dispositivo móvil y uno de hardware domótico, de tal forma que sin importar el número de usuarios o el número de dispositivos domóticos conectados o si la información es procesada en diferentes servidores, al final se pueda tener un sistema seguro, confiable y escalable.

Al llevar a cabo esto hay que tener en cuenta una serie de requerimientos de hardware y software que hacen posible su realización, entre estos tenemos: J2SE para hacer toda la programación de las funciones de los diferentes dispositivos del sistema y en el cual se va a realizar una comunicación cliente servidor; además se utiliza J2ME para la aplicación midlet en el que se hace la programación del celular para que este pueda mandar las posibles opciones que se quieren realizar en el hardware domótico; se cuenta con una base de datos en la que se registra los estados de los dispositivos y el hardware domótico que es brindado por la Universidad El Bosque. En este documento se hará una breve descripción de lo que ya se ha hecho respecto a este tema en otras investigaciones, de la metodología que se llevo a cabo para realizar este proyecto y del desarrollo de la misma, con sus respectivas referencias.

II. PROBLEMA En los últimos años, las construcciones de casas y edificios han venido incluyendo en sus arquitecturas un nuevo concepto, dispositivos domóticos, los cuales pueden ser controlados sin que las personas tengan que estar en ese lugar físicamente. Sin embargo, se hace necesaria una arquitectura de hardware y software que no genere mayores cambios ni sobrecostos al momento que se requiera adicionar un nuevo dispositivo domótico y así mismo, que tenga niveles de seguridad de tal forma que no todos los usuarios tengan los mismos privilegios de controlar su funcionamiento y que además sea capaz de poder recibir instrucciones remotas como por ejemplo,

14

Varias empresas ya ofrecen este servicio, principalmente en Europa y Estados Unidos. Proxima Systems [6] de España, por ejemplo, presenta una solución en donde el usuario a través de su celular puede ver lo que está pasando en su casa e incluso enviar mensajes SMS para dar instrucciones de apagado o encendido de luces. En América Latina esta tecnología está comenzando y en Colombia ya existen varios proyectos en edificios que son construidos con elementos domóticos. De igual manera, se han hecho investigaciones en varias universidades de Colombia y el mundo de cómo puede integrarse en una arquitectura ya diseñada de servidores de autenticación, bases de datos o controladores de hardware, un nuevo dispositivo móvil que no implique rediseñar toda la estructura ya establecida, lo que podría generar altos costos. El presente proyecto se basará en las mencionadas investigaciones para formular una arquitectura que permita controlar un sistema domótico remotamente, en este caso, desde un teléfono celular. Esto traerá un aporte de conocimiento para que empresas colombianas no necesiten en un futuro importar aparte del hardware, el software que controle dicho sistema sino que por el contrario, por ser diseñado en una plataforma con características de sistema distribuido y software libre, funcione para cualquier tipo de hardware domótico, con varios usuarios interactuado con el sistema al mismo tiempo, sin necesidad de tener que hacer inversiones significativas.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 13-20

III. ANTECEDENTES HISTÓRICOS Varias empresas han venido lanzando al mercado productos que permiten un control de los dispositivos domóticos conectados en el hogar a través de forma remota, ya sea por un celular, una Palm o una página Web. En el año 2005 comenzó un proyecto Europeo llamado HomeTalk [3] en el cual participaron entre otros, IBM de República Checa y Telefónica de España. Su objetivo fue aprovechar diferentes interfaces para ofrecer un servicio de control de los dispositivos de la casa a personas que van desde los que les gusta la tecnología hasta los ancianos y discapacitados. El principal atractivo fue una Palm que reconocía órdenes de la voz humana. Una persona podía, por ejemplo, estar en una ciudad X, en la cocina de su casa y encender la estufa para preparar la cena. Otra persona a kilómetros de distancia veía en su Palm la imagen de la persona que está cocinando y podía con su voz darle la orden a la estufa de encenderse a 150 grados y apagarse en 20 minutos. Al mismo tiempo y en la misma Palm, se podía ver el estado de la lavadora, de las luces o de más dispositivos conectados al sistema. A parte de las instrucciones de voz propuestas en HomeTalk, existe otra manera de controlar dispositivos domóticos de forma remota: a través de mensajes SMS. El usuario envía un mensaje de texto desde su teléfono celular a un controlador GSM que se encuentra instalado en su casa el cual, interpreta dicho mensaje y ejecuta la acción correspondiente. Pueden ejecutarse acciones como el encendido y apagado de luces, la activación de alarmas, el monitoreo de electrodomésticos como la estufa o la lavadora, entre otros. En el celular solo se necesita instalar una aplicación pequeña que permitirá que el usuario pueda interactuar con el sistema. Empresas como Proxima Systems [5] o LSB [4] en Europa, ofrecen entre sus productos este servicio. A diferencia de la opción SMS, actualmente diferentes compañías comercializan productos los cuales permiten ver y controlar cámaras Web a través del teléfono celular, así como el estado de sensores de intrusión o el estado de las luces de determinada zona de la casa o de la oficina [2]. El gran problema de este sistema es sin duda su interfaz gráfica. El usuario debe contar con un celular de última tecnología y con una capacidad de memoria grande para que pueda visualizar los colores de las imágenes de la cámara de video o para poder al menos, ver el módulo de control de estado del sistema.

Figura 1. Aplicación para controlar dispositivos remotamente y ver imágenes de video en tiempo real a través de un celular [2] Technoimpor t [8] por ejemplo, es una empresa colombiana que ofrece entre sus productos la automatización total de la casa que va desde abrir y cerrar las cortinas hasta todo un sistema de monitoreo y alarmas. También ofrecen el servicio de control por medio del teléfono celular y la opción de envío de mensajes cuando una novedad ocurre. Bogotá cuenta ya con esta tecnología implementada en varias construcciones sobretodo en el norte de la ciudad como el Edificio del Prado en el Chicó. Además de los productos que se comercializan alrededor del mundo, va r ia s univer sidade s ha n he cho investigaciones al respecto. En el año 2004, en el segundo simposio sobre Tecnología Ambiental en la Unión Europea, R. Jimeno, Z. Salvador, A. Lafuente, M. Larrea y A. Ur iba r ren public a ron un a r t ículo t it ulado “Arquitectura para el control personalizado de recursos domóticos” [7] en donde los autores proponen un diseño para integrar un dispositivo móvil como una PDA o un celular, con un sistema domótico. Ellos emularon por medio de UPNP virtuales (Dispositivos Plug and Play) un reloj y un sistema de luces que pudieran ser controlados remotamente. El sistema funciona a través del navegador del dispositivo móvil. Cuando el usuario ingresa a la página Web se autentica con un nombre y una contraseña; posteriormente, el servidor se conecta con el manejador de dispositivos y muestra al usuario los que están activos en ese momento. Dependiendo de los permisos asociados al usuario, los cuales están almacenados en una base de datos, éste puede enviar una orden al dispositivo domótico. Así mismo, se pueden establecer permisos para que determinado usuario sólo pueda controlar

15


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 13-20

ciertos componentes; éstos son establecidos por un administrador del sistema. En Colombia también se realizó un proyecto de grado que plantea una forma para controlar dispositivos domóticos de forma remota. En el año 2005, Aguirre Gustavo, Pulgarín Ricardo, y Ríos Luís, de la Universidad de Manizales, realizaron el trabajo de grado titulado “Sistema domótico para el manejo remoto de dispositivos electrónicos a través de redes eléctricas” [9]. En la problemática plantean el acceso de los hogares colombianos a los dispositivos electrónicos como sensores o luces y hacen énfasis en que no se han encontrado registros de desarrollos hechos en Colombia en cuanto a infraestructura domótica, por lo que sugieren el diseño de redes privadas para el manejo remoto de los dispositivos conectados en el hogar, teniendo en cuenta el uso de materiales de bajo costo que permita una demanda de sistemas domóticos en el mercado. Dentro de sus objetivos estaba el diseñar e implementar un sistema domótico para el manejo remoto de los electrodomésticos a través de Internet o tecnología WAP utilizando la red eléctrica de baja tensión de la casa. La metodología que implementaron consistió en el diseño de dos módulos de software; el primero se encargaba de la interacción del cliente con el servidor; el segundo consistía de un receptor de radio frecuencias que luego se encargaba de enviar las órdenes a un computador para que ejecutara la acción correspondiente en el sistema domótico como activar o apagar una alarma, controlar la iluminación de la casa, o el encendido y apagado de los electrodomésticos entre otros. Para llevar a cabo este diseño, utilizaron el servidor Apache Tomcat el cual almacenaba las páginas Web; la base de datos fue diseñada en SQL Postgres y el lenguaje de programación Java para crear las páginas JSP que interactúan con la aplicación WAP y para diseñar el código que enviaba instrucciones al puerto paralelo del computador.

IV. METODOLOGÍA Para la realización del presente proyecto se tomaron como base las cuatro etapas del ciclo de desarrollo de software: análisis de requerimientos, análisis detallado, diseño del sistema y pruebas a la aplicación, las cuales se describen a continuación. Análisis de requerimientos: en esta etapa se estudiaron los diferentes escenarios que se pueden presentar en la vida real en el momento en que un usuario quisiese interactuar con su sistema domótico. Para esto, se hicieron investigaciones sobre los productos actuales existentes y las diferentes alternativas que ofrecen las compañías de domótica para que dichos productos puedan ser controlados de forma remota. Así mismo, se hizo una recopilación de información de trabajos e investigaciones

16

realizadas en universidades alrededor del mundo para tener una referencia de en qué forma se han integrado los desarrollos de aplicaciones para domótica en ambientes distribuidos. El hardware domótico, debido a que ya había sido construido, no implicó requerimientos significativos; sin embargo fue necesario realizar pruebas de envío de instrucciones a través del puerto serial del computador las cuales se describen en el capítulo de pruebas. Al tener esta información se formularon los requerimientos funcionales del sistema dentro de los cuales, se vio la necesidad de crear una página Web para que un usuario administrador pudiera configurar el sistema, ya que hacer esta operación por medio del midlet resultaría engorroso. La aplicación midlet entonces, se destinó para ejecutar las operaciones de encendido, apagado y programación de las luces del hardware domótico. El funcionamiento de la aplicación se planteó de la siguiente forma: existe un usuario administrador el cual, por medio de una página Web, configura el sistema. El administrador crea las locaciones, los dispositivos de iluminación de esas locaciones, los grupos de usuario y los usuarios que pueden tener acceso a esos dispositivos. Un usuario, desde el midlet, puede controlar los dispositivos a los cuales el administrador le haya dado permiso. Para esto, se crearán dos servlets: uno para la aplicación Web y otro para la aplicación midlet. Por su parte, el controlador domótico (computador al que está conectado el hardware) periódicamente enviará peticiones al servidor preguntando si tiene alguna instrucción nueva que ejecutar. Si el servidor responde que si, se llevará a cabo la orden; si responde que no, seguirá preguntando. Análisis detallado: en la siguiente etapa se fueron identificando los requerimientos de plataforma de hardware, software y base de datos que se utilizarían para el desarrollo de la aplicación. Para seguir un modelo distribuido, se planteó una arquitectura en donde se incluyeran (1) un servidor de aplicaciones el cual autenticaría los usuarios y enviaría las diferentes instrucciones que recibiera del teléfono celular al hardware domótico (en esta parte del análisis se propuso que no solo se pudiera controlar un solo hardware domótico, sino que el sistema estuviera en la capacidad de controlar n); (2) uno de bases de datos que guardaría los datos de usuarios, dispositivos, locaciones, entre otros y (3) un controlador domótico; fue necesario este último pues debía existir un medio que pudiera recibir instrucciones desde el servidor y al mismo tiempo enviarlas de regreso por lo que se planteo utilizar sockets. Sin embargo, luego de realizar varias pruebas se llegó a la conclusión que implementar RMI en vez de un socket resultaría más fácil y confiable.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 13-20

Diseño del sistema: para el desarrollo de la parte midlet y la aplicación Web se utilizó Java por su funcionalidad para diseñar aplicaciones para dispositivos celulares y por la opción de crear Servlets para la parte Web. La base de datos que se utilizó fue MySQL y Tomcat como servidor de la aplicación, ambos por ser compatibles con las aplicaciones realizadas en Java. En esta parte se definieron además, los diferentes procesos que intervendrían desde que el usuario entrara en la aplicación midlet hasta que la confirmación de que “la tarea fue hecha” se mostrara en la pantalla de su celular. Para esto se crearon diferentes bocetos de flujogramas luego de los cuales se tomaron decisiones acerca de cuáles procesos eran realmente necesarios y cuáles podían ser modificados o no tenidos en cuenta en la realización del software tanto en la parte Web como en el midlet; así entonces, se diseñó el diagrama de clases para determinar los parámetros y acciones a utilizar de tal forma que siguieran la estructura del flujograma; posteriormente este diagrama de clases fue convertido en el diagrama de entidad relación. Para que la aplicación midlet fuera fácil de utilizar y no implicara que el celular necesitara espacio considerable de almacenamiento, se diseñaron la menor cantidad de ventanas posibles, sencillas, sin mucho color y sin imágenes. Para este desarrollo se utilizó Mobility Pack de NetBeans por su facilidad al momento de crear esta clase de aplicaciones. La página Web se desarrolló en DreamWeaver con el mismo concepto de la menor cantidad de enlaces posibles y que no tuviera demasiadas imágenes que pudieran hacer que su visualización fuera demorada en un navegador con una conexión a Internet estándar. Pruebas a la aplicación: la última etapa consistió en las pruebas del sistema. En primer lugar se probó la página Web en donde se tomó un usuario administrador para ingresar al sistema, crear locaciones, dispositivos y usuarios y se analizaron los errores al momento de ejercer acciones sobre la base de datos los cuales fueron corregidos. Igualmente se probó la consistencia de los datos y que el servlet cumpliera con los requerimientos del sistema. Posteriormente se probó el midlet y se validaros los datos que retornaba desde el servlet, así como la validación de los permisos sobre los dispositivos de iluminación. Otra prueba que se hizo fue la del hardware domótico, la cual consistió en enviar a través del puerto serial una orden para que fuera efectuada. Los resultados se detallan más adelante en la sección de pruebas. V. DESARROLLO Para llevar a cabo esta aplicación hay que tener en cuenta dos partes fundamentales, la primera es la aplicación midlet que es en la que se va a llevar a cabo toda la

interacción del usuario con el celular al enviar las ordenes que el necesita ejecutar sobre el sistema domótico y la segunda es la aplicación Web en la que el administrador del sistema asigna los permisos al usuario, crea, elimina y modifica las locaciones, dispositivos, usuarios y grupos de usuarios. La mayoría de los sistemas domóticos que son controlados remotamente tienen una arquitectura en la que el computador cliente hace las veces de ser vidor. Generalmente la aplicación es controlada por un mismo usuario el cual ingresa a una página Web o a través de su dispositivo móvil por medio de WML y ejecuta acciones sobre los dispositivos domóticos. La figura 2 ilustra los componentes que integran la arquitectura de hardware la cual, está conformada por un servidor de aplicaciones encargado de alojar los servlets a los cuales el sistema accede, en este caso un servlet para la página Web y otro para la aplicación Midlet; un servidor de base de datos encargado de almacenar los datos de los usuarios y los dispositivos domóticos; un dispositivo móvil (teléfono celular) el cual será la herramienta que el usuario utilizará para tener control sobre las luces del hardware domótico; un controlador domótico encargado de enviar las órdenes de apagado o encendido al hardware domótico y de estar monitoreando con el servidor de aplicaciones si hay tareas pendientes por realizar; un hardware domótico que simula a escala el ambiente interno de una casa y su sistema de iluminación y una estación cliente desde la cual el administrador puede configurar y administrar los valores del sistema como por ejemplo, agregar usuarios o dispositivos domóticos.

Figura 2. Arquitectura de Hardware La arquitectura del software para la aplicación del midlet y para la aplicación Web se describe a continuación: Midlet. Una vez configurado el sistema, se puede tener acceso al hardware domótico desde el teléfono celular.

17


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 13-20

Antes que un usuario pueda usar la aplicación midlet, el administrador debe validarse en el sistema. Los datos de ese administrador quedan guardados en el celular para que al momento en que el usuario entre, el servidor sepa a qué administrador pertenece. Luego de ser validado con su contraseña, al usuario visualiza en la pantalla las locaciones a las cuales tiene acceso. El usuario selecciona una y a continuación ve los dispositivos de iluminación que pertenecen a esta. En esta parte, el usuario toma la decisión de enviar una orden, ya sea apagar, encender o programar el dispositivo de iluminación. Para llevar a cabo todas estas actividades, el sistema consta de dos servlets encargados cada uno de controlar el sistema. Los diagramas de software que se muestran a continuación, dan un panorama de cómo estos servlets reciben una petición y la devuelven de nuevo al usuario, ya sea el administrador desde la aplicación Web o el usuario final desde el midlet.

una versión de prueba de 30 días. El midlet fue creado utilizando el componente MobilityPack de NetBeans, esp ecial para desar rollos de est a nat uralez a. Posteriormente se creó la base de datos del sistema. Para esto se descargo de Internet MySQL 5.0 junto con MySQL Administrador, interfaz que permite crear de manera grafica bases de datos y administrarlas. A la base de datos se le llamó “domótica” en donde fueron creadas las diferentes tablas las cuales se explican en detalle en el diagrama entidad relación en el siguiente capítulo. Las páginas JSP y las clases de los Servlets fueron alojadas el servidor de Internet y aplicaciones apache-tomcat 5.0; para que por medio de una dirección URL tomcat pueda encontrar el Servlet correspondiente, es necesario crear un archivo XML llamado web.xml; al momento de recibir una petición, tomcat busca las clases en la ruta que se especifique en este archivo. La figura 3 muestra el código XML que se debe generar para que tomcat encuentre el Servlet correspondiente.

Página Web. A través de esta página se podrá configurar todo el sistema. En la primera parte se ve el menú principal que muestra tres opciones: la primera es la administración de locaciones en donde se crean, editan, eliminan o consultan las locaciones a las que pertenecen los dispositivos de iluminación; la segunda opción es la de administrar dispositivos en la cual se crean, editan, eliminan o consultan los dispositivos domóticos conectados al sistema, en el caso del presente proyecto, las luces de la casa a escala; en esta opción el administrador da permisos a los grupos de usuarios sobre dichos dispositivos; la tercera opción administrar usuarios, permite crear, editar, eliminar o consultar los usuarios que accederán a través del midlet; cada usuario debe pertenecer a un grupo de usuario, el cual es creado en la misma opción.

VI. IMPLEMENTACIÓN Luego de la etapa de diseño, se procedió con la implementación del sistema, la cual se dividió en cuatro partes. La primera consistió en desarrollar el Servlet de la aplicación Web, por medio de la cual, el administrador configura el sistema. En la segunda parte se desarrolló el Servlet del Midlet, al cual llegan las órdenes y peticiones desde el celular. La tercera parte consistió en desarrollar el código del Midlet, desde donde el usuario interactúa con el hardware domótico. La ultima parte, consistió en desarrollar la parte RMI en donde el controlador domótico monitorea periódicamente si hay instrucciones a ejecutar. Para integrar estas cuatro partes en un solo sistema de control domótico se siguieron los siguientes pasos: En primer lugar se bajaron los programas de desarrollo NetBeans 5.5 para desarrollar los dos Servlets y DreamWeaver MX para las páginas JSP, este último con

18

Figura 3. Código XML En este caso, cuando en una dirección URL se ingrese /ControladorFrontal, tomcat buscará el Servlet en una clase llamada ControladorFrontal.class dentro de un paquete llamado controladorFrontal en la carpeta WEB_INF/classes, en la cual se guardan las clases por defecto. Luego de los pasos descritos anteriormente, el administrador puede comenzar a interactuar con el sistema. Para ingresar, desde un navegador se ingresa la dirección http://localhost:8080/domotica/JSP/login.jsp El usuario por su parte, ingresa al sistema a través del midlet; sin embargo, es necesario que previamente el


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 13-20

administrador haya registrado su cuenta en la aplicación. Debido a que un administrador puede tener a su cargo varios usuarios, al momento de enviar un dato al Servlet, este identificará qué usuario está realizando la petición y a qué administrador pertenece. Todas las respuestas desde el Servlet retornan al midlet en forma de XML; las etiquetas son leídas e interpretadas por una librería de java llamada kxml2 la cual se descarga de www.kxml.org. En cualquier momento en el midlet, se puede cambiar de sesión de administrador; esto se logra utilizando RMS, la base de datos propia de las aplicaciones para dispositivos celulares, la cual, almacena los datos del administrador actual.

VII. CONCLUSIONES Con la realización de este proyecto se pudo evidenciar que gracias a la nueva tecnología que ofrecen los celulares de última generación, se pueden controlar las luces de un hardware domótico y que, siguiendo los patrones de programación y metodología expuestos en este documento, se podrían también controlar los dispositivos domóticos de una casa a escala normal. El uso de Servlets hizo que el mantenimiento del código fuera más fácil debido a la estructura y a los patrones de J2EE con que fueron escritos. Netbeans es una plataforma confiable y amigable al momento de hacer aplicaciones en Java. No se necesita crear un CLASSPATH y su compilador marca una gran diferencia con JCreator o Eclipse debido a que corrige o muestra errores en el mismo instante en que se está escribiendo el código, no es necesario compilar cada paquete por separado sino que genera los archivos .class o .jar en una misma carpeta de proyecto, entre otros; así mismo, Netbeans trae el paquete MobilityPack para el desarrollo de aplicaciones midlet y que en éste también se pueden crear paquetes, incluir librerías, simular en vivo y exportar a un celular real.

XML lo puede leer cualquier plataforma lo que le da escalabilidad y portabilidad al programa. El formato con que los archivos XML manejan la información, le da más orden y estructura a los datos lo que hace que un celular cuando lee un XML, los datos contenidos en el sean mucho más manejables y fáciles de decodificar que si llegaran en una cadena de texto. El puerto serial puede considerarse como una buena alternativa para enviar datos a un hardware. Sin embargo, los computadores actuales, sobretodo los portátiles, no lo están incluyendo en los nuevos modelos; a pesar de esto, existen conversores de USB a puerto serial que se comportan de la misma manera y que no presentan conflictos con el hardware domótico. Se hace necesario que si el cliente está detrás de un firewall, los puertos 8080, 3306 estén abiertos de lo contrario la aplicación que corre en el controlador domótico presentará excepciones de código pues estos son los puertos usados por Internet y la base de datos. Luego de probar toda la aplicación, se puede concluir que no se necesita tener un ser vidor de grandes características de hardware pues el que se uso fue un Pentium III de 380Mhz con 256Mb en RAM y una tarjeta 10/100; así mismo, el celular no requiere un espacio en disco significativo pues la aplicación solo ocupa 73Kb. El nokia6080 donde se probó, presentó tiempos de respuesta rápidos y en ninguna de las pruebas se notó congelamiento o caída del programa lo que demuestra que cualquier celular con características similares puede ser empleado. Las librerías de Java para enviar datos al puerto serial y para leer documentos XML funcionaron muy bien al ser empleadas; en el caso de los celulares que soportan aplicaciones .JAR, es totalmente compatible el uso de la librería kxml2 para leer dichos documentos XML. El 99% de la investigación sobre el código utilizado en este proyecto fue hecho en Internet, sobretodo en foros de Java, donde los errores que se presentaron ya habían sido comunes a otras personas. Lamentablemente los libros de programación no contemplan esta clase de errores por lo que Inter net es una her ramient a mucho más enriquecedora y con más información.

El motor de la base de datos MySQL es muy eficiente debido a la velocidad con que busca los datos en las tablas; así mismo, MySQL mostró una estabilidad del 100% en todas las transacciones que se hicieron durante las pruebas y la implementación del software; esta base de datos ofrece muchas de las funciones y portabilidad que tienen otras más robustas como Oracle, pues se pueden emplear procedimientos almacenados, administración remota, control de pool de conexiones, permisos, triggers, entre otros.

[1] Asociación de la Industria Celular en Colombia. [en línea]. http://www.asocel.org.co /prensa.php

El uso de XML para los datos que viajan desde el servidor al celular es una de las mejores maneras de enviar información a través de la Web. Básicamente un archivo

[2] Casadomo. [en línea] h t t p : / / w w w. c a s a d o m o . c o m / n o t i c i a s D e t a l l e .aspx?id=8628&c= 6&idm=10 &pat=10.

REFERENCIAS

19


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 13-20

[3] KLEINDIENST, Jan., MACEK, Tomáš, SERÉDI, Ladislav y ŠEDIVÝ, Jan. Vision-Enhanced Multi-Modal Interactions in Domotic Environments. [en línea]. http://ui4all.ics.forth.gr/workshop2004/files/ui4all_proc eedings/adjunct/interactive_applications/103.pdf [4] LSB. [en línea]. http://www.lsb.es/subhome_hogar.asp. [5] Proxima Systems. [en línea]. http://www.proximasystems.net/es/productos/telecontro lgsm.php. [6] Proxima Systems. [en línea]. Http://www.proximasystems.net/es/productos/lincegprs. php. [7] R. JIMENO, Z. SALVADOR, A. LAFUENTE, M. LARREA, A. URIBARREN. An architecture for the personalized control of domotic resources. Noviembre 2004. Eindhoven, T he Netherlands. [en línea]. http://portal.acm.org/citation.cfm?id=1031432.

Artículo de Investigación Científica y Tecnológica. Sometido a Arbitraje. Los Autores Carlos Fernando Varela Pérez Profesor Asociado de las Facultades de Ingeniería de Sistemas y Electrónica, Universidad El Bosque. Director del Área de Electrónica, Telemática, Arquitectura del Computador e Inteligencia Artificial de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque. Director del Grupo de Investigación en Electrónica, Telemática, Arquitectura del Computador y Temas afines GIETAC de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque con clasificación “C” de Colciencias. Ingeniero Eléctrico, Universidad de Los Andes 1985. Especialista en Telemática, Universidad de Los Andes 1990. Magíster en Economía, Pontificia Universidad Javeriana 1999. Diplomado en Gerencia de Telecomunicaciones Escuela de Administración de Negocios 1999. Subdirector de Información de la Unidad de Planeación Minero Energética del Ministerio de Minas y Energía desde Noviembre de 2000 hasta Agosto de 2001. Especialista en Arquitectura de Sistemas de Información y Redes de Datos, Unisys de Colombia desde Octubre de 1993 hasta Septiembre de 1999. Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. carlosvarela@unbosque.edu.co

Julián Augusto Bojacá Medina † Ingeniero de Sistemas de la Universidad El Bosque. Experiencia en el desarrollo de aplicaciones para celular y aplicaciones en J2SE integrando JSP y servlets. Trabaja actualmente en IS/IT en Nestlé de Colombia. Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. julianbojaca@unbosque.edu.co Angela Viviana Ramírez Acevedo Ingeniera de Sistemas de la Universidad El Bosque. Experiencia en el desarrollo de aplicaciones para celular y aplicaciones en J2SE integrando JSP y servlets. Actualmente trabaja en Sistemas de Apoyo en la administración y soporte. Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. angelaramirez@unbosque.edu.co

20


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 21-26

Software basado en arquitectura de Java EE y estándar SOAP para la validación en línea de listas de sancionados Software architecture based on Java EE and SOAP standard for online validation of sanctioned lists Javier Augusto Rodríguez* Johanna González Moreno** Tatiana Murillas Herrera***

Resumen

Abstract

En la actualidad el sector financiero no posee un sistema de información centralizado de las diferentes listas de sancionados como son la OFAC, FBI, listas de figuras públicas entre otras. Si se analiza, uno de los temas más críticos y de mayor riesgo significativo que tiene el sector financiero, el lavado de activos, donde es prioridad para la todos los gobiernos definir programas y guías que permitan mitigar este riesgo y bloquear a las organizaciones ilegales que quieren utilizar dicho sector para introducir el dinero de sus actividades ilícitas a la economía como lícitas. El objetivo principal de esta investigación es desarrollar un servicio WEB utilizando las nuevas aplicaciones empresariales basadas en el estándar SOAP, orientadas a servicios y bajo la tecnología de JAVA EE, EJB 3.0, en donde diferentes entidades financieras puedan validar y consultar el nombre de sus clientes; esto ayudará a resolver irregularidades en las transacciones del sector financiero, además las búsquedas se harán de forma rápida y eficiente. El diseño del aplicativo permitirá ser flexible, confiable y adaptarse a las necesidades de cada una de las empresas matriculadas en este.

Nowadays the Colombian financial sector does not have a centralized information system of the different lists of penalized people in this sector, as they are the OFAC, FBI, and public figures among others. If we analyze the most critical and significant risk in the financial sector, asset laundry, is a priority for all governments the definition of guides and programs that allow them to mitigate money laundry, and lock all of the illegal organizations that want to use such sector for introducing their money from their illicit activities into the country's economy as if they were legal. The main objective of this investigation, is to develop a WEB service by using state of the art technology such as JAVA EE technology, EJB 3.0 and SOAP standard, where different financial entities can validate and consult the name of their clients, in order to filter irregularities in transactions, as well as to deliver search results in an efficient and safe way. The design of this software will not only allow it to be flexible and reliable, but it will adapt to the needs of each and every entity registered to it. Key words: Asset Laundry, list of penalized, JAVA EE, EJB 3.0, SOAP, TopLink, API.

Palabras claves: Lavado de activos, Lista de sancionados, JAVA EE, EJB 3.0, SOAP, TopLink. Recibido: 14/02/08. Evaluado: 14/02/08. Aceptado: 04/04/08. * Ingeniero de sistemas de la Universidad de los Andes, con Especialización en Diseño y Construcción de Software, docente de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque ** Ingeniera de sistemas de la Universidad El Bosque *** Ingeniera de sistemas de la Universidad El Bosque.

21


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 21-26

I. INTRODUCCIÓN

III. TECNOLOGÍAS APLICADAS

En la actualidad el lavado de activos posee mucha importancia en la economía de los países, generando desempleo, desarrollo de la criminalidad y aumento de la corrupción. Estos dineros de procedencia ilícita financian el conflicto interno colombiano y permite a los grupos armados ilegales (subversión y autodefensas ilegales) mantener una costosa guerra que desangra a nuestra nación: 36 mil homicidios, 4 millones de emigrantes en el exterior, 2 millones de desplazados internos, 3.650 secuestros al año y el 35% de las tierras cultivables de nuestro país en manos de narcotraficantes, subversivos y autodefensas ilegales [6].

A. JEE

El sector financiero puede consultar las diferentes listas de sancionados existentes en múltiples sistemas de información, esta operación puede llegar a ser complicada y extensa mientras se ubican las listas de sancionados en la que se quiera consultar el nombre.

Java Enterprise Edition, define un conjunto de estándares que habilita soluciones para manejo y desarrollo de aplicaciones empresar iales mult icapa que son centralizadas en el servidor, creada y distribuida por Sun Microsystems. Su fin principalmente es ser utilizado en desarrollo de aplicaciones empresariales, ya que sus especificaciones y funcionalidades son orientadas a negocios. Sus grandes ventajas son: robustez, fiabilidad, estabilidad y seguridad. El objetivo principal es simplificar las aplicaciones empresar iales, basándolas en componentes modulares y estandarizados, para proveer un completo conjunto de servicios [1].

Conforme a esta situación se decidió diseñar e implementar un servicio Web que permita validar en línea un nombre de persona o tercero contra todas las listas existentes (OFAC, FBI, etc.) donde la búsqueda o consulta de algún nombre se realice una sola vez y no varias como se venía realizando todo esto apoyado en JAVA EE, una de las mejores tecnologías más utilizadas con un 45% de participación en el mercado colocándola como líder en el uso de software industrial. También se utilizó el estándar SOAP (Simple Object Access Protocol) servicio de mensajería que permite a las entidades usuarias conectarse de una manera fácil, segura, rápida, sin requerimientos excesivos en el desarrollo.

II. ANTECEDENTES A. LAVADO DE ACTIVOS Según SIPLA [7], el lavado de activos se define como: “El proceso de ocultamiento de recursos monetarios y no monetarios, tanto en moneda nacional como extranjera o convertible en las mismas, y cuyo origen proviene de actividades delictivas para que después de los subsiguientes actos de simulación respecto de su procedencia, aparezcan como legítimos”. B. LISTA DE SANCIONADOS En el contexto de este proyecto, una lista de sancionados es una base de datos en la cual, se encuentran datos de personas señaladas o reportadas por un motivo específico de acuerdo con criterios dados por gobiernos o entidades.

22

Figura 1. Arquitectura JEE [8]

B. EJB 3.0 Enterprise Java Beans, surge por dos fuertes motivos, el reemplazo de una tecnología obsoleta donde se manejaban los “Entity Beans” y como reconocimiento de los mapeadores objeto relacional que son componentes importantes y apropiados en la mayoría de los casos y están aceptados como “estándares” para la industria. Son un elemento de JEE que se ejecutan dentro de un container EJB. Los Entrepr ise Java Beans son componentes del lado del servidor que encapsulan la lógica del negocio de una aplicación. P rovee independencia del mecanismo de persistencia utilizado. La persistencia es delegada a otros frameworks como los mapeadores (Hibernate, Toplink) pero la aplicación es independiente del framework utilizado, logrando así una doble independencia: de la base de datos y del mecanismo de persistencia, esto hace que se pueda no tener ni siquiera


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 21-26

una línea de código no estándar. Este proyecto muestra claramente la funcionalidad de los tipos de Session Beans: • Stateful Session Beans: los cuales son de propósito de interacción de administración de usuario y servidor.

SOAP es un protocolo de comunicaciones sin estados. Esto significa que los datos y el mensaje SOAP no se almacena en el transcurso de la transmisión. Por ejemplo, SOAP transmite al proveedor de servicio una petición para llamar a un procedimiento remoto. El proveedor de servicio responde a la petición mediante un mensaje SOAP que envía de vuelta al llamador. La relación entre el remitente y el destinatario desaparece al recibir el cliente de respuesta. D. TOPLINK

Figura 2. Ciclo de vida de Stateful Session Beans [3]

Pertenece a la empresa Oracle y su distribución es gratuita. Es una poderosa herramienta de trabajo de persistencia objeto-relacional que suministra un mecanismo altamente f lexible y productivo para almacenar y acceder a datos relacionales, su estructura lenguajes de expresión basados en API, hace más sencilla la construcción de mapeos colocándose en primer lugar con su excelente Mapping Workbench. Permite precisar consultas basadas en Java mientras mira directamente a su modelo de datos uniendo el modelo orientado a objetos y el mundo relacional [9].

• Stateless Session Beans: son de propósito general para la utilización del SOAP.

Figura 4. TopLink [10] Figura 3. Ciclo de vida de Stateles Session Beans [4]

E. API

C. SOAP

Application Programming Inter face - Inter faz de Programación de Aplicaciones) creado por Sun Microsystems permite usar los antiguos objetos de java POJOs (Plain Old Java Object). Es decir, objetos simples que no heredan ni implementan otras clases (como los E JBs). Como b e a ns de ent idad y re duc e significativamente la necesidad de descriptores. Java Persistence API (JPA) proporciona un estándar para gestionar datos relacionales en aplicaciones Java SE o Java EE, de forma que además se simplifique el desarrollo de la persistencia de datos El mapeo objeto-relacional [2].

El Protocolo simple de acceso a objetos fue creado en 1997 por tres empresas de la industria: Microsoft, una pequeña empresa de software llamada Userland software y DevelopMentor, empresa creada por Lucent. Unidas decidieron desarrollar un protocolo de comunicaciones que fuera fácil de utilizar y suficientemente flexible para que pudieran aplicar los cambios de la industria y que proporcionara un intercambio totalmente interoperable [5]. El estándar SOAP no introduce conceptos nuevos está construido por completo a partir de la tecnología existente. Actualmente utiliza HTTP como transporte para los mensajes petición/respuesta y es completamente independiente de la plataforma [11].

III. DISEÑO DEL APLICATIVO Para cimentar de una forma sólida y segura las bases del proyecto, se aplicó un orden de ejecución de componentes

23


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 21-26

modulares usando la estrategia “de abajo hacia arriba”, orientando de esta manera el proceso hacia un diseño multicapa, Validación on-line vs. lista de sancionados; está basada el la arquitectura de JAVA EE con tecnología de EJB 3.0 y el estándar SOAP, donde encontramos 4 capas que definen en detalle la estructura de la aplicación: • Capa 1: ésta es la capa del cliente en la cual se ejecuta un explorador de Internet donde se interpretan todas la páginas dinámicas de HTML enviadas por el servidor de JEE; por otro lado también se desarrolló una aplicación cliente- consola para probar todos los servicios remotos.

IV. METODOLOGÍA DE DESARROLLO La metodología que se utilizó fue desarrollada por el Ing. Javier Rodríguez Galeano, profesor de la Facultad de Ingeniería de sistemas de la Universidad El Bosque, para la implementación del Validador On-line vs. Lista de Sancionados. Este ciclo está constituido de la siguiente manera:

• Capa 2: capa de Web o fachada, se encuentran los ser vlets; su función es ser la fachada para los requerimientos Web que viene de la capa del cliente, y las páginas de JSP se utilizan para entregar las repuestas al caliente en forma dinámica y en formato de HTML. • Capa 3: lógica del negocio; se implementó un Bean de sesión con estado el cual actúa como representante del cliente dentro del servidor y ofrece los servicios remotos los cuales dan soporte a los requerimientos funcionales que se definieron en este proyecto. • Capa 4: de Persistencia; contiene todas la tablas de base de datos y las entity class que a través de la API persistente de Java; hace todo el mapping entre modeloconceptual orientado a objetos y el modelo-entidad, relación que sustenta toda la aplicación.

Figura No. 6. Metodología de desarrollo

V. PROYECCIONES

Figura 5. Diagrama de arquitectura de software

24

El enfoque de este proyecto fue desarrollar un servicio informático con tecnología de punta para ser utilizado por los agentes del mercado financiero de tal forma que se convierta en una herramienta de consulta estándar para las entidades matriculadas en dicho servicio.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 21-26

De la misma forma se pretende que el proyecto sirva como un instrumento de difusión y consulta dentro del sector académico. Para dar continuidad a este proyecto, y basados en el conocimiento desarrollado, la segunda fase debe apuntar a involucrar sistemas expertos, que de acuerdo al número de consultas de nombres en la base de datos pueda dar repuestas de operaciones inusuales o sospechosas, o muestre en concreto el estado específico de alguna persona consultada en la base de datos, pues la entidades matriculadas en el servicio pueden dar la calificación al respecto.

VI. CONCLUSIONES Se implementó un servicio Web, creando una solución de software libre con el fin de hacer más eficiente y efectivas las operaciones financieras y la gestión de las entidades para realizar procesos de consulta y validación del nombre de clientes y potenciales clientes en el sector financiero. Por medio de procesos de administración de datos, se identificó, ingresó y compac tó la infor mación concernientes a las listas ya existentes de sancionados, las cuales son emitidas por diversas organizaciones gubernamentales. En estas listas se encuentran los nombres de las personas con sanciones relacionadas con el delito de lavado de activos. La implementación de este software está basada en el estándar SOAP (Protocolo Simple de Acceso a Objetos) el cual es una especificación de un sistema de mensajería de comunicaciones sin estados, fácil de utilizar y suficientemente flexible para que se puedan aplicar los cambios de la industria. JAVA EE simplifica la complejidad inherente al desarrollo de aplicaciones multicapa. En su concepción JAVA EE permite diseñar software con fuertes requerimientos no funcionales, es tolerante a fallas, y estandariza una API común entre componentes y servidores de aplicación. JAVA EE y EJB 3.0 fueron un reto investigativo, pues al no existir información suficiente, este proyecto se presenta entonces como una guía para la personas (estudiantes, profesores y cualquier persona interesada en el tema) que quieran utilizar estas tecnologías y saber el fin para el cual fueron diseñadas, pues durante el proceso investigativo se identifico y describió cada una de las ventajas y objetivos principales de las mismas.

REFERENCIAS [1] Java sun, (2007). Enterprise Javabeans. Consultado el 11 de Septiembre 2007, de http://java.sun.com/javaee/5/docs/tutorial/doc/index.htm [2] Java Sun, (2007). Introdution to the Java Persistence API. Consultado el 11 de Septiembre 2007, de http://java.sun.com/javaee/5/docs/tutorial/doc/index.htm [3] Java Sun, (2007). Life Cycle of a Stateful Session Bean. Consultado el 11 de Septiembre 2007, de http://java.sun.com/javaee/5/docs/tutorial/doc/index.htm [4] Java Sun,(2007). Life Cycle of a Stateless Session Bean. Consultado el 11 de Septiembre 2007, de http://java.sun.com/javaee/5/docs/tutorial/doc/index.htm [5] KEOGH, Jim. (2003). Manual de Referencia. Editorial McGraw-Hill, pag. 541 [6] Lavado de activos, (2007). Presentación sobre el papel de la fiscalía dentro del sistema contra el lavado de activos en el Banco de Bogotá. Consultado el 05 de Agosto 2007, de http://www.fiscalia.gov.co/pag/divulga/decla02/lavact.ht ml. [7] Manual SIPLA, (2007). Definición. Consultado el 02 de Septiembre 2007, de http://www.asofiduciarias. Org.co/includes/scripts/open.asp?ruta=/images/dynamic /articles/652/MANUAL+SIPLA.pdf [8] Openpuc, (2007). Arquitectura Java EE. Consultado el 13 de Septiembre 2007, de http://openpuc.cl/index.php?option=com_docman&task =doc_download&gid=14&Itemid=59 [9] Oracle, (2007). Technology. Consultado el 11 de Septiembre 2007, de www.oracle.com/technology/products/ias/toplink. [10] Oracle, (2007). TopLink. Consultado el 11 de Septiembre 2007, de http://java.sun.com/javaee/5/docs/tutorial/doc/index.htm [11] STURN, Jake. (2001). Desarrollo de Soluciones XML; Editorial McGraw-Hill, pag. 154.

25


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 21-26

Artículo de Investigación Científica y Tecnológica. Sometido a Arbitraje. Los Autores Javier Augusto Rodríguez Galeano Ingeniero de sistemas de la Universidad de los Andes, con Especialización en Diseño y Construcción de Software, docente de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. javierrodriguez@unbosque.edu.co

Johanna González Moreno Ingeniera de sistemas de la Universidad El Bosque Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. joysgonzalez@yahoo.es

Tatiana Murillas Herrera Ingeniera de sistemas de la Universidad El Bosque. Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. tatiana.murillas@gmail.com

26


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 27-33

Optimización del motor de ejecución de PROGLAB e implementación de un ícono del lenguaje para hacer iteraciones Performance optimization of PROGLAB engine and implementation of a language icon to make iterations Alejandro León Mora* Néstor Gonzalo Martínez Sarmiento** Oscar Eduardo Torres Valbuena***

Resumen

Abstract

La creación del FRAMEWORK que en su primera etapa desar rolló el macro-proyecto PROGL AB, de La Universidad El Bosque, permitió obtener un prototipo que proporciona iconos del lenguaje para realizar operaciones básicas (suma, resta, multiplicación, división). Mediante la implementación de un nuevo icono de lenguaje iterativo, la aplicación extenderá en cierta medida su uso, permitiendo que los iconos de lenguaje proporcionados por el primer prototipo de PROGLAB puedan ser agregados a bloques de ejecución que tengan un comportamiento iterativo y a su vez este bloque contendor se comunique con operaciones configuradas fuera del mismo y presentará una funcionalidad útil para la industria a la cual fue destinada.

The creation of the FRAMEWORK that in his first development stage the macro-project PROGLAB, at El Bosque University allowed to obtain a prototype that will provide icons language to conduct basic operations (as addition, subtraction, multiplication, division). With the implementation of a new iterative language icon, the application will extent its use, allowing that the language's icons provided by the first prototype of PROGLAB can be added to iterative execution blocks and this container block communicates as well with operations formed outside himself and will display a useful functionality for the industry to which it was created.

Palabras claves: Framework, compilador, programación icónica instrumentación virtual, tiempo real, clases internas y silenciosas, componentes gráficos, Java™.

Key words: Framework, compiler, visual programming, iconic programming, real time, nested classes, inner classes, graphical components, Java™.

Recibido: 21/01/08. Evaluado: 18/02/08. Aceptado: 14/03/08. * Ingeniero de la compañía de telefonía celular COMCEL en Colombia. Ingeniero de Sistemas, especialista en Construcción de Software. ** Ingeniero de Sistemas Universidad El Bosque. *** Ingeniero de Sistemas Universidad El Bosque.

27


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 21-26

I. INTRODUCCIÓN Los procesos y las gestiones en un entorno industrial no cuentan en la actualidad con una plataforma tecnológica que permita su control, probablemente a razón de la ausencia de una herramienta eficaz y asequible para gestionar dichos procesos. La falta de un software amparado bajo el licenciamiento de software libre en esta área, es lo que busca llenar PROGLAB. Desde el inicio del macro proyecto PROGLAB [5] se estableció la ausencia de una aplicación con licencia GPL que permitiera la automatización y control de procesos técnico mecánicos. Hecho que impide a medianas empresas la posibilidad de adquirir tecnología de punta destinada a automatizar sus procesos industriales, dado que las herramientas que proveen estas funcionalidades actualmente presenta un alto costo de licenciamiento por su uso. Es por esto que se debe seguir agregando mayores capacidades a la herramienta PROGLAB a fin de que llene ese vacío y empiece a suplir esas necesidades, cumpliendo con el principio social que dio origen a este macroproyecto, dirigido al fortalecimiento tecnológico e investigativo de La Facultad de Ingeniería de Sistemas de la Universidad El Bosque. Un sencillo motor de ejecución creado en la primera versión permite, cambiar fácilmente de la vista de diseño a la vista de ejecución de PROGLAB este motor es descrito en las primeras secciones de este artículo.

Una de las decisiones claves para el que la aplicación pueda ejecutarse consiste en los puntos de partida para la ejecución [2]. Con el fin de determinar donde debía iniciar la aplicación su ejecución se establecieron los siguientes criterios: 1. Se pueden crear varios hilos de ejecución que comienzan, en valores conocidos, en este caso las constantes. 2. Para el manejo de Adquisición de datos [1], se bebe implementar un hilo de ejecución que encada uno de los artefactos de adquisición para que estos se queden esperando los datos de entrada. La definición de estos dos puntos de inicio se conserva aún para la nueva versión de PROGLAB y están presentes desde la primera versión. Como interfaz de adquisición de datos PROGLAB actualmente cuenta con adquisición por RS232. En la Figura 1, se muestra el estado actual del motor de PROGL A B, en el que s e pue de obs er va r la implementación de un hilo principal dentro del contexto de la aplicación, adicionalmente dentro del panel del código, existe un hilo para el manejo de las constantes, un hilo encargado de recibir los datos que ingresen por los puertos y un dedicado para el manejo de los componentes.

Igualmente, en este artículo se detalla uno de los pilares de PROGLAB es la clase VI que encapsula entre otras cosas las funcionalidades de DnD (Drag an Drop). Para el manejo de eventos del ratón, se crearon delegados por medio de clases internas y silenciosas, de estos eventos se tratará más adelante.

II. MOTOR DE EJECUCIÓN DE PROGLAB En la primea fase se construyó un compilador orientado hacia la programación icónica [6] el cual, tenía bien definida la capa de presentación de la capa de lógica, hecho que deslumbraba la implementación de patrones de diseño presentando un bajo acoplamiento y una alta cohesión entre los componentes que se diseñaron. Esto permite que en la aplicación construida se tenga la posibilidad de realizar cambios importantes es la estructura básica de la herramienta en mención. El motor estaba conformado por un HashMap [3] de Hilos, los cuales son iniciados una vez el usuario del sistema decide cambiar entre la vista de diseño y la vista de ejecución.

28

Figura 1. Modelo primera fase de PROGLAB Con el fin de lograr que los componentes que se adicionarán a la her ramient a mant uv ieran el funcionamiento adecuado, es necesar io que la arquitec t ura del compilador presente cambios importantes en el contexto de la aplicación y en el contexto del panel de código, de esta manera el icono iterador se comunica con los demás componentes de la aplic ación, ma neja ndo pro c e s os de conex ión independientes, como en la Figura 2 se ilustra.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 27-33

Figura 2. Optimización del motor de PROGLAB

En la actualidad el Equipo de Investigación en Software Libre, esta trabajando en otros proyectos para poder accedes a interfaces USB usando el lenguaje Java.

definir cada una de estas implementaciones dentro de la misma definición del componente VI y de esta manera hacer uso de clases internas.

III. COMPONENTE VI

TABLA I. Descripción del nuevo componente

El diseño que actualmente maneja PROGLAB define una clase abstracta que representa un objeto vir tual denominada VI. En ella se hace uso de propiedades que el lenguaje JAVA™ [7] ofrece, como son el uso de clases internas y clases silenciosas, las cuales permiten definir comportamientos que no son genéricos y que solo pueden ser utilices para los objetos que los definen, además de evitar llenar la memoria de una gran cantidad de referencias hacia instancias de objetos que ningún número de clases representativo utilice, lo que se entiende como mejor rendimiento del aplicativo. La razón del uso de las clases internas en el componente VI, es debido a que en ésta clase se definen la totalidad de la funcionalidad que permite a PROGLAB crear componentes icónicos sobre los cuales sea posible realizar operaciones de DnD.

IV. IMPLEMENTACIÓN DE INTERFACES OYENTES DE EVENTOS P rog r a ma r e s t a f unciona lidad conlleva a la implementación de interfaces oyentes de eventos generados por el Mouse, algunas interfaces y su descripción se pueden observar en el siguiente figura. Ya que la definición de estas interfaces no es inherente si no solo a la clase abstracta VI, por este motivo se decidió

29


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 21-26

VI. ESTRUCTURA DEL NUEVO COMPONENTE A partir del desarrollo del nuevo modulo, se hace necesario la creación operaciones lógicas como son la de mayor que, menor que y la de igualdad, las cuales manejan una definición similar a las operaciones aritméticas según el esquema de PROGLAB, permitiendo implementarlas gracias a la extensibilidad que el framework [5] proporciona. Estas operaciones se ven justificadas por la mecánica de funcionamiento del modulo iterativo, ya que en él es necesario contar con un componente lógico que permita manejar el estado de ejecución del mismo. Estos nuevos operadores de PROGLAB cuentan con dos entradas y una salida, en la Figura 3, puede verse su representación.

Figura 4. Esquema del nuevo componente Descripción de la figura 4 Casilla A: Valores que provienen de componentes externos y que están fuera del contexto del bloque iterativo. Estos valores se comunican con los iconos que están dentro de este bloque mediante puertos como los que están señalados por la letra B. Casilla B: Estos son puertos que permiten la comunicación de los iconos externos al bloque de instrucciones con los que se encuentran dentro del el. Cada puerto posee dos sub - componentes uno de entrada y otro de salida, en donde el elemento de entrada recibe los valores que provienen del exterior, mientras el otro permite comunicar estos mismos valores al interior del bloque de instrucciones (Véase Figura 5).

Figura 3. Descripción de los nuevos operadores

VII. DISEÑO DEL NUEVO ELEMENTO ITERADOR En la Fig. No. 4 se presenta el esquema general del nuevo elemento que se adicionará a PROGLAB con la definición de cada componente del icono iterador y cual será su función en la aplicación.

30

Figura 5. Puertos de Comunicación Internos Casilla C: Valores que serán utilizados como entradas en los iconos que se encuentran dentro del bloque de instrucciones. Casilla D: Valores que son calculados dentro del bloque de instrucciones y que son enviados hacia el exterior de este.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 27-33

Este procedimiento de comunicación es hecho por medio de un puerto de comunicación. Casilla E: Este componente permite la publicación externa de los valores generados al interior del bloque de instrucciones (Véase Figura 6).

creación de un componente que permita ser agregado a un panel de código y a su vez sea posible agregar elementos sobre el como si fuera un nuevo panel de código, de aquí nace la definición de la clase abstracta BloqueVI [4].

Figura 6. Puertos de Comunicación Externo Diagrama Valores del Bloque de Salida Al componente de salida llegaría el valor que se desea publicar, mientras a partir del componente de entrada se trasporte este valor hacia los iconos exteriores al bloque de instrucciones que están interesados en conocer dicho valor. Casilla F: Componente que alberga el valor de verdad que permite la ejecución del bloque de instrucciones. Este puerto recibe su valor de entrada a partir de una operación interna al componente iterativo, es decir no es posible tomar como valor de entrada para este puerto alguno que provenga de una operación que esté fuera del contexto de este, ya que sería imposible administrar dicho valor debido a que no es controlado por el bloque de instrucciones.

VIII. DEFINICIÓN DE LA CLASE BLOQUE VI En los lenguajes secuénciales las instrucciones iterativas comúnmente encierran un conjunto de líneas de código que se ejecutan repetidas veces mientras una condición de verdad sea valida [8]. La ejecución de un ciclo representado por una instrucción de estas en los lenguajes textuales no representa la creación de un nuevo contexto, como se produce al invocar un método, en donde existe la creación de variables específicas para el contexto en el que se ejecute la función o método solicitado. Con el propósito de continuar utilizando la definición de componentes realizada mediante la clase abstracta VI creada en la primera etapa del macro proyecto PROGLAB y el cual es el fundamento de todos los iconos que componen el lenguaje de este motor, se hace necesario la

Figura 7. Interacción de componentes

IX. DESCRIPCIÓN COMUNICACIÓN DE COMPONENTES EXTERNOS CON EL ÍCONO ITERADOR El componente While (Bloque de instr ucciones ejecutadas repetidas veces) que se esta construyendo debe contar con puntos de comunicación que le permitan establecer contacto con los componentes de su exterior y la vez sus componentes de exterior fijar valor de cambio a este. Para permitir que eso fuera posible se hace necesario la creación de una clase que encapsulara el comportamiento de un punto de entrada, es decir que contara con dos puertos uno a donde llegara la conexión que proveniente del exterior y otra que sirviera para la unión con un componente interno al bloque while [8]. La Figura 8 especifica cuál es el componente punto entrada en el componente While, y se puede apreciar que el puerto rojo es el que permite la conexión desde el exterior mientras el puerto verde es el que permite la unión hacia el interior del bloque iterativo. Continuando con la descripción en la parte derecha de este se encuentran otro punto de entrada, que sirve para un proceso inverso ya que lleva valores generados a interior del bloque hacia el exterior de este utilizando la misma nomenclatura, el punto rojo es una entrada, mientras el punto verde es salida hacia algún componente exterior.

31


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 21-26

mismo, la nueva estructura permite que cada una de las modificaciones que se le hagan a la interfaz y la capa de presentación se adapten a la nueva versión de la herramienta. Teniendo en cuenta el carácter investigativo que debe tener la Universidad El Bosque, es importante darle continuidad a proyectos de este tipo, orientados a la creación de productos innovadores en un entorno de código abierto, que no solo favorecerá a la industria nacional si no que, permitirá también a otros proyectos de investigación que involucran el uso de estas herramientas, soportarse sobre ella.

REFERENCIAS Figura 8. Punto de inicio de la aplicación

[1] AHO Alfred V., Compiladores: principios, técnicas y herramientas, Wilmington, Addison-Wesley 1999.

X. CONCLUSIONES

[2] GA LV IN, S. Sistema s Op erat ivos. 5a Ed. Massachussets: Pearson, 1999.

Es posible implementar elementos gráficos en un ambiente de desarrollo orientado por objetos e involucrar acciones de Drag And Drog a dichos elementos.

[3] GOETZ, B. Java Concurrencyin Practice, 1ª Ed. Massachussets, 2006

Basados en el modelo de clases del compilador PROGLAB y teniendo en cuenta la estructura básica del mismo es posible realizarle modificaciones severas ya que esta diseñado con un modelo en el que la asignación de responsabilidades presentan en sus componentes una alta cohesión y bajo acoplamiento. Se ha logrado la implementación de clases silencias y ocultas con el fin de permitir comportamientos no genéricos y que solo pueden ser utilizar para objetos que los definen. Los resultados muestran eficacia en el componente adicionado y un comportamiento optimo en el motor de ejecución. Con los cambios efectuados en el compilador de PROGL AB, este quedo orientado a una mayor escalabilidad y mediante trabajos de grado es posible que esta aplicación tenga mayor funcionalidad y de esta manera fortalecer los proyectos de investigación gestados en la Facultad de Ingeniería de Sistemas de la Universidad El Bosque y el grupo de investigación EQUIS.

XI. TRABAJO FUTURO Cada una de cambios realizados en el motor de ejecución de PROGLAB permite una arquitectura mucho más robusta y eficaz consiguiendo que el desempeño del componente adicionando funcione correctamente. Así

32

[4] GUERRERO, L. (2003). Análisis y Diseño Orientado a Objetos. Consult ado en Sept iembre, 29,2006 http://www.dcc.uchile.cl/~luguerre/cc40b/clase14.html. [5] LEÓN, Alejandro (2005). Investigación y Diseño de un FRAMEWORK orientado a la creación de un compilador de lenguaje de programación icónica (Tesis de Ingeniero de Sistemas, Universidad el Bosque), Bogotá. [6] National Instruments Corporation (2006). Products and Services. Consultado en Agosto, 17, 2006 en http://ni.com/signalexpress/whatis.htm. [7] Real-Time Java™ Platform Programming, Prentice Hall PTR, March 11, 2002, 17 P. [8] SCHILDT, H. Java™ 2 Manual de referencia.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 27-33

Artículo de Investigación Científica y Tecnológica. Sometido a Arbitraje. Los Autores

Alejandro León Mora Ingeniero de la Compañía de Telefonía Celular COMCEL en Colombia. Especialista en Construcción de Software, Universidad de los Andes. Ingeniero de Sistemas de la Universidad El Bosque. Cl 90 14 - 77, Bogotá D.C., Colombia. aleon@comcel.com.co.

Oscar Eduardo Torres Valbuena Ingeniero de Sistemas de la Universidad El Bosque. Carrera 7 B Bis 132 - 11,Bogotá D.C., Colombia. oscartorres@unbosque.edu.co.

Néstor Gonzalo Martínez Sarmiento Ingeniero de Sistemas de la Universidad El Bosque. Carrera 7 B Bis 132 - 11,Bogotá D.C., Colombia. nmartinez@unbosque.edu.co.

33



Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 35-42

“PODOSOFT” Software para el análisis de malformaciones en el pie Software for the analysis of defects in the foot “PODOSOFT” Efraín Patiño B.* Luís Iván Suárez Manrique**

Resumen

Abstract

Este proyecto está enmarcado dentro de la línea de Informática Médica y se desar rolló como una herramienta útil para el estudio de las malformaciones en el pie, con el fin de optimizar la confiabilidad, agilidad y efectividad del análisis que realiza el médico para este tipo de patologías; este software se encarga de hacer el estudio matemático partiendo de una serie de datos recogidos gracias a elementos de hardware que permiten el enlace con la aplicación como son: Cámaras digitales, Nivel de precisión, Fotografías, Podoscopio.

This project is framed within the line of Medical Informatics and was developed as a useful tool for the study of malformations in the foot, in order to optimize the reliability, flexibility and effectiveness of the analysis carried out by the doctor for this type of pathology This software is responsible for doing the study mathematical basis of a series of data collected through hardware that enable liaison with the application such as: Digital Cameras, level of precision, photograph, Podoscope.

Palabras claves: Informática Médica, Podoscopio, Antropometría, Malformación del pie.

Key words: Medical computer science, Anthropometric, Podoscope, Measures, Foot malformations.

Recibido: 21/01/08. Evaluado: 14/03/08. Aceptado: 07/04/08. * Profesor de Informática de la salud de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque. ** Ingeniero de Sistemas de la Universidad El Bosque.

35


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 35-42

I. INTRODUCCIÓN

problemáticas de estudio de años atrás, perfeccionando cada día su utilidad a la sociedad.

La malformación de los pies es común en toda población. Es un tipo de patología que además de afectar las funciones normales del pie, también influye en la posición corporal del individuo; cuando se habla de este tipo de patología se refiere a la incapacidad de mantener el centro de gravedad del cuerpo sobre su base [1,10].

El desarrollo de este proyecto partió de la búsqueda de antecedentes en el área de medicina e ingeniería de los grupos de investigación GIMUB - QAPACE. Se inició la investigación con el planteamiento del problema y su formulación, luego se presentó un marco teórico con los antecedentes del problema planteado, posterior a esto se plantearon los requerimientos del sistema recopilados en conjunto con el asesor temático, donde se establecen necesidades del usuario final y desarrollo del software, pasos que enuncian un trabajo lógico en la búsqueda de resultados que generen hito en las creaciones y programas tecnológicos además de optimización de calidad de vida para los pacientes.

Para mantener una correcta posición o alineación corporal la gravedad actúa en todo momento sobre las diversas partes del cuerpo, ya que la forma de los huesos es demasiado irregular para que exista un equilibrio entre ellos, de manera que la unidad funcional del cuerpo pueda mantener una determinada postura o alineación corporal. Los músculos, tanto flexores como extensores del tronco y la cabeza, así como los de las piernas se oponen a la fuerza de gravedad (la gravedad lleva el maxilar inferior hacia abajo, de modo que los músculos deben tirar hacia arriba, debido a la propiedad tónica de los mismos), funciones seriamente afectadas cuando se presentan patologías de este tipo [9]. Este proyecto se enfocó en el análisis de la enfermedad y en la recopilación de información para tener una historia clínica de los pacientes, cuyo objetivo fundamental fue crear un software con la capacidad para recibir la información necesaria del caso como fotos, antecedentes médicos, información personal para manipularla de tal manera que se analice y arroje un resultado que será estudiado por personal especializado, sin duda alguna puede convertirse a largo plazo en un importante avance para el área de la medicina encargada de éste tipo de patologías, siempre y cuando se continúe una investigación que permita su constante actualización. El software fue un aporte al área de la salud ya que está orientado al seguimiento de un historial clínico para personas con anomalías en los pies, lo que constituye un importante avance tanto en materia de Ingeniería como de medicina pues representa una fusión de conocimientos en pro del desarrollo de nuevas tecnologías para mejorar la calidad de vida y las condiciones de pacientes que presentan esta enfermedad, consolidando no solo el tipo de avance científico mencionado sino además afirmando su carácter social en la medida que su creación se preocupa por una problemática que impide el sano desenvolvimiento de las personas en su medio social y por tanto la interacción efectiva con sus pares. Es por ésta preocupación e interés en su solución que se ponen en marcha los acercamientos hacia soluciones tecnológicas de carácter social, esta hablando de tecnología actual de hoy intentando resolver

36

II. ESTUDIO Debido a la necesidad manifiesta de los médicos del deporte del Postgrado en Medicina del Deporte de la Universidad El Bosque, donde se llegó a la conclusión de crear una aplicación que minimizara el tiempo de consulta de pacientes con alteraciones en los pies ó columna y que arrojara resultados más exactos. Después de evaluar los programas más adecuados para la creación de este aplicativo se seleccionó Visual FoxPro 9.0 Sp2. Una de las razones más importantes es que las aplicaciones que se han venido desarrollando han sido en su gran mayoría creadas en Visual Fox Pro por lo tanto se buscó que existiera compatibilidad entre ellas, permitiendo un manejo más sencillo en el momento de integrar los módulos. OBJETIVO GENERAL Implementar un software que permita capturar, almacenar, analizar e informar sobre las malformaciones del pie para lograr una sistematización de datos que permita optimizar recursos en el estudio médico de pacientes con malformaciones. Malformaciones en los pies Los diferentes tipos de malformaciones que se presentan a continuación [2,3,7,9]: Genucurvado Se manifiesta cuando la articulación de la rodilla se curva hacia atrás, es decir, ocurre una hiperextensión de la articulación de la rodilla, Figura 1.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 35-42

Supino o Varo Presenta una caída lateral del arco transversal, el tendón calcánio se vuelve varo. Puede estar asociado al pie cavo y/o a una rodilla genovara, Figura 4.

Figura 1. Pie Genucurvado Plano Consiste en la disminución del arco plantar y esta siempre asociado a un talus valgus. Provoca la rotación medial de los ejes tibiales y femurales, en consecuencia la tendencia a una rodilla valga, direccionando las patelas en sentido media, Figura 2.

Figura 4. Pie Supino Prono o Valgo Presenta caída medial del arco transversal. El tendón calcánio se vuelve valgo. Puede estar asociado al pie plano y/o a una rodilla genovalga, Figura 5.

Figura 2. Pie Plano Figura 5. Pie Prono

Cavo Se caracteriza por el aumento del arco longitudinal. Todavía no se ha conseguido definir su origen, puede ser consecuencia de una enfer medad de parálisis, desequilibrios posturales y musculares durante el periodo de cre cimiento, enfer medades neurológic a s o deformaciones de la columna, Figura 3.

Convergente Se caracteriza por la rotación medial del tobillo. Figura 6.

Figura 3. Pie Cavo

Figura 6. Pie Convergente

37


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 35-42

Abducto Rotación lateral del tobillo, los principios son los mismos del pie convergente, Pie Abducto, Figura 7.

Figura 9. Calibrador de Vernier

Objeto a medir Parte movible Vernier Escala fija en mm

Figura 7. Pie Abducto Métodos de Análisis actuales En la sociedad actual se percibe, día a día, la necesidad de incorporar a la cultura y a la educación aquellos conocimientos teórico-prácticos, relacionados con el cuerpo y la actividad motriz, los cuales contribuyen al desarrollo personal y una mejora en la calidad de vida. Al hombre del siglo XXI le resulta imprescindible la ejercitación del cuerpo si no quiere ver atrofiadas prematuramente muchas de sus funciones y capacidades corporales. Es a través del cuerpo y el movimiento como la persona se relaciona con el entorno [11,12].

0 Escala Vernier deslizable

0,9 mm Medición 5,0 mm

0 1 mm 5

En dicha reacción se ven involucradas funciones especificas para su realización, se han realizado entonces, innumerables estudios para las diferentes patologías de malformación en el pie, actualmente el médico toma las medidas manualmente ayudado de un Podoscopio (Figura 8), un Calibrador de Vernier (Figura 9 y 10), y tomando medidas utilizando regla, lápiz, hoja de cálculo.

10

15

Escala Fija

1

Medición 5,1 mm

0

5

10

15

5 Medición 5,5 mm

0

5

10

15

Figura 10. Calibrador de Vernier

Figura 8. Podoscopio

38

Primero el médico realiza la medida de la anchura bimaleolar, la cual consiste en medir la distancia frontal entre los tobillos del pie (distancia entre maléolos tibial y


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 35-42

peroneal). La persona se sienta apoyando el pie sobre el suelo y dejando el tobillo en posición anatómica.

• Tabla con la información correspondiente al usuario del sistema.

Enseguida se toma la medida del la anchura del talón, la achura horizontal máxima del pie, la longitud entre el talón y el juanete y, la longitud total del pie todo esto ayudado del Calibrador de Vernier, luego ayudado de la hoja de cálculo se toma la imagen del pie [4,5,8].

El médico, puede escoger las diferentes fotos que va a capturar del paciente para su análisis.

El desarrollo de PODOSOFT facilitará y reducirá el trabajo en forma significativa al médico en las mediciones de pacientes con malformidades en los pies ya que la toma de medidas se hará por medio del computador y solo se utilizará el podoscopio de los elementos anteriormente mencionados. Con esto el médico reduce tiempo en el análisis y diagnostico de sus pacientes.

III. METODOLOGÍA Planificación: Se realizaron reuniones con el Asesor Temático y el Director del Proyecto donde se propuso el desarrollo de la aplicación para explicar la parte teórica como base fundamental para la puesta en marcha de la herramienta. También el diseño de las diferentes interfaces gráficas que se presentan al usuario final, los datos que se solicitan para el registro de participantes, médicos y para la configuración del experimento, para luego generar los ejecutables de la aplicación. Con estas reuniones se determinó la finalidad de implementar este proyecto planteando los requerimientos del software. Diseño: En esta etapa se realizaron las presentaciones de las diferentes interfaces vistas por los usuarios. Se desarrolló de tal forma que el médico ingrese primero los datos básicos del paciente y luego proceda a tomar las diferentes fotos para el análisis del pie. Desarrollo: Se maneja una base de datos principal llamada General la cual contiene:

El software se realiza con la orientación del director del proyecto de investigación y del asesor temático, dando aportes de programación y realizando pruebas al respecto.

IV. INFORMÁTICA DE LA SALUD Las computadoras cada día se hacen más importantes en diversas áreas del quehacer humano, debido a su rapidez para analizar, procesar y comunicar grandes cantidades de información. Uno de los campos de la actividad humana que se ha visto más beneficiado por la informática es el área de la salud. Para el trat amiento de las enfer medades, las computadoras diseñan terapias, algunas determinan y aplican dosis de medicamentos, realizan operaciones quirúrgicas mediante brazos robotizados o suministran radiaciones que atacan a las células enfermas. La informática de la salud es el campo científico relacionado con la adecuada adquisición, almacenamiento y uso de la información biomédica encaminada a la resolución de problemas y toma de decisiones en salud. Se relaciona con todos los campos básicos y clínicos de las ciencias de la salud y se encuentra íntimamente relacionada con las nuevas tecnologías de la información en especial con las áreas de la computación y comunicaciones. Es una ciencia experimental que se caracteriza por hacerse preguntas, diseñar experimentos, llevar a cabo análisis y utilizar lo recolectado para desarrollar nuevos experimentos. A. ANTROPOMETRÍA

• Tabla principal con los datos del Paciente: Contiene la información básica general de los pacientes. • Tabla con la información correspondiente a las medidas: Contiene toda la información de cada una de las medidas generadas por el sistema. • Tabla con cada uno de los departamentos del país y sus códigos. • Tabla con cada una de las ciudades de cada unos de los departamentos con sus respectivos códigos.

La antropometría es la ciencia que estudia las dimensiones del cuerpo humano; para alcanzar a conocer estas dimensiones, se recur re a la estadística, determinando aquellos valores que son considerados como promedio en el hombre [6]. Antropometría Estática: Es aquella que mide las diferencias estructurales del cuerpo humano, en diferentes posiciones y sin movimiento. Antropometría Dinámica: Considera las posibles resultantes del movimiento, y va ligada a la biomecánica

39


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 35-42

B. PODOSOFT Aplicación diseñada en el año 2007 (ver figura 12), podoscopio diseñado como complemento de la aplicación para satisfacer las necesidades del medico en lo que tiene que ver con el análisis de las malformaciones en el pie (ver figura 11).

Figura 11. Mapa Conceptual del Marco Teórico

Figura 12. Podosoft

Figura 14. Captura de Imágenes del Pie

VI. CONCLUSIONES Los resultados divulgados con la creación del presente software demuestran la utilidad de crear un método partiendo de principios convencionales anteriormente usados. PODOSOFT cuenta con el valor agregado de tomar las medidas directamente sobre la imagen del paciente, lo que optimiza la calidad y el tiempo del médico, pues ahorra el tiempo de las consultas destinadas al diagnóstico de cada usuario y aumenta el número de consultas dedicadas al tratamiento después del hallazgo de la patología.

Figura 13. Información del Paciente

40

Al desarrollar esta aplicación se cuenta con un medio de almacenamiento de la información necesaria para pacientes con malformaciones en los pies, quedando en un historial para su posterior estudio.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 35-42

Así mismo el software permite la toma de las fotografías, almacenándolas para tomar las respectivas medidas, convirtiéndose en una herramienta ágil y confiable. La réplica de la metodología usada en el presente proyecto en poblaciones más grandes resaltaría la utilidad clínica del método de la toma de huellas como herramienta clínica valida y confiable. Los métodos de toma de medidas anteriormente empleados, ilustrados durante el documento con la utilización de herramientas como hojas cuadriculadas, reglas, escuadras, transpor tadores y calculadoras, resaltan en PODOSOFT la confiabilidad y exactitud de los datos obtenidos generando grandes avances en la alianza Ingeniería de Sistemas -Medicina.

RECONOCIMIENTO El autor del presente proyecto agradece a las personas que colaboraron, miembros de los grupos de investigación GIIMUB y QAPACE. Al Doctor Carlos Efraín Sánchez, médico, Especialista en Medicina del Deporte y Epidemiología, asesor temático en el Área Médica de la Investigación.

[7] KOSTANTINOS A. Stergiopoulos, MD, History and literature review of plantar pressure measurement studies and techniques (pelmatographise), Depar tment of Orthopaedics and Traumatology University Hospital University of Crete, Greece. [8] MONDELOO, Gregori (1994) Ergonomía 4 Trabajo en Oficinas, Bogotá. [9] M.E. Nikolaidou, K.D. Boudolos, A footprint-based approach for the rational classification of foot types in young schoolchildren. The Foot, Volume 16, Issue 2, June 2006, Pages 82-90 M.E. University of Athens, Ethnikis Antistasis, Dafne, Athens, Greece. [10] PROBLEMAS Posturales www.programapostural.com.br [11] SARTI Martínez M.A., Vera García F.G. Manipulación Social en la Actividad físico-deportiva. Revista Áskesis. 1997 [12] SOLER Fernando L (1999) Ingeniería Biomédica (1 Edición pp. 23,24), Bogotá.

REFERENCIAS [1] AMERICAN Academy of Orthopaedic Surgeons. (2007). www.orthoinfo.aaos.org [2] BONNIE Yuk San Tsung, MPhil; Ming Zhang, PhD; Yu Bo Fan, PhD; David Alan Boone, CP, MPhil, Quantitative comparison of plantar foot shapes under different weightbearing conditions, Journal of Rehabilitation Research and Development Vol. 40, No. 6, Pages 517526, Diciembre 2003. [3] COLEGIO Oficial de Podología de Cataluña, Análisis de Malformación de los Pies. www.podocat.com [4] CURRANA Sarah A., Uptonb Dominic, Learmonthc Ian D. Huellas dinámicas y estáticas: cálculos comparativos para el ángulo y base del paso. The Foot 15 (2005) 4046 [5] DAVID J. Oborne, Ergonomía en Acción: La Adaptación del Medio de Trabajo al Hombre, Primera impresión, Editorial: Trillas, México, D.F., 1992 [6] JUAN Fortune Haverbelck, Jaime Paulos Arenas Facultad de Medicina Pontificia Universidad de Chile (1999) Manual de Ortopedia y Traumatología, Chile.

41


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 35-42

Artículo de Investigación Científica y Tecnológica. Sometido a Arbitraje. Los Autores

Efraín Patiño B. Profesor de Informática de la salud de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque. Carrera 7 B Bis 132 - 11,Bogotá D.C., Colombia. efrainpatino@unbosque.edu.co

Luís Iván Suárez Manrique Ingeniero de Sistemas- Universidad El Bosque. Carrera 7 B Bis 132 - 11,Bogotá D.C., Colombia. ivansuarez@unbosque.edu.co

42


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 43-48

Diseño e implementación de un portal WAP para consultar la ubicación de clínicas Design and implementation of a WAP portal to inquire the location of clinics Carlos Fernando Varela* Diana Isabel Munar Guerrero*

Resumen

Abstract

El artículo se centra en el desarrollo de un portal WAP para consultar la ubicación de clínicas de la ciudad de Bogotá por medio de telefonía móvil, con el fin de permitir a los usuarios de la aplicación utilizar recursos tecnológicos desde su celular y así realizar consultas óptimas de acuerdo a la especialidad y a la ubicación de las clínicas más cercanas dependiendo del lugar en el que se encuentre el usuario.

The article is based on the design and implementation of a WAP Portal, which has as aim to allow the users of mobile telephony to do queries about hospitals in the Bogotá city. The application needs for the query, the medical specialty and address in which the user is located in order that the application returns the hospitals nearest to the point of the indicated location, allowing with this development to create a new technological resource based on a cellular telephone.

Palabras claves: Portal WAP, Telecomunicaciones, Telefonía Móvil, GPRS.

Key words: Portal WAP, Telecommunications, Mobile telephony, GPRS.

Recibido: 07/2007. Evaluado: 03/12/07. Aceptado: 24/01/08. * Director del Área de Electrónica, Telemática, Arquitectura del Computador e Inteligencia Artificial de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque. ** Ingeniero de Sistemas de la Universidad El Bosque.

43


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 43-48

I. INTRODUCCIÓN Este documento tiene como objetivo primordial presentar el diseño e implementación de un portal WAP, para consultar la ubicación de clínicas existentes en la ciudad a través de telefonía móvil, accediendo a una base de datos que contiene información de clínicas desde un teléfono celular indicando una especialidad y una dirección específica para obtener las clínicas más cercanas al sitio indicado, así como también se permite consultar su información en cuanto a servicios, teléfono, y un mapa del punto de ubicación de las clínicas en Bogotá. Para el desarrollo del Portal WAP se distingue una herramienta de software tecnológica WML (Wireless Markup Language), lenguaje en el cual está diseñado el aplicativo que permite intercambio de información entre el celular y el servidor de la aplicación y una navegabilidad con soporte de imágenes y texto con formato. El diseño de un aplicativo, que permita consultar la ubicación de clínicas y sus servicios respectivos en cualquier lugar de Bogotá y a cualquier hora por medio de telefonía móvil, no podría ser posible sin el servicio de comunicación de datos en redes celulares existentes en la ciudad de Bogotá como es GPRS (General Packet Radio Service), tecnología que transmite volúmenes de acuerdo con las necesidades de movilidad de los usuarios.

II. WAP Protocolo de Aplicaciones Inalámbricas; Es una solución unificada para los servicios de la telefonía móvil. Es un estándar abierto e internacional para aplicaciones que utilizan las comunicaciones inalámbricas.

infraestructura existente digital inalámbrica. Los usuarios pueden literalmente llamar a una puerta de enlace WAP a través del enlace inalámbrico y enviarle solicitudes de páginas WEB. Luego la puerta de enlace verifica su cache para ver si tiene la página solicitada. Si la tiene, la envía; si no la tiene, la obtiene a través de la Internet alámbrica. En esencia eso significa que WAP es un sistema de conmutación de datos sobre redes celulares [2]. FUNCIONAMIENTO WAP Funciona como repositorio de información, almacenando en la base de datos los privilegios de acceso. A continuación se muestran los pasos para el funcionamiento, y una gráfica para un mejor entendimiento del sistema: • Como primera instancia el usuario solicita la página WAP (Protocolo de Aplicaciones Inalámbricas) que quiere ver. • El navegador del celular envía la petición con la dirección URL (Universal Resource Locator) de la página solicitada y la información al Gateway WAP. • El Gateway examina la petición y la envía al servidor donde se encuentra la información solicitada. • El servidor añade la información HTTP pertinente y envía la información de vuelta al Gateway. •En el Gateway se examina la respuesta del servidor, se valida el código en busca de errores y se genera la respuesta que se envía al móvil. • El navegador examina la información recibida y si el código es correcto lo muestra en pantalla[3].

La tecnología WAP es un protocolo amplio y escalable diseñado para el uso con teléfonos móviles y servicios inalámbricos actuales, como SMS y GPRS, y varios estándares de red móvil como CDMA, GSM y UMTS. WAP incorpora en el teléfono móvil un micronavegador, el cual convierte el teléfono móvil en un teléfono inteligente, así mismo proporciona una inter faz de usuario optimizada para la pequeña pantalla del móvil y adapta la velocidad y las restricciones de las redes móviles. La idea de combinar un teléfono móvil e Internet con una pantalla integrada para acceder de manera inalámbrica al correo electrónico y a la WEB, fue originada por un consorcio integrado por Nokia, Ericsson, Motorola y phone.com. Un dispositivo WAP puede ser un teléfono móvil mejorado, un PDA o una computadora notebook sin ninguna capacidad de voz. La idea básica es utilizar la

44

Figura 1. Modelo de funcionamiento del WAP.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 43-48

L a te cnología WA P se basa en 3 elementos fundamentales: • Cliente: es el micro-navegador WML (Wireless Markup Language) de un terminal móvil. • Gateway WAP: constituye la interfaz entre la red inalámbrica y la red física. • Servidor Web: en toda arquitectura cliente / servidor se tiene un servidor encargado de procesar las peticiones del cliente y enviar las páginas solicitadas.

III. WML El Lenguaje de marcas inalámbricas es un lenguaje para diseño de páginas WAP similar al HTML, pero tiene en cuenta las limitaciones de los terminales móviles como la cantidad de información que pueden visualizar, forma de navegación y entrada de datos. Por lo general se impone una restricción de tamaño de 1200 bytes para las páginas en WML, ya que otra limitación que debe considerarse es la velocidad de transmisión de estos terminales. Las características principales de WML son: • Soporte para imágenes y texto, con posibilidad de texto con formato. • Una página WML es como una página HTML en la que hay una serie de cartas. Al conjunto de estas cartas se les suele llamar baraja y solo se puede mostrar una carta al mismo tiempo. • Posibilidad de navegar entre cartas y barajas de la misma forma que se navega entre páginas Web. • Manejo de variables y formularios para el intercambio de información entre el teléfono celular y el servidor.

WMLSCRIPT. Con el WMLScript (Wireless Markup Language Script) se intenta realizar tareas locales adicionales en el teléfono celular, que únicamente con WML sería imposible de realizarlas. Una de las tareas es chequear la validación de los datos de entrada por parte del usuario. Otras tareas son: Mediante código Terminal realizar tareas como, realizar llamadas desde el teléfono, enviar mensajes, agregar número de teléfono a la libreta de direcciones y acceder a la tarjeta SIM, realizar alertas, mensajes de error, confirmaciones, entre otros. [6] La intención de los creadores de WMLScript es dotar de un poco de inteligencia propia al teléfono en el que se reciben las páginas WML, de modo que se pueda descargar al servidor WAP y realizar en forma local en el t eléfono má s t a re a s que la s e s t r ic t a ment e imprescindibles. WMLScript es un lenguaje débilmente tipificado y NO acepta objetos. Se compila en el servidor a un código intermedio denominado bytecode que es lo que se envía al teléfono cuando este lo requiere. A diferencia de JavaScript, el código en WMLScript NO se encuentra en las páginas WML, sino que se encuentra en ficheros externos que, como se ha dicho, deben ser compilados. Un fichero con código fuente WMLScript tendrá extensión .w mls.

IV. GPRS General Packet Radio Service. Tecnología de conmutación de paquetes sobre la red celular que permite alcanzar velocidades de transmisión de datos de hasta 115 Kbit/s. Es una técnica de conmutación de paquetes, introduce la forma de cobro por transferencia y no por tiempo de conexión. GPRS es sólo una modificación de la forma de transmitir datos en una red GSM, pasando de la conmutación de circuitos en GSM a la conmutación de paquetes. [4] Los ser vicios por tadores de GPRS ofrecen una transferencia de datos por conmutación de paquetes extremo a extremo. Dos clases diferentes están disponibles, el servicio punto a punto el cual ofrece la transferencia de paquetes de datos entre dos usuarios con un servicio orientado a conexión, y el servicio punto a multipunto que está disponible sólo para algunas versiones GPRS y que ofrece la transferencia de paquetes de datos de un usuario a múltiples usuarios. Los datos se pueden difundir a una cierta zona geográfica.

Figura 2. Ejemplo de 1 Baraja (2 Cartas)

45


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 43-48

Con el GPRS, los recursos de radio se asignan dinámicamente y la velocidad de transmisión varía a causa de la mayor flexibilidad y la mayor adaptabilidad del modo paquete con respecto al modo circuito. Los servicios móviles para Internet o Intranet que se encuentran disponibles gracias al despliegue del GPRS son la oficina móvil o conexión remota a la red de empresas, el correo electrónico, el acceso a Internet, el comercio electrónico, los servicios de información localizados y la telemetría. El GPRS se muestra particularmente eficaz para transmisiones discontinuas de datos o transmisiones frecuentes de pequeños volúmenes de datos. Sin embargo, también es eficaz para transmisiones puntuales de grandes volúmenes de datos. Las aplicaciones multimedia permitirán acceder de forma rápida a servicios tales como páginas amarillas ó carga en línea de ficheros de audio. [5] Conexión permanente: Un usuario GPRS puede estar conectado todo el tiempo que desee, puesto que no hace uso de recursos de red, mientras no esté recibiendo ni transmitiendo datos. La facturación está basada en la cantidad de tráfico transmitido, calidades de servicio, etc. APLICACIONES QUE SE PUEDEN UTILIZAR CON LA RED GPRS Correo electrónico: dichos mensajes son recibidos en el momento en el móvil, no siendo necesario conectarse con el servidor para verificar si hay nuevos mensajes. Navegar por Internet: Será posible acceder directamente a las páginas WEB escritas en HTML y tener acceso a todos los contenidos incluyendo imágenes. Transmisión de archivos audio, transferencia de documentos, telemetría, telealarma, información de transferencia. WAP sobre GPRS: La tecnología podrá ser utilizada para complementar el acceso a los servicios WAP, permitiendo una descarga de información más rápida. FUNCIONAMIENTO DE GPRS Viene a complementar a GSM, ya que añade un sistema basado en la transmisión de paquetes de datos a la red ya existente y una actualización al software utilizado en la red. Al igual que en un sistema IP, los datos se dividen en paquetes que se envían por separado a través de la red hasta llegar a su destino, donde se reconstruyen y presentan en su forma original. La diferencia con un

46

sistema IP tradicional se encuentra en la forma en como viajan y se reagrupan los fragmentos de información, posibilitando una utilización más eficiente del espectro de radio disponible, ya que no es necesario que un canal de radio sea utilizado exclusivamente para la transmisión desde un punto hasta el otro. Los paquetes, al viajar, utilizan las frecuencias disponibles, lo que permite que un número elevado de usuarios de GPRS puedan compartir el mismo ancho de banda y la misma célula.

V. ALCANCE DEL PROYECTO Este objetivo del proyecto fue desarrollar un portal WAP para brindar servicios de consulta de ubicación de clínicas a usuarios en situaciones de emergencia. El servicio deberá estar disponible las 24 horas del día, los 7 días de la semana, dando cobertura a toda la ciudad de Bogotá, para que el usuario consulte la aplicación desde cualquier sitio en el que se encuentre. La aplicación trabaja con tecnología WAP - WML ya que es un lenguaje soportado por la mayoría de teléfonos móviles de distintas gamas que posee la población bogotana. Este lenguaje permite una navegación rápida ya que es en texto plano y sin interrupción de animaciones o gráficas que retardan la navegación. Por otro lado se trabajó con la red de transmisión de datos GPRS implementada sobre la red GSM ya que es una tecnología mundial, se le factura al usuario por byte transmitido y no por tiempo de conexión y es también soportada por una gran gama de teléfonos celulares que posee la población de Bogotá. Es una herramienta que ofrece transmisión frecuente de datos pequeños, lo cual es ideal para la conexión a Internet cuando el usuario lo necesite. Teniendo en cuenta los medios tecnológicos del momento, los celulares tienen un gran auge por ser ahora económicos y útiles en cuanto a las llamadas, pero lo que se pretende es que el aparato como tal sea más efectivo y las personas vean sus diversas funcionalidades como la transmisión de pequeños datos por medio del teléfono celular, accediendo a la información desde cualquier lugar, ya que existe buena cobertura y el servicio que prestan los operadores de telecomunicaciones es de alta calidad. En la figura 3 se muestra la arquitectura de hardware del proyecto, describiéndose la misma en la Tabla I.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 43-48

Figura 3. Diagrama de arquitectura de hardware [1]

TABLA I. Componente de arquitectura de hardware.

47


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 43-48

VI. CONCLUSIONES Para la creación de un portal WAP se requiere de ciertas tecnologías y herramientas necesarias que cumplan con el objetivo primordial como es poder acceder a una base de datos desde un teléfono celular y obtener información solicitada de alta calidad. Para ello se trabajó durante el desarrollo del aplicativo con el lenguaje de programación WML y la tecnología de red GPRS para lograr consultar clínicas de la ciudad de Bogotá. Gracias a estas herramientas tecnológicas fue posible el desarrollo funcional del aplicativo logrando una interacción con el usuario final, generando una navegabilidad sencilla y eficiente para encontrar satisfactoriamente la clínica y sus servicios necesarios. El aplicativo y la Base de Datos se lograron montar correctamente sobre un servidor funcional, permitiendo el acceso a la información durante las 24 horas del día los 7 días de la semana para los usuarios de telefonía móvil. Durante el desarrollo de este proyecto se encontró una posibilidad de generar continuidad en lo relacionado a la evaluación del impacto social del proyecto en la ciudad de Bogotá, teniendo en cuenta los distintos teléfonos celulares existentes en el mercado y dependiendo de los operadores de servicio celular, los costos del servicio y los planes de servicio en los sectores sociales de Bogotá.

WML como lenguaje de programación del aplicativo presentado, permite el acceso desde la mayoría de teléfonos móviles mostrando todos los elementos diseñados en cada carta y con información coherente al momento de cada consulta.

REFERENCIAS [1]Arquitectura de Hardware. http://www.zonartm.org/board/templates/AcidTechTiger/ images/logo_mid.gif [2] GARCÍA, Jesús. 2002. Alta velocidad y calidad de servicio en redes IP. Editorial Alfaomega Ra-Ma, pág. 563. [3] GARCÍA, Jesús. 2002. Alta velocidad y calidad de servicio en redes IP. Editorial Alfaomega Ra-Ma, pág. 566. [4] TISAL, Joachim. 2005. La Red GSM. Editorial Alfa Omega, pág. 158. [5] TISAL, Joachim. 2005. La Red GSM. Editorial Alfa Omega, pág. 162. [6] WMLClub. http://www.w mlclub.com/tutorialwmls/, 12/10/2005.

Artículo de Investigación Científica y Tecnológica. Sometido a Arbitraje. Los Autores Carlos Fernando Varela Pérez Profesor Asociado de las Facultades de Ingeniería de Sistemas y Electrónica, Universidad El Bosque. Director del Área de Electrónica, Telemática, Arquitectura del Computador e Inteligencia Artificial de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque. Director del Grupo de Investigación en Electrónica, Telemática, Arquitectura del Computador y Temas afines GIETAC de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque con clasificación “C” de Colciencias. Ingeniero Eléctrico, Universidad de Los Andes 1985. Especialista en Telemática, Universidad de Los Andes 1990. Magíster en Economía, Pontificia Universidad Javeriana 1999. Diplomado en Gerencia de Telecomunicaciones Escuela de Administración de Negocios 1999. Subdirector de Información de la Unidad de Planeación Minero Energética del Ministerio de Minas y Energía desde Noviembre de 2000 hasta Agosto de 2001. Especialista en Arquitectura de Sistemas de Información y Redes de Datos, Unisys de Colombia desde Octubre de 1993 hasta Septiembre de 1999. Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. carlosvarela@unbosque.edu.co

Diana Isabel Munar Guerrero Ingeniero de Sistemas de la Universidad El Bosque. Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. dianamunar@unbosque.edu.co

48


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 49-54

MQOP - A Tiny Reference to the MultipleQuery Optimization Problem MQOP - Una pequeña referencia al problema de optimización de Múltiple-Query Juan Felipe García*

Abstract The multiple query optimization problem (MQOP), consists of select the execution plans such that its cost be the minimum and answer all the queries involved, typically it do so, finding the common tasks to be executed, just one time, and so, getting an improvement in the global execution time. This problem takes power of its applications in business, artificial intelligence, engineering design and many other areas where deductive and relational databases are used as well. This paper shows a a starting reference by commenting some relevant papers in this particular topic. Key words: Multiple-query optimization (MQO), database query processing, heuristics techniques, subexpression identification, database management, algorithm complexity.

Received: 03/03/08. Evaluated: 28/03/08. Accepted: 14/04/08. * School of Computer Engineering - National University of Colombia

49


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 49-54

I. INTRODUCTION The multiple-query optimization problem (MQOP) is a well-known database research problem [1], typically, a query have more than one execution plan, so, the database optimization it is done by getting the cheaper cost, when the problem is extended to multiple queries, it's necessary to seek this minimum cost while all plans are considered together and the common tasks are marked to be executed just one time. The problem was presented in the 1980's, Sellis was one of the first in formulated it in [14], where the problem is divided into two orthogonal phases: • The find of the common tasks among a set of queries will be the first phase, in [9] is shown that up to ten queries, to get a near-optimal global plan can be generated very efficiently. • The second phase, typically the most time expensive, is where one, and only one plan from every query is chosen, and so, the global plan is generated. This phase can be studied independently from de first one, and it is NPHard as it is shown in [13]. A very good example of the problem has been shown in [1], where multi-plans are showed and self-explain what a query optimizer do, in the formulation section we will show another example referred to the problem. This is an active studied area, both in relational and deductive database, but in the beginning, this topic was opened by the research in deductive databases [2]. An important survey to the applications of the MQOP can be found in [11].

II. BASIC DEFINITIONS It is important to have a context before to attack the MQOP, we will see next, some relevant definitions to clarify the concepts when the problem it's defined and resolved.

• Query: Is a sentence utilized to do information retrieval from a database using boolean and specialized operators. • Execution plan: A way to get a correct and exact answer to a determinate query. • Global plan: Set of plans that answer every and each one of a set of queries. • Data stream: Is used to deliver up-to-date information [16]. An interesting area where the MQOP takes special relevance is when the continuos queries are required, for example weather forecasts.

III. PROBLEM FORMULATION When a query it's been optimized, the first job to do its to find every possible solution plan containing a set of tasks, which when executed in a certain order produce the answer of the query [1]. Each task have a cost, therefore, each plan also have a cost, associated to the sum of the costs of its tasks. Obviously, that's measure the fitness of the execution plan and the one with the minimum cost will be chosen as the optimum one. When the problem it's extended to multiple queries the problem grows to an NP-Hard problem since it should find the set of plans that produce the answer of each query, also called the global plan, such that its cost will be minimum [13]. The following example illustrates the problem. Let's have the four queries represented in the Figure 1, each one have its own execution plans, discriminated by its particular tasks, there are nine plans but just six different tasks, because some task are common to some plans. TABLE I. Example cost per task

• Relational database: The term relational database was originally defined and coined by Codd and it refers to a relational view of data, where the term relation is used in a mathematical sense, conforming a relational model, and refers to a database's data and schema [5]. • Deductive database: In the survey from Ramakrishnan and Ullman [10], it is shown the following definition: “Is a management system whose query language and storage structure are designed around a logical model of data... ...It is easy to see deductive database system as advanced form of relational system”.

50

The naive idea it's to calculate all the possibles combinations to answer the queries, so, having the cost of every single task as we see in the TABLE I, we can start to get possible answers, for example, if we choose the plans


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 49-54

A1, B1, D1 and C1, we will have a cost of four for the A1 plan, for the plan C1 we have a cost of nine, but be aware that the tasks T2 and T3 are common to those plans, so the database should execute those tasks only one time, in fact, for those plans the database will execute whole the six tasks possible but it should do it just one time. For this example the possibilities of choose different plans are 24, for each one is necessary to calculate the cost having care of the common tasks; in this case the minimum cost is getting by choose the plans A1, D2, B2 and C2 with a cost of nine (the combination A3, B2, C2 and D2 has a cost of nine as well). In the TABLE II are all the possible execution times that the multiple-query could take, in a first look, we tend to think that to compute all those times in twelve it's easy, but actually it is a NP-Hard problem, because it should be compared every task plan with every other task in the others plans, and then it is possible to add the times to get the total time, all of this just to compute one row for the table. Now, be aware that a set of execution plans for an average query could have dozens of plans, so, this is an interesting combinatorial problem. A. PROBLEM COMPLEXITY Consider the following decision problem presented in [13]: Given n sets of access plans 1; 2; ...; n with i = ¨{Pi1; Pi2; ... ; Piki} being the set of possible plans for processing Qi; 1 i n; and a constant K.

Is there a global access plan GP such that the cost of Gp is less than or equal to K? There is clear that the problem belongs to the NP as the formulation example showed it, but it is clear also that the original problem is NP-Hard if the above decision problem is NP-Complete [7], in [13] there is a complete proof of this, and we find a good justify for the main research in the multiple-query optimization since it is touching two so active areas in the actual research community.

IV. SOME APPROACHES We will present some solutions, starting with an A* algorithm near to [6] and [15], since in [1] are presented as the best know MQO algorithms in the literature, then we will show some other techniques, also heuristics but with some advantages; we will show an approach with genetic algorithms, some with graph theory and one with clustering ideas. A. A-STAR ALGORITHM FOR MQO This is a heuristic technique based on states, well defined in [6] and [15]. It has an initial state where no plan has been yet selected for any queries, intermediate states where some plans are assigned and a final state, when all queries are assigned with a plan [1]. This algorithm is well known as optimal in terms of the number of states expanded during search, but it can easily run out of memory when the size of the problem gets larger [6].

Figure 1. An example for multiple-query

51


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 49-54

In general, the algorithm set an upper bound is search values lower than that bound and when all queries have a plan associated it give a solution.

then do so for some iterations and returns the better one found in that iterations, like we said before, it has a very desirable execution time but the error bound can grow so fast.

B. DIVIDE AND CONQUER D. GA APPROACH This early proposal consists in by changing the architecture of the well-know single-query optimization, get an answer to the MQOP, this technique was proposed by Chakravarthy in [2], who is one of the earliest researcher in this problem. His idea is to distribute the functionality of the single optimizer, organizing the strategy space of multiple queries. TABLE II. All possible values of time execution if a task is just executed in one time

The genetic algorithms (GA), are used very often to resolve NP problems, it is a metaheuristic technique that simulate the evolution concept of biology, using “genes”, containing part of an instance of a solution called “chromosome”. This technique was introduced by Holland in [8]. In [1] it is well presented the model for GA of MQOP, in general, a chromosome represents a solution as well that every gene in a chromosome represents a plan to the corresponding query. The fitness function is simply the inverse of the total execution time of all the tasks in the selected plans for the queries, the chromosome representation can be viewed as shown in [1] in Figure 2. Since all plan are valid and real, after perform genetic operation like mutation or crossover, every new solution will be valid for the MQOP, therefore this is a nice approach to solve the problem in a good time.

Figure 2. Bayir's chromosome and its genes representation E. ADAPTATIVE METHOD C. GREEDY ALGORITHM This technique was often used for this kind of problems because it has a nice execution time, but it is important to be aware of its heuristic, since this algorithm just take some possible answers and search for the best one there,

52

This method explained in [16], it's useful when we are dealing with continuous queries. The main idea is based in the possibility to consider just two cases when common operators generate common results, and those cases are: 1) If the queries are triggered by the same event.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 49-54

2) If the queries are executed by similar execution patterns. In both cases this approach build something called “base group”, that is the improvement proposed over the others algorithms, and it is a cluster of queries or execution patterns depending of the case, for being used in the future queries without the overload of the database engine. This approach is interesting since the multiplequeries not necessary are known at the same time. F. MULTIGRAPH This technique is well studied in [3], [2] and [4]. This last one defines a multigraph as folowing: A multigraph G(R, SE, JE) is a graph with nodes R, and edges SE and JE where: 1) A node, r R, of the multigraph represents a relational or an intermediate result derived from relational operation(s). 2) A selection edge, sei SE, loops on a node and represents a selected operation on that relation. A selection edge is labeled by query ID and selection condition(s). 3) A join edge, jei JE, between two relations represents a join operation. A join edge is labeled by query ID and join condition(s). The main idea of this technique is to use the graph theory to make easily the search for common tasks between plans of a set of queries, having rules for transform the g r aph s dep ending of s ome p os sibilit ie s for commonalities. Actually, there are four commonalities between two given conditions [4]: 1) Nothing in common. 2) Identical. 3) Subsumption. 4) Overlap. For example, a number greater than ten can be greater than hundred also, so, one condition is subsumed by the other one, in the same way a number greater than ten could be less than hundred, so, there is a overlap of the those conditions. G. AND-OR DAG AND THE VOLCANO ALGORITHMS In the way that the last approach, here, there is a solution using graphs, but this one use directed acyclic graph whose nodes can be divided into AND-nodes and ORnodes [12]. In this approach the AND-nodes represents operations and the ORnodes represents common tasks, so, after the graph was build, in this case is a tree, the OR-

nodes are identified and then some kind of algorithm will choose the optimal nodes. The algorithm used in [12] is the volcano algorithm; this one is based on reusing results computed for other parts of the query and has two implementations the Sh and the RU algorithms.

V. CONCLUSION The multiple-query optimization problem is a well-know and well-studied problem with a great relevance in many areas, it is important in database theory and in the combinatorial theory as well. Since the problem has been taken from so different ways to solve it, it is an interesting NP-Hard problem, and clearly the research in this topic will still active in the future.

REFERENCES [1] M. A. Bayir, I. H. Toroslu, and A. Cosar, “Genetic algorithm for the multiple-query optimization problem,” Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions on, vol. 37, pp. 147153, 2007. [2] S. Chakravarthy, “Divide and conquer: A basis for augmenting a conventional query optimizer with multiple query-processing capabilities,” in Data Engineering, 1991. Proceedings. Seventh International Conference on, 1991, pp. 482490. [3] U. S. Chakravarthy and J. Minker, “Multiple query processing in deductive databases using query graphs.” Morgan Kaufmann Publishers Inc., 1986, pp. 384391. [Online]. Available: http://portal.acm.org/citation.cfm?id=671315. [4] F.-C. Chen and M. Dunham, “Common subexpression processing in multiple-query processing,” Knowledge and Data Engineering, IEEE Transactions on, vol. 10, pp. 493499, 1998. [5] E. F. Codd, “A relational model of data for large shared data banks,” Commun. ACM, vol. 13, pp. 377387, 1970. [Online]. Available: http://portal.acm.org/citation.cfm?id=362685&dl= [6] A. Cosar, E.-P. Lim, and J. Srivastava, “Multiple query optimization with depth-first branch-and-bound and dynamic query ordering.” Washington, D.C., United States: ACM, 1993, pp. 433438. [Online]. Available: http://portal.acm.org/citation.cfm?id=170088.170181. [7] M. R. Garey and D. S. Johnson, Computers and Intractabilit y: A Guide to the Theor y of NPCompleteness. W. H. Freeman n& Co., 1979. [Online]. Available: http://portal.acm.org/citation.cfm?id=578533.

53


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 49-54

[8] J. Holland, “Adaptation in natural and artificial systems, University of Michigan press,” Ann Arbor, MI, 1975. [9] P. Kalnis and D. Papadias, “Multi-query optimization for on-line analy tical processing,” Information Systems, vol. 28, pp. 457473, Jul. 2003. [Online]. Available: http://dx.doi.org/10.1016/S03064379(02)00026-1. [10] R. Ramakrishnan and J. D. Ullman, “A survey of deductive database systems,” The Journal of Logic Programming, vol. 23, pp. 125149, May 1995. [11] A. Rosenthal and U. S. Chakravarthy, “Anatomy of a modular multiple query optimizer.” Morgan Kaufmann Publishers Inc., 1988, pp. 230239. [Online]. Available: http://portal.acm.org/citation.cfm?id=671813. [12] P. Roy, S. Seshadri, S. Sudarshan, and S. Bhobe, “Efficient and extensible algorithms for multi query optimization,” SIGMOD Rec., vol. 29, pp. 249260, 2000. [Online]. Available: http://portal.acm.org/citation.cfm?id=335191.335419.

[13] T. Sellis and S. Ghosh, “On the multiple-query opt im iz at ion problem,” K nowle dge and Dat a Engineering, IEEE Transactions on, vol. 2, pp. 262266, 1990. [14] T. K. Sellis, “Multiple-query optimization,” ACM Trans. Database Syst., vol. 13, pp. 2352, 1988. [Online]. Available: http://portal.acm.org/citation.cfm?id=42201.42203. [15] K. Shim, T. K. Sellis, and D. S. Nau, “Improvements on a heuristic algorithm for multiple-query optimization,” Data Knowledge Engineering, vol. 12, no. 2, pp. 197222, 1994. [Online]. Available: citeseer.ist.psu.edu/shim94improvements.html. [16] Y. Watanabe and H. Kitagawa, “Adaptive query optimization method for multiple continuous queries,” in Data Engineering Workshops, 2005. 21st International Conference on, 2005, p. 1242.

Scientific and Technological Research Paper. Peer reviewed. Author

Juan Felipe García School of Computer Engineering - National University of Colombia Av. 30 45 00, Bogotá D.C., Colombia. jfgarciapen@unal.edu.co

54


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 55-60

Reconocimiento y validación de huellas dactilares utilizando una Red Neuronal Recognition and validation of fingerprints using a Neural Network Juan Carlos Santamaría Olivares*

Resumen

Abstract

El presente articulo se enmarca dentro de la línea de software Libre y tiene como fin dar a conocer el proceso que es empleado en el desarrollo de un prototipo para el registro y validación de huellas digitales utilizando una red neuronal, con el fin de facilitar los procesos que se llevan a cabo en el momento de registrar e identificar una persona. El registro de la persona se lleva a cabo cuando pone su dedo en un dispositivo, se toma la imagen de la huella y la aplicación hace el proceso de clasificación y extracción de características de la huella mediante la red neuronal quedando registradas en una base de datos. La verificación se lleva a cabo cuando una persona pone su huella en el dispositivo, se toma la imagen de la huella y la aplicación busca las huellas procesadas por la red neuronal con características similares y escoge la más parecida siguiendo ciertos parámetros.

The present article is framed in the free software research line and the objective is show the process that can be used in the development of a prototype to record and validate fingerprints using an artificial neural network, in order to facilitate processes carried out when registering and identifying a person. A person's registry is carried out when people puts his finger on a device, takes the fingerprint image and the software makes all the process of classification and extraction of characteristics of the fingerprint using a artificial neural network. The person's verification is carried out when people puts her fingerprint on the device, takes the fingerprint image and the software looking for the processing fingerprints by the artificial neural network with similar characteristics and choose the most seemed following cer tain parameters.

Palabras claves: Base de Datos, Biométrico, Dispositivo, Red Neuronal Artificial, Software Libre.

Key words: Data Base, Biometric, Device, Artificial Neural Network, Free Software.

Recibido: 07/2007. Evaluado: 03/12/07. Aceptado: 21/01/08. * Estudiante de Ingeniería de Sistemas de la Universidad El Bosque

55


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 55-60

I. INTRODUCCIÓN Los sistemas biométricos han sido durante los últimos años un tema de extensa investigación fundamentado en actividades automatizadas relacionadas con la capacidad para establecer la identidad de los individuos a través de características anatómicas. Un indicador que satisface estos requisitos es la huella dactilar; se hace necesario el análisis y estudios tecnológicos de las huellas digitales para la identificación y reconocimiento inequívoco de una persona, y así reducir la posibilidad de cometer errores de falsa aceptación, que es cuando se acepta a alguien que no es; por ejemplo, alguien podría clonar una credencial de identificación, o adueñarse de los números confidenciales de una persona para hacer una transacción en perjuicio de su legítimo dueño, y hasta falsificar su firma. En respuesta a situaciones como la anterior el proceso de autenticación digital de huellas dactilares está siendo adaptado en diferentes campos ya que actualmente este sistema es una herramienta muy poderosa para identificar personas. “En la actualidad las huellas dactilares representan una de las tecnologías biométricas más maduras y son consideradas pruebas legítimas de evidencia criminal en cualquier corte del mundo” [6]. Según Paula González, periodista de el periódico El País de Cali-Colombia "E x isten var ia s te cnología s biométricas, pero la más utilizada es la de reconocimiento de las huellas digitales, con un 48,8% de participación en el mercado de esta tecnología, por ser la más estudiada, desarrollada y aceptada hasta la fecha" [2]. Se estima que la probabilidad de que dos personas tengan las mismas huellas dactilares es aproximadamente de 1 en 64.000 millones. Cuando se digitaliza una huella, los detalles relativos a las líneas (curvatura, separación,…), así como la posición absoluta y relativa de las minucias extraídas, son procesados mediante algoritmos que permiten obtener un índice numérico correspondiente a dicha huella, el resultado es un diagnóstico certero en más del 99% de los casos. Y se ha comprobado, a raíz de un estudio realizado por el Nacional Institute of Standards and Technology (NIST) en 2004, que el grado de precisión aumenta a medida que se incrementa el número de dedos cotejados [7]. Debido al creciente interés industrial por este ámbito tecnológico, y a los múltiples beneficios que su uso apor ta, en los últimos años se ha notado una preocupación creciente por las organizaciones regulatorias respecto a elaborar estándares relativos al uso de técnicas biométricas en el ambiente informático, no obstante ello, aún la estandarización continúa siendo deficiente [6].

56

En el presente artículo se abordarán temas como son los principios básicos de un sistema de identificación biométrica, características principales de las huellas digitales como medio de identificación biométrica y por último se hablará de una red neuronal llamada mapa de Kohonen, como método de extracción y verificación de características biométricas en una huella digital, ya que mencionados temas son de gran interés para alcanzar el objetivo de investigación el cual es dar a conocer el proceso que es empleado por un prototipo de registra y valida huellas digitales.

II. IDENTIFICACIÓN BIOMÉTRICA Para David Zhang: “La biometría es la ciencia que se dedica a la identificación de individuos a partir de una c a r ac t er ís t ic a a natóm ic a o un r a sgo de su comportamiento” [6]. Una característica anatómica tiene la cualidad de ser relativamente estable en el tiempo, tal como una huella dactilar, la silueta de la mano, patrones de la retina o el iris. Los Sistemas Biométricos son métodos automatizados de reconocimiento de personas basados en características fisiológicas o conductistas [1]. Algunas de las características son cara, huellas digitales, geometría de la mano, escritura a mano, el iris, de retina, la vena y la voz. Las tecnologías biométricas se están volviendo el principio básico de un conjunto imponente de identificación altamente seguro y soluciones de verificación personal. De todos los sistemas de identificación biométrica existentes, las huellas dactilares son las únicas legalmente reconocidas como prueba fidedigna de identidad. Es un sistema que además de ser efectivo, es cómodo de aplicar, la autenticación se obtiene rápidamente y tiene un grado de seguridad tan alto debido a que nadie podría sustraer, copiar o reproducir los elementos usados en ella, ya que son elementos inherentes a su portador [7]. Un sistema de reconocimiento de huellas dactilares consta de 4 etapas: Adquisición de la Imagen, Pre-procesamiento de la Imagen, Extracción de características y Matching o Reconocimiento. La extracción de características es la etapa primordial en el reconocimiento de huellas dactilares, por lo tanto mientras más confiable sea el método utilizado en esta etapa, obtendremos un mejor rendimiento del sistema. Existen 2 enfoques para la extracción de características: enfoque basado en minucias y el enfoque basado en la imagen [6].


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 55-60

III. CARACTERÍSTICAS DE LAS HUELLAS DIGITALES Las huellas digitales están constituidas por rugosidades que forman salientes y depresiones. Las salientes se denominan crestas papilares y las depresiones surcos interpapilares”. En las crestas se encuentran las glándulas sudoríparas. El sudor que éstas producen contiene aceite, que se retiene en los surcos de la huella, de tal manera que cuando el dedo hace contacto con una superficie, queda un residuo de ésta, lo cual produce un facsímil o negativo de la huella [4].

• Minucias: Es el punto en el que termina una cresta o se bifurca en dos o más crestas. Se define en términos de sus coordenadas (x, y) y el ángulo de orientación de la cresta [3]. Ver Figura Nº 2.

La huella digital es utilizada con éxito en todo el mundo para la identificación de personas por diferentes organismos, esto se debe a los siguientes aspectos: • Permanencia: No cambian sus características con el tiempo. • Unicidad: Siempre difieren, son únicas e irrepetibles aún en gemelos. • Universalidad: Todas las personas tiene huellas digitales. • Cuantificación: La característica puede ser medida en forma cuantitativa. CARACTERÍSTICAS DE LAS HUELLAS DIGITALES Las huellas digitales tiene características visibles que son: las crestas, los surcos, las minucias, el núcleo y el delta. • Surcos: Son la áreas de la huella digitales que se encuentran a cierto nivel de profundidad.

Figura 2. Representación de minucias en términos de su posición y dirección La característica más interesante que presentan tanto las minucias como los puntos singulares núcleo y delta es que son únicos para cada individuo y permanecen inalterados a través de su vida. A pesar de la variedad de minucias, las más importantes son las terminaciones y bifurcaciones de crestas. Esto último se debe a que las terminaciones de crestas representan aproximadamente el 60.6% de todas las minucias en una huella y las bifurcaciones el 17.9%. Además varias de las minucias menos típicas pueden expresarse en función de las dos señaladas [6]. A continuación se presentan las minucias frecuentemente consideradas.

• Crestas: Son la áreas de la huella digitales que se encuentran al nivel de la misma. Ver Figura 1.

Figura 3. Tipos de Minucias - Una isla se presenta cuando se unen las dos ramas de dos bifurcaciones diferentes, ambas bifurcaciones deben estar frente a frente. - En una bifurcación la línea de la cresta se divide en varios segmentos de línea. - La terminación es donde la línea de la cresta inicia o acaba. Figura 1. Crestas y Surcos

- El punto es una línea de la cresta bastante corta que no esta conectada a ninguna otra línea de cresta.

57


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 55-60

• Núcleo: Es el punto más alto de la cresta curvada más interior. • Delta: Es la zona donde se unen tres flujos de crestas. Ver Figura 4.

Tiene las siguientes características: Aprendizaje sin supervisión: No se utiliza los datos de salida como maestro para indicar a la red que se había cometido un error. Sus principales utilidades son entre otras, descubrir las regularidades presentes en los datos, extraer rasgos o agrupar patrones según su similitud. Algoritmos competitivos: La unidad más apta es la única que envía un valor a las unidades de la capa de salida. Correspondencia que respeta la topología: Entre los datos de entrada y las unidades competitivas [3].

Figura 4. Núcleo y Delta El Núcleo y el Delta suelen estar presente en la mayoría de huellas, por la tanto pueden ser usados como puntos de referencia. REGISTRO Y VERIFICACIÓN AUTOMATIZADA DE HUELLAS DIGITALES Se crea un modelo computarizado de la huella, un vector de información intrínseca de la huella, para luego ser indexada y almacenada por lo general en una base de datos, que puede ser contrastada frente a otra presentada ya sea en persona, o a través de una fracción de huella levantada en algún lugar, o bien, tomada de una tarjeta decadactilar. Para ello se utiliza un algoritmo que permite asociar la huella que se desea identificar, con otras de similares características, almacenadas en la base de datos.

IV. RED NEURONAL: MAPA DE KOHONEN Una red neuronal artificial, es un modelo coleccionista cuyos elementos o nodos, conectados entre si, simulan las funciones desempeñadas por las células cerebrales denominadas neuronas [8].

El aprendizaje en la red de kohonen por ser no supervisado, requiere un nuevo entrenamiento cada vez que se desee que la red neuronal clasifique uno o más patrones. Desde el punto de vista de su organización, la red de Kohonen consta de dos capas, una capa de entrada y otra capa que se llamará capa competitiva. La capa competitiva se encuentra formada por neuronas artificiales a partir de cuya competencia entre si en la fase de entrenamiento, resultarán grupos de neuronas. Los gr upos de neuronas, considerados en conjunto, configuran el mapa de características en el que los patrones se encuentran clasificados [5]. Cuando una entrada I es presentada a la red, las neuronas de la capa competitiva calculan su entrada neta como:

netaj = distancia(I, Wj) La neurona con valor más alto será considerada la ganadora y será la única neurona dentro de la capa competitiva con valor de salida 1, el resto tendrá valor de salida 0. En el aprendizaje los pesos que relacionan la capa de entrada con la capa oculta (a), pretende ir aproximando el vector W al vector I (b).

El profesor Jürgen Sauer ha trabajado en este campo con un tipo de red neuronal llamada Mapa de kohoen, el cual esta basada en el concepto de mapas autoorganizativos, este tipo de redes busca aprender a detectar regularidades y correlaciones entre las entradas, el cual se utilizara en el presente proyecto. La red neuronal artificial de Kohonen resulta de utilidad en la clasificación de patrones obteniéndose un mapa, el mapa de características, en el que se encontraran clasificados los patrones que han sido presentados a la red durante la fase de entrenamiento o aprendizaje [5].

58

Figura 5. Vectores


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 55-60

En donde W será la representación de la huella de entrada e I será la representación de la huella registrada. Los pesos se actualizan de la siguiente forma: w (t+1) = w (t) + a (I w (t))

Figura 7. Pantalla procesamiento de la imagen

Figura 6 Actualización de los pesos de las entradas de la red

De acuerdo con la red neuronal planteada y utilizada estos son los resultados en el momento de sacar las minucias de una huella: Figura 8. Pantalla Aprendizaje de la red neuronal

V. CONCLUSIONES El éxito del proceso radica en la calidad de la imagen de entrada, ya que si presenta suciedad o presenta problemas en la calidad de la huella de la muestra tomada, el sistema arrojará resultados imprecisos en algunos de estos casos. Utilizando la red neuronal como método de extracción de minucias el sistema presenta un mejor rendimiento en cuanto a tiempos de respuesta que utilizando otro método como por ejemplo algoritmos con geometría hiperbólica. Utilizar sistemas biométricos para la autenticación p e r s o n a l s e e s t á v o l v i e n d o c o nv e n i e n t e y considerablemente más preciso que los métodos actuales (como la utilización de contraseñas), esto es porque es particular (una contraseña o señal puede ser usada por alguien aparte del usuario autorizado), conveniente (nada

59


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 55-60

a llevar o recordar), preciso (tiene prevista autenticación positiva), pueden proveer una pista para auditoria y son socialmente aceptables. El sistema de identificación biométrica con huellas digitales es uno de los sistemas actualmente más rápidos y su seguridad depende del grado de aceptación que se le dé al mismo. Los umbrales de aceptación para el FRR (Tasa de falso rechazo) y al FAR (Tasa de falsa aceptación) son dados por criterio o necesidades de quien lo va a utilizar.

REFERENCIAS [1] ELICECHE, Julio Alejandro. Criptografía y Seguridad Informática. (online). Último acceso 10 Septiembre de 2006.http://cactus.fi.uba.ar/crypto/tps/SistemasBiometri cos.pdf [2]GONZÁLEZ CORREA, Paula. El dedo será la contraseña para retirar dinero con seguridad La clave estará en la huella digital. En periódico EL PAIS. CaliColombia. Junio de 2002.

[4] Identificación Biométrica con huellas digitales, (online), Diciembre 2002, Último acceso 01 de Septiembre de 2006. http://ciberhabitat.gob.mx/hospital/huellas/textos/identif icacion.htm. [5] LAHOZ-BELTRÁ, Rafael. Bioinformática: Simulación, vida artificial e inteligencia artificial. Díaz santos Edit. 2004. 616p. [6] MORALES, Domingo. Sistemas Biométricos (online). 2004. Último acceso 09 de Agosto de 2006. http://www2.ing.puc.cl/~iing/ed429/sistemas_biometric os.htm [7] TECNOCIENCIA: Monográfico de divulgación, biometría. (online). Último acceso 10 de agosto de 2006. http://www.tecnociencia.es/monograficos/biometria/bio metria2.html. [8] ZH A NG, David D. Automated Biomet r ics: Technologies And Systems. Springer Edit. 2000. 344p.

[3] FREEMAN, James. Redes Neuronales. Massachussets EEUU. Addison-Wesley Publishing Company. 1991. 430 p.

Artículo de Reporte de Caso. Sometido a Arbitraje. El Autor Juan Carlos Santamaría Olivares Estudiante de décimo semestre de Ingeniería de Sistemas de la Universidad El Bosque. Desarrollo éste proyecto dentro del Equipo de Investigación de Software Libre de la Facultad de Ingeniería de Sistemas. Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. juancasan@gmail.com

60


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 61-65

Help-Desk para el mantenimiento preventivo en Maquinaria Pesada Help-Desk for preventive maintenance in Heavy Machinery Yolanda Hernández Ávila*

Resumen

Abstract

El presente artículo se centra en la descripción del proyecto de un software aplicado en un esquema Web que se utilizó para llevar el control de los mantenimientos realizados a la maquinaria pesada para la empresa SISTEMAS & AUTOMATISMOS LTDA., creada para dar solución a las necesidades que tiene actualmente en cuanto al manejo de la información. Mediante esta aplicación se pueden registrar las Órdenes de trabajo de cada máquina que requiera mantenimiento, ya sea preventivo o correctivo, donde se puede detallar todo el proceso que se le va realizar a la máquina, y los suministros que va utilizar; esta empresa cuenta con varias sucursales en todo el país, y cada una de ella cuenta con diferentes máquinas o plantas las cuales necesita de un control y mantenimiento programado.

The present paper describes the project of software applied in a scheme Web that was used to take the control of the maintenance of the heavy machinery for the company SISTEMAS & AUTOMATISMOS Ltda., created to give solution to the necessities that it has regarding the handling of the information. By means of this application is possible to register work orders of each machine that requires preventive or corrective maintenance or, where is possible to detail all the process made in the machine, and the provisions that will be used; this company counts with several branches in all the country, and each one counts with different machines which need controled and programmed maintenance. Key words: Software, Web, Help-Desk, Maintenance, Heavy Machinery, PHP, MySql, OOWS.

Palabras claves: Soft wa re, Web, Help-D e sk, Mantenimiento, Maquinaria Pesada, PHP, MySql, OOWS.

Recibido: 07/2007. Evaluado: 03/12/07. Aceptado: 21/01/08. * Ingeniera de Sistemas, Universidad El Bosque.

61


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 61-65

I. INTRODUCCIÓN

II. MATERIALES Y MÉTODOS

La visión tradicional del control y diagnóstico industrial como una ayuda al mantenimiento está cambiando radicalmente. Hoy en día, el mantenimiento preventivo y predictivo se está convirtiendo en una poderosa herramienta de productividad, la innovación tecnológica está permitiendo erradicar de las empresas de manejos industriales el mantenimiento correctivo que lleva implícitos elevados costos tanto en tiempo real de productividad como en horas hombre, maquinaria parada y por ende retrasos en las entregas y respuestas de trabajo.

A. FASE DE ANÁLISIS

La tendencia hoy por hoy es trabajar con economías de acción rápida, que permita la utilización de ayudas tecnológicas de punta en pro de su producción y productividad, ya que su ritmo acelerado exige cumplimientos estrictos en tiempo velocidad con que fluyan datos, información y conocimientos, de manera que está poderosa herramienta permitirá en menor tiempo tomar decisiones trascendentales y definitivas que aprovechen mejor las oportunidades del mercado y que se adapten más fácilmente a las exigencias del medio [4]. A medida que se extiende está transformación, los costos de producción sufren un cambio radical, a la fecha la competitividad de una empresa está dada por su capacidad y velocidad de respuesta, está comprobado que en muchos sectores donde se aplican mantenimientos preventivos; los costos en la sola mano de obra presentan una notable disminución del 10% de los costos totales de mantenimiento. En el proyecto en mención se sistematizó la importancia de la transformación en los manejos del mantenimiento, las oportunidades que una adecuada estrategia de prevención ofrece para mejorar la productividad y competitividad aplicado y puesto en marcha en la empresa SISTEMAS & AUTOMATISMOS LTDA., los cuales establece los objetivos y beneficios del mantenimiento preventivo y los requerimientos para su implementación exitosa. El proyecto está dirigido a profesionales, asesores, empresar ios, estudiantes, docentes y personas interesadas en crear la posibilidad de obtener mayores oportunidades de implementar una aplicación que inculque los mantenimientos preventivos en la organización a la que pertenece. Está organizado con el objetivo de aportar información relevante a la hora de tomar decisiones rentables, que arrojen resultados reales, alcanzables y de beneficio mutuo.

62

Se analizó el desarrollo de un sistema de información con el propósito de establecer el alcance del proyecto los recursos que se utilizaron; principalmente fue la Información de Requerimientos por parte de la empresa SISTEMAS & AUTOMATISMOS LTDA. En este proyecto se implementó con el método OOWS diseñado exclusivamente para el desar rollo de Aplicaciones Web, que define de manera explícita la visión que tendrán cada uno de los tipos de usuarios del sistema, la influencia que tiene en el proceso de desarrollo de la solución el diseño de la interfaz de usuario y determinar cómo se va a almacenar, manipular y distribuir la información. B. SOFTWARE El método OOWS, involucra metodologías y modelos útiles para la creación de sitios Web [7]. La herramienta de programación PHP, para realizar páginas dinámicas dentro del sitio [9]. El gestor de bases de datos MySql, para recolectar y procesar la información. [6]. La herramienta HTML, para presentar los enlaces, textos y multimedia de las páginas que integran el sitio Web [5]. C. METODOLOGÍA OOWS Este proyecto se desarrolló bajo la metodología OOWS, un método para desarrollar sistemas de información basados en Web, donde se incluyen interfaces que permiten la utilización de texto y multimedia, y sobre todo la navegación por cada una de las páginas del sitio Web del Help Desk, a partir del análisis detallado del problema. La metodología se lleva a cabo a través de las siguientes Etapas: Etapa 1: Se debe partir de la detección del problema con el Diagrama Funcional que va permitir representar gráficamente las funciones que se van a definir y a realizar en cada uno de los agentes participantes del sistema [6]. En esta etapa se establecen los agentes que participaran en el sistema, además de la descripción de sus funciones con el objetivo de facilitar la construcción de aplicaciones Web. La búsqueda de requisitos en el método OOWS utiliza los siguientes diagramas.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 61-65

Figura 1. Diagrama de Agentes

Figura 3. Modelo Navegacional [7] Etapa 2: El diagrama de asociación funcional asocia cada uno de los agentes que interactúan en el sistema con sus respectivas funciones descritas en el diagrama funcional. La relación entre el diagrama de agentes y funcional se realiza mediante la primitiva de adquisición de funcionalidad.

DISEÑO DEL SOFTWARE ELFE Entre los métodos para desarrollar sistemas de información, basados en la Web, se encuentran: HDM, OOHDM, RMM, OO-METHOD, UML, entre otras; para el desarrollo de la aplicación Web, se ha escogido el método de producción de ambientes de software OOWS [3]. Los aspectos más importantes, que se tuvieron en cuenta para seleccionar este método, fueron: • El uso de bases de datos para generación dinámica de contenidos • La utilización de una estructura arquitectónica y navegación al ideal para un WIS (Sistemas de información basados en Web), integrando páginas Web con contenidos y documentos hipermediales junto a sistemas de información [1].

Figura 2. Diagrama de Asociación de Usuario

Etapa 3: En OOWS, la aplicación de la solución Web se obtiene agregando un diseño navegacional derivado del modelo de objetos del método OO-Method [2]; esta semántica es descrita en un Modelo Navegacional usando notaciones o primitivas parecidas a UML, entre las que se encuentran los mapas de navegación, contextos navegacionales, relaciones, filtros.

Con el aplicativo se espera aportar un avance tecnológico para el monitoreo del mantenimiento realizado a los equipos y maquinaria pesada ubicada en las diferentes sedes, permitiendo que el área administrativa esté al tanto de las tareas realizadas en los equipos, y la parte operativa pueda funcionar de forma proactiva, ya que el sistema permitirá mantener actualizada toda la información que corresponde a la máquina como son descripción, funciones, tiempos de mantenimiento, tiempos de controles y recursos utilizados; y por medio de estos datos saber en que momento se requiere una nueva tarea sobre el equipo. El reto para los Ingenieros de Sistemas y, en especial, para la mayoría de los departamentos de soporte técnico es encontrar un balance entre la respuesta a una necesidad,

63


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 61-65

el costo que ésta demanda y la efectividad de la tarea. Justamente de allí surgió la necesidad de crear una plataforma de ayuda, no solamente a los equipos de cómputo como tal o a los usuarios de los mismos, sino a desarrollar una estrategia que colabore dentro de una empresa en la detección oportuna de fallas y a la erradicación del los correctivos, gracias al mantenimiento preventivo de las maquinarias que le prestan los servicios, razón de ser de la compañía. Hoy el mantenimiento preventivo involucra un enfoque global que lo integre en el contexto empresarial con la importancia que se merece. Este Help Desk (ELFE) se presenta con sus requerimientos de Recursos Humanos, Recursos Materiales, Sistemas y Procedimientos, desarrollando cada uno de ellos en sus aspectos conceptuales y de implementación. El desarrollo de este software presenta un enfoque que cumple estos requisitos y que, como su nombre lo indica, se orienta a la Integración de una herramienta de sistemas con la parte del Mantenimiento en la maquinaria pesada alineada con el objetivo principal de la empresa.

III.

CONCLUSIONES

El trabajo interdisciplinario, a la hora de implementar procesos como éstos, deber ía ser fuer temente incentivado en todas las universidades del país porque ayudaría a comprender el significado que tiene el obtener un título profesional y la gran responsabilidad que se adquiere para con aquellos que requieren de los servicios. El modelo de Help Desk presentado, permite la organización del mantenimiento preventivo dentro de las unidades de producción al interior de las empresas involucradas en procesos que utilicen maquinaria pesada, y plantea la posibilidad de generar informes detallados necesarios a la hora de tomar decisiones, además de crear un historial que permite conocer el estado actual de las máquinas, su respectiva tarea de mantenimiento y, por ende, la utilización al máximo del objetivo del equipo y la calidad del mismo durante su vida útil. Este aplicativo se convierte entonces en una verdadera ayuda para quienes la operan. Es, además, una de las innovaciones tecnológicas que está diseñada para minimizar los costos, que se trabaja de manera fácil y amigable, y que se puede adquirir a costos competitivos para el mercado. La información que allí se registre y se recolecte es útil para la empresa, porque en caso de ausencia del personal encargado del mantenimiento; este aplicativo permite conocer toda la información necesaria a realizar, sin limitarse a que sea solamente un determinado personal el

64

encargado de manejar estos sencillos asuntos que no requieren de profundos conocimientos, sino de coordinación y habilidad administrativa trabajadas de la mano con la experiencia. La utilización de un equipo de cómputo que facilite el llevar la relación de producción, hoja de vida de las maquinarias, listado de proveedores, relación de insumos, inventarios de repuestos, etc., es de vital apoyo para la empresa y su asignación al proceso es fundamental para el desarrollo del mismo. Como resultado del análisis realizado a la maquinaria con la que actualmente cuenta la empresa SISTEMAS & AUTOMATISMOS LTDA., se levantó un informe detallado con aquellas que actualmente se encuentran en los talleres y que en su mayoría ya han sido reparadas más de una vez para involucrarlas en el proyecto de eliminación de los correctivos e implementarle los preventivos de tal manera que se adaptaran al plan de mantenimiento recientemente implementado con el fin de garantizar su buen funcionamiento y la prolongación de su vida útil. El modelo de Help Desk presentado, permite la organización del mantenimiento preventivo dentro de las unidades de producción al interior de las empresas involucradas en procesos que utilicen maquinaria pesada; y plantea la posibilidad de generar informes detallados necesarios a la hora de tomar decisiones, además de crear un historial que permite conocer el estado actual de las máquinas, su respectiva tarea de mantenimiento y por ende la utilización al máximo del objetivo del equipo y la calidad del mismo durante su vida útil. Este aplicativo se convierte entonces en una verdadera ayuda para quienes la operan. Es además una de las innovaciones tecnológicas que está diseñada para minimizar los costos, que se trabaja de manera fácil y amigable y que se puede adquirir a costos competitivos para el mercado.

REFERENCIAS [1] BARLOW., Whitten Bentley. Análisis y Diseño de Sistemas de Información. Tercera Edición, 2001, 260 [2] Building E-Commerce Applications from ObjectOriented Conceptual Modelos. Disponible Http://www.acm.org/sigs/sigecom/exchanges/volume22_ (01)/2.2+pastor.pd [3] Conallen, Jim. Building Web Applications with UML. Addison Wesley, 1999. 250


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 61-65

[4] GONZALEZ TORRES, José Alejandro. Anatomía de una pagina Web. En Revista ENTER Edición 56, abril de 2003. Págs. 39 44. [5] “Método OOWS”. Disponible: http://www.servidorti.uib.es/metodologías [6] MySQL Reference Manual. Disponible: http://www.mysql.com/ [7] PRESSMAN, Roger S. Ingeniería de Software, Un enfoque práctico Mc Graw Hill. Quinta Edición, 2000, 240 [8] Soria Momparler, Ramón. Navegar en Internet HTML: diseño y creación de páginas Web. Alfaomega, 1997. 230. [9] “Ventajas e inconvenientes de PHP”. Disponible: http://ascii.eii.us.es/cursos/php/php4.html

Artículo de Reporte de Caso. Sometido a Arbitraje. El Autor

Yolanda Hernández Ávila Ingeniera de Sistemas, Universidad El Bosque. Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. yolandahernandez@sistemasunbosque.edu.co

65



Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 67-76

Modelamiento e implementación de un software simulador de evacuaciones de emergencia por medio de una solución gráfica Modeling and implementation of a software simulator for emergency evacuations through a graphical solution Mauricio Alejandro Jiménez Escobedo*

Resumen

Abstract

Simular una emergencia y la posterior evacuación de un recinto cerrado por medio de un software es una manera de poder predecir, sin riesgo de pérdidas, cuales serían los resultados de una evacuación en un momento de emergencia. Para poder generar un simulador de este tipo se requiere desarrollar un modelo basándose en el proceso común para implementar un simulador. Para esto es necesario tener datos o estadísticas donde, basándose en las mismas, sea posible encontrar un tipo de comportamiento que posteriormente genere un modelo que permita el desarrollo de un simulador para analizar la eficiencia de las salidas de emergencia en un recinto cerrado. Al investigar y querer obtener este tipo de estadísticas en Colombia es posible encontrarse con que estos datos no se encuentran consolidados, con lo cual no sería posible el análisis y obtener posteriormente un modelo.

When wanting to develop a model being based on the common process to implement a simulator, is necessary to have statistical data or where, being based on these, it is possible to find a type of behavior that later generates a model. When investigating and wanting to obtain this type of statistics in Colombia it is possible to be whereupon these data are not consolidated, with which the analysis would not be possible and to obtain a later model .

Este es un serio problema, que como se verá a lo largo del presente artículo, impide que se realice un análisis de los datos, con lo cual sea posible generar un modelo. Estos modelos son necesarios si se quiere desarrollar simuladores que brinden información que permitan entender el comportamiento y la eficiencia de las salidas de emergencia en un recinto cerrado. El objetivo del siguiente artículo es encaminar al lector en la implementación y uso de otra técnica que basada en una solución matemática y gráfica permitirá generar un modelo que se pueda implementar en un software - simulador y así ver el comportamiento de personas en un recinto cerrado dirigiéndose a las salidas en una situación de emergencia, logrando con esto obtener los tiempos de evacuación.

This is a serious problem, as will be seen throughout this article, it prevents an analysis of the data and therefore, is not possible to generate a model. These models are necessary if we are to develop simulators that provide information to understand the behavior and efficiency of emergency exits in an enclosure place. The objective of the following article is to direct the reader in the implementation and use of another technique that is based on a mathematical and a graphical solution; it will allow to generate a model that can be implemented in a software simulator and see the behavior of people in a closed enviroment going to the exits in an emergency situation, obtaining with this different times of evacuation.

Key words: Software, Simulation, Model, System, Emergency Exit, Organization, Time.

Palabras claves: Software. Simulación, Modelo, Sistema. Salida de Emergencia, Entidad, Tiempo.

Recibido: 11/07/07. Evaluado: 27/08/07. Aceptado: 03/12/07. * Ingeniero de Sistemas de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque.

67


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 67-76

I. INTRODUCCIÓN

ayuda fundamental en el desarrollo de este tipo de sistemas [2].

Con el pasar del tiempo, el auge en la nuevas tecnologías y métodos de construcción es imposible imaginarse hasta que alturas o en que hábitat puede llegar a vivir el ser humano, pero un factor fundamental que siempre ha estado presente y al cual es necesario prestar mas atención, es el tema de la seguridad. Una de las partes de este extenso tema, al que no se le da la importancia adecuada, es el de las evacuaciones de emergencia de un recinto cerrado.

La investigación se inició visitando entidades como la Defensa Civil, la Alcaldía Mayor de Bogotá y los departamentos encargados de la seguridad o prevención de desastres. Allí se logró conseguir los diferentes planes de evacuación que se tienen para sitios donde la característica principal es la gran cantidad de personas que normalmente están en ellos pero no se obtuvo información concreta como resultados de simulacros de evacuación o estadísticas al respecto.

Una primera solución para esto sería el tener herramientas que permitieran realizar pruebas o simulacros en los ambientes que se necesita y de esta manera obtener resultados confiables que brinden a los arquitectos e ingenieros civiles información sobre lo que sucedería en una situación de emergencia.

En estos lugares se fue recibiendo información sobre los distintos planes de emergencia que se tienen para lugares como el Coliseo Cubierto “El Campín”, Estadio Nemesio Camacho “El Campín”, Plaza de Bolívar, Palacio de los Deportes, Parque Simón Bolívar, Plaza de Eventos del Parque El Tunal.

En el momento de comenzar a elaborar un modelo que permitiera la creación de un simulador, se siguen algunos pasos, como se verá en el interior del artículo, uno de estos pasos es la necesidad de obtener datos consolidados sobre resultados de evacuaciones, estos datos son necesarios para el análisis de este tipo de eventualidades y así posteriormente generar un modelo. Al no contar con información consolidada al respecto se hace necesario buscar otras maneras que permitan la creación de un modelo.

Estos planes muestran que para cada uno de los sitios depende mucho la clase de evento que se vaya a realizar, pues dependiendo, por ejemplo, se trate de un concierto influye el tipo de personas que ingresen al lugar. Características como el tipo de evento, tipo, edades y por supuesto, el número de personas que ingresarían, hacen que se configure el lugar de una manera u otra, dando acceso a distintas puertas. No se obtuvieron, como se comentó con anterioridad, estadísticas sobre simulacros o evacuaciones que se hubieran podido realizar en el pasado.

Una alternativa es el uso de un modelo matemático y gráfico que permitirá, por medio de algunas ecuaciones, obtener información sobre el desplazamiento de entidades a una salida y posterior evacuación de un recinto. Una vez especificado el modelo es posible basarlo en el tiempo para así poder generar una simulación, por medio de software, que dará al usuario la posibilidad de entender y tener resultados sobre los tiempos de evacuación de un recinto cerrado.

II. MÉTODOS La metodología utilizada para la investigación del tema tratado en el siguiente artículo se basó inicialmente en el previo estudio de la manera como se implementa un sistema simulado basado en estadísticas y eventos discretos. Se realizó una investigación, haciendo visitas a diferentes entidades en busca de resultados o estadísticas concretas para la posterior implementación de un modelo que permitirá el desarrollo de un simulador para situaciones de evacuación de un recinto cerrado, al no obtener resultados concretos se opta por seguir investigando y encontrar algunos modelos matemáticos que brinden una

68

Al no obtener información que brindará un apoyo para la creación del modelo se toma la decisión de utilizar una solución matemática y gráfica que permitirá la generación del modelo y su posterior implementación en un software. Este modelo es basado en el estudio realizado por un matemático llamado J.J. Fruins [3].

III. MARCO CONCEPTUAL Para el proceso de desarrollo de un modelo de simulación se deben tener en cuenta las siguientes fases, las cuales serán explicadas a lo largo de la descripción de la implementación [4]: • Definición del sistema. • Análisis del Sistema. • Formulación del modelo. • Recolección de datos. • Selección del lenguaje y codificación. • Verificación y validación del sistema. • Experimentación. • Implantación. • Monitoreo y Control.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 67-76

Estos últimos tres pasos no serán tenidos en cuenta pues al tratarse de un prototipo son necesarias algunas modificaciones y nuevas versiones para poder determinar una versión mas robusta del simulador. A. DEFINICIÓN DEL SISTEMA En este paso se hace una correcta identificación del objetivo, de las variables de decisión, restricciones, la medida de efectividad y las variables no controlables, comportamiento estadístico. El sistema está basado en el comportamiento de entidades independientes, representando personas, que se encuentran ubicadas de una manera aleatoria en un escenario rectangular. El escenario como tal, además de ser rectangular, cuenta con una serie de salidas de emergencia, estas salidas permitirán el desplazamiento de las entidades hacia el exterior en el momento de una emergencia. El escenario no posee obstáculos predefinidos pues para este prototipo se contempla la idea que no existan obstáculos en el interior del escenario. Las entidades por su parte presentan características como son una velocidad constante la cual se toma en este caso como de 4 metros por segundo, esta velocidad promedio se basó en el estudio llamado “Estudio de las Capacidades Físicas: La velocidad”. Esta velocidad depende mucho de otras características del individuo, pero en este caso todas las entidades presentan la misma velocidad. Otra característica de estas entidades es el tiempo de reacción, normalmente en una situación de emergencia depende mucho de la persona pues no todos reaccionan de la misma manera, en este caso se selecciona un tiempo de reacción pseudo-aleatorio el cual varia de manera uniforme entre 1 a 10 segundos, el cual brinda una demora a las entidades en el momento de empezar la simulación.

dará el resultado total del tiempo de evacuación. Las entidades se desplazan en línea recta hacia la salida mas cercana, en el momento de encontrarse con otras entidades tiene prelación la entidad que esté más cercana a la puerta para seguir moviéndose. C. FORMULACIÓN DEL MODELO En este paso se necesita establecer un código lógico matemático que represente la interacción entre las variables. El modelo lógico-matemático que fue seleccionado para realizar el simulador se basa en el estudio realizado por JJ.Fruins [3]. Las variables que se tuvieron en cuenta para el modelo son las siguientes: • Velocidad de las entidades: Esta se comporta como una constante, siendo la misma para todas las entidades. • Tiempo de reacción: Este tiempo de reacción se basa en un número pseudo-aleatorio que varía de 1 a 10 por medio de una distribución normal. • Distancia a las puertas: Esta distancia se toma desde la posición inicial de la entidad hasta la puerta que se encuentre más cercana. Generación de modelo matemático con solución gráfica El término “recinto” se utiliza habitualmente para indicar una dependencia o una parte de un edificio ocupada por un determinado número de personas que dispone de varias salidas. Sea un recinto como el representado en la figura 1, con k ocupantes uniformemente distribuidos y que dispone de n posibles salidas, situadas de tal forma que no exista interferencia en el movimiento de los ocupantes que se dirigen a cada una de ellas.

B. ANÁLISIS DEL SISTEMA En este paso deben describirse las interacciones lógicas entre las variables de decisión, teniendo en cuenta además las restricciones del sistema. Se deben establecer los objetivos del estudio. Las entidades que se encuentran ubicadas en el recinto tiene como tal una ubicación que es predeterminada pseudos-aleatoriamente, estas entidades poseen una velocidad y una distancia hacia la puerta mas cercana. Cada una de las entidades puede definir, como se vio en el modelo matemático y gráfico, el tiempo que durará en desplazarse del lugar donde se encuentra hasta el exterior del escenario. El tiempo que dura en salir la última entidad

Figura 1. Recinto (Tomado de “Pedestrian planning and design. Elevator World”)

69


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 67-76

Para cada una de las salidas es posible determinar la función de evacuación tj (xj), que proporciona una estimación del tiempo que tardarían en abandonar el recinto hasta situarse en un destino seguro xj personas si utilizaran la salida j. Se trata de una función estrictamente creciente, definida para el intervalo 0 <= xj <= k y además se cumple que:

La solución del problema consiste en averiguar el número de personas xj que deben dirigirse a cada salida j, de manera que la totalidad de ocupantes puedan estar situados en una posición segura en el tiempo mínimo. El tiempo de evacuación del recinto vendrá dado por la duración del recorrido más largo, que se corresponderá con el instante en el que el último ocupante alcanza el punto exterior destino de la evacuación. El tiempo de evacuación se designa por z, resulta la función (2), sujeta a las restricciones (3) y (4).

En este trabajo se presenta una solución del problema mediante procedimientos gráficos, para lo cual es necesario realizar los siguientes pasos:

Figura 2. Obtención de la función de evacuación (Tomado de “A simple graphical procedure to estimate the minimum time to evacuate a building”)

El tiempo t1, j que se tardará en llegar al destino vendrá dado por la expresión (5), hasta este instante el flujo de llegada en el destino es nulo, y a partir del mismo la magnitud del flujo fj resultante de la salida j lo proporciona la expresión (6).

Si los ocupantes que se dirigen a la salida j demoran el inicio de la evacuación un tiempo t0, j, la función de evacuación tj(xj) de la salida j se obtiene mediante la expresión (7) [5].

PASOS PARA OBTENER SOLUCIÓN GRÁFICA. Proceso iterativo para la obtención de la solución del problema [5]. Obtención de las funciones de evacuación. En este caso para hallar las funciones de evacuación tj(xj) se utilizan los modelos de ocupación y circulación de J. Fruins [3]. Si en la salida j, cuya ancho mínimo es wj, y existe un recorrido hasta el destino de longitud total lj, se produce una densidad de ocupación dj, se estima que los ocupantes que se dirigen hacia la salida lo harán con una velocidad vj y habrá un flujo específico fe,j, ambas magnitudes se suponen constantes durante todo el tiempo que dura la evacuación [6].

70

En la función de evacuación se contabiliza la demora en el inicio de la evacuación, el tiempo de recorrido y el flujo por el punto de ancho mínimo. En este caso, un modelo de flujo constante, la función de evacuación adopta la forma representada en la figura 3. La ordenada en el origen corresponde a la suma de tiempos de demora en el inicio de la evacuación y de recorrido, mientras que la pendiente de la función correspondiente del flujo.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 67-76

Función de evacuación inversa

Figura 3. Función de evacuación

Figura 4. Función de evacuación inversa

Obtención de las funciones de evacuación inversa. Para obtener la solución del problema es preciso hallar las funciones de evacuación inversas pj(z) de cada una de las salidas, indican el número de personas que podrían salir del recinto utilizando la salida j en un tiempo z. Estas funciones pueden hallarse de forma analítica; sin embargo en este caso se usa la ayuda de un análisis gráfico.

Una vez se han determinado las funciones de evacuación inversas pj(z) de cada una de las salidas, se obtiene la función PT(z), se denomina función de evacuación total, indica el número total de personas que pueden salir del recinto en un tiempo z.

Una vez se conoce tj(xj), la aproximación gráfica de pj(z) consiste en representar la función de evacuación tj(xj) situando los tiempos de evacuación z en el eje de abscisas y el número de personas pj(z) en el eje de ordenadas. Si el flujo es constante, se producen demoras al inicio de la evacuación, y se contabilizan los tiempos de recorrido hasta las salidas, la forma analítica de la función de evacuación inversa viene dada por la siguiente expresión:

En este caso, PT(z) corresponde a la suma de las funciones pj(zj) de cada una de las salidas considerando de forma adecuada las discontinuidades, puede observase en la figura 5. Solución inicial. El proceso de resolución puede seguirse en la figura 6. Se efectúan las siguientes operaciones: Se procede a la representación gráfica de las funciones pj(z) y PT(z). Se sitúa en el eje de ordenadas, el valor k correspondiente al número total de ocupantes. Desde dicho punto se traza una línea paralela al eje de abscisas hasta el punto de intersección con la función de evacuación total PT(z). Desde este punto de intersección se traza una línea vertical, lo que permite leer en el eje de abscisas el tiempo mínimo necesario z* para la evacuación de los todos los ocupantes del recinto.

La forma que adopta esta función es la representada en la figura 4, se aprecia como hasta que ha transcurrido el tiempo de demora y recorrido, ningún ocupante es capaz de abandonar el recinto y a partir de este instante, el número de personas por unidad de tiempo que abandonan el recinto por la salida j en cada instante se refleja en la pendiente de la función, corresponde a la magnitud del flujo de la salida.

A partir de las intersecciones de la línea vertical con las funciones pj(zj) de cada salida, se trazan líneas horizontales hasta cortar el eje de ordenadas. En los puntos de corte se efectúa la lectura del número de personas que deben ser asignadas a cada salida j.

71


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 67-76

Después se verifica que se cumple la restricción de la expresión (3), definida en la formulación del problema, se trata de verificar que se ha producido la evacuación de todos los ocupantes: Figura 6. Proceso de Verificación La velocidad de circulación y los flujos, se producen como consecuencia de la densidad de ocupación que resulta de la asignación óptima xj*. Si aj es la superficie de vía de evacuación, y xj el número de personas que utilizan la salida j.

A partir de dj se procede a revisar el valor de las magnitudes de circulación vj y. De la misma forma, el tiempo de evacuación z* no puede ser menor que el tiempo tj necesario para llegar a la salida j los xj ocupantes asignados a la misma:

Efectuadas dichas operaciones se repite el proceso de cálculo hasta la obtención de la solución definitiva, en la cual las magnitudes de circulación razonablemente coinciden con las inicialmente supuestas. Figura 5. Solución Gráfica

Verificación e iteración. Se comprueba la coherencia de los resultados, verificando la factibilidad de los valores de las velocidades y de los flujos supuestos inicialmente con los valores óptimos del tiempo de evacuación y las asignaciones xj de cada una de las salidas. Estos aspectos se pueden observar en la figura 6 [7].

72

• Tiempo de desplazamiento: cada una de las entidades marcará el tiempo según la distancia a la salida y la velocidad de la entidad, logrando tener así el tiempo total de desplazamiento hasta la salida. • Posición de las entidades: cada una de las entidades tiene una posición en el escenario, esta posición está definida inicialmente por un número pseudo-aleatorio tanto en X como en Y. • Tiempo total de evacuación: este tiempo lo dará la última entidad que salga del escenario con lo cual se da por terminada la simulación de la evacuación.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 67-76

D. RECOLECCIÓN DE DATOS

E. SELECCIÓN DEL LENGUAJE Y CODIFICACIÓN

En este paso se necesita saber que datos y el tipo de datos que el estudio necesita. En este punto es donde fundamentalmente, al no encontrar información concreta que sirva para el desarrollo de un modelo, se necesitará la implementación de otro tipo de técnica, en este caso la generación de un modelo basado en una solución matemática y gráfica.

En este paso se analiza y escoge el lenguaje de programación a utilizar, en este caso se usará software libre. Y se hace la implementación en el lenguaje seleccionado del modelo escogido.

Al iniciarse la investigación sobre este tema y tratar de encontrar datos que se pudieran utilizar para la posterior generación de un modelo no fue posible encontrar datos concretos. Por esta razón fue necesario buscar un modelo que no se basara en estadísticas; en este caso el modelo de solución matemática y gráfica de JJ. Fruins y asumir que las distribuciones para la generación de números pseudoaleatorios es uniforme.

El lenguaje con el cual se trabajó fue Java; este se seleccionó por la gran versatilidad que posee para el desarrollo de software libre, característica como el ser multiplataforma y permitir un desarrollo modular permitirá que en futuras versiones de este simulador se pueda generar un software más robusto. Al realizar el análisis del modelo se resuelven generar las siguientes clases, las cuales representarán los distintos objetos que interactúan en el escenario virtual al igual que los datos que se desean capturar. Al realizar el previo estudio de la implementación se definieron las siguientes clases:

Figura 6. Modelo de Clases • Escenario. Clase que representa un ambiente donde se llevará a cabo la simulación. Contiene las características necesarias de un recinto cerrado. • Puerta. Clase que representa las salidas de emergencia que se podrán ubicar en el recinto cerrado.

• Animación. Clase que manejará y controlará el movimiento gráfico de las entidades. • Lienzo. Clase que representa las distintas gráficas que se mostraran como resultado de la simulación.

• Entidad. Clase que representa las entidades o personas que participaran en la simulación.

73


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 67-76

La arquitectura del software está soportada por distintas clases como se indicó en el diseño detallado, el algoritmo está basado en la creación de un mundo virtual que es representado por una matriz de dos dimensiones, en esta matriz se representan cuatro tipos de elementos en el escenario, estas representaciones están hechas por números, los cuales se verificarán en el momento de realizar el paso de esta matriz a una interfaz gráfica para el usuario. La representación está hecha de la siguiente manera: • Número 0: Ubicaciones desocupadas en la matriz los cuales representan espacios desocupados en el escenario. • Número 1: Representación de entidad o persona en el escenario. • Número 2: Representan los bordes de la matriz o muros en el escenario. • Número 3: Representan las esquinas del escenario. • Número 4: Representan los lugares donde irán ubicadas las puertas en los muros del escenario. Como se indica en el ejemplo de la figura 12 se puede apreciar una matriz de 10 x 10 donde se ubican 5 entidades y tres puertas.

la ubicación (coordenada) de este en la matriz, esta ubicación se realiza generando un número aleatorio siguiendo una distribución, que el usuario escoge en el momento de crear el mundo, tanto para el eje x como para el eje y. Existe otro vector que tiene como elementos objetos de tipo puerta, cada objeto puerta tiene información sobre la ubicación o coordenadas de este en la matriz. Una vez se valida la ubicación de las puertas, la generación y distribución de entidades en el mundo, se obtiene como se mencionó con anterioridad, dos vectores, uno de puertas y otro de entidades. Antes de empezar la simulación se necesario que cada entidad ubique la puerta mas cercana, para esto se realiza un recorrido por el vector de entidades donde en cada elemento se recorre el vector de puertas y se calcula, por medio del teorema de Pitágoras, la distancia que existe entre la entidad y la puerta pues se conocen de los dos las coordenadas. Una vez se recorre el vector de puertas y se determina cual es la que se encuentra a menor distancia se guarda el índice de este objeto puerta como un dato en el objeto entidad correspondiente. Al terminar de recorrer el vector de entidades cada elemento tiene el índice que identifica la puerta por la cual saldrá. Siguiendo el modelo explicado en el marco teórico, podemos tener una vez ubicada las entidades el tiempo total de evacuación de las mismas, la idea en este caso es poder simular la posición de cada una de las entidades a lo largo del tiempo. Para esto se va reemplazando la variable tiempo y así en cada actualización del sistema se ve la ubicación de cada entidad en ese instante.

Figura 7. Matriz La generación de las entidades y distribución de las mismas en la matriz se realiza en el momento de crear el mundo virtual, donde el usuario indica la cantidad de personas a simular. Estas entidades se encuentran en un vector donde en cada uno de los elementos de este se guarda un objeto entidad, el cual tiene información como

74

El comportamiento de las entidades durante la simulación está definida por una serie de condiciones, como son el encontrarse con otra entidad durante del desplazamiento a la salida, en este caso cada vez que se va a realizar el repintado de la interfaz gráfica, se verifica la posición de la entidad y se busca entre las demás entidades que salgan por esta puerta que no se esté llevando acabo algún contacto, de ser así la entidad que se encuentra mas lejos de la puerta se quedará quieta mientras la entidad mas cercana se mueve. La simulación termina una vez se tienen todas las entidades por fuera de las dimensiones del recinto cerrado. En ese momento por medio de un botón se ve el resultado de la simulación y los tiempos totales de la simulación al igual que la gráfica con los resultados.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 67-76

Figura 9. Ventana Inicio Una vez ingresados los datos para la simulación se ejecuta, dando como paso siguiente el movimiento de las entidades hacia las respectivas salidas y obteniendo los resultados de la simulación como se aprecia en la figura 10.

Figura 8. Flujo Simulador

Los últimos pasos para el desarrollo del software como son la ver ific ación y validación del sistema, experimentación, implantación, monitoreo y control, no son cubiertas en el presente artículo pues al tratarse de una versión inicial o prototipo donde no se tienen todas las variables que se requieren para compararlo con la realidad de un ambiente de emergencia y las reacciones que pueden tener distintos seres humanos, no es posible validar esta información. La validación a la cual si se hace referencia es la velocidad promedio de una persona, 4 metros por segundo [1]. Una vez realizada la implementación se obtiene un software modular, con el cual se brinda la posibilidad de ingresar mejoras a nivel de código y así obtener un software cada vez más robusto. En la Figura 9 se aprecia la ventana de inicio del simulador, donde el usuario tiene la posibilidad de ingresar las dimensiones del mundo al igual que la cantidad de entidades a simular. En una ventana posterior se brinda la información para la ubicación de las puertas.

Figura 10. Ventana Inicio Los resultados son generados en archivos planos los cuales son ubicados en la misma carpeta donde se encuentra la aplicación. Estos resultados son los tiempos de evacuación de las entidades, el tiempo como tal se toma desde el momento en que se inicia la simulación hasta el momento en que la última entidad sale del recinto cerrado. Cada entidad está distribuida aleatoriamente siguiendo una distribución normal; en el momento de iniciar la simulación cada entidad tiene un tiempo de respuesta, el cual es un número aleatorio entre 1 y 5 segundos. Este número se suma al tiempo total de evacuación de la entidad. La entidad que dura mas tiempo saliendo del recinto es la que dará el tiempo total de evacuación.

75


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 67-76

IV. CONCLUSIONES

durante el tiempo de la simulación los resultados son más específicos.

Al realizar este tipo de simulador basado en la solución matemática y gráfica se hace necesario poder ingresar en el modelo nuevas variables, estas variables permitirán con el tiempo y posteriores versiones del software, el poder simular otras situaciones mas específicas y lograr de alguna manera comenzar a entender y simular el compor tamiento humano pues este es un factor fundamental que es necesario tener en cuenta en el momento de realizar una simulación de este tipo.

Se concluye de igual manera, que para simular este tipo de situaciones y tener resultados cada vez mas acordes a la realidad, es necesario el ingreso de nuevas variables al modelo dependiendo el tipo de simulación que se desee realizar, pues por ejemplo al querer simular la eventualidad de un incendio habría que tener en cuenta otros factores adicionales como serían el humo, la manera como éste afecta a las personas y cual es el comportamiento de ellos en un recinto cerrado.

Otra conclusión que brindó esta investigación es que el encontrar estadísticas sobre evacuaciones de emergencia, al igual que datos concretos sobre tiempos de evacuación no es algo que se logre con facilidad y se hace necesario en muchas empresas guardar este tipo de estadísticas, o bien tener a la mano herramientas de simulación que puedan brindar datos al respecto pues como se comenta al inicio del documento, no es mucha la información sobre estadísticas de simulacros en varias entidades. Durante el desarrollo de este tipo de simuladores se van encontrando las diferentes variables que se ven implicadas en el momento de generarse una situación de emergencia y la forma como estas pueden ser incluidas en un software - simulador, se da con esto un primer paso para la complementación y desarrollo de este tipo de herramientas. Los tiempos de evacuación de un recinto cerrado dependen en gran parte de la ubicación de las personas como lo indicaron los resultados de algunas pruebas, pero hay que tener muy en cuenta que al tratarse de una versión beta faltan muchas variables para obtener unos resultados mas acordes con la realidad, variables como el tipo de persona y la ubicación de las salidas de emergencia entre otras influyen en gran medida en los resultados de un simulador. Las salidas, al encontrarse en lugares centrales de las paredes de un recinto rectangular, permitirán una mejor distribución entre ellas de las personas, de todas maneras los cuellos de botella que se forman en estas salidas dependen de la movilidad de las personas. En el caso de este prototipo al ser todos los individuos iguales y al presentarse un ambiente que no está cambiando

REFERENCIAS [1] DE HEGUEDUS, Jorge, “Estudio de las capacidades físicas: LA VELOCIDAD” Año 2, No. 4. Buenos Aires. 1997. p.6 [2] FIRE SAFETY ENGINEERING GROUP, School of Computing & Mathematical Sciences the UNIVERSITY of GREENWICH. Consultada el 27 de Septiembre de 2005. http://fseg.gre.ac.uk/fire/EXODUS_animations.asp [3] FRUINS, J. J., "Pedestrian planning and design. Elevator World", Library of Congress Catalog Number 70-159312, 1971-1987, 206 p. [4] PELECHANO, Nuria. SILVERMAN, Barry. BADLER, Norman. Crowd Simulation Incor porating Agent Psychological Model, Roles and Communication. Universidad de Pensilvania. p. 20-33. [5] FRANCIS, R. L., "A simple graphical procedure to estimate the minimum time to evacuate a building", Society of Fire Protection Engineers, Technology Report 1979-5, 1979, 14 p. [6] SUNG, Manku, GLEICHER, Michel and CHENNEY, Stephen. Scalable behaviors for Crowd Simulation , Computer Graphics Forum 23, 3(2004) (Eurographics '04) [7] ROBERT SON, John. Graphisoft. (L ondres, Inglaterra).(Documentación en linea) Consultada el 1 de Septiembre de 2006. http://www.graphisoft.com/products/virtual_building

Artículo de Reporte de Caso. Sometido a Arbitraje. El Autor Mauricio Alejandro Jiménez Escobedo Ingeniero de Sistemas de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque. Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. mauriciojimeneze@gmail.com

76


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 77-82

Herramienta Web para el seguimiento y control del proceso de promoción y captación de estudiantes Web tool for monitoring and control of the process of promotion and capture of students Fabio Enrique Polo Hurtado*

Resumen

Abstract

El presente ar tículo plantea la creación de una herramienta para el seguimiento y control del proceso de promoción y captación de nuevos estudiantes en la Universidad El Bosque. El proyecto se desarrolló en procesos: promocionales, de inscripciones, de procesos de admisión, verificación de matrículas, y una descripción detallada de cada uno de ellos, por medio de módulos, que permiten el análisis de la interacción entre usuario y servidor. Se utilizó tecnologías de Servlets y JSP de la plataforma JAVA, haciendo uso de la arquitectura de tres capas.

The present article outlines the creation a tool for the follow-up and control of the promotion process and new students' reception in El Bosque University. The project was developed in processes of: promotion, inscription, admission, verification of registration, and a detailed description of each one of them by means of modules that allow the analysis of the interaction between user and server. It was used technologies of Servlets and JSP of the platform JAVA, using the architecture of three layers.

Palabras claves: Acceso remoto, Apache, Sistema Distribuido, Linux, Educación.

Key words: Servlets, Open Source, JAVA, Web, JSP, Promotion, Reception, Applications, Modules, Users, Server, Admission.

Recibido: 27/08/07. Evaluado: 03/12/07. Aceptado: 21/01/08. * Ingeniero de Sistemas en Ingeniería de Software de la Universidad El Bosque.

77


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 77-82

I. INTRODUCCIÓN En un mundo globalizado, donde las necesidades de información son cada vez más apremiantes, surgen nuevos tipos de herramientas que utilizan la Web como instrumento de llegar a muchos usuarios. En el ambiente educativo es donde el espacio virtual desarrolla una tarea importante, de ayuda a la comunidad estudiantil; igualmente sucede en el ámbito empresarial, con la aparición de competidores y clientes que cambian permanentemente de estrategias en la búsqueda propia de sus intereses. Esto se suma, a la aparición de nuevos tipos de tecnologías que hace necesario una constante actualización de técnicas en la obtención de datos. Consciente de esta necesidad, la Universidad El Bosque y en especial su Facultad de Ingeniería de Sistemas, al ampliar horizontes para el desarrollo educativo de sus procesos académicos y ante la disminución notoria de ingresos de nuevos estudiantes, está en el propósito de diseñar e implementar una herramienta Web que sirva de apoyo al proceso de promoción y captación de estudiantes interesados en vincularse a la institución. Esta herramienta se implementó utilizando dos tecnologías de la plataforma Java: JavaServer Pages (JSP) y Servlets, programas que le dan una característica dinámica, de fácil interacción entre el usuario y la aplicación. Su funcionalidad está basada por medios de módulos, operacionales, que permiten en análisis, evaluación y toma de decisiones en el proceso antes descrito.

II. METODOLOGÍA Este proyecto tuvo como pilar de desarrollo el Proceso Unificado (RUP), que es un marco genérico que puede especializarse para una variedad de tipos de sistemas, diferentes áreas de aplicación, tipos de organizaciones, niveles de aptitud y diferentes tamaños de proyectos [3]. Se realizó una división en fases, cada una de estas enmarcadas en las diferentes etapas del RUP y cumpliendo con cada una de las reglas que éste exige para obtener como resultado un producto de software de alta calidad, con alto rendimiento y de fácil entendimiento y mantenimiento. Las fases en las que se dividió el proyecto son las siguientes:

78

• Diagnóstico del proceso actual. • Desarrollo de la propuesta. • Análisis y diseño de la herramienta Web. • Implementación de la herramienta. • Pruebas y correcciones. • Elaboración del manual de usuario. • Desarrollo de las conclusiones que detallan los resultados y los aportes de la investigación y del desarrollo de la aplicación. • Instalación de la herramienta Web en el servidor de la Facultad. Estas fases se incluyen en las diferentes etapas del RUP y dentro de los diferentes contextos que abarcan el desarrollo de proyecto de software. La manera como se relacionan las fases del proyecto y las etapas el RUP es explicado a continuación: • Incepción. Durante la fase de inicio se desarrolló una descripción del producto final, y se presenta el análisis del negocio. Esta etapa incluyó las fases de diagnóstico y fase de desarrollo de la propuesta. • Elaboración: En esta etapa se llevó a cabo la fase de análisis y diseño de la herramienta; en esta fase se miró en detalle la mayoría de los casos de uso del producto; además se utilizó los diagramas de clases para crear la vista estática y apoyar el diseño de la arquitectura. Dentro de las iteraciones ejecutadas en esta fase tenemos: • Se estableció una firme comprensión del problema a solucionar. •Se determinó la fundación arquitectural para el software. • Construcción. Una vez se obtuvo el diseño y la arquitectura del software, se pasó a la etapa de construcción, en la cual abordamos la fase de implementación de la herramienta. • Transición: Esta etapa del RUP incluyó las fases restantes del proyecto, las cuales van desde las pruebas hasta la implantación de la herramienta en la Facultad de Ingeniería de Sistemas [3]. Uno de los puntos a resaltar en el desarrollo de la aplicación web, es que las herramientas utilizadas son software libre, que año tras año viene ganando más adeptos y que está demostrando que los productos finales son de alta calidad y trae múltiples beneficios a las organizaciones que lo tienen entre sus tecnologías. El acceso al código fuente y las libertades que permite el software libre abre la puerta a que multitud de desarrolladores trabajen sobre un mismo proyecto compartiendo esfuerzos y necesidades.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 77-82

El software libre juega un papel muy importante en la evolución del software de gestión y puede ser un elemento decisivo a favor de que las empresas sean gestionadas con software de este tipo. En los últimos tres años se ha producido una generalización del uso de Software Libre.

El proceso que se definió en el proyecto se compone de una subdivisión en sub-procesos. Esta subdivisión se hace para facilitar el análisis de la información en las diferentes etapas por las cuales pasa el proceso, desde el contacto con el aspirante hasta la matrícula de éste.

Existen ejemplos que demuestran su éxito, los cuales empiezan a hacer desaparecer el efecto “Temor, Duda e Incertidumbre (FUD)” existente hasta el momento. El entorno empresarial ha adoptado proyectos de Software Libre como GNU/Linux, Apache o MySQL [4]. Esto ha supuesto la generación de servicios demandados por las empresas e instituciones, tales como soporte profesional, compatibilidad con otras plataformas y soporte para hardware y software.

Los sub-procesos son los siguientes:

III. LA FACULTAD Y SU PROCESO La Facultad de Ingeniería de Sistemas de la Universidad El Bosque hace parte de todos los procesos de promoción que son ejecutados por la Vicerrectoría Académica; éstos se fundamentan en dos estrategias: Promoción y Publicidad [6]. Para la primera, se hace uso de los diferentes medios masivos de comunicación, en los cuales siempre que se presenta un especial de educación, se pauta haciendo referencia a los programas que la Universidad ofrece. Así mismo, para la estrategia de publicidad, se elaboran volantes, afiches, plegables e insertos que se utilizan para dar a conocer los programas académicos de la institución. Además, se maneja el Portafolio de ésta, que contiene información de todos los programas, y que se encuentra dirigido a rectores y orientadores de colegios, donde hay información detallada sobre las Facultades y Programas que se ofrecen en cada una de ellas. EL PROCESO DE PROMOCIÓN Y CAPTACIÓN DE NUEVOS ESTUDIANTES. La herramienta web desarrollada, apoya el Proceso de Promoción y Captación de estudiantes brindando una forma ágil, sencilla y confiable de analizar, seguir, y controlar las diferentes características a tener en cuenta en las estrategias a seguir para la optimización del proceso. En la toma de decisiones siempre es necesario apoyarse en el análisis y determinación de las actividades a seguir para el buen funcionamiento de los procesos. Este soporte se logra conseguir basándose en la her ramient a implementada. La aplicación se definió como un aporte a la optimización y redefinición del proceso de promoción y captación de estudiantes y para su seguimiento y control [6].

- Proceso Actividades Promocionales. En este proceso se definen qué tipo de actividades promociónales se desarrollarán y sus características; se ingresan en el sistema para poder hacer seguimiento de su ejecución y analizar los resultados de éstas. En este proceso también pueden registrarse todos los estudiantes que muestren interés en vincularse a la Facultad y asociarlos a alguna de las actividades registradas en el sistema. - Proceso Verificar Inscripciones. Este proceso se lleva a cabo una vez terminada las fechas del calendario de inscripciones; se procede a ingresar aquellos aspirantes que no se encuentren registrados en el sistema con el fin de iniciar el seguimiento desde el momento de la inscripción hasta el momento de la matrícula. En este punto se puede determinar qué estudiantes de los inscritos hacen parte de aquellos que fueron contactados por medio de las actividades promociónales. - Proceso de Admisión. Luego de realizarse el proceso de admisión de los aspirantes, se procede a actualizar el estado de aquellos aspirantes que fueron admitidos, en este punto se puede determinar todos aquellos aspirantes que vienen del proceso de las actividades promociónales. - Proceso Verificar Matrículas. Una vez ejecutado todo el proceso de matrículas de estudiantes nuevos, se procede a actualizar la información de los aspirantes registrados en el sistema, y se puede establecer si provienen del proceso de las actividades promocionales llevadas a cabo por la Facultad. Teniendo definido un proceso y una herramienta que apoye su seguimiento y control, la Facultad puede analizar y tomar decisiones correctas con respecto al mismo, además de aumentar el número de estudiantes ingresados a la Facultad, lo cual genera mayores ingresos que podría invertirse en más investigaciones a beneficios de la sociedad y poder posicionarse como una de las mejores instituciones educativas, además de estar forjando una generación de profesionales capaces de actuar en un espacio laboral cada vez más amplio y con alta calidad en su trabajo [6]. La herramienta desarrollada es un instrumento que sirve para arrojar informes que reflejen el comportamiento del proceso para apoyar así la toma de decisiones. La

79


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 77-82

información es de fácil ingreso a la aplicación, se podrá actualizar para tener datos reales en el sistema.

• JFreechart: API de java para el dibujo de gráficas; éstas apoyan el análisis estadístico que realiza la aplicación.

IV. LA HERRAMIENTA WEB

Estas herramientas son todas Open Source, con lo que no se genera ningún costo adicional en el desarrollo del software.

En la aplicación web se tiene una herramienta con la cual se puede realizar un análisis de la información almacenada en la base de datos y con esto se tiene un instrumento para generar fácilmente reportes que ayudan y soportan las diferentes actividades que en conjunto hacen parte del proceso de promoción y captación de nuevos estudiantes [4]. Una de las principales fuentes de ingreso de la Facultad de Ingeniería de Sistemas son las matrículas de sus estudiantes, tanto nuevos como antiguos, con lo que sopor ta sus inversiones que apoyan el campo investigativo. Dichas investigaciones son las que engrandecen y ayudan a su buen nombre en la sociedad colombiana. Por lo anterior, la herramienta web a diseñada e implementada, es el pilar principal del proceso de promoción y captación de personas interesadas en vincularse a la Facultad, porque apoyará el seguimiento y análisis de éste. Además facilitará las actividades de gestión y control.

Además, luego de analizar las diferentes opciones de implementación de patrones, se determinó utilizar como patrones de diseño los siguientes: - DAO (Data Access Object) - Object Value - MVC (Model View Controller) (Modelo-VistaControlador) - Front Controller (Controlador Frontal) Para el análisis de la información, se muestran las gráficas en la que se pueden observar las formas en que se encuentran distribuidos los aspirantes con relación a su estado y las actividades asociadas a éstos. La figura 1 muestra la distribución de las diferentes actividades, dado un estado de los aspirantes:

La aplicación se compone de seis módulos: Aspirante, Actividad, Institución, Contactos, Indicadores y Administración. Cada uno de ellos con operaciones de ingreso, actualización y consultas que permiten visualizar los datos arrojados por la aplicación y que soportan toda las actividades definidas en el proceso de promoción y captación de la Facultad de Ingeniería de Sistemas. El desarrollo de estas aplicaciones implicó una tecnología que se adaptó a las características de la Web, orientada a objetos [1] y que cumpliera de manera eficiente y ordenada las funciones necesarias en la Facultad de Ingeniería de Sistemas de la Universidad El Bosque [2].

V. IMPLEMENTACIÓN Para el desarrollo de la aplicación se necesitan los siguientes elementos que apoyarán la codificación, el almacenamiento de datos y la realización de las pruebas. Los elementos son los siguientes: • JDeveloper y NetBeans: IDE que facilita la codificación JAVA, la realización de las pruebas y diagramación de la aplicación. • POSTGRESQL: Base de datos Open Source para el diseño y el desarrollo de medio de almacenamiento de la información de la aplicación [5].

80

Figura 1. Indicadores Generales En la figura 2 se muestra cómo generar de forma masiva los contactos, esto permite agilizar la tarea de contactar a los aspirantes y registrar éstos en la aplicación:


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 77-82

REFERENCIAS [1] BAKARIA, Aneesha. JavaServer Pages Fast & Easy Web Development. Boston, M A, USA: Course Technology, 2002 [2] Polo Hurtado, Fabio Enrique. Herramienta Web para el Seguimiento y Control del Proceso de Promoción y captación de Estudiantes. Proyecto de Grado para optar el título de Ingeniero de Sistemas de la Universidad El Bosque, Bogotá D.C. [3] Rumbaugh James, Jacobson Ivar, Booch Grady. El Lenguaje Unificado de Modelado: El libro introductorio a UML escrito por sus creadores. Adisson Wesley. 2003. Madrid. [4] Sánchez Barrientos Manuel. Software libre como modelo de negocio. http://www.gnu.org/philosophy/freesw.es.html

Figura 2. Generar Contacto Masivo

VI. CONCLUSIONES

[5] Universidad de Berkeley. http://gist.cs.berkeley.edu/pggist [6] Universidad El Bosque. Documento de Políticas Institucionales para la Divulgación y Promoción de los Programas ofrecidos por la Universidad El Bosque.

Con el desarrollo de la aplicación se logra la creación de un medio de almacenamiento de información segura y confiable, en el que se tendrá la información que requiere el proceso. Esto trae consigo que la Facultad pueda realizar la tarea de almacenamiento y actualización de la información de una forma tarea ágil y sencilla, por medio de la sistematización y automatización de dicha tarea. Se fijaron los índices que permitan evaluar el proceso basándose en toda la información adquirida en la ejecución de éste. Además, en la definición del proceso se fijaron tareas estandarizadas con el fin de facilitar el flujo completo de éste y que soporte la administración de la información. De lo anterior, este flujo de ejecución del proceso y sus tareas se cumplen de forma completa, garantizando así que el análisis sea real y confiable y no se base en suposiciones. El análisis y la toma de decisiones es una tarea fácil, pues el proceso se basará en los datos resultados de los análisis hechos por la herramienta.

81


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 77-82

Artículo de Reporte de Caso. Sometido a Arbitraje. El Autor Fabio Enrique Polo Hurtado Ingeniero de Sistemas de la Universidad El Bosque. Actualmente se desempeña como Consultor de Software en TCS (Tata Consultancy Services), prestando sus servicios en la empresa Telefónica Telecom en la implantación del proyecto ATIS (Advanced Telecomunications Integrated System). Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. fabiopolo@sistemasunbosque.edu.co

82


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 83-87

Implementación de una aplicación móvil para consulta de notas en la Universidad El Bosque Implementation of a mobile application for grades query at the University El Bosque Carlos Fernando Varela Pérez* David Rodríguez Saavedra** Rafael Ricardo Moros***

Resumen

Abstract

El presente artículo está escrito con el fin de dar a conocer el proyecto que se centró en el desarrollo de una aplicación móvil para brindarles a los estudiantes un servicio para que puedan consultar sus notas; este brindará una mayor facilidad y comodidad para la consulta de las notas, donde no importará el lugar de ubicación del usuario y la hora; esto optimizará el proceso de consulta de notas para la comunidad estudiantil.

The present project is centered on the development of a mobile application to offer the students the service of consult their notes: this service can offer more facility and comfort for the consultation of the notes, where it doesn't matter the place of location and hour; this would optimize the process of consultation of notes for the student community.

Palabras claves: Aplicación Móvil, Tecnología J2ME, Software, MIDP, Bases de Datos.

Key words: Mobile application, J2ME Technology, Software, MIDP, Databases.

Recibido: 14/10/07. Evaluado: 11/02/08. Aceptado: 14/02/08. * Director del Área de Electrónica, Telemática, Arquitectura del Computador e Inteligencia Artificial de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque. ** Ingeniero de Sistemas, Universidad El Bosque 2008. *** Ingeniero de Sistemas, Universidad El Bosque 2008.

83


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 83-87

I. INTRODUCCIÓN Para nadie es un secreto que, en la sociedad actual, el tiempo es el mayor tirano: el ser humano vive subyugado a él. Por tal motivo, todo aquello que redunde en un mejor aprovechamiento de éste es inmensamente valorado. Igualmente las distancias, con el crecimiento de las metrópolis, se hacen cada vez más lejanas. La necesidad estriba en poner todo al alcance de la mano. No es gratuito, entonces, que el celular, que muchos pensaban era un artículo de lujo, se convirtió en uno de primera necesidad. Los mensajes de texto (SMS) fueron diseñados en principio como parte del estándar de telefonía móvil digital GSM, pero en la actualidad está disponible en una amplia variedad de redes, incluyendo las redes 3G. En el momento se cuenta con más opciones de intercambio de información como lo es por voz, texto o Wap, que se empleó para la elaboración de este proyecto [2,3]. El fácil manejo de ésta y la interfaz amigable con el usuario hace viable que aquellas personas que manejen la aplicación, puedan realizar la consulta de las notas, por medio de una interfaz amigable. El implementar la herramienta de consulta basada en una aplicación Java, contribuye a evitar problemas tan comunes como reclamos de notas luego de concluido el semestre. Es de conocimiento de todos, que cuando ocurren este tipo de dificultades los trámites administrativos son largos y extenuantes, y las excusas de por qué no se hicieron a tiempo las correcciones están a la orden del día. Así las cosas, la Universidad El Bosque sería una de las pocas instituciones universitar ias que estar ían encabezando la lista de las que adoptaron esta her ramient a y que se encuent ra dispuest a a comprometerse con los vertiginosos cambios de la tecnología actual.

II. CONSULTA DE NOTAS VÍA CELULAR EN LAS UNIVERSIDADES A. ANTECEDENTES Aunque en Colombia son muy pocas las universidades que han implementado la consulta de notas por celular, en las cinco, donde ya se tiene esta tecnología, ha sido un éxito su desempeño. Las instituciones de educación superior que tienen este novedoso sistema en Colombia son: La Pontificia Universidad Javeriana, sede Bogotá; la Universidad de Nariño (Pasto); la Universidad Piloto; la Universidad Sergio Arboleda; y la EAFIT de Medellín. En la Universidad Eafit en Medellín, se est á implementando un software que consiste en una

84

aplicación móvil llamada Ulises. Este es un programa que permite a los estudiantes de EAFIT acceder a información académica, tal como notas, horario, historia académica y saldos pendientes, desde dispositivos móviles con acceso a Internet y soporte para tecnología Java 2 ME. De igual manera, en la Pontificia Universidad Javeriana, sede Bogotá, está permitido a los estudiantes y egresados consultar sus notas a través de los enlaces habilitados por los sistemas que soportan el registro académico en la universidad. Por otra parte, la Universidad de Nariño ofrece a los estudiantes, ya sea de Pregrado o Postgrado, la posibilidad de ingresar mediante un código a una dirección ya establecida para consultar la nota deseada. Otra Universidad que ofrece este ser vicio es la Universidad Piloto de Colombia. Allí, el estudiante tiene que ingresar a la dirección Web de la Universidad. Una vez estando en la página, el siguiente paso es entrar al link servicios online, RedC@ampus, apoyo a la docencia. Luego, digitar los siguientes campos: Número de cédula o tarjeta de identidad y clave. Seguidamente, el alumno visualiza y verifica el perfil de usuario que deberá ser alumno de gestión de alumnado, después de verificar, deberá ir al link RedC@mpus y le saldrá apoyo a la docencia, donde debe dar click izquierdo y seleccionar la materia para visualizar su nota. En la Universidad Sergio Arboleda, los estudiantes pueden realizar su consulta de notas a través de un celular y por medio de la aplicación Sinfa Móvil que habilita a la universidad para estar en la capacidad de enviar información de forma automatizada a través de mensajes de texto SMS a teléfonos celulares. El estudiante ingresa a la página de a Universidad, escoge la opción consulta de notas, ingresa su identificación y realiza su consulta [5]. Como se puede obser var, el país tiene varias universidades que ya han implementado este sistema de consulta de notas, así mismo en varios países se maneja esta misma aplicación como es el caso de la Universidad de Piura (Perú) que implementó el sistema llamado miING en protocolo WAP [4]. miING WAP es un nuevo portal móvil que permite al usuario realizar consultas sobre sus cursos, datos personales y profesores desde su teléfono celular. Fue desarrollado por el área de desarrollo de la Facultad de Ingeniería de la Universidad de Piura (Perú) [4]. Por parte de la Universidad El Bosque también hay proyectos que, aunque no son desarrollados para la consulta de notas, se centran en el uso de una aplicación móvil. El software desarrollado por los estudiantes Edwin Casallas y Natalia Paredes se llama Saludmovil desarrollado en J2ME.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 83-87

Esta aplicación surge de la necesidad que el usuario tiene en el momento de solicitar una cita médica. Este software facilita el proceso mediante la aplicación que es diseñada para solicitar una cita médica desde la comodidad del teléfono celular. Se ha comprobado que la consulta a realizar -consulta de notas-, si se efectúa por medio de mensajes de texto (sms), sería muy costosa [1]; por ello se decidió emplear la tecnología J2ME a un costo mucho más económico (sustentar con cifras esta afirmación), para los estudiantes de Ingeniería de Sistemas de la Universidad El Bosque. B. PROYECTO DE IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL PARA CONSULTA DE NOTAS EN LA UNIVERSIDAD EL BOSQUE Una de las dificultades más comunes de los estudiantes era encontrar la posibilidad de consultar sus notas en cualquier momento, sin que importara el lugar y sin tener la necesidad de ingresar a Internet. Es bien sabido que hay una mayor facilidad de utilizar el celular como el medio más empleado de comunicación. Es por ello, que se desarrolló la aplicación móvil de consulta de notas en la facultad de Ingeniería de Sistemas de la Universidad El Bosque mediante la tecnología J2ME, puesto que la misma esta diseñada para celulares.

Figura 1. Pantalla de Validación de Usuario

Al oprimir el botón de buscar, el sistema valida los datos con la base de datos, si están correctos, la aplicación mostrará una advertencia donde dice que está a punto de conectarse con el servidor, si el usuario desea realizar la consulta debe oprimir el botón de OK.

El manejo de la aplicación es sumamente fácil y la forma de consultar las notas no requiere de mayores instrucciones. No se necesita inversión en capacitación y los costos de implementación de la misma en la Facultad de Sistemas fueron ínfimos ya que se desarrolló con software libre y dentro del contexto de un proyecto de grado. Así las cosas, ¿Cómo sería el manejo de la aplicación? Requerimientos Para utilizar la aplicación desde un teléfono celular, se requiere: • Celular que soporte J2ME. • Celular GSM que soporte conectividad GPRS. • Servicio GPRS activo con el operador móvil. Uso de la Aplicación Al ingresar a la aplicación móvil la primera pantalla que el usuario visualizará será la pantalla en donde la aplicación pide que el usuario ingrese su número de cédula y su código. Figura 2. Pantalla de habilitación de conexión con el servidor

85


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 83-87

En el momento en el que el usuario acepta conectarse con el servidor, se inicia la consulta de notas y la aplicación le mostrará un aviso en él que aclara si su conexión ha sido exitosa o no.

Luego que escogerlo, le aparecerá la lista de materias que puede consultar y le saldrán las notas que tiene actualmente en su materia.

Figura 3. Pantalla Transacción en Proceso

Figura 5. Pantalla Elección de Materia

Si el usuario tuvo un login exitoso la aplicación le mostrará la opción donde podrá escoger el semestre donde quiere realizar la consulta.

Figura 4. Pantalla Elección de Materia

86

Figura 6. Pantalla Visualización de Notas


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 83-87

Como se observó este sistema es fácil de emplear y contribuirá a evitar tanto a profesores como a estudiantes, procesos engorrosos de reclamación. En síntesis, la tecnología está al servicio de todos para facilitar la vida.

III. CONCLUSIONES El gran campo de las aplicaciones móviles puede ser explotado en muchos más temas para beneficios y comodidad de la sociedad, donde se optimiza el uso del celular y para adquirir beneficios en un contexto de falta de tiempo y así contribuir, ofrecer una ayuda valiosa a la sociedad. Para realizar el proyecto es necesario realizar todo el estudio de las etapas de requerimientos y de diseño y ya que teniendo estas en claro se logra una claridad de lo que se va a implementar y así no se presentan errores en la etapa de la implementación. Para realizar el proyecto fue necesario estudiar, investigar y analizar el tipo de tecnologías para desarrollo en móviles y profundizar en el área de redes para poder entender el manejo de la arquitectura que se iba a utilizar en la aplicación.

REFERENCIAS [1] Aplicaciones Inalámbricas un nuevo modelo. J2ME (“Java 2 Micro Edition”). (Consultado enero 25 de 2 [2] Stallings William. Redes e Internet de Alta Velocidad Rendimiento y Calidad de Servicio. Ed. Prentice Hall. 2ª Edición. pp. 150 151 [3] SMWORLD, Portal de consulta para aplicaciones móviles (online). (consultado en enero 15 de 2007). http://www.gsmworld.com/roaming/gsminfo/index.shtm [4] UNIVERSIDAD DE PIURA. Portal de la Universidad de Piura, Perú (online). (Consultado en marzo 13 de 2007). http://www.ing.udep.edu.pe/internas.php?cab=Int&cpo= IntWap&mn [5] UNIVERSIDAD SERGIO AR BOLEDA. Por tal Sinfamovil, aplicación móvil, Bogot á (online). (Consultado en noviembre 02 de 2006). Http://wap.usa.edu.co/index.xhtml.

87


Artículo de Reporte de Caso. Los Autores

Carlos Fernando Varela Pérez Profesor Asociado de las Facultades de Ingeniería de Sistemas y Electrónica, Universidad El Bosque. Director del Área de Electrónica, Telemática, Arquitectura del Computador e Inteligencia Artificial de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque. Director del Grupo de Investigación en Electrónica, Telemática, Arquitectura del Computador y Temas afines GIETAC de la Facultad de Ingeniería de Sistemas de la Universidad El Bosque con clasificación “C” de Colciencias. Ingeniero Eléctrico, Universidad de Los Andes 1985. Especialista en Telemática, Universidad de Los Andes 1990. Magíster en Economía, Pontificia Universidad Javeriana 1999. Diplomado en Gerencia de Telecomunicaciones Escuela de Administración de Negocios 1999. Subdirector de Información de la Unidad de Planeación Minero Energética del Ministerio de Minas y Energía desde Noviembre de 2000 hasta Agosto de 2001. Especialista en Arquitectura de Sistemas de Información y Redes de Datos, Unisys de Colombia desde Octubre de 1993 hasta Septiembre de 1999. Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. carlosvarela@sistemasunbosque.edu.co

David Alberto Rodríguez Saavedra Ingeniero de Sistemas, Universidad El Bosque 2008. Ingeniero de la empresa ADA que presta sus servicios a la Superintendencia de Servicios Públicos de Bogotá. Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. davidrodriguez@unbosque.edu.co

Rafael Ricardo Moros Torres Ingeniero de Sistemas. Universidad El Bosque 2008. Empleado de Telefónica Movistar. Carrera 7 B Bis 132 - 11, Bogotá D.C., Colombia. rafaelmoros@unbosque.edu.co

88


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 89-95

Herramienta Web para control de calidad en una organización, utilizando PHP, AJAX y MySQL Web tool for quality controlling in an organization, using PHP, AJAX and MySQL Liliana Buitrago Barreto* Julián David Acevedo Romero** Davis Stiven Forero Vega***

Resumen

Abstract

El presente artículo busca mostrar cómo en el desarrollo de una aplicación Web empresarial, se pueden utilizar tecnologías de desarrollo Web como PHP, interactuando con la tecnología AJAX, conectada a una base de datos MySQL, logrando interfaces amigables, disminución en los tiempos de respuesta, realización de tareas simultáneas y bajos costos de montaje, aplicación y mantenimiento.

This article show how web technologies as PHP integrated with AJAX and connected to a MySQL database, may be used to develop enterprise Web applications, reaching a high level of friendliness on user interfaces, optimizing real execution time, multitask processing and decreasing deployment, maintenance and use costs.

Palabras claves: AJAX, PHP, Web, MySQL, Java, HTML, Tecnologías, Hosting, On-Line.

Key words: AJAX, PHP, Web, MySQL, Java, HTML, Technologies, Hosting, On-Line.

Recibido: 14/10/07. Evaluado: 11/02/08. Aceptado: 14/02/08. * ** Estudiante Ingeniería de Sistemas Universidad El Bosque. *** Estudiante Ingeniería de Sistemas Universidad El Bosque.

89


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 89-95

I. INTRODUCCIÓN Hoy en día las empresas se preocupan cada vez más en satisfacer a su cliente o usuario final, quien es parte vital para la existencia de las mismas, buscan que el servicio que prestan sea el mejor para conservar ese cliente que en un momento confió en la empresa, adquiriendo algún producto o servicio. Años atrás, la mercadotecnia solo se preocupaba por realizar la venta, y dejar en el olvido el ser vicio posventa; es allí donde el cliente tiene preferencias cuando compra, generando una cultura de mercado por referencia o recomendado. Según los avances tecnológicos en la actualidad, las empresas buscan “plataformas” que soporten los procesos y a su vez que puedan medir el nivel de satisfacción de sus clientes (NSU), como lo son la instalación de centros de contacto, donde el cliente pueda comunicarse con la empresa y realizar trámites, solicitudes y/o reclamos del servicio, ese tipo de contacto lo puede realizar por medio de una llamada telefónica a nivel local o a una línea 018000 que no le genere ningún costo al cliente y pueda llamar desde cualquier lugar, de igual forma puede realizar un contacto escrito, en donde puede enviar una carta por correo normal o usar un fax para agilizar la entrega, como se ve, este tipo de comunicación genera costos y re-procesos para las empresas. En la actualidad, gracias a la tecnología Web, se pueden desarrollar portales especializados para cada empresa, donde exista un contacto 7 X 24 (siete días de la semana durante las 24 horas), donde no requiera que uno o varios operadores se encuentren disponibles esta cantidad de tiempo para atender un requerimiento. Los portales Web, pueden atender uno o varios usuarios de manera simult ánea, dando respuest a s en línea a sus requerimientos y encontrando la información requerida el 100% del tiempo.

II. APLICACIONES WEB EMPRESARIALES A. SEGUIMIENTO Y CONTROL DE CALIDAD EN UNA EMPRESA. Como ejemplar, se presenta la siguiente problemática, la cual da inicio a la creación de la aplicación. Una compa ñía de dic ada a la imp or t ación y comercialización de productos masivos originales, garantizados, pautados por televisión y puntos de venta en diferentes ciudades del país, cuenta con varios almacenes en todo Colombia y un Call Center en la ciudad de Bogotá, éste último se encarga de atender las llamadas de los posibles compradores que motivados por una pauta publicitaria deciden comprar un producto de su interés.

90

La empresa actualmente no cuenta con una herramienta que le permita hacer seguimiento de quejas, reclamos y/o aseguramiento de calidad a nivel nacional, que permita llevar registros estadísticos de la cantidad de clientes que tienen problemas con los productos ofrecidos o con el servicio prestado. Actualmente, la empresa, utiliza una aplicación de escritorio en calidad de arrendamiento, que permite almacenar información de un cliente, adicionar productos que se venderán dentro de la compañía, gestionar el seguimiento comercial a los consumidores, así como los productos vendidos, adicionalmente posee un módulo adicional que permite registrar las quejas y reclamos recibidos por los clientes. Este módulo no genera ningún tipo de alarma para avisar a la persona encargada si la queja tramitada lleva en gestión mucho tiempo, es decir, no permite realizar el debido seguimiento de rigor; por otro lado las quejas y reclamos que se logran gestionar por este departamento no pueden ser vistas por el resto de funcionarios de la organización. Además, si se desea realizar un seguimiento o recibir en algún punto de venta un producto por devolución de dinero, cambio, garantía o mantenimiento, el módulo existente no ofrece la posibilidad de realizar los respectivos seguimientos, ya que trabaja de manera local y no tiene la interfaz apropiada. La empresa está en proceso de certificación ISO 9001, y uno de sus objetivos es lograr centralizar la información que involucra el servicio al cliente de una manera organizada. Atendiendo a esta necesidad, se desarrolla una herramienta Web para gestión, seguimiento y control de calidad, que permita facilitar el seguimiento a las quejas y reclamos, así como a los trámites de garantías, devoluciones, cambios y mantenimiento de productos comprados por los clientes, dando una respuesta efectiva a las solicitudes latentes de la empresa y mejorando continuamente su proceso de gestión. B. HERRAMIENTAS WEB COMO APOYO A LA GESTIÓN EMPRESARIAL. En este caso para el desarrollo de la aplicación Web, se utilizaron como herramientas las tecnologías PHP para c re ación de pág ina s Web diná m ic a s, A JA X (Asynchronous JavaScript And Xml) y MySQL como motor de base de datos, las cuales trabajan de la siguiente forma: PHP, [4] (Personal Home Page Tools), es un servidor de aplicaciones que permite crear y desplegar rápidamente aplicaciones Web dinámicas. Al combinar PHP con potentes herramientas visuales, como lo puede ser Macromedia Dreamweaver MX, es posible crear aplicaciones Web atrayentes e impulsadas por bases de


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 89-95

datos que incorporan formularios interactivos, búsqueda completa de texto y muchas otras características dinámicas. Como referencia, el software de PHP se puede de s c a rga r de ma ner a g r at uit a de la pág ina http://www.php.net/downloads.php., PHP [3] es un lenguaje de programación que contiene muchos conceptos de C, Perl (lenguaje de programación diseñado por Larry Wall creado en 1987, toma características de C entre otros) y Java. Su sintaxis es muy similar a la de estos lenguajes, haciendo muy sencillo su aprendizaje, además el código PHP está embebido en documentos HTML de manera que es muy fácil incorporar información actualizada en un sitio Web. Dentro de sus características se destacan las siguientes: • Es un potente y robusto lenguaje de programación embebido en HTML. • Dispone de librerías de conexión con la gran mayoría de los sistemas de gestión de bases de datos para el almacenamiento de información permanente en el servidor. • Proporciona sopor te a múltiples protocolos de comunicaciones en internet (HTTP, IMAP, FTP, LDAP, SNMP, etc.). • Gratuito: No es necesario realizar ningún desembolso económico para desarrollar sistemas de información utilizando este lenguaje. • Portable y multiplataforma, (Win 95, 98, NT 2000, Unix, Linux entre otros), permitiendo el soporte del código sin cambiar una sola línea de código. • Eficiencia, PHP consume muy pocos recursos en el servidor, por lo que en un equipo sencillo se pueden desarrollar aplicaciones interesantes. Son muchas las virtudes del lenguaje PHP; para este proyecto se combina con la tecnología AJAX logrando un perfeccionamiento y mejoramiento en los tiempos de respuesta de la aplicación. Para entender el funcionamiento y la necesidad del uso de AJAX, se muestran una serie de términos, problemas y posibles soluciones para comprender el porque se utiliza. [3] Características de una aplicación de escritorio: Una aplicación típica de escritorio tiene las siguientes cualidades: • Responde de una manera intuitiva y rápida. • Da respuesta inmediata a las solicitudes de un usuario. Características de una aplicación Web convencional: • Después de “clic”, se espera y la página se refresca.

• La página refresca todos los eventos, envíos y datos de navegación. • El usuario debe esperar la respuesta. • Modelo de la petición/respuesta de comunicaciones sincrónicos. Problemas de una aplicación Web convencional: • Respuesta lenta. • Pérdida del contexto durante la actualización de la página. • Se pierde la información en la pantalla que se había diligenciado. • Se pierde la posición del scroll en la pantalla. • No hay respuesta inmediata a las solicitudes. • Se debe esperar a la visualización de la siguiente página. Por estas razones nacen las RIA (Rich Internet Application Technologies), dentro de estas tecnologías las más importantes son: • Applet. • Adobe Flash. • Java WebStart. • DHTML. • AJAX. APPLET: Positivo: - Puede usar todas las APIS de Java. - El desarrollo tiene un patrón de trabajo bien definido. - Permite manipular gráficos y crear interfaces de usuario avanzadas. Negativo: - El navegador requiere de un plug-in. - El tiempo de descarga del APPLET pude ser largo. ADOBE FLASH: Diseñado para ver películas interactivas, hoy en día se usa mucho para hacer juegos monousuario para Web, ya que es programable con ActionScript. Positivo: - Capaz de dar un aspecto visual inigualable para una página Web. - Bueno para ver gráficos vectoriales 3D. Negativo: - El navegador requiere de un plug-in. - ActionScript es una tecnología propietaria. - El tiempo de descarga de un video o programa suele ser muy amplio. JAVA WEBSTART: Se puede decir que proporciona una aplicación de escritorio desde una página Web.

91


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 89-95

Positivo: - Una vez cargado, muestra un rendimiento similar a una aplicación de escritorio. - Utiliza tecnología muy extendida como Java. - Las aplicaciones se pueden firmar digitalmente (método criptográfico que asegura la integridad de las mismas.) - Se puede seguir usando una vez esté desconectado. Negativo: - El navegador requiere de un plug-in. - Problema de compatibilidad con las aplicaciones viejas. - El tiempo de descarga de una aplicación de escritorio es muy alto. DHTML = HTML + Javascript + DOM + CSS. Positivo: - Se usa para crear aplicaciones interactivas más rápidas. Negativo: - La comunicación es síncrona. - Requiere el refrescamiento completo de la página, perdiendo parte del contexto. AJAX = DHTML + XMLHttpRequest. Es un perfeccionamiento del DHTML, utiliza todas sus herramientas, sumándole el objeto XMLHttpRequest, para obtener información asincrónicamente y refrescar solo la parte necesaria de la página sin perder nada del contexto; se terminan los problemas de DHTML. Positivo: - La mejor tecnología RIA hasta el momento. - Está en auge. - No se requiere descargar algún plug-in. - El tiempo de carga es el menor en cualquier aplicación Web. Negativo: - Existen incompatibilidades entre navegadores. - Desarrollo con JavaScript, no muy explorado a la fecha.

(vinculado) en aplicaciones autónomas. Dichas aplicaciones pueden usarse por sí mismas o en entornos donde no hay red disponible. Dentro de aplicaciones Web está muy ligado a PHP, siendo el dúo predilecto para programadores Web en el desarrollo de aplicaciones. Estas herramientas o tecnologías para el desarrollo Web, se convierten en un robusto paquete de software libre, el cual representa un bajo costo en el momento de aplicarlo y montarlo en servidores empresariales, haciendo de la aplicación Web una herramienta vital para las empresas hoy en día. C. DESARROLLO DE LA HERRAMIENTA WEB COMO SOLUCIÓN A UN PROBLEMA DENTRO DE UNA ORGANIZACIÓN. Como se muestra al inicio de este artículo, la integración de estas tecnologías, buscan el mejoramiento de procesos y problemas reales de una empresa en particular, para que se demuestre que a través de Ingeniería de Sistemas y de las herramientas de desarrollo Web, se puede solucionar en la realidad, de una manera profesional un problema corporativo. Para el desarrollo de la herramienta, se inicia el trabajo utilizando el portal Web ya existente para la empresa, el cual está diseñado en PHP y alojado en un Hosting compartido que soporta PHP y bases de datos MySQL, esto genera la utilización de las herramientas ya citadas en este documento. Se busca que los clientes tanto internos (empleados de la empresa) y externos (cliente final o consumidor) ingresen al portal corporativo y realicen on-line sus requerimientos de quejas, reclamos y/o trámites de los productos adquiridos a la empresa. Se crean dos accesos para este fin, como lo es:

Como se puede ver, hoy en día la mejor posibilidad y más nueva para ofrecer una experiencia rica al usuario es el uso de AJAX y se puede afirmar que todo lo que promete es real. MySQL, es un sistema de gestión de bases de datos multihilo y multiusuario de software libre. Está desarrollado en lenguaje C y C++, funciona en diferentes plataformas, como lo puede ser Windows, Linux, Aix, Mac OS, Solaris y Unix entre otros. Es compatible para C++, Java, Perl, PHP, Pitón, Ruby etc. Proporciona sistemas de almacenamiento transaccional y no transaccional. El servidor está disponible como un programa separado para usar en un entorno de red cliente/servidor. También está disponible como biblioteca y puede ser incrustado

92

Figura 1. Acceso Clientes [1]


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 89-95

Para el cliente externo le solicita un registro de cliente si este no existe en el sistema, y/o el ingreso de su numero de identificación y clave personal, es aquí donde la base de datos de MySql hace su primera tarea, almacenar los datos de un nuevo cliente y/o suministrar la información existente para autorizar el ingreso de un cliente.

El cliente interno visualiza un menú donde puede seleccionar las opciones de interacción con la aplicación como se puede ver en la Figura 4.

Figura 4. Menú Cliente Interno [1] Figura 2. Creación de Cliente Externo [1]

Como se puede observar, esta página Web utiliza un CSS, hoja de estilo de 3 columnas, conservando la imagen corporativa de la empresa, AJAX hace su primer ingreso y tiene como objetivo trabajar únicamente en la columna central de la página, manteniendo siempre la cabecera y las dos columnas laterales iguales, no se mueve el contenido para nada durante la interacción de la aplicación, esto generase que solo se actualice la columna central, evitando que toda la página se refresque cada vez que se genere alguna petición, aumentando la velocidad de respuesta para cada requerimiento de la aplicación y generando en el usuario una navegación agradable.

Como se observa, se pueden crear formularios, y accesos directos a módulos especiales, de esta manera el usuario navega dentro de la aplicación, AJAX le permite el 100% del tiempo la interacción para y visualización de la información. A manera de ejemplo, el cliente puede ingresar a la opción “Ver listado de reclamos”, como se ve en la Figura 5., el sistema realiza una consulta a la base de datos de MySQL, trae la información embebida entre el lenguaje PHP y soportada por Ajax, quien nuevamente solo nos muestra y refresca la información en la parte central esta CSS.

El cliente externo puede desde internet ver sus quejas con solo identificarse en la aplicación e ingresando su número de reporte. Para el cliente interno, de igual manera debe identificarse en el sistema para que pueda interactuar con la herramienta.

Figura 5. Listado de Reclamos [1]

Figura 3. Validar Usuario [1]

La aplicación, muestra al usuario el listado de reclamos ingresados, diferenciando cuales están asignados a él, cuales están sin asignar, las fechas de ingreso de cada uno, la opción para consultar el de su preferencia y un icono de color que señala si el reclamo ingresado está vencido por

93


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 89-95

tiempos de respuesta para cada uno de los ingresados al sistema y por políticas de la empresa para la resolución y respuesta de reclamos.

aplicación Web comportase como una de escritorio, dando valor agregado y disminución de costos a una empresa.

De igual manera, como se muestra en la Figura 6., el usuario puede generar consultas a la base de datos de MySQL, generando criterios de preferencia para consultar solo los reclamos que especifique.

Aporta en gran manera la atención al cliente, creando un portal de ingreso el 100% del tiempo, y creando un lugar amigable y de bajo costo. Las aplicaciones Web hoy en día hacen parte del desarrollo gracias a internet, dándole al cliente la facilidad de ingreso a la empresa sin salir de su casa, creando un mundo en el ciberespacio amigable y de fácil uso. La fuerza de acogida en el uso de software libre, permite a las empresas la disminución de costos en licenciamientos y de gastos administrativos.

REFERENCIAS [1] ACEVEDO, Julián y FORERO, Davis. “Herramienta Web para gestión, seguimiento y control de calidad en una organización”. Universidad El Bosque, Bogotá.2007.

Figura 6. Consulta de Reclamos [1] Como se muestra, para la empresa es un gran desarrollo, ya que se centraliza la información referente a la atención al cliente, las sucursales se cuenta con un medio por el cual se puede comunicar y conocer la información de los clientes que estén en el sistema, la gerencia de la empresa puede conocer la información de manera inmediata, y puede confirmar que reclamos, quejas o requerimientos se encuentran vencidos, de igual manera servicio al cliente se puede comunicar con cada cliente externo y confirmar la gestión que le han realizado, conociendo el nivel de satisfacción del cliente hacia la empresa y a sus productos. Dando por cumplidos los requerimientos y solucionados problemas del proceso en el que se encontraba la empresa.

III. CONCLUSIONES Como resultado se puede concluir que aplicando los conceptos y herramientas de programación de última generación, y conociendo un requerimiento específico en este caso de una empresa, puede llegar a construirse aplicaciones que resuelvan problemas de procesos a nivel corporativo. La tecnología AJAX, ofrece muchas ventajas sobre los productos de desarrollo existentes, llevando a una r

94

[2] FUENTES SERNA, Juan Mariano. AJA X, fundamentos y aplicaciones. Málaga, España, Junio de 2007. 176p. Online. Available: http://www.elrincondeajax.com/secciones/AJAX.html [3] GIL RUBIO, Javier, TEJEDOR CERBEL, Jorge, PANADERO, Agustín, VILL AVERDE, Santiago y GUTIÉRREZ RODRÍGUEZ, Abraham. Creación de sitios Web con PHP4. México D.F. McGraw Hill, 2001. 547p. [4] PÉREZ LÓPEZ, Cesar. Desarrollo de páginas Web dinámicas con PHP y MySQL. México D.F: Alfaomega, 2004. 513 p.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 89-95

Artículo de Reporte de Caso. Sometido a Arbitraje. Los Autores

Liliana Buitrago Barreto. Profesora de la Facultad de Ingeniería de Sistemas, Universidad El Bosque. Ingeniera de Sistemas, Escuela Colombiana de Ingeniería, Bogotá, Colombia. Carrera 7 B Bis 132 - 11,Bogotá D.C., Colombia. lilianabuitrago@unbosque.edu.co

Julián David Acevedo Romero. Estudiante de Undécimo Semestre de Ingeniería de Sistemas, Universidad El Bosque. Carrera 7 B Bis 132 - 11,Bogotá D.C., Colombia. julianacevedo@unbosque.edu.co

Davis Stiven Forero Vega. Estudiante de Undécimo Semestre de Ingeniería de Sistemas, Universidad El Bosque. Carrera 7 B Bis 132 - 11,Bogotá D.C., Colombia. davisforero@unbosque.edu.co

95


Equipo de Investigación en

Software Libre Líneas de Investigación • Grid Computing • Simulación • Biometría • Desarrollo Social Actividades • Hora Linux

Te invitamos a participar www.sistemasunbosque.edu.co/equis guiovannasabogal@unbosque.edu.co

Equipo de Investigación en Software Libre Por la equidad del conocimiento


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 97-101

BPM y BPEL como herramientas de administración de procesos de negocio BPM and BPEL as business process management tools Alejandro León Mora* Sandra Bibiana Zárate Zárate**

Resumen

Abstract

Este artículo trata sobre una herramienta tecnológica en la Administración de Procesos de Negocio: BPEL (Business Process Execution Language) o Lenguaje de Ejecución de Procesos de Negocio, que permite otorgar flexibilidad a los negocios, de una manera práctica, rápida y a la vez hace las aplicaciones perdurables y reutilizables en el tiempo. Para su funcionamiento BPEL requiere un motor de ejecución de negocios de los cuales se tratarán dos en este artículo.

This article reports a technological tool known as BPEL which stands for Business Process Execution Language. BPEL allows granting flexibility to the businesses, in a practical and fast way, and it makes the lasting and reusable applications in the time. For his operation BPEL requires a business execution engine. Two of them are referred in this paper.

Palabras claves: Lenguaje de Proceso de Ejecución de Negocios (BPEL), Administración de procesos de negocios BPM, Arquitectura Orientada a Servicios (SOA), Web Services.

Key words: Business Process Execution Language BPEL, Business Process Management BPM, Service Oriented Architecture SOA, Web Services.

Recibido: 14/10/2007. Evaluado: 11/02/2008. Aceptado: 14/02/2008. * Ingeniero de la compañía de telefonía celular COMCEL en Colombia. Ingeniero de Sistemas, especialista en Construcción de Software. ** Ingeniera de Sistemas Universidad El Bosque.

97


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 97-101

I. INTRODUCCIÓN Anteriormente las empresas realizaban la organización de sus procesos de manera deductiva, es decir, delegaban funciones según lo que considerara algún superior o gerente de la organización, dejando en ocasiones de lado capacidades ocultas de algunos empleados para desarrollar ciertos tipos de labores y recargando de trabajo a otros que no pueden llegar a ser lo suficientemente competentes. Debido a esto, se creo la administración de procesos de negocio, con el fin de desarrollar pautas de optimización en las labores de gestión de una empresa y con el paso del tiempo se han diseñado herramientas tecnológicas que principalmente son enfocadas hacia el software empresarial, que descubren que BPEL es muy utilizado en otros países como aspecto fundamental para la organización administrativa de las empresas, siendo a su vez es facilitador de labores de optimización haciendo que se conviertan en tareas más sencillas y con mejores resultados.

II. QUÉ SON LOS PROCESOS DE NEGOCIO Hoy en día la orientación que se tiene de procesos de negocio va enfocada hacia el responder a la creciente demanda en instrucciones y labores que tienen las nuevas organizaciones, frente a las ya existentes. Un recurso para cumplir con estas expectativas es lo que se conoce como BPM (Business Process Management). Un proceso de negocio es en si un conjunto de tareas que tienen una orientación lógica específica que buscan un beneficio para un negocio preestablecido. Cada proceso de negocio tiene sus entradas, funciones y salidas. Hay dos tipos principales de procesos de negocio: 1. Procesos Centrales: Son procesos que dan valor al cliente y a su vez son la parte fundamental del negocio. [2] 2. Procesos de Soporte: Son los que dan soporte a los procesos centrales. [2] Dentro de las principales características que se deben tener en cuenta dentro de un proceso de negocio están: • Se debe establecer límites claros que den comienzo y finaliz ación a un pro ceso determinado. • Los procesos deben ir siempre guiados hacia una estructura organizacional y cumpliendo los objetivos de la empresa.

98

• Deben estar sujetos a todas las solicitudes realizadas por los clientes y cuando estos lo crean pertinente deben ser modificados. Para una aplicación orientada a procesos como todas aquellas que involucran BPM (Business Process Management) y BPEL, se tienen como principales requisitos la habilidad para diseñar, ejecutar, monitorear y administrar procesos de negocio que tengan como factor principal a los seres humanos: Diseño: Se entiende como la capacidad de representar por medio de diagramas, principalmente de UML (Lenguaje icónico para modelado), los diferentes pasos que se lleguen a considerar como importantes y que hagan parte de una solución. Como primer punto a tener en cuenta para realizar el diseño es el tener claro el tipo de motor de ejecución de procesos que se va a utilizar para la implementación, ya que esto determina en gran parte la manera como se deben abordar los aspectos en el momento de la ejecución [1]. Ejecución: Se entiende como la propiedad de colocar en funcionamiento los procesos encontrados en la etapa de diseño, utilizando un motor de ejecución (para este caso un motor BPEL) de procesos, que permita expresar todo aquello que queremos ejecutar [1]. Monitoreo y Administración: Se entiende como el poder observar la práctica de todas aquellas actividades y su progreso con el paso del tiempo. Esto a su vez permite detectar errores en el funcionamiento de los procesos, excepciones que sucedan por cualquier tipo de circunstancias, o solamente como consulta de estados de proceso de actividad [1].

III. BPM (BUSINESS PROCESS MANAGEMENT) ADMINISTRACIÓN DE PROCESOS DE NEGOCIO Es un conjunto de actividades que las empresas pueden desarrollar para optimizar o adaptar los procesos de la empresa al mercado o a la organización. Dentro de BPM esta establecido que este trabajo debe ser realizado directamente por analistas y encargados de la organización que buscan mejorar la eficacia y calidad en las gestiones de la organización. Dentro de los estándares que se usan en BPM se encuentran la notación que modela los procesos de negocio (BPMN), el lenguaje de proceso de ejecución del negocio (BPEL), el lenguaje de modelado unificado (UML) entre otros.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 97-101

Como beneficios principales dentro de la utilización de una administración de procesos de negocio (BPM) se encuentran: • Elimina las tareas innecesarias. • Permite introducir cambios gradualmente (mejora continua). • Previene los errores recurrentes. • Evita los esfuerzos duplicados. • Reutilización de los recursos tecnológicos existentes, etc. • Asegura que los procesos sean ejecutados correctamente [3].

WEB SERVICES Se conoce por Web Services a una colección de diferentes protocolos y estándares que sirven para intercambiar datos entre aplicaciones que se pueden encontrar en escritas en diferentes lenguajes e programación, o pueden funcionar en diferentes plataformas. Los estándares que se utilizan frecuentemente en los Services Web más importantes son: • XML (Extensible Markup Language): Estándar de intercambio de datos. • UDDI (Universal Description, Discovery and Integration): Protocolo para publicación de información de los servicios Web, el cual es uno de los estándares básicos de los servicios Web. • SOAP (Simple Object Access Protocol) y/o XML-RPC. • (XML Remote Producer Call): Protocolos de para establecer intercambio. • WS-Security (Web Service Security): Protocolo de seguridad aceptado por OASIS que garantiza la aut ent ic ación de los ac tore s y la confidencialidad de mensajes enviados. • W-Confiabilidad: Protocolo del OASIS para mensajería confiable entre dos servicios Web. • W-Dirección: Permite describir la dirección del recipiente de un mensaje, incluidos mensajes dentro de SOAP.

IV. BPEL (BUSINESS PROCESS EXECUTION LANGUAGE) LENGUAJE DE EJECUCIÓN DE PROCESOS DE NEGOCIO BPEL es una herramienta que proporciona flexibilidad a los negocios al sustituir o de aumentar ciertos aspectos de un proceso sin afectar los sistemas que están trabajando bien. Por ejemplo, una compañía puede cambiar un proveedor del almacén sin afectar su sistema de gerencia, aun cuando ambos pueden ser participantes en varios procesos del negocio. Conocido también como WS-BPEL (Web Services Business Process Execution Language), surgió cuando IBM y Microsoft realizaron un lenguaje de procesamiento del negocio, combinando dentro de éste WORKFLOW. WSFL (Web Services Flow Lenguaje) y XLANG (Lenguaje de orquestación de negocios creado por Microsoft TM), conocida en ese momento como BPEL4WS (lenguaje de proceso de la ejecución del negocio para los servicios del Web). BPEL4WS 1.0, salió al mercado en Agosto de 2002 por IBM, BEA, Microsoft, SAP, y los sistemas de Siebel. Después de BPEL4WS 1.0, una mejora de menor importancia 1.1 fue lanzada en Mayo de 2003 y sometida oficialmente al OASIS (Organization for the Advancement of Structured Information Standards), que es un consorcio internacional que orienta el desarrollo, la convergencia y la adopción de estándares e-business. Actualmente casi todas las puestas en práctica públicas de las herramientas de BPEL se basan hoy en la especificación de BPEL 1.1, Sin embargo, se esta trabajando en la realización de la versión 2.0 la cual traerá mejoras como la incorporación de tareas humanas del workflow en procesos de BPEL que serán conocida como BPEL4People[2]. Dentro de BPEL se manejan conceptos como Web Services, SOA (Arquitectura Orientada al Servicio), Orquestación BPEL, ente otros.

Ventajas • Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares geográficos puedan ser combinados fácilmente para proveer servicios integrados. • Permiten la interoperabilidad entre plataformas de distintos fabricantes por medio de protocolos estándar. • Apoyado en HTTP, los servicios Web pueden aprovecharse de los sistemas de seguridad. Desventajas • Su rendimiento es bajo si se compara con otros modelos de computación distribuida, tales como RMI (Remote Method Invocation), CORBA (Common Object Request Broker Architecture), o DCOM (Distributed Component Object Model). • Existe poca información de servicios Web para algunos lenguajes de programación [4].

99


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 97-101

V. SOA (SERVICE ORIENTED ARCHITECTURE) ARQUITECTURA ORIENTADA AL SERVICIO. SOA es considerado como un método de diseño, donde las aplicaciones de negocio se descomponen en “servicios individuales”, los cuales pueden ser utilizados independientemente de las aplicaciones de las que forman parte y las plataformas informáticas sobre las que se ejecutan. Al poder disponer de los servicios individuales de las aplicaciones, las empresas tendrán la posibilidad de integrarlos y agruparlos de maneras distintas para conseguir capacidades nuevas [3]. Desde el punto de vista empresarial: Este punto va orientado básicamente hacia una empresa la cual tiene una serie de objetivos específicos que cubrir como lo son reducir costes, aument ar ingresos, mejorar la productividad, comunicación inter-empresarial con varias empresas y ajustar los sistemas a los requerimientos del negocio. Desde el punto de vista tecnológico: Las arquitecturas SOA pretenden concebir las aplicaciones desde otro enfoque, una aplicación orientada a servicios combina datos en tiempo real con otros sistemas capaces de fusionar los procesos de negocio. Las arquitecturas orientadas a servicios están basadas en una serie de beneficios entre los que cabe destacar: Eficiencia. Transforma los procesos de negocio en ser vicios compar tidos con un menor coste de mantenimiento. Capacidad de respuesta. Rápida adaptación y despliegue de servicios, clave para responder a las demandas de clientes, partners y empleados. Adaptabilidad. Facilita la adopción de cambios añadiendo flexibilidad y reduciendo el esfuerzo. ORQUESTACIÓN BPEL Hoy en día maneja los requisitos expuestos en BPM de una manera muy madura, sin embargo, se incluyen dentro de las últimas características de orquestación realizadas para BPEL las siguientes: • Semántica ordenada que incluye procesos en sincrónico y asincrónico. • El acontecimiento asincrónico que permita manejar alarmas basadas en tiempo como también en acontecimientos out-of-band o acontecimientos de petición o cancelación del estado.

100

• Un Servicio Web basado en el modelo para la descomposición y ensamblaje de proceso: cada proceso de BPEL expone servicios Web que permita la interconexión y a su vez se puede componer fácilmente por flujos compuestos de alto nivel. • El uso estándar de XML y XPath para los datos tienen acceso y manipulación.

VI. MOTORES BPEL Dentro del mundo de BPEL, existen gran cantidad de motores de diferentes plataformas que existen en el mercado extranjero actual, los cuales permiten la optimización de procesos de negocio, muchos de estos enfocados al desarrollo de Web Services y manteniendo Arquitectura Orientada al Servicio. IBM WebSphere (Servidor de procesos de IBM): Es un motor completo de BPEL, que trabaja sobre la plataforma Javea e incluye extensiones como la ayuda para la interacción humana y funciona en una variedad de plataformas de servidor como Linux y z/OS. Microsoft BizTalk Servidor: Es un servidor creado por Microsoft de Gerencia de Procesos de Negocio que permite a las compañías automatizar y optimizar procesos de negocio. Cardiff LiquidOffice: Es una herramienta diseñada para resolver y redefinir la administración de procesos negocio (a nivel gubernamental y empresarial) y el control de gestión administrativa, a través de nuevas capacidades que proporcionan mayor visibilidad del contenido y los procesos. Active BPEL: Es un ambiente que permite ejecutar definiciones de proceso creadas mediante el estándar de modelamiento de procesos de negocio (BPEL); esta desarrollado en Java y es de distribución libre. WebLogic: Creado por BEA, el cual proporciona una solución de gestión de procesos de negocio end-to-end. Que permite cubrir todo lo relacionado con la integración basada en procesos, transfor mación de datos, conectividad, productividad del desar rollador y administración.

VII. CONCLUSIÓN BPEL es hoy en día una herramienta muy utilizada para la administración de procesos, que facilita la organización y estandarización de una empresa para su propio beneficio. Por otra parte la utilización de Web Services combinados con BPEL permite mayor proyección y expansión rápida de una empresa, lográndose dar a conocer y ampliando sus recursos a nivel mundial.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 97-101

REFERENCIAS [1] Boletín Noviembre - Diciembre. Astic 2003. www.astic.es [2] Andrews T., Business Process Execution Language for Web Services. Version1.1. Mayo (2003). [3] IBM Global Business Services. Congreso Abril 2007. [4] 1Web Services IDEC. Introducción a los Web Services. (Consultado Mayo 2007). delta.icc.es/idecwebservices/indexcas.html

Artículo de Reporte de Caso. Sometido a Arbitraje. Los Autores

Alejandro León Mora Ingeniero de la Compañía de Telefonía Celular COMCEL en Colombia. Especialista en Construcción de Software, Universidad de los Andes. Ingeniero de Sistemas, Universidad El Bosque. Cl 90 14 - 77, Bogotá D.C., Colombia. aleon@comcel.com.co. Sandra Bibiana Zárate Z. Ingeniera de Sistemas de la Universidad El Bosque. Carrera 7B Bis 132 - 11, Bogotá D.C., Colombia. sandrazarate@unbosque.edu.co

101


Pauta de Cortesía

Pauta de Cortesía


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 103-110

Sistemas de Gestión Hotelero con base en Sistemas de Gestión del Conocimiento Hotels Management Systems based on a Knowledge Management System Jairo Jamith Palacios Rozo* Adriana Mora Yanquén** Katherin Lucero Wintaco*** Carlos Andrés Muñoz Uscategui*** Héctor Arvey Melo Pineda*** Oscar Andrés Ocampo Cortes*** Resumen

Abstract

Los sistemas de gestión hoteleros (SGH) basados en el sistema de gestión del conocimiento (SGC). El SGC es un espacio construido con el objetivo de facilitar los procesos y procedimientos que permitan fortalecer el capital intelectual universitario, generando servicios que puedan ser utilizados por las empresas; en este caso aplicándolo a un Sistema de gestión Hotelero. Un sistema de gestión ayuda a que una organización logre mejoras continuas en su operación, su uso permite modernizar continuamente su misión, estrategias, operaciones, y niveles de servicio. Para llevar a cabo este proyecto, fue necesario la recolección de gran cantidad de información, ya que a través del sistema, los clientes pueden efectuar directamente las reservas en tiempo real a través de Internet, las agencias de viaje hacen uso del sistema, esta herramienta permite: controlar, administrar y localizar. Durante el desarrollo de la aplicación Web se siguió un enfoque sistémico con el propósito de analizar la dinámica y la relación entre los agentes tecnológicos, económicos, sociales e institucionales. El desarrollo combina elementos de la tecnología dura (sistemas de información) con elementos de tecnologías blandas (motivación y direccionamiento de grupos humanos), contribuyendo así a la comprensión de los procesos de codificación, almacenamiento, generación y difusión del conocimiento.

Hotel management systems (HMS) based on the knowledge management system (KMS). The KMS is a space built with the objective of facilitating processes and procedures to strengthen university intellectual capital, generating services that can be used by businesses, in this case by applying it to a hotel management system. A management system that helps an organization to achieve continuous improvement in its operation, its use allows continuous modernization of its mission, strategy, operations and service levels. To carry out this project, it was necessary the collection of large amounts of information, since through the system, customers can make reservations directly in real time over the Internet, travel agents are using the system, this tool allows: monitor, manage and locate. During the development of the Web application, a systems approach was followed to analyse the dynamics and the relationship between technological, economic, social and institutional players . The development combines elements of hard technology (Information Systems), soft technology (motivation and addressing human groups), thus contributing to the understanding of encoding, storage, generation and diffusion of knowledge processes. Key words: Prototype, Management System, Online Reserves, Web application, Systemic approach, hard Technology.

Palabras claves: Prototipo, Sistema de Gestión, Reservas online, aplicación Web, enfoque sistémico, tecnología dura. Recibido: 12/04/08. Aceptado: 12/05/08. * Docente universitario de la Escuela Colombiana de Carreras Industriales-Escuela Tecnológica ECCI. Facultad de Ingeniería. ** Docente universitario de la Escuela Colombiana de Carreras Industriales-Escuela Tecnológica ECCI, en las áreas de Pensamiento Sistémico, Herramientas Informáticas y Sistemas de Información, Facultad de Ingeniería. *** Estudiantes pertenecientes al Programa de Técnico Profesional en Ciencias de la Computación de la Escuela Colombiana de Carreras Industriales-Escuela Tecnológica ECCI, Facultad de Ingeniería.

103


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 103-110

I. INTRODUCCIÓN Con la globalización de la economía y el éxito de los sistemas de gestión hoteleros basados en sistemas de gestión del conocimiento las empresas enfocadas a este sector obtendrán un sistema de fácil integración y de tipo global con el objeto de contribuir a la mejora de la productividad, la competitividad y la capacidad de innovación de las empresas. Independientemente del tipo de problema resuelto, todos implican la utilización de conocimientos ya poseídos, o la generación de nuevos conocimientos para responder a las necesidades. La utilización por parte de las empresas de las soluciones técnicas generadas por las Universidades constituye uno de los casos más complejos de transferencia de tecnología, se han realizado varios estudios, con la finalidad de determinar las mejores prácticas empleadas por las Universidades para facilitar la transferencia de los resultados de sus investigaciones al seno de las empresas. A pesar de los estudios realizados, la transferencia de tecnología desde IT, Universidades o Centros de I+D hacia empresas continua siendo complejo. En su mayoría, las dificultades están asociadas con problemas de naturaleza relacional, es decir, desconfianza, falta de credibilidad entre las partes, protocolos defectuosos de comunicación, renuencia a aplicar conocimientos desarrollados fuera de la empresa, e incapacidad para generar procesos y procedimientos que faciliten los intercambios de información, conocimientos y experiencias entre universidades y empresas [7]. Con base en las necesidades y expectativas que surgen en el mercado hotelero que pueden representar diferentes problemas que generan insatisfacción en el cliente y producir notables pérdidas económicas para el establecimiento, para el mercado hotelero, resulta de gran importancia evitar verse afectado al no cumplir con los estándares de calidad en el servicio de atención al cliente. Por otro lado, el hecho de que los empleados manejen este proceso a través de métodos obsoletos, produce dificultades en su labor y la hace menos productiva. Proponiendo una nueva alternativa y conceptualización de los estándares de calidad a través de distintos módulos, se ofrece una visión de conjunto de los múltiples ámbitos y dimensiones que han interactuado en la gestión Hotelera Colombiana. El sistema SIGESHOTEL (figura 1) fue diseñado hacia el sector hotelero, para el control y gestión de sus servicios, lo cual incidirá en el nivel de productividad a la hora de necesitar información de ocupación, cantidad de reservas, generar estadísticas, entre otros.

104

Figura 1. Pantallazo de Presentación del Sistemas de Gestión Hotelero SIGESHOTEL. Fuente: Los Autores, Bogotá D.C., 2007. La automatización del proceso de reservas que se realiza en el hotel puede realizar varias acciones para prestar el mejor servicio posible, como facilitar el manejo de reservas, mejorar el servicio al cliente que puede realizar sus consultas las 24 horas del día y reducir drásticamente el tiempo empleado en la gestión de cada uno de los módulos que comprende. El Sistema de Gestión hotelera se realizó con base en las necesidades que surgen en el mercado hotelero las cuales pueden representar diferentes problemas que generan insatisfacción en el cliente y producen notables pérdidas económicas para el establecimiento. Para el mercado hotelero, resulta de gran importancia evitar verse afectado al no cumplir con los estándares de calidad en el servicio de atención al cliente. Por otro lado, el hecho de que los empleados manejen este proceso a través de métodos obsoletos, produce dificultades en su labor y la hace menos productiva. La automatización del proceso de reservas que se realiza en el hotel puede realizar varias acciones para prestar el mejor servicio como facilitar el manejo de reservas, mejorar el servicio al cliente que puede realizar sus consultas las veinte cuatro horas del día y reducir drásticamente el tiempo empleado en la gestión de cada uno de los módulos que comprende. Reservación de habitaciones vía telefónica o de forma personalizada que generan saturación en el sistema e insatisfacción del posible huésped, una sistematización de la disponibilidad y estado de los cuartos que produce pérdida de valioso tiempo y mengua los ingresos económicos. El Sistema de Gestión Hotelera está diseñado para solucionar estos y otros requerimientos y problemas generados en el área de reservas de un hotel a través de la automatización del servicio, implementando nuevas tecnologías para el desarrollo de la misma.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 103-110

A través del desarrollo de un prototipo de características seleccionadas se pretende permitir al usuario navegar fácilmente por la aplicación con el fin de conocer todos los detalles pertinentes para hacer su reservación y tener una completa descripción de las habitaciones y el valor de cada una.

La concurrencia sin control es un factor perjudicial para el manejo de este servicio. El hecho de que las reservas se manejen por vía telefónica o en forma personal puede provocar que un gran número de usuarios, especialmente en la temporada alta de vacaciones, se vean impedidos para acceder al servicio.

La viabilidad de este proyecto se evalúa en el alto nivel de material de trabajo presente, el cual se encuentra apto para ser desarrollado y explotado a nivel práctico.

Para el mercado hotelero, resulta de gran importancia evitar verse afectado y no cumplir con estándares de calidad en el servicio de atención al cliente, por otro lado el hecho de que los empleados manejen este proceso a través de métodos poco competitivos, produce dificultades en su labor y la hace menos productiva. La automatización del proceso de reservas que se realiza en el hotel puede realizar varios aspectos para prestar el mejor servicio posible como:

Al ver la necesidad del mercado local y la creciente demanda de solicitudes de información sobre el mismo; se inició un proceso de expansión en el mercado nacional e internacional para cubrir dicha demanda. Este sistema está en proceso de continua evolución y evaluación dado que es una investigación de tipo interdisciplinario e ínter universitario ha participado en: la semana de ingenio y creatividad de la Escuela Colombiana de Carreras Industriales ganando el primer puesto de proyecto investigativo.

II. JUSTIFICACIÓN Este Sistema de Gestión hotelero se desarrolla con base en las necesidades que surgen en el mercado hotelero, los problemas que generan insatisfacción en el cliente y producen notables pérdidas económicas para el establecimiento.

• Recibir clientes e información de estos. • Información detallada de los servicios que ofrece el hotel mediante un sitio Web. • Facilitar el manejo de reservas. • Sistema de reservas Online: aumenta las reservas al aprovechar el factor de la compulsividad en la compra. El sistema de gestión hotelera mejora el servicio al cliente que puede realizar sus consultas las 24 horas del día. El sistema permitirá un mejor desempeño en el departamento de control de reservas ya que proporciona un servicio Web para realizar dicha tarea desde cualquier parte de la manera más sencilla (figura 2).

Figura 2. Pantallazo del Módulo Disponibilidad de Habitaciones del Sistemas de Gestión Hotelero SIGESHOTEL. Fuente: Los Autores, Bogotá D.C., 2007.

105


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 103-110

III. MARCO TEÓRICO T U R I SMO E N COL OM BI A U N SEC T OR DE OPORTUNIDADES De acuerdo con el Estudio de Competitividad del Sector Turístico, se ha podido establecer que el turismo es para Colombia, dadas sus potencialidades y ventajas comparativas, una fuente de negocios e inversión tan buena como el petróleo y sus derivados pero ampliamente mejor en cuanto al reparto de sus beneficios y a su efecto dinamizador sobre el resto de la economía. Sus múltiples atractivos permite a Colombia la posibilidad de diseñar y competir con diversos productos turísticos para diferentes mercados. Colombia compite en un esquema de economía abierta en los mercados internacionales, es miembro activo de la Organización Mundial del Comercio, participa en este foro multilateral y hace parte de las negociaciones y acuerdos. Basados en las inmensas potencialidades que puede ofrecer nuestro país al viajero, al ser el único país de América que al mismo tiempo es caribe, pacífico, andino, lla nero y a ma zónico, e s t a mos mejor a ndo la competitividad del turismo colombiano progresivamente. Actualmente el Gobierno Nacional viene llevando a cabo un programa destinado a promover el turismo doméstico, invitando a los colombianos a viajar por el territorio colombiano para que disfruten de los atractivos y destinos turísticos con que cuenta nuestro país. Dicho programa hace parte de la Campaña Promocional “Vive Colombia”, dentro de la cual se han desarrollado caravanas turísticas, contando para el efecto con la colaboración de la Policía Nacional, autoridades de tránsito y sector privado comprometido con el turismo, todo dentro del programa de gobierno, denominado “seguridad democrática”, impulsado por el Presidente Uribe. La Asociación Hotelera de Colombia, Cotelco, reveló que gracias a los estímulos que ha dado el Gobierno a través de exenciones tributarias en algo más de un año se han invertido $65.102 millones en todo el país en 102 proyec tos que han acometido remodelaciones, ampliaciones de su capacidad, nuevos proyectos dentro de sus hoteles y algunas pequeñas nuevas construcciones. Más allá de las inversiones ya realizadas, el sector hotelero del país tiene pensado invertir de aquí al 2006 cerca de $242 mil millones que obedece a 211 proyectos adicionales. Según Cotelco, con los nuevos proyectos que surjan se podría pensar que en el periodo 2004-2006 se van a invertir $500 mil millones [3]".

106

Un sistema de gestión ayuda a que una organización logre mejoras continuas en su operación. El uso de un sistema de gestión permite a una organización modernizar continuamente su misión, estrategias, operaciones, y niveles de servicio [1], los sistemas de gestión hotelera (PMS, en sus siglas en inglés) son un concentrado de toda la tecnología del hotel, una solución estrictamente para hoteleros. Estos sistemas cumplen con los siguientes parámetros: • Responder a una estrategia orientada hacia el cliente. • Responder a los cambios surgidos por la revolución de Internet. • Potenciar la interoperabilidad entre los mismos departamentos de la empresa [4]”. A través del sistema los clientes pueden efectuar directamente las reservas en tiempo real a través de Internet, las agencias de viaje hacen uso del sistema, esta herramienta permite: controlar, administrar y localizar [3]”. Una base de datos es un conjunto de datos persistentes que es utilizado por el sistema de aplicación de alguna empresa dada en una estructura de computadora integración compartida que ojala un conjunto de: Datos para el usuario Final Por dato entendemos hechos conocidos que puedan registrarse y que tienen un significado implícito [2]. Una base de datos dinámica es un conjunto de información almacenada que se puede modificar con el tiempo, permitiendo operaciones como actualización y adición de datos. Además de las operaciones fundamentales de consulta. Es un conjunto de datos que pertenece al mismo contexto almacenados sistemáticamente para su almacenamiento y su posterior uso y actualización. Es un conjunto exhaustivo no redundante de datos estructurados accesibles en tiempo real y compatibles con usuarios concurrentes con necesidad de información diferente [7]. La Definición Básica del Sistema de Gestión del Conocimiento, pretende establecer con claridad lo que debe hacer el Sistema de Gestión del Conocimiento, los procesos a través de las cuales lo hace y el fin social que se persigue con tales procesos. La Definición Básica del SGC que resultó del ejercicio es la que se presenta a continuación: El Sistema de Gestión del Conocimiento se define como una infraestructura creada por la universidad para implantar los procesos y los procedimientos que, actuando sobre una aplicación Web y conocimientos


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 103-110

estructurados en torno a la problemática de innovación de los clientes, permitan la utilización del capital intelectual de la Institución generar los servicios y los productos tecnológicos necesarios para contribuir al aumento de la competitividad de sus empresas clientes. El sistema de gestión ayuda a que una organización logre mejoras continuas en su operación. El uso de un sistema de gestión permite a una organización modernizar continuamente su misión, estrategias, operaciones, y niveles de servicio [1]”. En lo esencial, no es otra cosa que una colección de información que existe durante un periodo largo, a menudo, de muchos años. En el lenguaje coloquial con la expresión base de datos se designa de una colección de datos que es administrada por un sistema de administración de base de datos, DBMS [13]”.

IV. MARCO METODOLÓGICO ELABORACIÓN DE PROTOTIPOS DE SISTEMAS La elaboración de prototipos de sistemas de información es una técnica para recopilar rápidamente datos

específicos sobre los requerimientos de información de los usuarios. La eficaz elaboración de prototipos debe realizarse en las primeras etapas del ciclo de vida del desarrollo de sistemas, durante la fase de determinación de requerimientos. Sin embargo, la elaboración de prototipos es una técnica compleja que requiere conocimiento de todo el ciclo de vida del desarrollo de sistemas para completarse con éxito. Con la elaboración de los prototipos para recoger información, lo que busca el analista son las primeras reacciones hacia el prototipo por parte de los usuarios y los directivos, las sugerencias del usuario sobre cambiar o limpiar el sistema del cual se elaboró el prototipo, sus posibles innovaciones y los planes de revisión que detallen las partes del sistema que se necesitan hacer primero o de cuáles divisiones de una organización se hará el próximo prototipo. Un tipo especial de elaboración de prototipos que usa un enfoque orientado a objetos se llama Desarrollo Rápido de Aplicaciones o RAD (Rapid Application Development). La elaboración de prototipos y RAD también se pueden usar como un método alternativo del SDLC (Software Development Life Cycle).

Figura 3. Pantallazo de la Base de Datos Clientes del Sistemas de Gestión Hotelero SIGESHOTEL. Fuente: Los Autores, Bogotá D.C., 2007.

107


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 103-110

La información recopilada en la fase de elaboración de prototipos permite al analista establecer las prioridades y cambiar el rumbo de los planes a bajo costo, con un mínimo de molestias. Debido a esta característica, la elaboración de prototipos y la planeación van de la mano. PROTOTIPO DE CARACTERÍSTICAS SELECCIONADAS Involucra la creación de un modelo funcional que incluya algunas, pero no todas, las características que tendrá el sistema final. Cuando se construyen prototipos de los sistemas de información de esta manera, se incluyen algunas de las características principales. Por ejemplo, en la pantalla podría aparecer el menú del sistema que muestre seis características: agregar un registro, actualizar un registro, eliminar un registro, buscar una palabra clave en un registro, listar un registro o examinar un registro. Sin embargo, en el prototipo del sistema tal vez sólo estén disponibles tres de las seis características, de manera que el usuario podría agregar un registro, eliminar un registro y listar un registro. un registro, listar un registro o examinar un registro. Sin embargo, en el prototipo del sistema tal vez sólo estén disponibles tres de las seis características, de manera que el usuario podría agregar un registro, eliminar un registro y listar un registro. Cuando se recurre a este tipo de elaboración de prototipos, el sistema se completa por módulos de forma que si las características que se incluyen en los prototipos se evalúan exitosamente, se puedan incorporar en el sistema final más grande sin la necesidad de realizar demasiado esfuerzo en la interacción. Los prototipos hechos de esta forma son parte del sistema real.

V. ETAPAS DEL PROTOTIPO El desarrollo de un prototipo se lleva a cabo en forma ordenada a través de las siguientes etapas:

prototipo se emplea cualquier herramienta, como Lenguajes de Cuarta Generación, Generadores de Reportes, Generadores de Pantallas. En el desarrollo de un prototipo se preparan los siguientes componentes: • El lenguaje para el diálogo o conversación entre el usuario y el sistema, Pantallas y formatos para la entrada de datos, Módulos esenciales de procesamientos, Salida del sistema • La incorporación en la interfaz de entrada/salida de características representativas de las que serán incluidas en el sistema final permite una mayor exactitud en el proceso de evaluación.

VI. ALCANCE El sistema de gestión hotelera maneja cinco módulos de información del hotel de los cuales el prototipo está constituido de tres. Estos módulos son: • Módulo de recepción de clientes: mantiene actualizada la base de datos de clientes que ingresan al hotel; ayuda a realizar consultas sobre los clientes (figura 4). • Módulo de disponibilidad: se encarga de revisar cuáles habitaciones están disponibles, no disponibles y fuera de servicio para poder ofrecerlas a los respectivos clientes. • Módulo de reservas: se encarga de realizar las reservas que los clientes realizan con anterioridad a su hospedaje. Este lo realizará de dos formas, directamente en el sistema y de manera online. Cuando se recurre a este tipo de elaboración de prototipos, el sistema se completa por módulos de forma que si las características que se incluyen en los prototipos se evalúan exitosamente, se puedan incorporar en el sistema final más grande sin la necesidad de realizar demasiado esfuerzo en la interacción. Los prototipos hechos de esta forma son parte del sistema real.

IDENTIFICACIÓN DE REQUERIMIENTOS CONOCIDOS Se identifican los requerimientos conocidos, generales, o características esenciales y determina el propósito del prototipo de la aplicación. DESARROLLO DE UN MODELO En esta etapa se explica el método iterativo y las responsabilidades a los usuarios ya que el usuario participa directamente en todo el proceso. La rapidez con la que se genera el sistema es esencial para que no se pierda el estado de ánimo sobre el proyecto y los usuarios puedan comenzar a evaluar la aplicación con la mayor brevedad posible. Para la construcción inicial del

108

Figura 4. Pantallazo del Módulo de Recepción de Clientes del Sistemas de Gestión Hotelero SIGESHOTEL. Fuente: Los Autores, Bogotá D.C., 2007.


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 103-110

VII. CONCLUSIÓN Al parecer, la implementación de la metodología de prototipos podría optimizar recursos dentro del desarrollo de la aplicación, como tiempo y dinero, al demarcar un punto de control en el que se pueden evaluar nuevamente los requerimientos al confrontar los módulos de características seleccionadas con los administrativos y encargados de área de reservas del hotel.

[5] ROB M. CORONEL C. Sistema de base de datos diseño, implementación y administración; 3ª edición; México: Pedro de la Garza Rosales, 2004. [6] RUBLE D. Análisis y diseño práctico para sistemas cliente/servidor con GUI. 2 ed. México: Pentice Hall Asimos & Schuster Company, 2000.

El sistema de gestión permite ser implantado en cualquier base de datos, resultando ser una aplicación dinámica y estandarizada, adaptable a los cambios tecnológicos y circunstancias de cada empresa. APÉNDICE

Imagen 1. Expositores Sistemas de Gestión Hotelero SIGESHOTEL durante la Semana de Ingenio, Creatividad y cultura ECCI 30 años (2007).

REFERENCIAS [1] BSI Management Systems, Introducción a los Sistemas de Gestión, México, [en línea] [Citado 25 de septiembre de 2007], Avalado de Internet www.bsiamericas.com/Mex+Introduccion+a+los+sistem as+de+Administracion/index. [3] MINISTERIO DE COMERCIO INDUSTRIA Y TURISMO. Viceministerio de Desarrollo Empresarial. Dirección de Turismo, Colombia. [4] MONTEBLANCO C., Reservas Online, Pereira (Risaralda), Colombia, [Citado 01 de octubre de 2007] [en línea] Avalado de Internet www.colreservas.com. [7] ULLMAN J., WIDOM J. Introducción a los sistemas de bases datos. 2 ed. México: Pearson Educación, 1999. [2] ELMASRI R., NAVATHE S. Sistema de base de datos conceptos fundamentales. 1ª. Ed. Wilmington. Delaware EUA: Addison-wesley iberoamericana, 2000. www.lafacu.com/apuntes/informatica/base_datos/defaul. html#introduccion.

109


Revista de Tecnología - Journal of Technology • Volumen 7, No. 1, Enero - Julio 2008 • ISSN1692-1399 • P. 103-110

Documento de Carácter Informativo. Los Autores Jairo Jamith Palacios Rozo Docente universitario de la Escuela Colombiana de Carreras Industriales-Escuela Tecnológica ECCI en las áreas de Metodologías de la Investigación, Teorías Administrativas, Desarrollo de soluciones informáticas para optimizar los procesos industriales y de servicios. Ingeniero de Sistemas de la Universidad Distrital Francisco José de Caldas, Especialista en Administración de Empresas de la Universidad Antonio Nariño, estudios de Maestría en Educación de la Universidad Santo Tomas, Lideró el Proyecto Presidencial “Madres Cabeza de Familia” en la UAN. Cra. 19 No. 49 - 20, Bogotá D.C. palacios.jairo@gmail.com Adriana Mora Yanquén Docente universitario de la Escuela Colombiana de Carreras Industriales-Escuela Tecnológica ECCI, en las áreas de Pensamiento Sistémico, Herramientas Informáticas y Sistemas de Información. En el año 2.005, publicó el libro titulado “La Ciencia y el Computador”, integrante del comité Editorial del Periódico Institucional “INFOECCI”.Ingeniera de Sistemas de la Universidad INCCA de Colombia, tiene estudios de Maestría en Educación de la Universidad Santo Tomas, Cra. 19 No. 49 - 20, Bogotá D.C. adrianamora.docencia@gmail.com

Estudiantes pertenecientes al Programa de Técnico Profesional en Ciencias de la Computación de la Escuela Colombiana de Carreras Industriales-Escuela Tecnológica ECCI. Ganadores del Primer puesto con el Proyecto “Sistema de gestión hotelera” en la Categoría proyecto en curso, durante la Semana de Ingenio, Creatividad y Cultura ECCI 30 años, Octubre de 2007. Cra. 19 No. 49 - 20, Bogotá D.C. Katherin Lucero Wintaco - Skathalw@gmail.com; Héctor Arvey Melo Pineda arvey350@hotmail.com; Carlos Andrés Muñoz Uscátegui - Schoolbus_009@hotmail.com; Oscar Andrés Ocampo Cortés andresocampocortes@hotmail.com.

110



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.