Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sesin
Pagina:
47
Generadores de Cdigo
I
OBJETIVOS
Analizar la funcionabilidad de una herramienta generadora de aplicaciones de
software, como alternativa de solucin para el desarrollo de software en las
instituciones.
Aplicar a travs de la utilizacin de la herramienta los conocimientos adquiridos en el
modelamiento del negocio, diseo de base de datos e interfaces, as como de reportes.
Evaluar la aplicabilidad de la herramienta en el desarrollo de sistemas automatizados y
en la creacin de informacin y conocimiento; visualizando la integracin que se da a
las aplicaciones.
II
TEMAS A TRATAR
Proceso de transacciones
Modelo de negocio a partir del proceso de transacciones
Desarrollo de aplicaciones interactivas
Generacin de reportes de explotacin
Generacin de Mens
Herramientas adicionales de la herramienta a utilizar
Explotacin de la informacin a travs de la herramienta
III
MARCO TEORICO
El problema
Aqu se analiza la empresa desde el punto de vista de los objetos que existen en ellas y
sus relaciones. Construir un sistema integrado, que requiere un modelo de datos
Corporativo de la empresa no es una tarea simple debido a que el numero de los objetos y
relaciones hace que esta tarea sea extremadamente compleja.
Metodologa incremental
Una manera alternativa de resolver el problema pasa por la sustitucin de la premisa
bsica enunciada: asumir que no es posible construir un modelo de datos desde el inicio
Dr. Ing. Csar Baluarte Araya
Pagina:
48
sin que pase mucho tiempo desde su inicio y estable de la empresa; y en cambio, utilizar
una filosofa incremental. Un esquema incremental parece muy natural: no se encaran
grandes problemas, sino que se van resolviendo los pequeos problemas a medida que se
presentan y se va incrementado la base del conocimiento a ser utilizada por diversos
elementos de un modelo.
Sistematizacin del Conocimiento
Veamos ahora con ms detalle el proceso de desarrollo de una aplicacin con GeneXus.
GeneXus captura el conocimiento que reside en los objetos descritos y lo sistematiza en
una base de conocimiento.
El trmino base de conocimiento hace referencia a la capacidad de reutilizar en forma
automtica el conocimiento almacenado y sobre todo a la capacidad de realizar
inferencias que permiten obtener ms conocimiento
Reportes
Procedimientos
Paneles de
Trabajo
Mens
Base de conocimiento
Reportes
Procedimientos
Paneles de
Trabajo
Mens
Base de
conocimiento
Base de
Datos
Fuente: Artech
A partir del conocimiento especificado a travs de las transacciones, GeneXus disea el
modelado de datos normalizado (en 3ra forma normal).
Dr. Ing. Csar Baluarte Araya
Pagina:
49
Debe tenerse en cuenta que muchas veces, con la tecnologa de hoy, para obtener los
tiempos de respuesta necesarios, deben admitirse desvos a la 3ra forma normal. GeneXus
permite hacerlo mediante la definicin de redundancias que luego, mantiene
automticamente. GeneXus genera automticamente los programas necesarios para crear
la base de datos, y la crea mediante ellos.
Generacin de los Programas de Aplicacin
Reportes
Procedimientos
Paneles de
Trabajo
Mens
Base de
conocimiento
Base de
Datos
Programas de Aplicacin
TRN, RTP, PROC, WKP y MNO
Fuente: Artech
GeneXus genera automticamente, a partir de la base de conocimiento, los programas de
la aplicacin. Como se ha dicho, durante el ciclo de vida de la aplicacin, existen muchas
modificaciones. Ante cambios en la visiones de usuarios, GeneXus disea la nueva base
de datos
Nuevos
Reportes
Reportes
Nuevos
Nuevos
Paneles de
Procedimientos Paneles de
Trabajo
Procedimientos
Trabajo
Nuevos
Mens
Mens
Base de
Base
de
conocimiento
conocimiento
Base de
Datos
Fuente: Artech
Nueva
Base de
Datos
Programas de Aplicacin
TRN, RTP, PROC, WKP y MNO
Pagina:
50
Algunas veces, la nueva base de datos coincide con la anterior, en cuyo caso, todos los
programas existentes seguirn siendo validos. Otras veces, existen cambios en la base de
datos. El anlisis de impacto de los cambios nos informa si debe reorganizarse la base de
datos, como debe ser hecha esa reorganizacin y, los eventuales problemas que esa
reorganizacin podra ocasionar.
Una vez analizado el anlisis de impacto, el analista resolver efectuar la reorganizacin o
renunciar a ella volviendo a la situacin anterior.
Si el analista ha dado el visto bueno a la reorganizacin, GeneXus genera
automticamente los programas necesarios para la reorganizacin. La reorganizacin
consiste entonces, en ejecutar esos programas (luego de tomar la copia de respaldo
correspondiente).
Aqu se han dibujado como disjuntas la nueva y la vieja Base de Datos por claridad de
dibujo. En realidad es de esperar que tengan muchas tablas comunes, que no se
modificaran en la reorganizacin.
GeneXus, considerando la base de conocimiento nueva y la vieja, estudia el impacto de
los cambios sobre los programas actuales y produce un informe sobre el tema
GeneXus genera/regenera automticamente los programas necesarios.
Ahora se tiene las nuevas aplicaciones en produccin. El ciclo de mantenimiento esta
completo.
Pagina:
51
Prototipo
Produccin
Fuente: Artech
Se detalla cada una de estas tareas:
Diseo
Tarea es realizada conjuntamente por el analista y el usuario, y consiste en identificar
y describir las visiones de datos de los usuarios. El trabajo se realiza en el ambiente
del usuario. Este esquema permite trabajar con un bajo nivel de abstraccin,
utilizando trminos y conceptos que son bien conocidos por el usuario final.
De acuerdo a lo visto, GeneXus captura el conocimiento por medio de visiones de
objetos de la realidad del usuario.
Los tipos de objetos soportados por GeneXus son: Transacciones, Reportes,
Procedimientos, Work Panels, Web Objects, Menes, Data Views, Styles y
Transacciones de Data Warehouse.
La tarea de diseo consiste, fundamentalmente, en identificar y describir estos
objetos. A partir de estas descripciones, y automticamente, GeneXus sistematiza el
conocimiento capturado y va construyendo, en forma incremental, la Base de
Conocimiento.
La Base de Conocimiento es un repositorio nico de toda la informacin del diseo, a
partir de la cual GeneXus crea el modelo de datos fsico (tablas, atributos, ndices,
redundancias, reglas de integridad referencial, etc.) , y los programas de aplicacin.
As, la tarea fundamental en el anlisis y diseo de la aplicacin se centra en la
descripcin de los objetos GeneXus.
Objetos GeneXus ms importantes:
Transacciones
La transaccin es un proceso interactivo que permite a los usuarios crear, modificar o
eliminar datos/informacin de la base de datos.
Dr. Ing. Csar Baluarte Araya
Pagina:
52
Ejemplos:
Pantalla para crear, modificar o eliminar los Clientes de la Empresa.
Pantalla de facturacin: proceso que permite a un usuario crear facturas e incluso
imprimirlas.
Una pantalla permite al usuario tomar diferentes acciones como insertar, actualizar
eliminar, imprimir sin tener que volver al men para hacerlo.
Reportes
Un informe es un proceso que permite visualizar los datos de la base de datos. La
salida del listado puede ser enviada a pantalla o a la impresora (y con ello tenemos un
listado convencional).
Con este objeto se pueden definir desde listados simples (por ejemplo, listar los
clientes) hasta muy sofisticados, en donde existan varios cortes de control, mltiples
lecturas a la base de datos y parametrizacin.
Procedimientos
Tiene todas las caractersticas de los Reportes, y adems permite actualizar la base de
datos. Los Procedimientos son comnmente usados para dos tipos de procesos:
- Procesos batch de actualizacin. Por ejemplo: eliminar todas las facturas de fecha
anterior a una fecha dada y que ya fueron pagadas.
- Subrutinas de uso general. Por ejemplo: rutina de monto escrito en donde, dado un
importe se devuelve un literal con el importe en letras (1010 = > 'Mil diez')
- Procesos a ejecutar en un servidor de aplicaciones o servidor de base de datos:
procesos (generalmente escritos en C/ SQL, Java o .NET) para una MultiTier
Architecture, para ser ejecutados en un servidor de aplicaciones o de bases de
datos.
Work Panels
Es una pantalla que permite al usuario realizar consultas interactivas a la base de
datos. Cuanto ms los usuarios utilizan el computador para su trabajo, se torna ms
necesaria la utilizacin de dilogos sofisticados, que le permitan sentarse a pensar
frente al mismo.
Los work panels permiten disear este tipo de dilogos del usuario.
Por ejemplo: Un work panel que muestra la lista de clientes y que permite (a eleccin
del usuario) ver cuales son sus facturas o su deuda.
Web Objects
Son similares al conjunto de Work Panels y Transacciones, pero son usados en
browsers en ambiente Internet / Intranet / Extranet.
Menes
Un men es una pantalla que contiene una serie de opciones fijas que el usuario
selecciona para ejecutar.
Dr. Ing. Csar Baluarte Araya
Pagina:
53
Data Views
Permiten considerar correspondencias entre tablas de bases de datos preexistentes y
tablas GeneXus y tratar aquellos con la misma inteligencia como si fueran objetos
GeneXus.
Styles
El estandarizar lo ms posible una aplicacin es un reconocido buen criterio de diseo
En particular, la interfaz de usuario de una aplicacin resulta crtica para construir
sistemas amigables. Cuanto ms estndar sean los dilogos, ms fcil de usar ser la
aplicacin.
Los Styles constituyen un tipo de objeto GeneXus orientado a la definicin de
interfaces de usuario y estndares de programacin. Los Styles ofrecen una serie de
mecanismos para definir formatos de pantallas, reglas del negocio y eventos que sern
utilizados luego por GeneXus en forma automtica, obteniendo sistemas de mayor
calidad y disminuyendo sensiblemente los tiempos de desarrollo.
GeneXus trabaja con el conocimiento puro
Partiendo de los objetos descritos, el modelo de datos fsico es diseado con base en
la Teora de Bases de Datos Relacionales, y asegura una base de datos en tercera
forma normal (sin redundancia). Esta normalizacin es efectuada automticamente
por GeneXus. El analista puede, sin embargo, definir redundancias que, a partir de
ello, pasan a ser administradas (controladas o propagadas, segn corresponda),
automticamente por GeneXus.
El repositorio de GeneXus mantiene las especificaciones de diseo en forma
abstracta, o sea que no depende del ambiente objeto, lo que permite que, a partir del
mismo repositorio, se puedan generar aplicaciones funcionalmente equivalentes, para
ser ejecutadas en diferentes plataformas.
Mltiples Plataformas / Arquitectura de Mltiples Capas
Como consecuencia de lo anterior es posible, por ejemplo, que un usuario de una
aplicacin IBM AS/ 400 centralizada desarrollada 100% con GeneXus, pueda hacerla
funcionar total o parcialmente en un ambiente JAVA o .NET sin tener que modificar
los objetos originales.
Por otra parte, las especificaciones funcionales son totalmente independientes de la
base de datos, por lo que se mantienen vlidas an luego de cambios en sta. Esta
propiedad permite que GeneXus pueda mantener automticamente todos los
programas que genera.
Hoy es comn que una misma aplicacin debe tener algunas partes corriendo en una
plataforma y alguna en otras, y que todas se puedan comunicar correctamente.
El desarrollo con GeneXus permite que una aplicacin pueda ser dividida para ser
ejecutada en diferentes plataformas y generada, para cada una, en el lenguaje ms
adecuado, obteniendo as arquitecturas de mltiples partes y que hagan un mejor uso
de los recursos disponibles.
Veremos una apreciacin de alguna de las interfaces del software de generacin de
cdigo como es Genexus.
Dr. Ing. Csar Baluarte Araya
Pagina:
54
Pagina:
55
Pagina:
56
Pagina:
57
Se puede efectuar una revisin (Overview), luego ingresar a Tutorial y all se encuentra la
basta gama de videos y tutoriales de Genexus y relacionados.
Ingresar por ejemplo a: Construccin de la Aplicacin, revisar todos los videos y nos
enfocaremos lo que hace Genexus para construir una aplicacin y otros temas.
Pagina:
58
Genexus puede ser descargado desde diversas pantallas, sin embargo podemos ir a la
pantalla principal y BAJAR TRIAL, nos muestra la pantalla de la que descargamos
Genexus y en la parte inferior de la pantalla encontramos informacin al respecto:
IV
ACTIVIDADES
Pagina:
59
03. Para poder efectuar la descarga debe haberse registrado previamente y Artech le
proveer el o los cdigos de acceso. As tambin considerar los requerimientos
mnimos de instalacin y otros que se encuentran en la pgina de descarga
04. Mediante el manual de instalacin proceda a instalar la herramienta de trabajo.
Para ello considerar que debe haber obtenido la versin Trial de Genexus
correspondiente del site www.genexus.com ello de la pgina principal BAJAR
TRIAL, en la pgina que se muestra; y en la parte inferior de la pantalla descargar
el Tutorial y especificaciones de instalacin
Pagina:
60
Pagina:
61
Se puede apreciar las historias de xito, las cuales seran conveniente poderlas revisar
cada una de ellas.
Pagina:
62
V
CUESTIONARIO
1.
2.
3.
4.
5.
6.
Qu es el desarrollo incremental?
Cules y en que se basan las herramientas incorporadas en Genexus?
Realice una comparacin entre el desarrollo a travs de un lenguaje de programacin
y el desarrollo a travs de un generador de aplicaciones
La herramienta al modelar los datos lo hace llegando a: Explique.
En cuales plataformas trabaja la herramienta?
Cuan importante es el modelo de la base de datos para trabajar con Genexus?