ERP Architecture

ERP is using client-server system where the user interface of the client is web (browser) and the server is in Rackspace Cloud. Most of the requests like validation and compression get completed in client side itself using java-scripts and Ajax but for any request where database access is required the client sends request to server for process. For every process server receives from the client, it opens a new database connection, thus for multiple processes it opens multiple connections. The connection gets closed once the process gets completed but still if the number of connection increases heavily then we manage them using connection polling.

Our educational ERP systems are using 3-tier architecture, thus all applications are between the three layers (a) User Interface, (b) Business/Application Layer and (c) Database. The diagram below displays the 3 layers used in IMSPrime School/ImsLive Institute Management System.

  1.  User Interface– This layer has been used for any kind of user interaction with the ERP basically the client side information. The platform in our User Interface is web.
  2.  Business Layer – All the applications and logics are written in the business layer. This is basically the server side information. Any user request will be sent to business layer from user interface layer. Business layer opens connection for the database access.
  3.  Database – Database contains all the data needed by the application and user interface layer.
  4.  Integration Layer – Addition of this layer will make the application SOA enabled and each module can be reused through web services in external systems.

SaaS Architecture Shift

Educational ERP supports two kinds of SaaS Model

  1.  Single Instance and Shared Database – All the institutions will share the same instance of application and all institutions data will be stored in the same database instance but separated using security mechanism.
  2.  Separate Instance and Separate Database – An institution can be setup on dedicated instance of application using dedicated instance of database but this dedicated cloud setup will be high on cost.