openi_3_0‎ > ‎


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:


handles the OLAP meta data discovery, query execution, query transformation, etc.


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:

  • It can be easily extended as we need to add new feature - add API for the requested feature.

  • Load considerably reduced at the server side.

  • UI is completely isolated and thus gives option to change use some other technology as needed, for eg, UI can be made using JSF, Silverlight, Java Swing/ASP.Net/Windows Form(Native GUI) etc.