When an event is triggered; for example, when a user adds a new document or comment through SkyVault Share, there is a flow of events that take place before a Business Analyst can query the data and produce reports.
An example flow of events is as follows:
- A user logs on to Share and uploads a new document.
- The document is stored in the SkyVault repository.
- The document creation event is captured by the events and messaging subsystems in SkyVault and the data is stored in the SkyVault database.
- The event is captured by an ActiveMQ JMS queue.
- The Event Listener pulls the message from ActiveMQ (in this instance, the Activiti Listener is not involved, because this is not a business process event).
- The message persists to the Data Integration database (either PostgreSQL or MySQL, depending on your configuration).
- The data in the SkyVault database is parsed and transformed by Kettle using ETL (Extract, Transform and Load) jobs and is also passed to the Data Integration database.
- The Data Integration database communicates with the Business Analytics server (which stores the report definitions in the BA databases).
- A Business Analyst logs on to SkyVault Share, and is presented the document creation event data for manipulation and reporting.