Evolución del lenguaje GeneXus

Post on 25-Jun-2015

425 views 3 download

description

Evolución del lenguaje GeneXus

Transcript of Evolución del lenguaje GeneXus

#GX23

Evolución del Lenguaje GeneXus

Gustavo Brown

gusbro@genexus.com

#GX23

Tab Data en Transacciones +Trn Dinámicas

Actualización de Transacciones via Eventos

for each Trn Base

Cláusula Unique

#GX23

Tab Data en Transacciones

#GX23

Tab Data en Transacciones

• Transacción define modelo de la realidad (tiempo de diseño):• Contenedor de datos• Relaciones entre los datos

• Carga de los datos:• Por los usuarios en tiempo de ejecución• Por procedimientos de inicialización• Por procesos batch

#GX23

Tab Data en Transacciones

• Nuevo tab Data en transacciones:• Define un DataProvider para la carga de los datos

• Define el momento de ejecución• Creation Time• Dynamic

• Define políticas de actualización• Read Only• Extensible• Updatable• Event Driven

#GX23

Tab Data en Transacciones

• Momento de ejecución: Creation Time

• Ejemplo: Transacción de Monedas

#GX23

Tab Data en Transacciones

• Momento de ejecución: Creation Time

• Ejemplo: Transacción de Monedas

#GX23

Transacciones Dinámicas

#GX23

Transacciones Dinámicas

• Transacciones con tab Data • Momento de ejecución: Dynamic

• Ejemplo: Transacción de Monedas (lista predefinida)• Política de actualización: ReadOnly

#GX23

Transacciones Dinámicas

• Transacciones con tab Data • Momento de ejecución: Dynamic

• Ejemplo: Transacción de Monedas (lista predefinida)• Política de actualización: ReadOnly

#GX23

Servicio externo como TRN dinámica

• Escenario: Acceso a datos a través de servicios externos

• Permite encapsular la lógica asociada al servicio• Desde GX se accede como cualquier TRN• Permite prototipar la aplicación y luego pasar a

usar servicios externos

• Permite usar distintos puntos de entrada al servicio externo según el tipo de acceso requerido

• Servicios OData pueden importarse directamente

#GX23

Servicio externo como TRN dinámica

• Ejemplo: Clientes como servicio externo

#GX23

Servicio externo como TRN dinámica

• Ejemplo: Clientes como servicio externo

#GX23

Servicio externo como TRN dinámica

• Múltiples puntos de acceso al servicio• Sentencia Match

• Permite identificar qué punto de entrada al servicio usar de acuerdo a los atributos instanciados

• Permite determinar en tiempo de especificación si la consulta se puede realizar

#GX23

Servicio externo como TRN dinámica

#GX23

Relaciones temporales como TRN dinámica

• Escenario: Modelar un valor que cambia con el tiempo

• Ejemplo: Cambio de precio de un producto

• Se desea consultar, dada una fecha, el precio vigente de un producto ( )

#GX23

Relaciones temporales como TRN dinámica

( )

#GX23

Relaciones temporales como TRN dinámica

#GX23

Relaciones de integridad tipo OR

• Escenario: Manejar datos de dos entidades de la misma especie

• Ejemplo: Modelar facturas y recibos

#GX23

Relaciones de integridad tipo OR

#GX23

Agrupación de datos

• Escenario: Agrupación de datos

• Ejemplo: Obtener información sobre ventas mensuales

#GX23

Actualización de Transacciones via Eventos

#GX23

Actualización de Transacciones vía Eventos

• Eventos • Insert• Update• Delete

• Invocados automáticamente al actualizar un BC &BC.Save(), &BC.Delete()

• Permiten realizar actualizaciones en transacciones dinámicas

#GX23

Actualización de Transacciones vía Eventos

• Permiten realizar actualizaciones en transacciones dinámicas• Ejemplo: actualización de TRN accesible vía

servicios

#GX23

Actualización de Transacciones vía Eventos

• Escenario: Agrupación de datos

• Ejemplo: Obtener información sobre ventas mensuales

#GX23

Actualización de Transacciones vía Eventos

• MonthlySales deja de ser dinámica

• Se programan los eventos en la TRN de Invoice

#GX23

for each Trn Base

#GX23

for each Trn Base

• Cláusula opcional en for each/DPs/etc

• Define cual es la TRN a utilizar como tabla base

• Mejora capacidad expresiva del for each

• Mejora la capacidad de comprender KB existentes

#GX23

for each Trn Base

#GX23

for each Trn Base

#GX23

for each Trn Base

#GX23

for each Trn Base

#GX23

Cláusula Unique

#GX23

Cláusula Unique

Ejemplo: Productos alguna vez vendidos

#GX23

Cláusula Unique

Ejemplo: Total facturado por año

Ejemplo: Total facturado por año / cliente

#GX23

Tab Data en Transacciones +Trn Dinámicas

Actualización de Transacciones via Eventos

for each Trn Base

Cláusula Unique

www.genexus.com/encuentro@genexus#GX23

Gustavo Browngusbro@genexus.com

¡GRACIAS!

gusbro@genexus.com

@genexusfacebook.com/genexus.artech

Gustavo Brown