You are on page 1of 16

Laboratorio de Tecnologas de la Informacin

Pagina:

47

Sesin

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

Laboratorio de Tecnologas de la Informacin

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

Sistematizacin del Conocimiento


Transacciones Reportes Procedimientos Paneles de Trabajo Mens

Base de conocimiento

Inferencia de la Base de Datos


Transacciones 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

Laboratorio de Tecnologas de la Informacin

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

Generacin de los Programas de la Aplicacin


Transacciones 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

Las visiones de los usuarios cambian


Nuevas Transacciones Transacciones 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

Nueva Base de Datos

Programas de Aplicacin TRN, RTP, PROC, WKP y MNO

Fuente: Artech

Dr. Ing. Csar Baluarte Araya

Laboratorio de Tecnologas de la Informacin

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.

IMPLEMENTACIN DEL DESARROLLO INCREMENTAL GeneXus implementa esta teora. Cuando una aplicacin se desarrolla con GeneXus la primera etapa consiste en hacer el Diseo de la misma registrando las visiones de usuarios (a partir de las cuales el sistema captura y sistematiza el conocimiento). Posteriormente se pasa a la etapa de Prototipacin en donde GeneXus genera la base de datos (estructura y datos) y programas para el ambiente de prototipo. Una vez generado el Prototipo debe ser puesto a prueba por el analista y los usuarios. Si durante la prueba del Prototipo se detectan mejoras o errores se retorna a la fase de Diseo, se realizan las modificaciones correspondientes y se vuelve al Prototipo. Llamaremos a este ciclo de Diseo/ Prototipo. Una vez que el Prototipo est aprobado, se pasa a la etapa de Implementacin, en donde GeneXus genera, tambin automticamente, la base de datos y programas para el ambiente de produccin. En resumen, una aplicacin comienza con un Diseo, luego se Prototipa, luego se Implementa y en cualquiera de los pasos anteriores se puede regresar al Diseo para realizar modificaciones.

Dr. Ing. Csar Baluarte Araya

Laboratorio de Tecnologas de la Informacin

Pagina:

51

Ciclo Diseo-Prototipo y DiseoProduccin


Diseo

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

Laboratorio de Tecnologas de la Informacin

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

Laboratorio de Tecnologas de la Informacin

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

Laboratorio de Tecnologas de la Informacin

Pagina:

54

La pagina principal de Artech http://www.genexus.com

Si vamos por el tema Desarrollo gil de aplicaciones

Dr. Ing. Csar Baluarte Araya

Laboratorio de Tecnologas de la Informacin

Pagina:

55

Si retornamos a la pgina principal y Si luego ingresamos por Comunidad Genexus, disponemos de varios centros, de los cuales GXtechnical contiene lo que se puede disponer o bajar para ser estudiado u otro (triales por ejemplo)

Si esta registrado podr tener acceso a muchos elementos de Gxtechnical

Dr. Ing. Csar Baluarte Araya

Laboratorio de Tecnologas de la Informacin

Pagina:

56

Si retornamos a la pgina principal y Si luego ingresamos por Desarrollo de Aplicaciones Mviles, disponemos de desarrollo de diversas plataformas (Android, W8, iOS, Blackberry, as como de testeo en la nube, trabajo con GPS

Ir a la ficha PRODUCTOS e ingresar a cada uno de ellos y documentarse de que se trata (ver videos)

Dr. Ing. Csar Baluarte Araya

Laboratorio de Tecnologas de la Informacin

Pagina:

57

Ir a Comunidad y Soporte,, seleccionar Training

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.

Dr. Ing. Csar Baluarte Araya

Laboratorio de Tecnologas de la Informacin

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:

Descargar Genexus TRIAL Tutorial, primeros pasos Ver caractersticas de la versin Trial Ver Requerimientos mnimos (instalacin)

(La prctica tiene una duracin de 12 horas)

IV ACTIVIDADES

01. Encienda su computador. 02. Efectuar la bsqueda en el site de Artech lo relacionado a Genexus En ello efectuar la revisin de Genexus, as como en la ficha productos los relacionados, como ser: Gxplorer, GxFlow.GxTest, GxPortal y otros. Para comprender y tener mejor conocimiento de la herramienta Genexus realizar una visita por cada una de las pestaas y accesos que tiene y as poder tener la visin completa de este producto.

Dr. Ing. Csar Baluarte Araya

Laboratorio de Tecnologas de la Informacin

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

Dr. Ing. Csar Baluarte Araya

Laboratorio de Tecnologas de la Informacin

Pagina:

60

Descargar Genexus TRIAL Tutorial, primeros pasos Ver caractersticas de la versin Trial Ver Requerimientos mnimos (instalacin)

Para descargar documentacin de los productos y otros de GENEXUS se tiene la siguiente direccin de manera directa. Se debe haber registrado previamente. http://www.genexus.com/Comunidad/comunidad?es

Dr. Ing. Csar Baluarte Araya

Laboratorio de Tecnologas de la Informacin

Pagina:

61

Se puede apreciar las historias de xito, las cuales seran conveniente poderlas revisar cada una de ellas.

As mismo el site cuenta con plataforma de aprendizaje y capacitacin; deber ingresar a la direccin http://training.genexus.com/principal/inicio?es y correr todos los videos, los cuales lo instruyen para realizar la prctica. O En la pgina Principal Ir a Comunidad y Soporte, seleccionar Training 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. 05. En base al tutorial de la herramienta se proceder a: Efectuar el conocimiento de las diversas funciones del software Efectuar el crear una transaccin en base a una factura Realizar paso a paso los puntos del tutorial Deber considerar en cada paso del Tutorial, recorrer las funcionabilidades que se tiene en cada pantalla y as comprender todo lo relacionado. 06. Seguir las pautas generales de creacin de creacin de aplicaciones con la herramienta para realizar el desarrollo del trabajo con su grupo Crear las transacciones Efectuar el impacto Complementar la creacin de las entidades relacionadas Efectuar el impacto Construir el prototipo de las transacciones creadas
Dr. Ing. Csar Baluarte Araya

Laboratorio de Tecnologas de la Informacin

Pagina:

62

Creacin del ejecutable de la aplicacin Crear un primer reporte de una transaccin simple Construir un segundo reporte de la complejidad mayor, ejemplo padre-hijo (cabecera-detalle) Construir un reporte de conjuncin de ms de tres transacciones (entidades) 07. Busque en el site de Artech (Genexus), lo relacionado a los temas a tratar; como ejemplos y otros. Existe videos para lo que se necesita 08. Prepare los informes de entregables de cada avance para cada sesin de aprendizaje.

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?

Dr. Ing. Csar Baluarte Araya

You might also like