Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

What is Impac! ?

Impac! is the reporting solution provided by the Maestrano Suite. Its goal is to provide useful data to the end users for them to understand their business better.

...

  • An extensible back-end (Ruby), which lets you determine where to take the data from (Connec!™, internal Data Warehouse, third party APIs, etc...). The back-end is responsible for aggregationg and transforming data into meaningful reports.

  • An open-source front-end library (AngularJS) designed for extensibility and proposing a collection of standardised widgets out of the box. The widgets can be all type of diagrams, charts, tables and figures. This JavaScript library is easy to extend and integrate into your own front-end application.

Interactions with other Components

Most of the components of the Maestrano suite have interactions with Impac!:

  • Mno-Hub stores the settings for all the dashboards, widgets and KPIs. This is also the component that will take care of authenticating the users' requests via the IdM API.

  • Connec!™ is in charge of storing the company data, and to expose standard reports via its API. Connec!™ notifies Impac! in real-time of any data modification so reports displayed are always up to date.

  • Mno-Enterprise serves Impac! Angular in the front-end part of the gem, and also interacts with Mno-Hub to retrieve the display settings.

  • The Connectors don't directly interact with Impac!. Yet, being a source of data for Impac!, you must consider them when developing new widgets.

Caching and Background Computation

To retrieve the data it needs to compute the reports, Impac! uses two modes:

...

By using some caching mechanisms both in Connec!™ and in Impac!, the more recent "push" mode aims to fasten the generation of the reports. The ultimate goal is to have the reports already ready when the user accesses his dashboards.

Ultimately the "pull" mode will disappear and it will no longer be necessary to query Connec! after each notification either. What Impac! will do is to store the aggregated data it needs to calculate the widgets in its own database. This way, by the time a user requests a widget, all the data is already calculated and saved in Impac!, ready to display.

More details on the Background Computation in this article /wiki/spaces/EN/pages/92635234.

Extend Impac! using the Reporting Framework

On its API side, Impac! is separated into several calculation units that we call "Bolts". Each bolt is in charge of producing widgets for a given thematic. For example, we can imagine we have a "Finance" bolt that will calculate profit and loss, balance sheet, or cash flow statement reports. The "HR" bolt will prepare reports related to employees and payroll, and so one.

...

More details on Impac! Angular open-source library here.


When do I need Impac! ?

Impac! is the solution you need if you are looking for an easy way to provide business reporting to your end-users.

...