...
Finally, the hub also contains an authorisation API called "IDM" (Identity Manager) that can be used by other services - such as Connec!™ - to authorise API queries. This is typically the case when users load their Impac!™ dashboard. A session token is enclosed in the query and transmitted through Impac!™ to Connec!™ which then contacts the hub to verify that the provided token (user) has access to the data. While Connec!™ is currently the only service to use the IDM, other services - such as Nex!™ for third party access to the apps - are expected to leverage the IDM in the near future.
3 - Nex!™
Nex!™ is Maestrano's Platform as a Service (PaaS). It has the ability to deploy and host applications on-demand. Some applications such as vTiger, Dolibarr, WordPress cannot be shared by multiple customer at once and require to be individually hosted for each customer. These applications are different from the likes of Ranqx, SignMee and other which have this multi-tenancy ability - cloud service able to handle multiple customers.
Nex!™ allows applications that would usually require to be hosted on-premise - usually on a dedicated server - to be seamlessly requested in the cloud, in a few seconds.
In the background Nex!™ uses powerful orchestration, hosting, routing, monitoring and storage mechanisms to deploy, configure, host, secure and backup these applications. Nex!™ also automatically handles the scalability of its infrastructure by provisioning/removing servers etc.
When a customer requests a new application from a frontend application, this request gets passed to the hub which asks Nex!™ to provision an instance of specific application. Once provisioned, customers can access them like any other Single Sign-On ready application.
4 - Connec!™
Connec!™ is Maestrano's data sharing platform. It seamlessly synchronise data between applications in real-time so that users do not need to re-enter data twice in different applications.
From the outside Connec!™ is an API platform allowing applications to submit data updates when then get propagated to other applications via webhooks. Connec!™ API also feature powerful querying functionalities as well as reporting endpoints - typically used by Impac!™ for aggregated reporting.
Connec!™ also has the ability to synchronise data from external services exposing public APIs (instead of integrating via our SDK). This is typically the case for "Connector Applications" such as QuickBooks or MYOB. Connec!™ runs internal algorithms and synchronisation processes allowing it to detect changes in data and automatically retrieve these changes from these remote services.
From the inside, Connec!™ has powerful API definition and routing capabilities. One can easily configure how data should be shared between applications.
Connec!™ also features audit capabilities. Every transaction inside Connec!™ gets recorded internally, which allows one to easily track changes and rollback transactions if required.
Connec!™ is stateless from an authorisation point of view. Any API query gets authorised by contacting the MnoHub IDM which then handles authorisation. This makes ACL management much easier to maintain from Connec!™ point of view.
5 - Impac!™
Impac!™ is Maestrano's reporting engine and frontend. It allows users, application providers and enterprise customers to retrieve aggregated data from Connec!™ around Finance, HR, Payroll, Sales and more. Data can be either nicely presented to end users using a series of widgets or be directly accessed via API.
Impac!™ is essentially a reporting engine exposed via API. It retrieves data using Connec!™ transactional and aggregated API and runs aggregation/calculation algorithms to extract meaningful summaries and KPIs to be presented to users.
Impac!™ is stateless from an authorisation point of view. Any authorisation header sent to Impac!™ gets delegated to Connec!™ when retrieving data. Connec!™ then delegates authorisation to MnoHub via the IDM.
Impac!™ also features a JavaScript based frontend called "impac-angular". This frontend is directly loaded by the browser and is completely stateless from a data point of view. Impac-Angular is available open source on github under Maestrano's profile.
While Maestrano publicly provides Impac-Angular as a convenient way to display data provided by Impac!™ engine, one could easily choose to implement their own frontend using any technology/framework that they may see fit.
BLA - Overview Diagram
The diagram below show how all components interact together.