OpenMRS Architecture activity
(→Additional Information) |
(→Directions) |
||
Line 23: | Line 23: | ||
Study the architectural diagram and answer the following questions: | 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. | # 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) | (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 client side? | ||
# What technologies are used on the server-side? | # What technologies are used on the server-side? | ||
# What is Spring? (use Google to answer. Include your reference) | # What is Spring? (use Google to answer. Include your reference) | ||
# What is Hibernate? (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? | + | # 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 === | === Deliverable === | ||
* A report including answers | * A report including answers |
Revision as of 15:57, 7 June 2017
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) |
---|---|---|---|---|
Understands what is a Open API and how is different that open source | 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 |
Testing FEMA APIs | No testing | Testing with bad results | Testing with good results | Testing multiple APIs with the correct result |
Create an Android App that retrieves data from a REST API | Did not attempt to create the App | App retrieves data but data is not parsed | App retrieves data and parses the json data | App retrieves data, parses data and displays data |
An interactive interface is develped to display data | Did not attempt to create an interface | Create a limited interface for the app | Create a complete inteface displaying all retrieved data | Create an efficient interface with the ability to search/filter the data |
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