Skip to main content

BASIC CONCEPTS OF SPRING MVC IN OPENMRS


To start with, let us first know the basics and understand what is  spring model view controller

 Spring MVC
  It is a Java framework which is used to build web applications. It follows the Model-View-Controller design pattern.



The model here, contains the data of the application.
The view represents the provided information in a particular format.
The controller you can see here, contains the business logic of an application. Here, the @Controller annotation is used to mark the class as the controller.


Also In Spring Web MVC, the DispatcherServlet class works as the front controller. It is responsible to manage the flow of the Spring MVC application.

What is the flow of Spring Web MVC?
Your question is answered below,


As you can see, all the incoming requests are coming through the DispatcherServlet that acts as the front controller. The controller returns an object of ModelAndView. The DispatcherServlet checks the entry of view in the XML file.

Why should you use Spring MVC Framework?
1.      It uses light-weight server to develop your application.
2.      It provides powerful Configuration.
3.      The Spring MVC has a fast development.
4.      It allows you to use reusable business code It is Easy to test. 
5.      It allows flexible mapping.

Now let us understand the Source Code Structure in OpenMRS.
The OpenMRS source code is divided into three main segments:

·         The User Interface (focusing on the presentation)
·         The Service Layer (it layer is responsible for managing the business logic of the application)
·         The Data Access layer (The Data Access layer is an abstraction layer from the actual data model and its changes.)
The reason I introduced you to this structure is, because the User Interface layer for the legacy application is built upon Spring MVC, Direct Web Remoting (DWR), JSP and JavaScript. Spring MVC is used to provide the Model-View-Controller design pattern. For the new reference application user interface, OpenMRS no longer uses Spring MVC, DWR or JSP, but Groovy, JQuery, AngularJS, etc.

Spring MVC | OpenMRS
·         OpenMRS strongly subscribes to the Model-View-Controller pattern.
·         Most controllers included in the OpenMRS core will be SimpleFormControllers 
·         They  be placed in the org.openmrs.web.controller package.
·         The SpringController uses the mappings in the openmrs-servlet.xml file to know which pages are mapping to which Controller.
·         There are no jsp pages that are accessed directly.

If you want to read my information about spring controllers, check out my blog which is all about Spring Controllers : https://mygci19blog.blogspot.com/2019/12/spring-controllers.html




Comments

Popular posts from this blog

Google Code-In 2020 Wrap Up

"You do not need to be a programmer, you don’t have to know how to code at all!" is where it all started.    Google Code-in  ( GCI ) As its name suggests, is an annual programming competition hosted by Google that allows students to complete tasks specified by various open-source organizations. the organization which I chose was - OpenMRS.  What is OpenMRS?  OpenMRS is both a software and a community. It serves as a medical record system (EMR) which is designed for developing countries. OpenMRS follows a principle that information should be stored in a way that makes it easy to summarize and analyze. If you are interested in learning more about the OpenMRS community, you may go  here  and know more about it. If one would ask me to define OpenMRS in one line, it would be "we write code for humans first and then computers." as their main motto is to save lives.  My interactions in OpenMRS My interaction with OpenMRS ...

Spring Boot or Plain Spring?

In Simple Terminology, Spring Boot = Spring Framework + Embedded HTTP Servers – XML / annotations. Here we don’t need to write any XML Configuration. (the reason it has been subtracted in the above explanation.) So firstly, I am going to talk about some benefits of using spring boot over Plain Spring. 1. It is easier to develop Spring Based applications with Java or Groovy. 2. It reduces lots of development time and increases productivity. 3. It avoids writing lots of boilerplate Code. 4. It is easier to integrate Spring Boot Application with its Spring Ecosystem. 5. It provides Embedded HTTP servers. 6. It provides a lot of options to work with embedded and in-memory Databases. The costs that would be uncured to switch to spring boot in OpenMRS, are – ·         Since we do not have to write the XML configuration in Spring Boot, there would be no value of the XML and a few annotations written using Spring. ·        ...

Cracking the enigma for Microfrontends!

“Software architecture should never be an end goal, but a means to an end” I write this blog from the perspective of an inexperienced learner and hence the language adopted here would be in the layman’s terms making it easier to understand. We begin with the most obvious and important question that one should know the answer to before studying the applications of Micro frontend, i.e.  what is meant by the term Micro frontend.  Micro frontend is basically a term for Self-contained Systems or Frontend Integration for Vertical Systems which simply refer to an idea that considers a website or a web app as a composition of features which are owned by independent teams. Each team has a distinct area of business or mission it cares about and specializes in. A team is cross-functional and develops its features end-to-end, from database to user interface. Now we consider the secondary question:  How would using micro frontend development architecture over the t...