lunes, 5 de julio de 2010

Nuestra tarea como profesionales de la informática consiste en desarrollar y mantener aplicaciones para apoyar al usuario en su actividad. Para realizar esta tarea existen diferentes herramientas y metodologías.

GeneXus es una herramienta para el desarrollo de aplicaciones sobre bases de datos. Su objetivo es permitir la implantación de aplicaciones en el menor tiempo y con la mejor calidad posible.
A grandes rasgos, el desarrollo de una aplicación implica tareas de análisis, diseño e
implementación. La vía de GeneXus para alcanzar el objetivo anterior es liberar a las personas de las tareas automatizables (como el diseño de la base de datos), permitiéndoles así concentrarse en las tareas realmente difíciles y no automatizables.

GeneXus emplea una metodología que tiene un enfoque muy diferente de las metodologías más comúnmente utilizadas. Por tanto, aprender a utilizar GeneXus adecuadamente va más allá de conocer un nuevo lenguaje: lo más importante es aprender su metodología.


I.- Problema







El primer problema al que nos enfrentamos en el desarrollo de aplicaciones es la obtención del conocimiento de la realidad.

Nadie dentro de la empresa conoce los requerimientos y el alcance de la aplicación a desarrollar como un todo. Entonces, ¿cómo logramos obtener el conocimiento de la realidad de una forma lo suficientemente objetiva y detallada al mismo tiempo, que nos permita construir un modelo corporativo?

Este conocimiento se encuentra en cada una de las visiones de los usuarios. Cada usuario conoce bien los objetos con los que trabaja cotidianamente, la información que se maneja en ellos, las reglas que deben seguirse, los cálculos que deben realizarse.

Por lo tanto, el punto de partida de la metodología GeneXus es: describir las visiones de los usuarios para modelar el sistema; y a partir del modelo de la realidad definido, GeneXus construye el soporte computacional -base de datos y programas- en forma totalmente automática.


II.- Solución




Utilizando GeneXus, la tarea básica del analista es la descripción de la realidad. Sólo el ser humano puede desarrollar esta tarea ya que sólo él puede entender el problema del usuario.
El analista GeneXus trabaja en alto nivel, en vez de realizar tareas de bajo nivel como: diseñar archivos, normalizar, diseñar programas, programar, buscar y eliminar los errores de los programas.
Para comenzar el desarrollo de una aplicación con GeneXus, el primer paso consiste en crear un nuevo proyecto o base de conocimiento.
Una vez creada una nueva base de conocimiento (en inglés: knowledge base; abreviado: KB), el siguiente paso es describir las visiones de los usuarios. Para ello se deben identificar los objetos de la realidad (prestando atención a los sustantivos que los usuarios mencionan en sus descripciones, como por ejemplo: clientes, productos, facturas) y pasar a definirlos mediante objetos GeneXus.
Con la definición de estos objetos, GeneXus puede extraer el conocimiento y diseñar la base de datos y los programas de la aplicación en forma automática.



A partir de los objetos definidos en la base de conocimiento, GeneXus genera automáticamente tanto los programas de creación / reorganización de la base de datos como los programas de la aplicación.
Luego, si un objeto de la realidad cambia, si se identifican nuevas o diferentes características del mismo, o si se encuentran objetos aún no modelados, el analista GeneXus debe reflejar dichos cambios en los objetos GeneXus que correspondan, y la herramienta se encargará automáticamente de realizar las modificaciones necesarias tanto en la base de datos como en los programas asociados.
La metodología GeneXus es una metodología incremental, pues parte de la base de que la construcción de un sistema se realiza mediante aproximaciones sucesivas.
En cada momento el analista GeneXus define el conocimiento que tiene y luego cuando pasa a tener más conocimiento (o simplemente diferente) lo refleja en la base de conocimiento y GeneXus se ocupará de hacer automáticamente todas las adaptaciones en la base de datos y programas.
Si GeneXus no fuera capaz de realizar automáticamente las modificaciones en la base de datos y programas conforme se realicen cambios que así lo requieran, el desarrollo incremental sería inviable.



Una vez creada una base de conocimiento, el siguiente paso consiste en comenzar a describir los objetos de la realidad mediante objetos GeneXus.
Los objetos GeneXus más importantes son:

Transacciones
Permiten definir los objetos de la realidad que el usuario manipula (ej: clientes, productos,proveedores, facturas, etc.). Son los primeros objetos en definirse, ya que a través de las transacciones, GeneXus infiere el diseño de la base de datos.
Además de tener por objetivo la definición de la realidad y la consecuente creación de la base de datos normalizada, cada transacción tiene asociada una pantalla para ambiente windows y otra para ambiente Web, para permitir al usuario dar altas, bajas y modificaciones en forma interactiva a la base de datos. El analista GeneXus decidirá si trabajar en ambiente windows, Web, o ambos, y GeneXus generará los programas para ello.

Procedimientos
Permiten recuperar información de la base de datos, y desplegarla ya sea en la pantalla, en un archivo o impresa en papel. Son los típicos listados o informes. Además, permiten la actualización de la información de la base de datos.

Data Providers
Permiten cargar y devolver datos jerárquicos para intercambio de información entre objetos de la misma aplicación o de otras aplicaciones.

Web Panels
Permiten al usuario realizar interactivamente consultas a la base de datos, a través de una pantalla. Ejemplo: un web panel permite al usuario ingresar un rango de caracteres, y muestra a continuación todos los clientes cuyos nombres se encuentran dentro del rango.
Son objetos web muy flexibles que se prestan para múltiples usos. No permiten la actualización de la base de datos, sino solo su consulta.


Los primeros objetos que se definen son las transacciones, ya que es a partir de ellas que GeneXus extrae el conocimiento necesario para diseñar el modelo de datos normalizado (en 3era. forma normal). Luego se van definiendo los demás objetos que correspondan.




GeneXus genera automáticamente los programas necesarios para crear la base de datos y los ejecuta. De esta manera obtenemos la base de datos creada por GeneXus en forma automática.



Luego, GeneXus genera programas de aplicación para interactuar con la base de datos previamente creada.

Una vez creada la base de datos y generados los programas, contamos con una aplicación pronta para ejecutar.


Ejemplos de Aplicaciones en Genexus

http://ejemplosgenexus.blogspot.com/













1 comentario: