Skip to content
villagereach edited this page Sep 14, 2010 · 6 revisions

This is the logical architecture of the reference component openLMIS as released by VillageReach under the Eclipse Public License. A higher level architecture for openLMIS is under discussion.

The architecture of openLMIS is based on the following principles:

  • always keep in mind ease of deployment and system updates
  • follow mega trends in global computing, especially ubiquity of mobile (convergence) devices, increasingly cloud based solutions, etc.
  • ensure that users are able to easily understand the use case through a strong focus on the user experience
  • provide flexibility of modality for data input and output – don’t strongly marry one modality (i.e. not just SMS, not just smart phone, not just online)

Elements of the logical model

ODK

Open-Data-Kit is a project that has ported the openRosa toolkit to the Android environment and then leveraged many of the native capabilities of that operating system (GPS, image recognition, etc). We leverage the ODK to incorporate smartphone based forms (xforms) so that rich data can be collected “by professional data collector” in the field.

SMS

SMS is the lowest common denominator for a transport layer. By structuring SMS (either through forms or via “cheat sheets”) the openLMIS approach enables updated data to be incorporated into an online application. This is similar to other projects such as RapidSMS.

Offline

openLMIS is one of the few applications currently using HTML5 as a core component. The use of the offline manifest combined with javascripting (firefox 3.6 or later is tested) allows for the application to run completely offline. In many developing countries, the most typical connection is “always potentially available, but never reliably available”. The offline “version” leverages the data model, stylesheets, and logical framework of the online “version”.

Online

Online is a web application based on the typical M-V-C approach of Ruby on Rails.