SlideShare a Scribd company logo
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME
182
A STUDY OF MVC – A SOFTWARE DESIGN PATTERN FOR WEB
APPLICATION DEVELOPMENT ON J2EE ARCHITECTURE
Vedavyas J 1
, Venkatesulu.S 2
1
Asst. Prof. Department of MCA, BITM,Bellary,VTU
2
Asst. Prof. Department of MCA, BITM,Bellary,VTU
ABSTRACT
The Model-View-Controller design pattern is cited as the architectural basis for many
J2EE web development frameworks. This paper presents an analysis of those changes, and
proposes a separate Web-MVC pattern that more accurately describes how MVC is
implemented in web frameworks. The MVC is very useful for constructing dynamic software
systems. Partitioning decisions can be changed without modifying the application. This paper
brings the conception of Web-Application Partitioning, and programming model that allows
engineers to implement the Model View Controller design pattern in a partition-independent
manner.
Key Words: Model, View, Controller, Framework, Partitioning
1. INTRODUCTION
MVC is the design pattern for the architecture of web applications. Many languages
have implemented the frameworks and adopted them universally. Basics Components of
MVC model.
1. Model: business logic & processing
2. View: user interface
3. Controller: navigation & input
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING
& TECHNOLOGY (IJCET)
ISSN 0976 – 6367(Print)
ISSN 0976 – 6375(Online)
Volume 4, Issue 3, May-June (2013), pp. 182-187
© IAEME: www.iaeme.com/ijcet.asp
Journal Impact Factor (2013): 6.1302 (Calculated by GISI)
www.jifactor.com
IJCET
© I A E M E
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME
183
Fig 1. Generic MVC Structure
MVC Design patter is one of the most fundamental architecture for web applications
like J2EE, .Net, Rails and Struts etc.
J2EE and JSP technologies are the fundamentals for struts 2 framework. This Struct2
framework consists of MVC pattern as follows.
a. User Interface component as views
b. Application logic as Model
c. Control functions as Controller
The view component of strut 2 framework is done by embedding JSP tags which
provides diversified functionalities like flow control, accessing model component and
effectual HTML forms structures. The controller component is corporeal with java classes for
the actions to be implied. Each action has a responsibility to validate user Input and to
engineer transaction processing by invoking appropriate model operations.
The XML configuration file or the java annotation mechanisms are used to outline
and configure the actions. Such information is used to control the flow of web applications by
finding the outcomes of each action. Value stack eliminates much of the tasks involved in
handling HTTP requests and provides the information for JSP to display. It is the key factor
which contains the information between view and controller and converts when needed.
This section describes how the MVC is being represented in the web application
frameworks. It also reflects the evolutionary changes in the web frameworks.
The primary responsibilities of MVC-Web model are:
1. It has to maintain a database for the data persistence
2. It has to execute the application logic that operates on the application state called
transaction processing.
3. It has to manage interactions with external agents such as web services known as
External Interface.
4. It should handle query to provide the information to view and controller elements in
response for queries.
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME
184
The primary responsibilities of the view component are:
1. It is used for information retrieval and display because it displays information to the
user based on the query in the model.
2. It provides input forms and controls for the user to interact with the application.
3. It provides interactive dynamic behavior at the client side for the users.
The primary responsibilities for the MVC-Web Controller are:
1. It receives the incoming request and routes them to appropriate handler.
2. It receives the request parameters and handles the action such as invoking appropriate
model elements.
3. It provides the response for the request depending upon the action invoked.
2. J2EE WEB APPLICATION: AN EXAMPLE ON PARTITIONING
Let us consider the web-application where a client wants o fetch information about a
company’s employees in a simple way by executing two operations.
1. By supplying a name, and clicking on a "search" button, search the employee directory "by
name". The search returns the set of employees that match the search criteria in a format that
displays an abbreviated employee record for each member of the returned set.
2. By clicking on a "details?" button, get detailed information about a specific employee.
Implementation in a stand-alone, single address-space, environment, is straightforward. From
the perspective of the MVC design pattern (see Figure 1):
The Model consists of the records in the employee directory. There are four Views: a
"search" panel; a display of abbreviated information about a set of employee records; a
display of detailed information about a specific employee; and a report that no employees
match the search criteria.
There are two Controllers: one that, given a "search" directive, drives the process of
querying the Model and returns a result set; and one that, given a "details" directive, queries
the Model to get the full set of information about the specified employee. Implementation as
a web-application in a server environment raises the issue of partitioning which is
conceptually irrelevant to, but in practice complicates, the MVC design pattern. Naively, as
there are two Controllers, the application can be implemented in one of four ways. Either
both Controllers execute exclusively on the client or server, or one Controller executes on the
client and the other executes on the server. Each partitioning decision greatly affects the way
that the application is implemented. For example, if both Controllers run on the client (the
"fat-client'' approach), the entire Model must be downloaded to the client -- which is often
impractical. If both Controllers run on the server (the "thin-client'' approach), two round trips
between client and server must be performed each time that the client searches for an
employee and then asks for more detail about that employee.
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME
185
Fig 2. MVC for Employee Record.
In fact, for many environments, either the thin-client or the fat-client is ideal. Instead,
using a dual-MVC approach, we partition the Controllers between the client and server.
Specifically, the "search" Controller executes on the server in association with a Model
consisting of the complete employee directory. However, when returning relatively small sets
of employee records, the Controller also returns the full record for each of the employees, so
that they can be maintained in the client-side Model. The dual-mvc approach allows requests
for detailed employee information to be served by the client, thus eliminating a client/server
interaction. (This implementation is beneficial only when application scenarios typically
consist of a preliminary search for an employee using a "partial name", followed by request
for more information after the specific employee is determined by inspection. Remember:
this is only a motivating example!)
Of course, what we really want is to do avoid partitioning while implementing the
application, since the correct partitioning decision depends on factors that are not necessarily
determined until actual deployment. For example, if the employee directory is relatively
small, the "fatclient" approach with both Controllers executing on the client makes sense and
would provide better performance.
Conversely, if the application is deployed in a "internet" environment in which users
want minimal customization of their environment, the "thin-client'' approach may be the only
solution possible. Delaying application partitioning for as long as possible is even more
attractive because partitioning gets in the way of designing the Views and developing the
business logic needed by the Controllers. Flexible web-application partitioning addresses
these needs. In fact, flexible web-application partitioning goes further, allowing partitioning
decisions to vary dynamically, during application execution.
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME
186
The J2EE programming model explicitly supports the MVC design pattern, and enables
programs executing in MVC mode to execute in a single address space. When deployed,
these programs can be flexibly partitioned without changing the source code used during
smvc development. We refer to such J2EE applications as J2EElications.
III. FUTURE WORK AND CONCLUSION
This paper describes how the partition-independent Model View Controller design
pattern can be used in the intrinsically locution-dependent environment of partitioned
Web-applications. By understanding the scenario flows, the application can be partitioned in
a way that improves performance. In contrast, traditional implementation techniques require
that such analysis be performed only in the design and requirements phase because it is much
too costly to repartition the application once it is deployed. Unfortunately, the necessary
insights can often be made only after the application has been deployed and in production for
some time. In future repartitioning, under fwap, imposes no extra cost; an application can
therefore be readily tuned after deployment based on feedback from actual client use. We are
currently implementing the algorithms and infrastructure needed to enable fwaplications to
scale over non-trivial application Models. We are also working with a customer to validate
the fwap concepts and implementation.
REFERENCES
1.Shuster, J., UIML: AnAppliance-Independent XML User Interface Language, Proceedings
of the Eight International World Wide Web Conference, May, 1999,617-630.
2. Barracuda: Open Source Presentation Framework, http://barracuda.enhydra.org/, 2001.
3. Beck, K., Extreme Programming Explained: Embrace Change (XP Series), Addison-
Wesley Pub Co., 1999.
4. Bennett, B. et al, A distributed object oriented framework to offer transactional support for
long running business processes, IFIPIACM Intemational Conference on Distributed Systems
Platforms and Open Distributed Processing (Middleware 2000).
5. Bergsten, Hans, JavaServer Pages, O'Reilly, 2000.
6. Betz, K., Leff, A., Rayfield, J., Developing Highly-Responsive
User Inte$aces with DHTML and Servlets", Proceedings of the 19th IEEE International
Performance, Computing, and Communications Conference -- IPCCC-2000, 2000.
7. Buschmann, F. et al, Pattern-Oriented Software Architecture:A System of Patterns, John
Wiley and Sons, 1996, 123- 168.
8. Coutaz, J., PAC, An Object-Oriented Model for Dialog Design, Elsevier Science
Publishers, Proceedings of Human-Computer Interaction - INTERACT, 1987,43 1-436.
9. Enterprise JavaBeans Specipcations, http://java.sun.com/products/ejb/docs.html, 2001.
10. JAVA PLUG-IN 1.2 SOFTWARE FAQ, http://java.sun.com/
products/plugin/l.2/plugin.faq.html , 2001.
11. Flanagan, David, JavaScript: The Definitive Guide, 3rd, O'Reilly, 1998.
12. Gray, G and Reuter, A. Transaction Processing: Concepts and Techniques, Morgan
Kaufmann, 1993.
13. JAVA SERVLET TECHNOLOGY IMPLEMENTATIONS & SPECIFICATIONS,
http://java.sun.com/products/servlet/download. html#specs , 2001.
14. Java 2 Platform, Micro Edition (JZME), http://java.sun.com/j2me/, 2001.
International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME
187
15. G.E. Krasner and S.T. Pope, A Cookbook for Using the Model-View-Controller User-
Interface Paradigm in Smalltalk-80, SICS Publication, 26-49, Journal of Object-Oriented
Programming, August/September, 1988.
16. Struts, http://jakarta.apache.org/struts/index.html2, 001.
17. WebW ork, http://sourceforge.net/projects/webwor2k,0 01.
18. S.Manivannan and Dr.S.Balasubramanian, “Animation in J2ee Projects - An Overview”,
International Journal of Graphics and Multimedia (IJGM), Volume 2, Issue 1, 2011,
pp. 12 - 29, ISSN Print: 12 - 29, ISSN Online: 0976 –6456.
19. Pratibha S. Yalagi and Dr. Sulabha S. Apte, “Exploiting Parallelism for a Java Code with
an Efficient Parallelization Technique”, International Journal of Computer Engineering &
Technology (IJCET), Volume 3, Issue 3, 2012, pp. 484 - 489, ISSN Print: 0976 – 6367, ISSN
Online: 0976 – 6375.

More Related Content

What's hot (18)

PDF
MVC Architecture from Maintenance Quality Attributes Perspective
CSCJournals
 
PPT
MVC
akshin
 
PDF
A NOVEL APPROACH FOR EXCEPTION HANDLING IN SOA
cscpconf
 
PPTX
Struts introduction
Muthukumaran Subramanian
 
PPTX
Model view controller (mvc)
icapetillos
 
PDF
Struts presentation
Nicolaescu Petru
 
PDF
MicroStrategy interoperability with Greenplum
BiBoard.Org
 
PPTX
Design patterns fast track
Binu Bhasuran
 
PDF
An approach of software engineering through middleware
IAEME Publication
 
PPT
141060753008 3715301
ITM Universe - Vadodara
 
PDF
2016 state of industrial internet application development
eraser Juan José Calderón
 
PPT
Web engineering - MVC
Nosheen Qamar
 
PPTX
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 
PDF
Model View Controller (MVC)
Javier Antonio Humarán Peñuñuri
 
PPTX
Acrhitecture deisign pattern_MVC_MVP_MVVM
Dong-Ho Lee
 
PPT
J2 ee archi
saurabhshertukde
 
PDF
FUZZY-BASED ARCHITECTURE TO IMPLEMENT SERVICE SELECTION ADAPTATION STRATEGY
ijwscjournal
 
MVC Architecture from Maintenance Quality Attributes Perspective
CSCJournals
 
MVC
akshin
 
A NOVEL APPROACH FOR EXCEPTION HANDLING IN SOA
cscpconf
 
Struts introduction
Muthukumaran Subramanian
 
Model view controller (mvc)
icapetillos
 
Struts presentation
Nicolaescu Petru
 
MicroStrategy interoperability with Greenplum
BiBoard.Org
 
Design patterns fast track
Binu Bhasuran
 
An approach of software engineering through middleware
IAEME Publication
 
141060753008 3715301
ITM Universe - Vadodara
 
2016 state of industrial internet application development
eraser Juan José Calderón
 
Web engineering - MVC
Nosheen Qamar
 
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 
Model View Controller (MVC)
Javier Antonio Humarán Peñuñuri
 
Acrhitecture deisign pattern_MVC_MVP_MVVM
Dong-Ho Lee
 
J2 ee archi
saurabhshertukde
 
FUZZY-BASED ARCHITECTURE TO IMPLEMENT SERVICE SELECTION ADAPTATION STRATEGY
ijwscjournal
 

Viewers also liked (17)

PDF
Cloud print test page
Jader Manhaes
 
PDF
Sul tempo pieno 2
Francesco Errani
 
PDF
Gráfico diario del ibex 35 para el 11 05 2012
Experiencia Trading
 
PPTX
Trabajando con organizador
deliaaymaraes
 
DOC
Informe 509
siemprefm
 
PPT
Cross Selling in DB Group
Mihai Alexe
 
PDF
Dynamic Interface Adaptability in Service Oriented Software
Madjid KETFI
 
PPTX
Presentación1
Elias Gabriel Hernandez Leon
 
PPTX
Diapositivas gestion conocimiento
ce_sarin1970
 
DOCX
Miss opp review new 1
Mohamed Sameralul
 
PDF
Cloud print test page
Jader Manhaes
 
DOCX
приказ о проведении промежуточной аттестации
Елена Исакова
 
PDF
Playing with hierarchies and circles - Experimenting holacracy
Alexandra Lederer
 
DOCX
статьи. выступления.
Елена Исакова
 
PDF
Communote ist Open Source
Communardo GmbH
 
Cloud print test page
Jader Manhaes
 
Sul tempo pieno 2
Francesco Errani
 
Gráfico diario del ibex 35 para el 11 05 2012
Experiencia Trading
 
Trabajando con organizador
deliaaymaraes
 
Informe 509
siemprefm
 
Cross Selling in DB Group
Mihai Alexe
 
Dynamic Interface Adaptability in Service Oriented Software
Madjid KETFI
 
Diapositivas gestion conocimiento
ce_sarin1970
 
Miss opp review new 1
Mohamed Sameralul
 
Cloud print test page
Jader Manhaes
 
приказ о проведении промежуточной аттестации
Елена Исакова
 
Playing with hierarchies and circles - Experimenting holacracy
Alexandra Lederer
 
статьи. выступления.
Елена Исакова
 
Communote ist Open Source
Communardo GmbH
 
Ad

Similar to A study of mvc – a software design pattern for web application development (20)

PDF
MVC Architecture: A Detailed Insight to the Modern Web Applications Developme...
CrimsonpublishersPRSP
 
PDF
IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...
IRJET Journal
 
PDF
MVC
Ravi Bansal
 
PPTX
Introduction to ASP.NET Core MVC and the MVC Pattern.pptx
QuickwayInfoSystems3
 
PDF
IRJET- A Study Focused on Web Application Development using MVC Design Pa...
IRJET Journal
 
PDF
Task 2 - Educational Article – Model View Controller (MVC)
Shubham Goenka
 
PDF
Mvc architecture driven design and agile implementation of a web based softwa...
ijseajournal
 
ODP
Mvc
abhigad
 
PDF
Mvc Architecture in a web based application
OnGraph Technologies Pvt. Ltd.
 
PPTX
Asp.net c# MVC-5 Training-Day-1 of Day-9
AHM Pervej Kabir
 
PPTX
An overview of microsoft mvc dot net
neha sharma
 
PPT
MVC Pattern. Flex implementation of MVC
Anton Krasnoshchok
 
PDF
DESIGN PATTERNS IN THE WORKFLOW IMPLEMENTATION OF MARINE RESEARCH GENERAL INF...
AM Publications
 
PPTX
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
QuickwayInfoSystems3
 
PPTX
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
QuickwayInfoSystems3
 
PPT
Ppt of Basic MVC Structure
Dipika Wadhvani
 
PDF
Modern webtechnologies
Besjan Xhika
 
PPT
Why MVC?
Wayne Tun Myint
 
DOCX
IntroductionToMVC
Akhil Mittal
 
PPT
Asp.net,mvc
Prashant Kumar
 
MVC Architecture: A Detailed Insight to the Modern Web Applications Developme...
CrimsonpublishersPRSP
 
IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...
IRJET Journal
 
Introduction to ASP.NET Core MVC and the MVC Pattern.pptx
QuickwayInfoSystems3
 
IRJET- A Study Focused on Web Application Development using MVC Design Pa...
IRJET Journal
 
Task 2 - Educational Article – Model View Controller (MVC)
Shubham Goenka
 
Mvc architecture driven design and agile implementation of a web based softwa...
ijseajournal
 
Mvc
abhigad
 
Mvc Architecture in a web based application
OnGraph Technologies Pvt. Ltd.
 
Asp.net c# MVC-5 Training-Day-1 of Day-9
AHM Pervej Kabir
 
An overview of microsoft mvc dot net
neha sharma
 
MVC Pattern. Flex implementation of MVC
Anton Krasnoshchok
 
DESIGN PATTERNS IN THE WORKFLOW IMPLEMENTATION OF MARINE RESEARCH GENERAL INF...
AM Publications
 
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
QuickwayInfoSystems3
 
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
QuickwayInfoSystems3
 
Ppt of Basic MVC Structure
Dipika Wadhvani
 
Modern webtechnologies
Besjan Xhika
 
Why MVC?
Wayne Tun Myint
 
IntroductionToMVC
Akhil Mittal
 
Asp.net,mvc
Prashant Kumar
 
Ad

More from IAEME Publication (20)

PDF
IAEME_Publication_Call_for_Paper_September_2022.pdf
IAEME Publication
 
PDF
MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...
IAEME Publication
 
PDF
A STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURS
IAEME Publication
 
PDF
BROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURS
IAEME Publication
 
PDF
DETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONS
IAEME Publication
 
PDF
ANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONS
IAEME Publication
 
PDF
VOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINO
IAEME Publication
 
PDF
IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...
IAEME Publication
 
PDF
VISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMY
IAEME Publication
 
PDF
A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...
IAEME Publication
 
PDF
GANDHI ON NON-VIOLENT POLICE
IAEME Publication
 
PDF
A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...
IAEME Publication
 
PDF
ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...
IAEME Publication
 
PDF
INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...
IAEME Publication
 
PDF
A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...
IAEME Publication
 
PDF
EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...
IAEME Publication
 
PDF
ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...
IAEME Publication
 
PDF
OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...
IAEME Publication
 
PDF
APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...
IAEME Publication
 
PDF
A MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENT
IAEME Publication
 
IAEME_Publication_Call_for_Paper_September_2022.pdf
IAEME Publication
 
MODELING AND ANALYSIS OF SURFACE ROUGHNESS AND WHITE LATER THICKNESS IN WIRE-...
IAEME Publication
 
A STUDY ON THE REASONS FOR TRANSGENDER TO BECOME ENTREPRENEURS
IAEME Publication
 
BROAD UNEXPOSED SKILLS OF TRANSGENDER ENTREPRENEURS
IAEME Publication
 
DETERMINANTS AFFECTING THE USER'S INTENTION TO USE MOBILE BANKING APPLICATIONS
IAEME Publication
 
ANALYSE THE USER PREDILECTION ON GPAY AND PHONEPE FOR DIGITAL TRANSACTIONS
IAEME Publication
 
VOICE BASED ATM FOR VISUALLY IMPAIRED USING ARDUINO
IAEME Publication
 
IMPACT OF EMOTIONAL INTELLIGENCE ON HUMAN RESOURCE MANAGEMENT PRACTICES AMONG...
IAEME Publication
 
VISUALISING AGING PARENTS & THEIR CLOSE CARERS LIFE JOURNEY IN AGING ECONOMY
IAEME Publication
 
A STUDY ON THE IMPACT OF ORGANIZATIONAL CULTURE ON THE EFFECTIVENESS OF PERFO...
IAEME Publication
 
GANDHI ON NON-VIOLENT POLICE
IAEME Publication
 
A STUDY ON TALENT MANAGEMENT AND ITS IMPACT ON EMPLOYEE RETENTION IN SELECTED...
IAEME Publication
 
ATTRITION IN THE IT INDUSTRY DURING COVID-19 PANDEMIC: LINKING EMOTIONAL INTE...
IAEME Publication
 
INFLUENCE OF TALENT MANAGEMENT PRACTICES ON ORGANIZATIONAL PERFORMANCE A STUD...
IAEME Publication
 
A STUDY OF VARIOUS TYPES OF LOANS OF SELECTED PUBLIC AND PRIVATE SECTOR BANKS...
IAEME Publication
 
EXPERIMENTAL STUDY OF MECHANICAL AND TRIBOLOGICAL RELATION OF NYLON/BaSO4 POL...
IAEME Publication
 
ROLE OF SOCIAL ENTREPRENEURSHIP IN RURAL DEVELOPMENT OF INDIA - PROBLEMS AND ...
IAEME Publication
 
OPTIMAL RECONFIGURATION OF POWER DISTRIBUTION RADIAL NETWORK USING HYBRID MET...
IAEME Publication
 
APPLICATION OF FRUGAL APPROACH FOR PRODUCTIVITY IMPROVEMENT - A CASE STUDY OF...
IAEME Publication
 
A MULTIPLE – CHANNEL QUEUING MODELS ON FUZZY ENVIRONMENT
IAEME Publication
 

Recently uploaded (20)

PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 

A study of mvc – a software design pattern for web application development

  • 1. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976- 6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME 182 A STUDY OF MVC – A SOFTWARE DESIGN PATTERN FOR WEB APPLICATION DEVELOPMENT ON J2EE ARCHITECTURE Vedavyas J 1 , Venkatesulu.S 2 1 Asst. Prof. Department of MCA, BITM,Bellary,VTU 2 Asst. Prof. Department of MCA, BITM,Bellary,VTU ABSTRACT The Model-View-Controller design pattern is cited as the architectural basis for many J2EE web development frameworks. This paper presents an analysis of those changes, and proposes a separate Web-MVC pattern that more accurately describes how MVC is implemented in web frameworks. The MVC is very useful for constructing dynamic software systems. Partitioning decisions can be changed without modifying the application. This paper brings the conception of Web-Application Partitioning, and programming model that allows engineers to implement the Model View Controller design pattern in a partition-independent manner. Key Words: Model, View, Controller, Framework, Partitioning 1. INTRODUCTION MVC is the design pattern for the architecture of web applications. Many languages have implemented the frameworks and adopted them universally. Basics Components of MVC model. 1. Model: business logic & processing 2. View: user interface 3. Controller: navigation & input INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) ISSN 0976 – 6367(Print) ISSN 0976 – 6375(Online) Volume 4, Issue 3, May-June (2013), pp. 182-187 © IAEME: www.iaeme.com/ijcet.asp Journal Impact Factor (2013): 6.1302 (Calculated by GISI) www.jifactor.com IJCET © I A E M E
  • 2. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976- 6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME 183 Fig 1. Generic MVC Structure MVC Design patter is one of the most fundamental architecture for web applications like J2EE, .Net, Rails and Struts etc. J2EE and JSP technologies are the fundamentals for struts 2 framework. This Struct2 framework consists of MVC pattern as follows. a. User Interface component as views b. Application logic as Model c. Control functions as Controller The view component of strut 2 framework is done by embedding JSP tags which provides diversified functionalities like flow control, accessing model component and effectual HTML forms structures. The controller component is corporeal with java classes for the actions to be implied. Each action has a responsibility to validate user Input and to engineer transaction processing by invoking appropriate model operations. The XML configuration file or the java annotation mechanisms are used to outline and configure the actions. Such information is used to control the flow of web applications by finding the outcomes of each action. Value stack eliminates much of the tasks involved in handling HTTP requests and provides the information for JSP to display. It is the key factor which contains the information between view and controller and converts when needed. This section describes how the MVC is being represented in the web application frameworks. It also reflects the evolutionary changes in the web frameworks. The primary responsibilities of MVC-Web model are: 1. It has to maintain a database for the data persistence 2. It has to execute the application logic that operates on the application state called transaction processing. 3. It has to manage interactions with external agents such as web services known as External Interface. 4. It should handle query to provide the information to view and controller elements in response for queries.
  • 3. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976- 6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME 184 The primary responsibilities of the view component are: 1. It is used for information retrieval and display because it displays information to the user based on the query in the model. 2. It provides input forms and controls for the user to interact with the application. 3. It provides interactive dynamic behavior at the client side for the users. The primary responsibilities for the MVC-Web Controller are: 1. It receives the incoming request and routes them to appropriate handler. 2. It receives the request parameters and handles the action such as invoking appropriate model elements. 3. It provides the response for the request depending upon the action invoked. 2. J2EE WEB APPLICATION: AN EXAMPLE ON PARTITIONING Let us consider the web-application where a client wants o fetch information about a company’s employees in a simple way by executing two operations. 1. By supplying a name, and clicking on a "search" button, search the employee directory "by name". The search returns the set of employees that match the search criteria in a format that displays an abbreviated employee record for each member of the returned set. 2. By clicking on a "details?" button, get detailed information about a specific employee. Implementation in a stand-alone, single address-space, environment, is straightforward. From the perspective of the MVC design pattern (see Figure 1): The Model consists of the records in the employee directory. There are four Views: a "search" panel; a display of abbreviated information about a set of employee records; a display of detailed information about a specific employee; and a report that no employees match the search criteria. There are two Controllers: one that, given a "search" directive, drives the process of querying the Model and returns a result set; and one that, given a "details" directive, queries the Model to get the full set of information about the specified employee. Implementation as a web-application in a server environment raises the issue of partitioning which is conceptually irrelevant to, but in practice complicates, the MVC design pattern. Naively, as there are two Controllers, the application can be implemented in one of four ways. Either both Controllers execute exclusively on the client or server, or one Controller executes on the client and the other executes on the server. Each partitioning decision greatly affects the way that the application is implemented. For example, if both Controllers run on the client (the "fat-client'' approach), the entire Model must be downloaded to the client -- which is often impractical. If both Controllers run on the server (the "thin-client'' approach), two round trips between client and server must be performed each time that the client searches for an employee and then asks for more detail about that employee.
  • 4. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976- 6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME 185 Fig 2. MVC for Employee Record. In fact, for many environments, either the thin-client or the fat-client is ideal. Instead, using a dual-MVC approach, we partition the Controllers between the client and server. Specifically, the "search" Controller executes on the server in association with a Model consisting of the complete employee directory. However, when returning relatively small sets of employee records, the Controller also returns the full record for each of the employees, so that they can be maintained in the client-side Model. The dual-mvc approach allows requests for detailed employee information to be served by the client, thus eliminating a client/server interaction. (This implementation is beneficial only when application scenarios typically consist of a preliminary search for an employee using a "partial name", followed by request for more information after the specific employee is determined by inspection. Remember: this is only a motivating example!) Of course, what we really want is to do avoid partitioning while implementing the application, since the correct partitioning decision depends on factors that are not necessarily determined until actual deployment. For example, if the employee directory is relatively small, the "fatclient" approach with both Controllers executing on the client makes sense and would provide better performance. Conversely, if the application is deployed in a "internet" environment in which users want minimal customization of their environment, the "thin-client'' approach may be the only solution possible. Delaying application partitioning for as long as possible is even more attractive because partitioning gets in the way of designing the Views and developing the business logic needed by the Controllers. Flexible web-application partitioning addresses these needs. In fact, flexible web-application partitioning goes further, allowing partitioning decisions to vary dynamically, during application execution.
  • 5. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976- 6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME 186 The J2EE programming model explicitly supports the MVC design pattern, and enables programs executing in MVC mode to execute in a single address space. When deployed, these programs can be flexibly partitioned without changing the source code used during smvc development. We refer to such J2EE applications as J2EElications. III. FUTURE WORK AND CONCLUSION This paper describes how the partition-independent Model View Controller design pattern can be used in the intrinsically locution-dependent environment of partitioned Web-applications. By understanding the scenario flows, the application can be partitioned in a way that improves performance. In contrast, traditional implementation techniques require that such analysis be performed only in the design and requirements phase because it is much too costly to repartition the application once it is deployed. Unfortunately, the necessary insights can often be made only after the application has been deployed and in production for some time. In future repartitioning, under fwap, imposes no extra cost; an application can therefore be readily tuned after deployment based on feedback from actual client use. We are currently implementing the algorithms and infrastructure needed to enable fwaplications to scale over non-trivial application Models. We are also working with a customer to validate the fwap concepts and implementation. REFERENCES 1.Shuster, J., UIML: AnAppliance-Independent XML User Interface Language, Proceedings of the Eight International World Wide Web Conference, May, 1999,617-630. 2. Barracuda: Open Source Presentation Framework, http://barracuda.enhydra.org/, 2001. 3. Beck, K., Extreme Programming Explained: Embrace Change (XP Series), Addison- Wesley Pub Co., 1999. 4. Bennett, B. et al, A distributed object oriented framework to offer transactional support for long running business processes, IFIPIACM Intemational Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware 2000). 5. Bergsten, Hans, JavaServer Pages, O'Reilly, 2000. 6. Betz, K., Leff, A., Rayfield, J., Developing Highly-Responsive User Inte$aces with DHTML and Servlets", Proceedings of the 19th IEEE International Performance, Computing, and Communications Conference -- IPCCC-2000, 2000. 7. Buschmann, F. et al, Pattern-Oriented Software Architecture:A System of Patterns, John Wiley and Sons, 1996, 123- 168. 8. Coutaz, J., PAC, An Object-Oriented Model for Dialog Design, Elsevier Science Publishers, Proceedings of Human-Computer Interaction - INTERACT, 1987,43 1-436. 9. Enterprise JavaBeans Specipcations, http://java.sun.com/products/ejb/docs.html, 2001. 10. JAVA PLUG-IN 1.2 SOFTWARE FAQ, http://java.sun.com/ products/plugin/l.2/plugin.faq.html , 2001. 11. Flanagan, David, JavaScript: The Definitive Guide, 3rd, O'Reilly, 1998. 12. Gray, G and Reuter, A. Transaction Processing: Concepts and Techniques, Morgan Kaufmann, 1993. 13. JAVA SERVLET TECHNOLOGY IMPLEMENTATIONS & SPECIFICATIONS, http://java.sun.com/products/servlet/download. html#specs , 2001. 14. Java 2 Platform, Micro Edition (JZME), http://java.sun.com/j2me/, 2001.
  • 6. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976- 6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 3, May – June (2013), © IAEME 187 15. G.E. Krasner and S.T. Pope, A Cookbook for Using the Model-View-Controller User- Interface Paradigm in Smalltalk-80, SICS Publication, 26-49, Journal of Object-Oriented Programming, August/September, 1988. 16. Struts, http://jakarta.apache.org/struts/index.html2, 001. 17. WebW ork, http://sourceforge.net/projects/webwor2k,0 01. 18. S.Manivannan and Dr.S.Balasubramanian, “Animation in J2ee Projects - An Overview”, International Journal of Graphics and Multimedia (IJGM), Volume 2, Issue 1, 2011, pp. 12 - 29, ISSN Print: 12 - 29, ISSN Online: 0976 –6456. 19. Pratibha S. Yalagi and Dr. Sulabha S. Apte, “Exploiting Parallelism for a Java Code with an Efficient Parallelization Technique”, International Journal of Computer Engineering & Technology (IJCET), Volume 3, Issue 3, 2012, pp. 484 - 489, ISSN Print: 0976 – 6367, ISSN Online: 0976 – 6375.