OpenMRS Architecture activity
Title | OpenMRS Architecture case study |
Overview | In this activity students use OpenMRS Architecture as a case study to identify the architecture pattern used and study the components of web architecture. |
Prerequisite Knowledge | Design and architecture |
Learning Objectives |
|
Background
Open-MRS is an open source electronic medical record system (EMR) originally designed for developing countries. Go the open MRS website https://wiki.openmrs.org/display/docs/Technical+Overview and http://write.flossmanuals.net/openmrs-developers-guide/architecture/ . The architectural design of the Open MRS system is described in these pages.
Directions
Study the architectural diagram and answer the following questions:
Part 1: General Architecture
- Identify the basic modules in the architecture. What are the basic components and how do they interact
- What architecture style is used in Open-MRS architecture? Justify your answer.
(Grading criteria: your answer should explain how the Open-MRS architecture satisfies the constraints and rules for the chosen architecture style)
Part 2: Server and client technologies
- What technologies are used on the client side?
- What technologies are used on the server-side?
- What is Spring? (use Google to answer. Include your reference)
- What is Hibernate? (use Google to answer. Include your reference)
- What language is used for server-side programming in OpenMRS?
Part 3: Design Principles
- OpenMRS architecture satisfies design principles such as modularity and information hiding. Explain how does the architecture satisfy these principles?
- Why does the architecture follow design principles ? (Find the answer in the reading)
Deliverable
- A report including answers
Notes for Instructors
Assessment
Criteria | Level 1 (fail) | Level 2 (pass) | Level 3 (good) | Level 4 (exceptional) |
---|---|---|---|---|
Part 1 | Little to no understanding shown; Answers are made up or unrelated; Didn't read material | Limited understanding, showing that they read some, but did not dig very deep | Showed that they have done the readings with limited understanding | Clearly explain the answer to each question with supporting examples |
Part 2 | Little to no understanding shown; Answers are made up or unrelated; Didn't read material | Limited understanding, showing that they read some, but did not dig very deep | Showed that they have done the readings with limited understanding | Clearly explain the answer to each question with supporting examples |
Part 3 | Little to no understanding shown; Answers are made up or unrelated; Didn't read material | Limited understanding, showing that they read some, but did not dig very deep | Showed that they have done the readings with limited understanding | Clearly explain the answer to each question with supporting examples |
Comments
Android Development, JSON data model
Additional Information
ACM Knowledge Area/Knowledge Unit | [1] |
ACM Topic | Software Engineering |
Level of Difficulty | Medium- Challenging |
Estimated Time to Completion | 2 hours |
Materials/Environment | Internet access |
Author | Ruby ElKharboutly |
Source | Ruby ElKharboutly |
License | Creative Commons CC-BY |
Suggestions for the Open Source Project
Suggestions for an open source community member who is working in conjunction with the instructor.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License