Architecture Excellence

MOHR has been designed and architected from day one to fulfill the following non-functional requirements.

  1. High Availability and Reliability
  2. Interoperability: talkative, MOHR is designed to talk with other systems using REST technology
  3. High performance

High Availability, Reliability and Performance

MOHR is a cloud-based application following service-oriented architecture (SOA) principles. This system architecture enables us to scale the system on 3 dimensions of scale cube. As a result of being SOA, the system is optimized into a set of services. Each service can scale horizontally based on the load. This result in a good response time even when the system encounter load spikes such as the load happens at the end of each month because of payroll closing. In Addition, the system can scale vertically to enhance the computation power of provided cores and virtual machines.

Our strong and experienced architecture team uses advanced patterns for load balancing, high availability, and high reliability. We utilized patterns such as load leveling pattern and competing consumer. Load leveling pattern is used to maintain high availability when load spikes happen. While competing consumer pattern guarantees returning to optimal performance in a short period of time. MOHR is cloud based, with these patterns and architecture design approach in mind, MOHR can leverage cloud power for the benefits of its customers. MOHR Database system is based on SQL Azure database. So, unlimited database power with the ability to get benefit of the third dimension of scale cube as SQL Azure enables horizontal data splitting. In Addition to that, MOHR architecture enhancement plans to add the power of NoSQL databases to its ingredients. As a result, we will be able to scale each service alone based on the load it encounters. It is also a kind of data partitioning that enables us to scale correctly based on specific needs.

Interoperability and Integrability

Designed as service allows for easy integration with whatever system outside. Service oriented Architecture is the best Architecture style of talkative system. MOHR can be seen as a service for outside world, Microsoft Dynamic, SAP, Oracle, … Etc. Through its Restful interface, Connectors can be created to instantly integrate with any external system. Data exchange is no longer a problem Integration model uses connectors pattern to enable isolation and securing our client data. Connectors uses Restful Interface with a security layer based on OAuth 2 protocol. This isolation enables providing best protection for our clients’ data, besides enable integrating with any supported protocol of client systems.