1 / 17

The Reporting Engine

The Reporting Engine. Paolo Fabriani Engineering Ingegneria Informatica S.p.A. 2 nd ETICS All Hands Meeting Bologna – Oct 23-25, 2006. Summary. The ETICS Repository Artefacts The Report Engine Overview, Disseminators, Transformers Samples Converters, Aggregators, Pipelines.

fleta
Télécharger la présentation

The Reporting Engine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Reporting Engine Paolo Fabriani Engineering Ingegneria Informatica S.p.A. 2nd ETICS All Hands Meeting Bologna – Oct 23-25, 2006

  2. Summary • The ETICS Repository • Artefacts • The Report Engine • Overview, Disseminators, Transformers • Samples • Converters, Aggregators, Pipelines

  3. The ETICS Repository • The ETICS repository • A Data Management System thtat allows to store, catalog, manipulate, browse, search and delete ETICS artefacts • The ETICS repository contains • Raw Data • Binary Packages (rpm, tgz, msi, deb, zip, ...) • Reports (build reports and logs, test reports, ...) • Metadata and relations among artefacts Repository Service artefact Metadata Raw Data (xml) artefact Metadata Refs To Artefacts

  4. ETICS Artefacts • ETICS Artefact • identifier • metadata • data source: packages, reports, logs, custom output, ... • accessible through URLs Repository Service artefact Metadata url Client (Cmd / Web) Raw Data (tgz)

  5. Scenario • Simple Scenarios • ETICS Raw Artefact available in HTML format • User wants to get it as PDF • Build Log available as XML • Present it as HTML (given a XSL) • Build Artefact stored as TGZ • Download it as ZIP file • Advanced Scenarios • Produce Aggregate statistics from project-wide build logs

  6. Approaches • Attach multiple formats, presentations & processings to each artefact Repository Service artefact Metadata Raw Data (tgz) artefact Metadata Raw Data (zip)

  7. Approaches • Attach multiple formats, presentations & processings to each artefact • Attach parametric transformers to artefact to dynamically produce different formats, presentations & processings • can be reused to manipulate data of the same type • changes to the source format propagate to derived formats • less content is stored in the repository Repository Service artefact Metadata Raw Data (tgz) tgz 2 zip tgz 2 xxx ...

  8. Transformer Disseminators • A Disseminator is a component added to any artefact to produce extended functionality for the artefact • defines a new access points for the artefact beyond accessing to the artefact itself • identifies a concrete trasformer that provides the functionality Repository Service artefact Metadata Raw Data (XML) URL+ params Client (Cmd / Web) PDF Disseminator client interface

  9. PostScript Disseminators (cont’d) • defines a mapping (data & operation) between • the extended access point provided to the artefact (and a number of related artefacts) and • concrete operations & arguments of the transformer • multiple disseminators can be attached to each artefact Repository Service artefact Metadata Raw Data (XML) URL+ params Client (Cmd / Web) client interface PDF Disseminator WS mapping Transformer

  10. Transformers • Implemented as Web Services • invoked using URLs (with args) and replying via HTTP responses • SOAP-based WS • Web Services have a profile describing • endpoint of the service • lists operations • input parameters and output types for each operation • Input/Output can be either simple values (e.g. strings) and artefacts (e.g. jpg images) • Input/Output can be passed by value or reference (e.g. an url to get a zip from the ETICS repository) • Input and outputs can be typed (e.g. MIME types) • used to register the plugin in the system

  11. Dissemination Manager • Dissemination Manager • Registers • Disseminators • Web Services • Defines a mapping between: • Artefact types and disseminators • Artefact instances and disseminators

  12. Characterisation • Initiator • User • via WebApplication or Command Line Interface • The ETICS System • on a scheduled basis or on significant events (e.g. build) • Storage • Persistent (until explicit removal) • e.g. time-consuming report generators could permanently be store the report int the ETICS Repository becoming an artefact itself • Volatile (until user retrieval) • Stored in a per-user or shared workspace outside the repository. Accessible via the ETICS dashboard (MyETICS)

  13. Characterisation • Execution • Synchronous • e.g. for quick, single, transformations • Asynchronous • e.g. for time-consuming/mass reports • Lifetime • Limited • when volatile/async • Indefinite • when persistent

  14. Sample Scenarios • On-demand, synchronous, volatile, format conversion • User asking for a printable version (PDF) of a build report • On-demand, asynchronous, volatile, code analysis • User asking for a project-wide, heavy analysis • Scheduled / Triggered, persistent report generation • ETICS Build System triggering the production of aggregate statistics after a build process

  15. Sample TransformersFormat Converters • Report formatting • E.g. XML -> HTML • Package Format Conversion • e.g. RPM ->tgz • Graphs, Barcharts, Plots ...

  16. Sample TransformersAggregators • IN: build report listing components built for a project • IN: raw quality metrics for each component built • OUT: raw quality metrics for the whole project • OUT: high level quality metrics

  17. Sample TransformersPipelines • composes several transformers in a pipeline • enables rapid development of transformers composing existing ones • can be implemented as a pipeline engine • customized on a specific pipeline definition that • describes the composition of transformers • maps outputs to inputs T1 T2 T4 T3

More Related