10.07.2015 Views

GRFPostgres una experiencia del trabajo con Software Libre

GRFPostgres una experiencia del trabajo con Software Libre

GRFPostgres una experiencia del trabajo con Software Libre

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CENTRO DE INVESTIGACIONES Y DESARROLLO – FACULTAD DE INGENIERÍAC. ISQLTambién llamada PSQL, interfaz fácil de utilizar, diseñada para terminales <strong>del</strong>ínea de comando de formato carácter, incluida en la distribución dePostgres. Es muy similar al ISQL de Sybase o al SQL*Plus de Oracle. Puedeutilizarse en los scripts de la shell [1].D. RekallAdministrador de bases de datos para Linux tipo Access de Microsoft.Permite gestionar de <strong>una</strong> forma totalmente gráfica bases de datos de losmotores MySQL, Postgres y xBase. Se trata de un producto propietario,aunque al adquirirlo se tiene acceso al código fuente. Para la creación descripts se utiliza el lenguaje Pitón [1].E. KnodaInterfaz gráfica para acceder a bases de datos en KDE, <strong>con</strong> licencia GPL.Comprende creación de formularios, tablas, <strong>con</strong>sultas y reportes. Soporta lascaracterísticas de un DBMS relacional y principalmente se ha desarrolladopara el motor MySQL [1].IV. ¿Qué es <strong>GRFPostgres</strong>?Las herramientas gráficas existentes en la actualidad que trabajan sobre elmotor Postgres, ayudan a manipular estructuras, a <strong>con</strong>struir interfaces yreportes sobre las bases de datos, alg<strong>una</strong>s limitan el resultado porque solotrabajan sobre <strong>una</strong> tabla o los productos finales no poseen características dereutilización en aplicaciones complejas.<strong>GRFPostgres</strong> esta <strong>con</strong>cebida como <strong>una</strong> herramienta gráfica, de fácil manejoy compresión, que permita a los usuarios <strong>con</strong> <strong>con</strong>ocimientos <strong>del</strong> motorPostgres y que manejen el sistema operativo Linux u otro, manipularestructuras de bases de datos Postgres de forma eficiente, generar formas<strong>con</strong> operaciones básicas sobre tablas y generar reportes <strong>con</strong> la información<strong>con</strong>tenida en la base de datos. <strong>GRFPostgres</strong>, busca ser <strong>una</strong> herramienta quemotive a los usuarios a trabajar de <strong>una</strong> forma dinámica <strong>con</strong> el motorPostgres.<strong>GRFPostgres</strong> es <strong>una</strong> herramienta que ayuda al programador para generarproyectos computacionales razonables, necesarios en la pequeña y medianaempresa que no cuenta, <strong>con</strong> recursos e<strong>con</strong>ómicos suficientes para adquirirlegalmente <strong>una</strong> herramienta, ni un motor de bases de datos de alto costo,sin <strong>con</strong>siderar costos de capacitación, soporte y licenciamiento.<strong>GRFPostgres</strong> se desarrolló usando el lenguaje Java, permitiéndole entoncesser portable a otras plataformas, puede importar y exportar bases de datos,3


- Universidad de Manizales, enero – junio / 2005entrega al usuario el código fuente de las formas y reportes en Java comoarchivos independientes o como archivos de la herramienta, que pueden sermodificados, si el usuario <strong>con</strong>oce el lenguaje, reutilizados en aplicacionescomplejas o usados en otras plataformas.<strong>GRFPostgres</strong> esta licenciado como software libre permitiendo que otrosprogramadores interesados complementen, cambien y usen la herramienta.Figura 1. Interfaz principal de <strong>GRFPostgres</strong><strong>GRFPostgres</strong> esta <strong>con</strong>formada por tres módulos independientes perocomplementarios:A. Editor De base de datosPermite al usuario final crear, modificar, <strong>con</strong>sultar y eliminar estructuras debase de datos como tablas, llaves primarias y foráneas, incluso bases dedatos completas, respetando relaciones y restricciones especificadas por elusuario, estas bases de datos pueden en<strong>con</strong>trarse en el equipo local en unequipo remoto al cual se tiene acceso.4


CENTRO DE INVESTIGACIONES Y DESARROLLO – FACULTAD DE INGENIERÍAFigura 2. Interfaz de creación de tabla en <strong>una</strong> base de datosB. Editor de FormulariosConstruye a partir de tablas, <strong>una</strong> interfaz sencilla que permita al usuario final,realizar operaciones básicas de inserción, modificación, eliminación y<strong>con</strong>sulta de registros, también localizar el registro anterior, siguiente, primeroy último.Figura 3. Interfaz de diseño de un formulario generado<strong>con</strong> acceso a sus propiedadesC. Editor de ReportesPartiendo de ciertos campos de tablas, elabora un reporte, el cual quedaincorporado a <strong>una</strong> vista gráfica que permite imprimir o guardar como archivode extensión rtf.5


- Universidad de Manizales, enero – junio / 2005Figura 4. Interfaz vista previa de un reporte generado <strong>con</strong>opciones de impresión y guardarEl código fuente programado en el lenguaje Java, de los reportes y lasformas generados por la herramienta, será suministrado como archivosindependientes, para ser reutilizados en aplicaciones de mayor complejidad.Los reportes y formularios quedan también en formato de la herramienta parapoder ser leídos por la misma en posteriores oportunidades.V. MetodologíaPara el proceso de desarrollo de esta herramienta se usó el LenguajeUnificado de Mo<strong>del</strong>ado (UML) 2 , basándose en la metodología <strong>del</strong> ProcesoUnificado de Desarrollo de <strong>Software</strong> propuesta por los mismos creadores deUML. 3UML es un lenguaje de mo<strong>del</strong>ado visual que señala un <strong>con</strong>junto denotaciones y diagramas estándar, para mo<strong>del</strong>ar sistemas orientados aobjetos, y describe el significado esencial de lo que estos diagramas ysímbolos simbolizan. Estos diagramas son diversos y buscan representar lasdiferentes vistas <strong>del</strong> sistema.El proceso de desarrollo de la herramienta, coherente <strong>con</strong> el mo<strong>del</strong>adoorientado a objetos, se basó en tres aspectos:2 El lenguaje Unificado de Mo<strong>del</strong>ado (UML) fue diseñado por Ivar Jacobson, G.Booch y JamesRumbaugh, <strong>con</strong>solidando diferentes tecnologías y métodos que hasta el momento se habíandesarrollado para el mo<strong>del</strong>ado orientado a objetos.3 La metodología <strong>del</strong> Proceso Unificado de Desarrollo de <strong>Software</strong> esta expuesta en el libro El ProcesoUnificado de Desarrollo de <strong>Software</strong> escrito por I. Jacobson, G. Booch y J.Rumbaugh, AddisonWesley, Madrid, 2000.6


CENTRO DE INVESTIGACIONES Y DESARROLLO – FACULTAD DE INGENIERÍADirigido por los requisitos de los usuarios. Por lo tanto se hizo un estudiopara <strong>con</strong>ocer que necesitan y desean los usuarios.Obtener <strong>una</strong> vista completa <strong>del</strong> diseño <strong>del</strong> sistema. Luego de obtener <strong>una</strong>vista general de los requisitos que los usuarios presentan se bosqueja elsistema de acuerdo <strong>con</strong> los mismos.Dividir el sistema en partes más pequeñas. Las cuales deben desarrollarsede forma que cubran los aspectos importantes de las funcionalidades de laherramienta.Es importante aclarar que se pretende obtener la primera versión <strong>del</strong>software, y que como ventaja adicional <strong>del</strong> mo<strong>del</strong>ado orientado a objetos, apartir de esta versión se pueden generar nuevas versiones <strong>con</strong> otrasfunciones importantes.El desarrollo de la primera versión <strong>del</strong> software, se realizo en cuatro fasesimportantes:A. La fase de inicio.Donde se describe el producto final, y como será el plan de desarrollo.B. La fase de elaboración.En la cual se detalla que aspectos debe cubrir el software y se crean losprimeros mo<strong>del</strong>os <strong>del</strong> sistema.C. La fase de <strong>con</strong>strucción.Donde se desarrolla el software y terminan de definirse los mo<strong>del</strong>os.D. La fase de transición.Donde se realizan las pruebas <strong>con</strong>venientes y se corrigen algunosdefectos.VI. El desarrollo de <strong>GRFPostgres</strong>Si bien es cierto que en el software libre tiene muchas ventajas, el códigofuente abierto fácil de modificar y adaptar, el apoyo de otros deprogramadores, el precio bajo o gratuito, también tiene ciertosin<strong>con</strong>venientes, se necesita tener un buen <strong>con</strong>ocimiento <strong>del</strong> mismo, ese<strong>con</strong>ocimiento se <strong>con</strong>sigue en la mayoría de casos en el idioma inglés por lotanto uno requiere un manejo técnico de este idioma o apoyarse en <strong>una</strong>buena herramienta de traducción y un diccionario.Todo esto retarda el proceso de desarrollo <strong>del</strong> software, más aun si el equipode desarrollo se ve limitado en recursos humanos, técnicos y financieros y elproyecto es de <strong>una</strong> <strong>con</strong>siderable dimensión.7


- Universidad de Manizales, enero – junio / 2005A medida que se desarrolla la herramienta, se adquiere un profundo<strong>con</strong>ocimiento de los programas utilizados para la programación, ya sea<strong>con</strong>sultando información, estableciendo comunicación <strong>con</strong> otrosprogramadores o simplemente ensayando.Muchas de las cosas que se realizan en la herramienta no se hubieranpodido lograr sin el software libre, en especial en el lenguaje deprogramación Java y sus paquetes el cual por su naturaleza orientada aobjetos, permite heredar y reescribir clases existentes de acuerdo a lasnecesidades <strong>del</strong> programador y manipular aspectos <strong>del</strong> sistema operativo.El desarrollo de este proyecto aun no termina, de la organización, de lacolaboración, de la dedicación y de esa incansable necesidad de<strong>con</strong>ocimiento, depende realizar herramientas competitivas basadas ensoftware libre, fáciles de manejar y al alcance de cualquier usuario.Re<strong>con</strong>omientoAl ingeniero Nelson Jaramillo, docente de la Facultad de Ingeniería de laUniversidad de Nariño, por su asesoría durante el desarrollo de esteproyecto.Referencias[1] MOREA, Lucas. Documento COMO para el RDBMS-SQL-Base de datospara Linux (Sistema de base de datos objeto-relacional Postgresql)Herramientas de Gestión de PostgreSQL (Online). Disponible:http://linux.dsi.internet2.edu/docs/LuCaS/Postgresqles/web/navegable/Howto/PostgreSQL-COMO-10.html,(Citado 13 demarzo <strong>del</strong> 2004).8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!