Enj has been designed and built based on a modular architecture. Each module works in conjunction with the others to deliver the required results from the clients' standpoint.

All Enj components run off the server through JAVA/ HTML middleware. There is no additional software required at the client side. Enj is not a code generator and business is transacted dynamically based on the information available in the back end database, thus taking care of versioning issues that BPA platforms normally suffer from. Also, since Enj works dynamically, process and interface changes can be made on the fly leading to virtually no downtime once the system is deployed.

In this section, we have listed and explained the various modules and their functionalities.