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

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 traditional mon