Documente Academic
Documente Profesional
Documente Cultură
Desarrollo de Aplicaciones
Multiplataforma con
GeneXus
2017
Copyright 1988-2017 |GeneXus S.A.
Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el
consentimiento explícito de GeneXus S.A. La información contenida en este documento es para uso personal
únicamente.
Marcas Registradas
GeneXus es una marca registrada (*) en múltiples países y regiones, incluyendo entre otros, América Latina,
EEUU, Japón, la UE y Uruguay. Todas las demás marcas mencionadas en este documento son propiedad de
sus respectivos dueños.
Página | 1
Introducción …………………………………………………………………………………………3
PRIMEROS PASOS: Tutorial paso a paso ......................................................... 3
Simbología utilizada ........................................................................................ 3
PARTE 1: Descubriendo GeneXus .................................................................... 4
¿Qué es GeneXus? .......................................................................................... 4
PARTE 2: Su primera aplicación ...................................................................... 5
Diseño de aplicaciones basado en el conocimiento .............................................. 5
Paso 0: Caso de estudio ................................................................................. 5
Paso 1: Entorno de desarrollo ......................................................................... 5
Paso 2: Creación de una Base de Conocimiento y definición del Enviroment ......... 6
Paso 3: Creación de un Objeto Transacción ...................................................... 8
Paso 4: Descripción de la Estructura de la Transacción (Structure) ...................... 9
Paso 5: Definición de Campos Calculados Fórmulas...................................... 13
Paso 6: Visualizando del Modelo de Datos inferido por GeneXus ........................ 14
Paso 7: Visualización de los Formularios del Objeto Transacción ....................... 16
Paso 8: Ejecución de su Aplicación ................................................................ 18
Paso 9: Prueba de su Aplicación .................................................................... 20
Paso 10: Agregar Reglas del Negocio Reglas ............................................... 20
Paso 11: Creación del Objeto Transacción Cliente ........................................... 22
Paso 12: Revisión de los Cambios efectuados al Modelo de Datos ...................... 25
Paso 13: Visualización del Reporte de Especificación........................................ 27
PARTE 3: Mantenimiento .............................................................................. 29
Desarrollo Incremental y Mantenimiento de la Aplicación .................................... 29
Paso 14: Inclusión de Nuevos Objetos: Transacción Producto ........................... 29
Paso 15: Análisis y reorganización de la BD .................................................... 31
PARTE 4: Agregando funcionalidad ............................................................... 33
Utilización de Patrones en el desarrollo ............................................................. 33
Paso 16: Aplicar un pattern .......................................................................... 33
PARTE 5: Multiplataforma–Smart Devices .................................................... 35
Desarrollo Multiplataforma .............................................................................. 35
PARTE 6: Live Editing ................................................................................... 43
Resumen ...................................................................................................... 50
FAQ............................................................................................................... 51
Contactos y Recursos ................................................................................... 54
La Comunidad GeneXus .................................................................................. 54
Soporte ........................................................................................................ 54
Como Comprar .............................................................................................. 54
Links recomendados ..................................................................................... 54
Página | 2
Introducción
El objetivo de este documento es ayudarlo a descubrir el potencial de la metodología de
desarrollo basada en el conocimiento propuesta por GeneXus a través de sus principales
funcionalidades:
En este ejercicio paso a paso usted creará una aplicación de negocios simple generando los
programas en la plataforma .NET.
A medida que vaya trabajando con esta guía, usará las funcionalidades claves de GeneXus:
Simbología utilizada
Este símbolo introduce un TIP. Recomendamos leer lo que este dentro del
recuadro.
Página | 3
Este símbolo especifica el tiempo requerido.
¿Qué es GeneXus?
Básicamente, GeneXus es un programa que hace programas.
Es una herramienta que parte de las visiones de usuarios, y a partir de ahí encapsula el
conocimiento en lo que llamaremos Base de Conocimiento. GeneXus sistematiza ese
conocimiento, y desde allí automatiza el diseño, construcción y mantenimiento de la Base de
Datos (BD) y los programas.
Página | 4
PARTE 2: Su primera aplicación
Durante este tutorial, logrará describir la realidad presentada en GeneXus para generar un caso
tipo de sistema de facturación en una plataforma Web utilizando el Generador .NET y BD SQL
Server.
Ventana principal: Está compuesta por la Start Page o Página de Inicio la cual a través de
un Really Simple Syndication (RSS) en forma dinámica brinda información técnica
relacionada con la herramienta y la comunidad de usuarios. Para obtener esta
información es necesario estar conectado. Si su equipo se encuentra desconectado a
Internet no podrá acceder a las novedades publicadas en el GeneXus Community.
Ventana de Navegación
Barras de herramientas
Enviroment
Página | 6
Para generar y mantener una aplicación de trabajo en una plataforma de software
! específica, debemos definir un Enviroment. Un Enviroment integra todo lo
relacionado a la plataforma de ejecución (Generador, acceso a la BD, interfaz de
usuario y otras propiedades de dicha plataforma). Para esto, especificamos un
DBMS, un lenguaje meta y algunos parámetros adicionales por cada Enviroment.
GeneXus generará y mantendrá el esquema de la base de datos y todos los
programas en la plataforma seleccionada. De esta manera, el analista de GeneXus
no necesita tener un conocimiento profundo de la plataforma objetivo.
Si es la primera vez que abre GeneXus Trial y no ha ejecutado previamente en su equipo una
versión comercial del producto, GeneXus le indicará que procederá a ejecutar la creación de una
base de conocimiento en forma automática. La primera vez que abra la versión trial se creará
automáticamente una Base de Conocimientos en un ambiente en .NET con SQL.
1. Haga clic en la
opción New
Knowledge Base.
2. Ponga un nombre a
la Base de
Conocimiento:
TallerTelmexHub
3. Seleccione un
directorio donde
crear la KB.
4. Seleccione el
lenguaje a generar.
Figura: Dialogo box para la creación de una Base de Conocimiento
5. Haga clic en
CREATE para
continuar.
Página | 7
Paso 3: Creación de un Objeto Transacción
Nuestro objetivo será definir las visiones de nuestros usuarios en objetos GeneXus.
Objeto Transacción
Representa a los objetos de la realidad que maneja su aplicación. De las
transacciones definidas se infiere el modelo de datos de la aplicación (3era forma
! normal). GeneXus también usa el objeto transacción para generar el programa de
la aplicación que permitirá al usuario final, en forma interactiva, insertar, borrar y
actualizar registros en la base de datos física.
El siguiente paso, una vez creada la base de conocimiento será crear la primera transacción, que
representa una factura. Para ellos siga los siguientes pasos:
2. Seleccione el tipo de
objeto que quiere
crear: Transaction
3. Ponga nombre al
Objeto:FACTURA.
Página | 8
Paso 4: Descripción de la Estructura de la Transacción (Structure)
El próximo paso será describir el objeto factura definiendo qué atributos integran la misma y
cómo están relacionados.
!
tipo de datos y descripción.
Niveles: Los atributos se agrupan en uno o más niveles, y estos niveles
pueden ser anidados o paralelos (pueden haber múltiples niveles anidados).
Por ejemplo: las líneas de una factura representan un nivel anidado al nivel
raíz. El nivel de las líneas de la factura demuestra el hecho de que una
factura puede tener muchas líneas, es decir, define una relación de una a
muchas entre la factura y las líneas de la factura.
Atributos de Clave Primaria (PK): En cada nivel, uno o más atributos
deben ser definidos como la Clave Primaria del nivel.
o La Clave Primaria es un identificador de cada instancia del nivel.
o Los valores de la Clave Primaria son únicos y una vez que se ingresan
no pueden ser actualizados.
o Si no existe una Clave Primaria “natural” para su objeto, debe crearse
una “artificial”; por ejemplo, ClienteID.
Hasta aquí hemos ingresado los campos del cabezal de la factura. Ahora
ingresaremos las líneas. Para eso, presione CTRL + Flecha Derecha para
agregar un Nuevo nivel a la estructura de datos
Página | 9
ProductoNombre Character(20) Producto Nombre
Presione ENTER y luego CTRL + Flecha Izquierda para volver al nivel del
cabezal y comenzar los datos del pie.
El primer atributo de cada nivel es definido por defecto como clave primaria de ese nivel,
pero esto se puede cambiar hacienda clic derecho sobre el atributo y eligiendo la opción
Toggle Key (Ctrl+K). Los atributos de Clave Primaria se identifican por una pequeña llave a
la izquierda de sus nombres ( ). En este ejemplo, FacturaID es el identificador de primer
nivel, y el atributo ProductoID es el identificador de segundo nivel. Esto significa que, para
un número de factura dado (FacturaID), el valor del atributo ProductoID no se repetirá en
líneas diferentes.
Página | 10
2. Moviendo el Mouse sobre la derecha de la
pantalla se desplegará el menú de propiedades
(Properties).
Página | 11
Assumption (URA), y según dicha hipótesis:
Todo lo que es conceptualmente igual debe tener el mismo nombre.
Los conceptos diferentes NO deben tener el mismo nombre.
Esto nos permitirá usar el mismo atributo en otros objetos GeneXus (otras
transacciones, procedimientos, reportes, etc.) simplemente haciendo referencia a
su nombre. GeneXus establece las relaciones (claves foráneas) entre las tablas del
modelo de datos con base a los nombres de los atributos.
Página | 12
Paso 5: Definición de Campos Calculados Fórmulas
Fórmulas
Son atributos que pueden inferirse del valor de otros atributos. Un atributo fórmula
es definido de la misma manera que un atributo “normal”, es decir, tiene un
nombre, un tipo de datos y una descripción, además de una fórmula que define
como se calcula.
LineaTotal=ProductoPrecio * LineaCantidad
FacturaSubTotal = SUM(LineaTotal)
FacturaImpuesto= FacturaSubTotal * 0.16 ( o el número que corresponda)
FacturaTotal = FacturaSubtotal + FacturaImpuesto
1. Haga doble clic en el campo Formula del atributo LineaTotal (a la derecha de la descripción del atributo).
2. Escriba lo siguiente: “ProductoPrecio * LineaCantidad”. También se puede hacer clic sobre el botón sobre
el campo de la fórmula para abrir el Editor de Fórmula.
3. Repita los Pasos 1 y 2 para el resto de las fórmulas que aparecen en la lista al principio de esta sección.
Página | 13
Al finalizar, deberíamos tener la descripción de la factura de la siguiente manera:
Página | 14
1. En el menú de la izquierda, seleccione Tables, en caso de no encontrar la opción dirigirse a
View/Tables
Factura FacturaProducto
FacturaID FacturaID
FacturaFecha ProductoID
ClienteID ProductoNombre
ClienteNombre ProductoPrecio
LineaCantidad
Página | 15
Nótese que:
La clave primaria de la tabla FacturaProducto está formada por dos atributos: FacturaID
y ProductoID (la concatenación del identificador de primer nivel, FacturaID, con el
identificador del segundo nivel, ProductoID).
GeneXus eliminó automáticamente de las tablas los atributos que se habían definido
como fórmulas y los convirtió en fórmula globales para que se pueda acceder a ellas
desde cualquier lugar dentro de la base de conocimiento).
En la tabla Factura:
o No puede haber dos facturas con el mismo FacturaID.
o Para cada FacturaID hay un único valor de FacturaFecha, ClienteID y
ClienteNombre.
En la tabla FacturaProducto:
o No pueden haber dos líneas de factura con la misma FacturaID y ProductoID.
o Para cada par de FacturaID y ProductoID hay un único valor de
ProductoNombre, ProductoPrecio y LineaCantidad.
Formulario Web
Después de salvar un nuevo Objeto Transacción, GeneXus crea automáticamente
! un Formulario Web predeterminado para especificar como accederá el usuario final
a los datos en la aplicación. Estos formularios pueden ser personalizados por el
analista del negocio más adelante.
Página | 16
Figura: Formulario (predeterminado) de la Transacción Factura
Estos formularios habilitarán a los usuarios finales a ingresar nuevas facturas que se insertarán
como nuevos registros en las tablas correspondientes. Los usuarios también podrán actualizar o
eliminar las facturas existentes, siempre que tengan los derechos para hacerlo.
El analista de GeneXus no necesita programar ninguna de estas acciones porque están implícitas
en la lógica de la transacción. GeneXus generará automáticamente el código nativo
correspondiente en el lenguaje seleccionado.
En este paso, ejecutaremos la aplicación en .NET usando SQL Server como nuestro DBMS. En la
versión comercial usted puede usar cualquiera de los DBMS soportados por GeneXus. Consulte la
lista completa de los DMBS soportados por GeneXus aquí:
http://www.genexus.com/technologies
Página | 18
2. Presione F5 o vaya a través del
menú opción BUIL /RUN
DEVELOPER MENU y al aparecer
esta pantalla escriba su usuario
GeneXus y contraseña.
Figura: Output
Página | 19
Paso 9: Prueba de su Aplicación
1. El Menú del
Desarrollador es un
archivo HTML que
incluye a todos sus
objetos ejecutables. Es
un menú auxiliar para
probar su aplicación.
Haga clic en la opción
Factura.
2. Ingrese algunas
instancias de factura.
Gracias a la tecnología
AJAX, las fórmulas se
calculan
automáticamente, sin
necesidad de recargar
toda la página.
Reglas GeneXus
Las Reglas GeneXus son el medio para definir la lógica del negocio asociada a cada
objeto. Son escritas en forma declarativa y GeneXus decide de manera inteligente
! que regla aplicar y cuando aplicarla.
Las reglas juegan un rol muy importante en los objetos transacción porque
permiten programar su comportamiento (por ejemplo: asignando valores
Página | 20
predeterminados, definiendo controles de datos, etc.).
Sólo son válidas en la transacción en la que han sido definidas. Por eso decimos
que son locales.
Ahora agregaremos una regla simple que configura por defecto la Fecha de la Factura como la
fecha del día actual:
Ahora otra regla simple que establece un mensaje de error si la cantidad de productos
ingresada es nula:
1
Tenga en cuenta que usted también puede usar las opciones Insertar / Atributo e Insertar / Fórmula del
menú Insertar para completar la regla.
Página | 21
7. Pruebe las reglas ingresadas, ejecutando la aplicación (F5).
Página | 22
Nótese que cuando comienza a escribir los atributos ClienteID y ClienteNombre, GeneXus le
indica el nombre completo del atributo y su tipo y descripción. Esto sucede porque estos
atributos ya están definidos en su base de datos.
Página | 23
Figura: Formulario Web de la Transacción Cliente
Nótese (abajo) que el Formulario Web de la Factura también ha cambiado, reflejando los
cambios en las propiedades del atributo ClienteID: el atributo ClienteNombre es ahora la
descripción del atributo ClienteID. ¡Esto mejorara notablemente la usabilidad de la aplicación
como veremos rápidamente!
Página | 24
Paso 12: Revisión de los Cambios efectuados al Modelo de Datos
Análisis de Impacto
! Describe los cambios físicos que se deberán realizar para actualizar al nuevo
modelo de datos inferido por GeneXus.
Nos muestra que la tabla Factura será afectada, eliminando el atributo ClienteNombre de la tabla
Factura ya que el mismo puede ser inferido a través del ClienteID.
En warning de especificación se refiere a que puede haber valores duplicados de clientes en la tabla
Factura y que al normalizar estos pude afectar. También se muestra otro warning indicando que los
registros que se van a crear tienen valor nulo en las tablas.
Página | 25
Figura: Listado de la Base de Datos (Modelo de Datos)
Nótese que:
GeneXus agregó una nueva tabla: la tabla Cliente (asociada a la transacción Cliente).
El atributo ClienteNombre se ha eliminado de la tabla Factura (este atributo está
almacenado únicamente en la tabla Cliente), dejando la base de datos normalizada.
En la tabla Cliente:
o No pueden haber dos clientes con el mismo ClienteID.
o Por cada ClienteID hay un único valor de ClienteNombre, ClienteDireccion y
ClienteEmail.
En la tabla Factura:
o No pueden haber dos facturas con el mismo FacturaID.
o El atributo ClienteID en la tabla Factura una clave foránea tomada de la tabla
Cliente. Por lo tanto, existe una relación de uno a muchos entre Clientes y
Facturas:
Por cada FacturaID existe únicamente un ClienteID.
Cada ClienteID puede tener muchas Facturas (FacturaID).
Página | 26
Paso 13: Visualización del Reporte de Especificación
Ya está listo para proceder con la reorganización de la BD. Seleccione la opción REORGANIZE.
Los programas de reorganización crean un nuevo esquema de base de datos en la base de datos
física del modelo objetivo y transportan los datos desde el esquema viejo al nuevo.
Reporte de Especificación
! Describe como se ejecutará el programa, a que tablas accederá (y como) y que
operaciones realizará.
Página | 27
Figura: Reporte de Navegación de la Transacción Factura
Integridad Referencial en la Transacción Factura: La clave foránea ClienteID en el nivel FACTURA significa
que cuando usted inserta o actualiza una factura usando la Transacción FACTURA se controlará
automáticamente si el valor ingresado en la clave foránea ClienteID ya existe como clave primaria de un
registro en la tabla Cliente. Para realizar esta búsqueda con eficiencia, se usa el índice primario ClienteID de
la tabla Cliente.
El control de integridad referencial valida que un atributo ingresado (por ejemplo, ClienteID en una Factura)
es válido, pero no proporciona información sobre cuáles son los valores válidos. Para facilitar la búsqueda de
los valores válidos, GeneXus crea objetos Lista de Selección (prompts) que muestran el grupo completo de
valores válidos para elegir los que correspondan.
Página | 28
PARTE 3: Mantenimiento
Tiempo estimado: 15 minutos
A medida que la realidad cambia, los requerimientos del sistema evolucionan y esto
se traduce en cambios en los objetos GeneXus y/o nuevos objetos. Con base a los
nuevos objetos, GeneXus actualizará su base de datos automáticamente (creando
! un nuevo esquema de base de datos y migrando los datos del viejo esquema al
nuevo) y regenerará los programas de la aplicación que deban ser modificados.
Decimos que la Metodología GeneXus es incremental porque se basa en la
presunción de que el desarrollo del sistema es un proceso iterativo que pasa por
sucesivas aproximaciones. El desarrollo incremental es posible porque GeneXus
pude mantener el esquema de su base de datos y los programas de su aplicación
automáticamente.
Página | 29
1. Cree la transacción Producto siguiendo el Paso 3: Creación de un Objeto Transacción y el
Paso 4: Descripción de la Estructura de la Transacción . Inserte los siguientes atributos en
la Estructura de la Transacción Producto:
Notará que tan pronto como empiece a escribir estos nombres de atributo, GeneXus le
indicará el nombre completo. Esto sucede porque estos atributos ya están definidos en su
Base de Conocimiento.
Página | 30
Paso 15: Análisis y reorganización de la BD
Cuando usted salve su objeto Transacción Product, GeneXus normalizará el modelo de datos
nuevamente. La revisión del modelo de datos revela que GeneXus ha normalizado
automáticamente el modelo de datos moviendo los atributos ProductoNombre y ProductoPrecio
desde la tabla FacturaProducto (Detalle de Factura) a la nueva tabla Producto.
Figura: Listado de Base de Datos (Modelo de Datos) para FacturaProducto y tablas Producto
1. Seleccione Reorganize.
Página | 31
3. ¡Ahora es tiempo de ejecutar su
aplicación!
Página | 32
PARTE 4: Agregando funcionalidad
Patterns o Patrones
! Son acciones similares aplicadas a distintos elementos. Los patrones permiten crear
automáticamente todos los objetos necesarios para cumplir la funcionalidad
especificada, evitando que deba realizarse en forma manual.
Página | 33
6. Ejecute la aplicación
FELICITACIONES!
Usted ha creado con éxito su primera aplicación con GeneXus.
Nuestro próximo paso es brindarle mayor información sobre las cosas que pueden realizarse con
GeneXus.
Página | 34
PARTE 5: Multiplataforma–Smart
Devices
Desarrollo Multiplataforma
GeneXus es una herramienta que permite generar aplicaciones de misión crítica en
múltiples plataformas. Una vez que ha generado y ejecutado una aplicación en uno de
esos ambientes, generar y ejecutar la misma aplicación en el otro ambiente es tan
simple como definir un nuevo ambiente.
Una ventaja del nuevo generador es que GeneXus se encarga de generar la aplicación
para las diferentes plataformas: Android o iOS.
ClientePhone
Observe que los tipos asociados a cada atributo, serán inferidos a partir de Dominios pre-
existentes dentro de GeneXus(Email,Image,Phone).
Página | 35
2.- Regresemos nuevamente a la sección de Patterns en la parte inferior de la transacción.
3.- Una vez situados en esta sección, buscamos el tab que denominamos “Work With for
Smart Devices”. Y marcamos el check box de la parte superior izquierda. Guardamos el objeto.
4.- Nuestro siguiente objeto a crear, definirá el punto de entrada de la aplicación móvil, en otras
palabras estaremos armando el menú de la aplicación para el dispositivo. Para ello, definiremos
un nuevo objeto denominado Dashboarad y lo llamaremos “Menu”.
5.- Ahora definiremos los elementos con que contara este menú, para ello agregamos un nuevo
ítem a el dashboard Menu.
Página | 36
6.- En la ventana emergente que se despliega, seleccionamos el objeto hacia el cual queremos
enlazar, en nuestro caso “WorkWithDevicesCliente”.
Página | 37
8.- Configure este objeto Dashboard como Startup Object, para ello seleccione la pestaña Menú
Click derecho “set as Startup Object”.
9.- Dentro del Knowledge Base Navigator Preferences, seleccionamos el nuevo generador
(SmartDevices) que se ha creado y vamos a sus propiedades.
Página | 38
En la sección denominada Android SDK Directory debemos especificar el Path completo hacia
la ruta de instalación del SDK de Google. NOTA: si trabaja en la nube no es necesario
especificarlo.
10.- Activar el tema Simple Android dentro del KB Explorer nodo Customization -> Themes -
> Simple Android.
11.- Ahora podemos ejecutar la aplicación presionando F5, podemos ver en la ventana de
output como se empieza a generar el código correspondiente a la aplicación para Android.
Página | 39
12.- Al término de la compilación, se lanzara el emulador de Android y se desplegara la
aplicación dentro de él.
12.- Podemos acceder a la sección de cliente y verificar que los clientes que dimos de
alta se encuentren listados.
Página | 40
13.- Desde este punto podemos manipular la información directamente desde el
dispositivo,
ALTA
Menu Insert/Agrega
Página | 41
En un dispositivo móvil, el término Tap es equivalente al click del mouse en
! una PC, el cual nos permite seleccionar opciones e interactuar con la
aplicación.
Consulta/Modificación
Eliminación
Menu Delete/Eliminar
Página | 42
PARTE 6: Live Editing
Live Editing es la forma revolucionaria de diseñar aplicaciones con GeneXus: cambia la forma de
trabajar con las aplicaciones y permite establecer una conexión bidirectional entre el dispositivo
en el cual se está ejecutando la aplicación y GeneXus, permitiendo realizar cambios ejecutables
en el dispositivo, por el ejemplo cambios de User interface (UI) y User experience (UX).
2. Aparecerá del lado izquierdo del IDE una ventana Live Editing. Dar clic derecho sobre el
Dashboard -> Run with this only para activar el Live Inspector.
Página | 43
3. Observe cómo se ven las distintas capas 3D al navegar por la aplicación.
4. A continuación realice los siguientes cambios, es importante que note cómo cada cambio
realizado en GeneXus se replica en el emulador. TIP: Colocar el IDE de GeneXus y el emulador a
manera que ambos se puedan observar en pantalla.
Página | 44
Agregue una fila inferior de 10dip para dar una separación entre las personas listadas.
Haga clic en el emulador en el registro de una persona para avanzar. Note en el Live
Inspector como se actualiza la pantalla para reflejar ahora la ventana correspondiente.
Página | 45
Regrese a la instancia del pattern WorkWithDevicesCliente y diríjase al nodo Sección
General. Agregue una columna a la izquierda de 5% (Insert Column before) y otra a la
derecha de 5% (Insert Column after), para esto modifique la propiedad Column Style.
Ahora cambiaremos los colores por defecto a la aplicación, para ello usaremos el tema
Carmine.
Diríjase al Live Inspector dentro del detalle del cliente. Seleccione la capa Main Table y
entre a la Clase TableSection. Cambie la propiedad Background color por el valor
#CDCDCD.
Página | 46
Ahora seleccione la capa donde están desplegados los datos del cliente y modifique la
clase Texblock en su propiedad ForeColor con el valor #222325.
Página | 47
Seleccionando la misma capa, ahora damos clic en la clase Attribute para modificar el
valor de la propiedad Forecolor a #818181.
Para finalizar dentro de las mismas propiedades del Tab colocar el valor #D85F98 para
la propiedad Tab Stirp Indicator Color.
Página | 48
Observe el resultado final de los cambios que se han realizado sin guardar ni especificar
nada.
Página | 49
Resumen
Esperamos que este tutorial le haya permitido experimentar las funcionalidades y beneficios
claves de GeneXus:
Comenzamos por crear una Base de Conocimiento y describir los requerimientos de datos de
nuestra aplicación como una serie de componentes del negocio llamados Objetos Transacción en
el Modelo de Diseño de la Base de Conocimiento. GeneXus usó esta información para inferir el
modelo de datos óptimo (3era forma normal) requerido para soportar todas sus Transacciones.
También agregamos algunas reglas del negocio en las que GeneXus se basó para generar el
código de la lógica del negocio de la aplicación.
Elegimos una plataforma de ejecución específica (Web, lenguaje de programación, DBMS, etc.) y
creamos un Modelo donde GeneXus generó automáticamente una base de datos física con el
modelo de datos del Modelo de Diseño.
Generamos el código fuente para los programas de nuestra aplicación y probamos la aplicación
en el ambiente de prototipo.
Mantenimiento de la Aplicación
Hemos visto lo sencillo que es mantener/expandir una aplicación, simplemente editando los
objetos GeneXus existentes y/o agregando nuevos, y luego GeneXus actualiza la base de datos y
regenera los programas de la aplicación en forma automática.
Hemos proporcionado una visión general sobre qué son los procedimientos independientemente
de la estructura de la base de datos de la aplicación.
Desarrollo Multi-plataforma
Página | 50
FAQ
Si, en GeneXus existe una herramienta (DBRET: Data Base Reverse Engineering) que permite
realizar el acceso a BD existentes en distintas tecnologías.
Página | 51
Dada una tabla base, su tabla extendida es el grupo de atributos que son directa o
indirectamente determinados por la clave de la tabla base:
Para encontrar la tabla extendida de una tabla dada se puede usar el Diagrama de Bachmann
del modelo de datos de la base de conocimiento:
En este ejemplo, podemos identificar la tabla extendida de cada una de las tablas de nuestro
proyecto:
El comando “For Each” es el corazón del lenguaje de procedimientos usado por GeneXus para
definir reportes y procedimientos. Recupera y actualiza información (mediante procedimientos
online) desde su base de datos.
Con el comando For Each usted puede definir la información a la que desea acceder y nombrar
los atributos que desea usar. GeneXus inferirá automáticamente las tablas apropiadas en tiempo
Página | 52
de generación. Cuando la estructura de la base de datos cambie, las definiciones del For Each
permanecerán válidas.
Cada comando For Each tiene una tabla de modelo de datos asociada que será navegada. Está
compuesto de la tabla base del For Each y su tabla extendida (las tablas que GeneXus
necesita para buscar los atributos mencionados en el comando).
Las tablas que serán accedidas son determinadas por los atributos contenidos en el
comando For Each.
Para este grupo de atributos, GeneXus inferirá la mínima tabla extendida.
La tabla base de este grupo de atributos será la tabla base del For Each.
Página | 53
Contactos y Recursos
La Comunidad GeneXus
La Comunidad GeneXus le brinda diversas formas de obtener respuestas a sus preguntas y
soluciones a sus problemas, así como también oportunidades para compartir sus propias
experiencias. Encontrará una lista completa de los recursos disponibles de la Comunidad en
http://www.genexus.com/community/
Soporte
GeneXus ofrece una amplia variedad de servicios y recursos de soporte:
Visite http://www.genexus.com/support/
Como Comprar
Las Tecnologías GeneXus se venden a través de la red de distribuidores en todo el mundo.
Links recomendados
Web site: http://www.genexus.com/mx
Tutoriales: training.genexus.com
Laboratorio práctico de GeneXus 15: http://training.genexus.com/genexus/curso-
genexus-15
Comunidad GeneXus: http://www.genexus.com/community
Página | 54