SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Una Herramienta de
Reporting Reflexiva
Gabriel Omar Cotelli
g.cotelli@mercapsoftware.com
A reflective reporting tool
Agenda
Introducción / Intro
Objetivos / Goals
Documentos y Rendering / DocumentsDocumentos y Rendering / Documents
and Rendering
Editor de Reportes / Report Editor
Trabajo Futuro / Future Work
2
Intro
Introducción
Intro
Mercap
13 años desarrollando sistemas
financieros con Smalltalk
Productos Unitrade y XTrade para el
mercado financieromercado financiero
Desarrollo con metodologías ágiles
4
13 years developing financial systems using
Smalltalk
Unitrade and XTrade products for the financial
market
Agile development
XTrade
Es un sistema financiero complejo
12.951 Clases
729.537 Líneas de Código
16.312 Casos de Test Funcionales16.312 Casos de Test Funcionales
Para un mercado en cambio constante
5
XTrade is a complex financial system
12.951 Classes
729.537 Lines of Code
16.312 Functional Test Cases
Always changing market
Objetivos
Goals
Programación Visual de Reportes
Permitir que un analista funcional pueda generar
reportes
Permitir al cliente hacer modificaciones rápidas a
un reporte
Poder generar los documentos resultantes enPoder generar los documentos resultantes en
varios formatos
7
Visual report programming
Enables a functional analyst to create a report
Helps the customer to make quick changes
Documents must be rendered in several formats
Documentos y
Rendering
Documents and renderingDocuments and rendering
Definiciones de Reportes
Definen la estructura del documento que se va a
generar
Especifican la consulta a evaluar para obtener los
objetos iniciales
Define que variables se podrán utilizar durante la
generación del reporte
Report Definitions
generación del reporte
Son una composición de definiciones de elemento
de un documento
A report definition:
Defines the structure of the document to generate
Specifies which query must be evaluated to get the initial
objects
Defines the variables that can be used in report generation
Is a composition of document element definitions
Definiciones de Elemento del Documento
Elementos que representan una parte del
documento a generar (secciones, tablas,
imágenes, etc)
Elementos programáticos (Envíos de Mensajes,
Asignaciones)
Elementos que trabajan sobre colecciones
(iteración, filtros y transformaciones)
Document element definitions
Elements representing document parts (sections, tables,
images…)
Programmatic elements (Message Sending, Assignment)
Collection related elements (iterations, filters and
transformations)
El Objeto Actual
Inicialmente el contexto de evaluación que se
usa en la generación del reporte tiene como
objeto actual el resultado de evaluar la consulta
especificada.
El mismo se modifica al evaluar un componente
que realiza un envío de mensaje y se reemplaza
Current object
que realiza un envío de mensaje y se reemplaza
con el objeto obtenido como resultado del envío
de mensaje
Initially the evaluation context used during report
generation has as a “current object” the query result
The current object is changed during the evaluation of a
“Message Sending” component and is replaced with the
result of the message sending
Proceso de Generación de un Reporte
Se evalúa la consulta definida y se utiliza como
objeto actual el resultado de la misma
Se evalúan las definiciones de elementos por
orden con el objeto actual
Si la definición es compuesta se evalúan también
las definiciones que la componen
12
Se obtiene finalmente un objeto que representa el
documento Report generation process
The query is evaluated and the result is set as current object
The element definitions are evaluated in order together with
the current object
For composite definitions the children definitions are also
evaluated
Finally an object representing the document is obtained
Rendering
A partir del objeto que representa el documento
se genera el archivo de salida en el formato
seleccionado dependiendo del renderer
implementado
El mismo documento puede renderizarse en
distintos formatos (HTML, Excel, Word, etc.)distintos formatos (HTML, Excel, Word, etc.)
13
Based on the object representing the document the
selected renderer generates the output file
The same document can be rendered into several
formats (HTML, Word, Excel, …)
Editor de Reportes
Report EditorReport Editor
Hasta ahora pareciera que no hay
nada nuevo….
15
Until now nothing new….
…vamos a ver un ejemplo en vivo
para entender mejor donde se usa
la capacidad reflexiva de Smalltalk
16
…let’s see a live example
Trabajo Futuro
Future WorkFuture Work
Permitir configurar parámetros arbitrarios del
reporte que no dependan de la consulta elegida
Permitir al usuario “reificar” conjuntos de
colaboraciones para poder reusarlas
posteriormente
Soporte de Drag and Drop
Mejor administración del estilo y presentación
final de los documentos
18
Non query dependent report parameters
Allow the user to reify collaborations for later reuse
Definitions Drag and Drop support
Better document style management
¿Preguntas?
Questions?
¡Gracias!
Thanks!Thanks!

Más contenido relacionado

Similar a A Reflective Reporting Tool / Una Herramienta de Reporting Reflexiva

Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Luis Fernando Aguas Bucheli
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxLuis Fernando Aguas Bucheli
 
Microsoft proyect
Microsoft proyectMicrosoft proyect
Microsoft proyectChinoRicky
 
Microsoft proyect
Microsoft proyectMicrosoft proyect
Microsoft proyectChinoRicky
 
Dis estructura del_proyecto_del_curso (1)
Dis estructura del_proyecto_del_curso (1)Dis estructura del_proyecto_del_curso (1)
Dis estructura del_proyecto_del_curso (1)SH1N1GAM1
 
Diseño de Interfaces Mediante .NET
Diseño de Interfaces Mediante .NETDiseño de Interfaces Mediante .NET
Diseño de Interfaces Mediante .NETcbrith14
 
Introducción a Business objects
Introducción a Business objectsIntroducción a Business objects
Introducción a Business objectsHermes Romero
 
Comparativa herramientas Business Intelligence
Comparativa herramientas Business IntelligenceComparativa herramientas Business Intelligence
Comparativa herramientas Business IntelligenceStratebi
 
210452 arquitectura-de-software-adrian-lasso
210452 arquitectura-de-software-adrian-lasso210452 arquitectura-de-software-adrian-lasso
210452 arquitectura-de-software-adrian-lassoEpmaps q
 
I1 u1 hector_javier_sánchez_cenobio
I1 u1 hector_javier_sánchez_cenobioI1 u1 hector_javier_sánchez_cenobio
I1 u1 hector_javier_sánchez_cenobioHéctor
 
Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Juan Pablo
 
diseño lógico y diseño físico
diseño lógico y diseño físicodiseño lógico y diseño físico
diseño lógico y diseño físicoerrroman
 

Similar a A Reflective Reporting Tool / Una Herramienta de Reporting Reflexiva (20)

Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
 
Microsoft proyect
Microsoft proyectMicrosoft proyect
Microsoft proyect
 
Microsoft proyect
Microsoft proyectMicrosoft proyect
Microsoft proyect
 
Trabajo de programacion
Trabajo de programacionTrabajo de programacion
Trabajo de programacion
 
Dis estructura del_proyecto_del_curso (1)
Dis estructura del_proyecto_del_curso (1)Dis estructura del_proyecto_del_curso (1)
Dis estructura del_proyecto_del_curso (1)
 
Diseño de Interfaces Mediante .NET
Diseño de Interfaces Mediante .NETDiseño de Interfaces Mediante .NET
Diseño de Interfaces Mediante .NET
 
Introducción a Business objects
Introducción a Business objectsIntroducción a Business objects
Introducción a Business objects
 
Comparativa herramientas Business Intelligence
Comparativa herramientas Business IntelligenceComparativa herramientas Business Intelligence
Comparativa herramientas Business Intelligence
 
210452 arquitectura-de-software-adrian-lasso
210452 arquitectura-de-software-adrian-lasso210452 arquitectura-de-software-adrian-lasso
210452 arquitectura-de-software-adrian-lasso
 
I1 u1 hector_javier_sánchez_cenobio
I1 u1 hector_javier_sánchez_cenobioI1 u1 hector_javier_sánchez_cenobio
I1 u1 hector_javier_sánchez_cenobio
 
Sww clase4
Sww clase4Sww clase4
Sww clase4
 
Sww clase4
Sww clase4Sww clase4
Sww clase4
 
Sww clase4
Sww clase4Sww clase4
Sww clase4
 
Fundamentos basicos de visual basic
Fundamentos basicos de visual basicFundamentos basicos de visual basic
Fundamentos basicos de visual basic
 
Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010
 
Iis04 2007
Iis04 2007Iis04 2007
Iis04 2007
 
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScriptFull-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
 
Moqui framework intro
Moqui framework introMoqui framework intro
Moqui framework intro
 
diseño lógico y diseño físico
diseño lógico y diseño físicodiseño lógico y diseño físico
diseño lógico y diseño físico
 

A Reflective Reporting Tool / Una Herramienta de Reporting Reflexiva

  • 1. Una Herramienta de Reporting Reflexiva Gabriel Omar Cotelli g.cotelli@mercapsoftware.com A reflective reporting tool
  • 2. Agenda Introducción / Intro Objetivos / Goals Documentos y Rendering / DocumentsDocumentos y Rendering / Documents and Rendering Editor de Reportes / Report Editor Trabajo Futuro / Future Work 2
  • 4. Mercap 13 años desarrollando sistemas financieros con Smalltalk Productos Unitrade y XTrade para el mercado financieromercado financiero Desarrollo con metodologías ágiles 4 13 years developing financial systems using Smalltalk Unitrade and XTrade products for the financial market Agile development
  • 5. XTrade Es un sistema financiero complejo 12.951 Clases 729.537 Líneas de Código 16.312 Casos de Test Funcionales16.312 Casos de Test Funcionales Para un mercado en cambio constante 5 XTrade is a complex financial system 12.951 Classes 729.537 Lines of Code 16.312 Functional Test Cases Always changing market
  • 7. Programación Visual de Reportes Permitir que un analista funcional pueda generar reportes Permitir al cliente hacer modificaciones rápidas a un reporte Poder generar los documentos resultantes enPoder generar los documentos resultantes en varios formatos 7 Visual report programming Enables a functional analyst to create a report Helps the customer to make quick changes Documents must be rendered in several formats
  • 8. Documentos y Rendering Documents and renderingDocuments and rendering
  • 9. Definiciones de Reportes Definen la estructura del documento que se va a generar Especifican la consulta a evaluar para obtener los objetos iniciales Define que variables se podrán utilizar durante la generación del reporte Report Definitions generación del reporte Son una composición de definiciones de elemento de un documento A report definition: Defines the structure of the document to generate Specifies which query must be evaluated to get the initial objects Defines the variables that can be used in report generation Is a composition of document element definitions
  • 10. Definiciones de Elemento del Documento Elementos que representan una parte del documento a generar (secciones, tablas, imágenes, etc) Elementos programáticos (Envíos de Mensajes, Asignaciones) Elementos que trabajan sobre colecciones (iteración, filtros y transformaciones) Document element definitions Elements representing document parts (sections, tables, images…) Programmatic elements (Message Sending, Assignment) Collection related elements (iterations, filters and transformations)
  • 11. El Objeto Actual Inicialmente el contexto de evaluación que se usa en la generación del reporte tiene como objeto actual el resultado de evaluar la consulta especificada. El mismo se modifica al evaluar un componente que realiza un envío de mensaje y se reemplaza Current object que realiza un envío de mensaje y se reemplaza con el objeto obtenido como resultado del envío de mensaje Initially the evaluation context used during report generation has as a “current object” the query result The current object is changed during the evaluation of a “Message Sending” component and is replaced with the result of the message sending
  • 12. Proceso de Generación de un Reporte Se evalúa la consulta definida y se utiliza como objeto actual el resultado de la misma Se evalúan las definiciones de elementos por orden con el objeto actual Si la definición es compuesta se evalúan también las definiciones que la componen 12 Se obtiene finalmente un objeto que representa el documento Report generation process The query is evaluated and the result is set as current object The element definitions are evaluated in order together with the current object For composite definitions the children definitions are also evaluated Finally an object representing the document is obtained
  • 13. Rendering A partir del objeto que representa el documento se genera el archivo de salida en el formato seleccionado dependiendo del renderer implementado El mismo documento puede renderizarse en distintos formatos (HTML, Excel, Word, etc.)distintos formatos (HTML, Excel, Word, etc.) 13 Based on the object representing the document the selected renderer generates the output file The same document can be rendered into several formats (HTML, Word, Excel, …)
  • 14. Editor de Reportes Report EditorReport Editor
  • 15. Hasta ahora pareciera que no hay nada nuevo…. 15 Until now nothing new….
  • 16. …vamos a ver un ejemplo en vivo para entender mejor donde se usa la capacidad reflexiva de Smalltalk 16 …let’s see a live example
  • 18. Permitir configurar parámetros arbitrarios del reporte que no dependan de la consulta elegida Permitir al usuario “reificar” conjuntos de colaboraciones para poder reusarlas posteriormente Soporte de Drag and Drop Mejor administración del estilo y presentación final de los documentos 18 Non query dependent report parameters Allow the user to reify collaborations for later reuse Definitions Drag and Drop support Better document style management