[en]
DB2 es uno de los motores de bases de datos de IBM, el cual tiene ya varios años de historia, además de ser el precursor de muchas nuevas tecnologías. A la fecha de la creación de esta aplicación, acababa de salir la versión 9.7 la cual ofrece características muy innovadoras. (http://es.wikipedia.org/wiki/DB2)
Este motor de bases de datos tiene muchas funcionalidades, varias de las cuales se pueden utilizar: en entorno gráfico y en línea de comando, otras solo en entorno gráfico y finalmente otras solo en línea de comando.
Por tal motivo, para poder usar esta base de datos, ya sea como un administrador de bases de datos, como desarrollador o como un usuario normal, es necesario conocer qué es lo que se quiere hacer, y cómo se puede hacer. En un entorno gráfico, el cómo utilizar una funcionalidad es sencillo, ya que la interfaz misma ayuda al usuario en la operación, presentando gráficas, mensajes, asistentes, etc. Por el contrario, en la línea de comando, el usuario es el que debe conocer cómo puede hacer lo que quiere hacer.
La línea de comando siempre ha existido en los computadores, y por medio de esta es que se realizan muchas de las operaciones de administración de sistemas (sysadmin) y de bases de datos.
La línea de comando generalmente es una pantalla negra, con un prompt el cual permite escribir comandos, y mostrar el resultado de la ejecución que genera el computador.
Los comandos son una serie de palabras, caracteres, números o signos que según el orden en que se digiten tendrán una significación para el computador. Esto es lo que se conoce como la gramática de un comando. Es responsabilidad del usuario digitar los comandos en la forma adecuada para que puedan ser procesador por el computador (escribir los parámetros de un programa.)
Con la gran cantidad de funcionalidades ya existentes en DB2, y con la continua adición en cada nueva versión, conocer la gramática de los comandos se vuelve complicado. Muchas veces, la adición de nuevas funcionalidad es simplemente la adición de un nuevo parámetro en un comando. Pero en otros casos el uso de un comando es cambiado totalmente, y es necesario conocer esa nueva estructura. Por tal motivo, estar al día con la gramática de los comandos es una tarea que se puede volver tediosa, teniendo en cuenta la cantidad de comandos que ofrece este motor de bases de datos y la cantidad de versiones disponibles, variando funcionalidad en cada una.
Un usuario de la línea de comando puede trabajar de acuerdo a alguna de las siguientes maneras:
db2 ? create table
Por ejemplo, para buscar ayuda sobre el comando create table.
El problema surge cuando un usuario sabe qué es lo que debe hacer, pero no conoce bien la gramática. Entonces es aquí donde necesita analizar la documentación respectiva del comando para saber cómo es lo que debe hacer. En muchos casos, esto lo realiza intentando varias veces hasta que se tiene una gramática correcta del comando, y después ver si lo que se ejecutó es lo que se quería.
Algunos comandos tienen una gramática compleja ya que pueden recibir muchos parámetros, y comprender esta estructura puede consumir algo de tiempo, tiempo que es innecesario si el usuario tuviera una asistencia, tal como existe en un entorno gráfico.
Otro aspecto a tener en cuenta es, como se dijo anteriormente, que el usuario puede hacer uso del "Centro de Información", pero eso implica tener acceso a una interfaz gráfica, con un navegador de Web y acceso a este portal (el cual puede estar instalado localmente, o ser accedido por medio de Internet.) Todas estas condiciones no siempre se cumplen, y por lo tanto se vuelve más complicado el análisis de la gramática.
También hay que tener en cuenta a los nuevos usuarios de DB2, quienes no conocen la gramática de los comandos. El gran consumo de tiempo analizando gramáticas es agotador, y comenzar a trabajar realmente puede desanimar a muchos usuarios. Actualmente, hay muchos nuevos usuarios gracias a la versión disponible para la comunidad, DB2 Express-C, y dichos nuevos usuarios generalmente tienen muchas preguntas sobre cómo usar DB2.
Concluyendo, el problema que se presenta es:
El usuario sabe Qué es lo que quiere hacer, pero no sabe Cómo es que lo debe hacer, y para comprender Cómo lo debe hacer, el usuario consume Tiempo.
Esta aplicación funciona como un asistente de sintaxis de comandos de DB2 que funciona en línea de comando, la cual va mostrando los posibles parámetros o opciones, mientras el usuario digita un comando.
Para conocer el funcionamiento de la aplicación, por favor diríjase a la sección descripción.
El código de esta aplicación es Código Abierto (Open source) ya que está licenciado bajo los términos de LGPL v3. Al mismo tiempo, esta usa componentes abiertos para ejecutarse. Por ejemplo, las librerías necesarias son de Código Abierto, tales como jLine o SLF4J. Pero también, su ambiente de ejecución, ya que Java es Libre y Abierto.
El alcance que se le dio en el momento de la concepción de la aplicación, más las ideas que han ido surgiendo, es:
Fuera del alcance inicial previsto para la aplicación, se han pensado posibles extensiones las cuales hasta el momento son solo ideas.