OpenI 3.0 Proposed Architecture
High level architecture of OpenI is shown in the Figure 1.1. Application is split into two separate layer – web service layer and client UI layer. Client UI communicates to the server side by consuming well defined service APIs as depicted in figure below.
Figure 1.1 System Diagram
OpenI Web Service API
All the application as well as business logic is implemented in service layer. Based on service type, APIs have been categorized as follows:
- OLAP API
handles the OLAP meta data discovery, query execution, query transformation, etc.
- RDMBS API
handles the RDBMS meta data discovery, query execution, query transformation, etc.
- Data Mining API
handles the data mining model discovery, building and executing models, etc.
-Content Management API
handles Account content (files, images etc) management operations (listing, deleting,copying, uploading, downloading etc)
- Base Services API
handles Administrative (data source, account setting, app settings etc), scheduling , emailing and exporting tasks which are not possible to perform from client UI directly
- Security API
handles user authentication and authorizations. This includes user authentication, role management and user rights assignment
This layering architecture makes our server side implementation completely isolated from the UI part. This will make core service more flexible, testable, scalable and extensible. Apart from this, we can improve the application performance dramatically.
Other advantages of using this architecture: