Introduction

Mifos is currently in the process of changing how the user interface or presentation layer of the application is developed.

Mifos was originally developed using the following technologies:

Technologies aside, the following problems existed for development on Mifos:

The vision for Mifos is to move toward a presentation layer that uses newer technologies and frameworks such as:

Also, to prevent business-logic from leaking out and to decouple the core mifos platform functionality from any client, the mifos presentation layer deals only with Data Transfer Objects (DTOs) (returned from mifos platform application service API's) and UI specific beans. This is enforced by defining presentation layer code in the userInterface module, ServiceFacade interfaces and DTOs in the serviceInterfaces module, and Service Facade implementations in separate domain modules. Since the userInterface module has no dependencies on domain modules compile errors result if domain object leak up into the userInterface module. Only the contract defined by the interfaces and DTOs in the serviceInterfaces module is exposed to the userInterface module.