Your SlideShare is downloading. ×
0
Module 6: MVCThanisa Kruawaisayawan Thanachart Numnonda www.imcinstitute.com
Objectives Introduction of MVC pattern Evolution of Web Application design  architecture     Model 1     Model 2     ...
MVC Pattern              3
Three Logical Layers in a Web         Application: Model   Model (Business process layer)     Models    the data and beh...
Three Logical Layers in a Web            Application: View   View (Presentation layer)     Display   information accordi...
Three Logical Layers in a Web         Application: Controller   Controller (Control layer)     Serves  as the logical co...
Web Applications It is often advantageous to treat each layer  as an independent portion of your  application Do not con...
Evolution of MVC Architecture1.No MVC2.MVC Model 1 (Page-centric)3.MVC Model 2 (Servlet-centric)4.Web application framewor...
Evolution of Web ApplicationDesign until Model 1 Architecture     No MVC   Model 1 architecture                           ...
Model 1 Architecture (Page-centric)               1            Request     JSP               4       pages  BROWSER       ...
Page-centric Architecture   Composed of a series of interrelated JSP pages    – JSP pages handle all aspects of the appli...
Page-centric Architecturememu.jsp      catalog.jsp       checkout.jsp                            dataBase     page–centric...
Page-centric Scenario                                   View                                search.html           Request ...
Model 2 Architecture (Servlet-          centric)                                          MVC Design Pattern             1...
Why Model 2 Architecture?   What if you want to present different JSP    pages depending on the data you receive?     JS...
Servlet-centric Architecture   JSP pages are used only for presentation      Control  and application logic handled by a...
Servlet-centric Scenario                                   View                                search.html           Reque...
Web Application Frameworks Based on MVC Model 2 architecture Web-tier applications share common set of  functionality   ...
Why Web Application Framework?   De-coupling of presentation tier and business logic into separate    components   Provi...
Why Web Application Framework?   Frameworks have evolved with Java Server    technology   JSP/Servlets are still hard to...
Web Application Frameworks Apache Struts JavaServer Faces (JSR-127)     A server side user interface component     fram...
Acknowledgement Most contents are borrowed from thepresentation slides of Sang Shin, Java™Technology Evangelist, Sun Micro...
Thank you   thananum@gmail.comwww.facebook.com/imcinstitute   www.imcinstitute.com                                23
Upcoming SlideShare
Loading in...5
×

Java Web Programming [6/9] : MVC

690

Published on

Presentation for Java Web Programming Course; 2011

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
690
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
64
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Java Web Programming [6/9] : MVC"

  1. 1. Module 6: MVCThanisa Kruawaisayawan Thanachart Numnonda www.imcinstitute.com
  2. 2. Objectives Introduction of MVC pattern Evolution of Web Application design architecture  Model 1  Model 2  Application frameworks 2
  3. 3. MVC Pattern 3
  4. 4. Three Logical Layers in a Web Application: Model Model (Business process layer)  Models the data and behavior behind the business process  Responsible for actually doing  Performing DB queries  Calculating the business process  Processing orders  Encapsulate of data and behavior which are independent of presentation 4
  5. 5. Three Logical Layers in a Web Application: View View (Presentation layer)  Display information according to client types  Display result of business logic (Model)  Not concerned with how the information was obtained, or from where (since that is the responsibility of Model) 5
  6. 6. Three Logical Layers in a Web Application: Controller Controller (Control layer)  Serves as the logical connection between the users interaction and the business services on the back  Responsible for making decisions among multiple presentations  e.g. Users language, locale or access level dictates a different presentation.  A request enters the application through the control layer, it will decide how the request should be handled and what information should be returned 6
  7. 7. Web Applications It is often advantageous to treat each layer as an independent portion of your application Do not confuse logical separation of responsibilities with actual separation of components Some or of the layers can be combined into single components to reduce application complexity 7
  8. 8. Evolution of MVC Architecture1.No MVC2.MVC Model 1 (Page-centric)3.MVC Model 2 (Servlet-centric)4.Web application frameworks  Struts1.Standard-based Web application framework  JavaServer Faces (JSR-127) 8
  9. 9. Evolution of Web ApplicationDesign until Model 1 Architecture No MVC Model 1 architecture 9
  10. 10. Model 1 Architecture (Page-centric) 1 Request JSP 4 pages BROWSER Response 2 Java 3 Bean Servlet Enterprise Container Information Systems (EIS) 10
  11. 11. Page-centric Architecture Composed of a series of interrelated JSP pages – JSP pages handle all aspects of the application - presentation, control, and business process Business process logic and control decisions are hard coded inside JSP pages  in the form of JavaBeans, scriptlets, expression Next page selection is determined by – A user clicking on a hyper link, e.g. <A HERF="find.jsp> – Through the action of submitting a form, e.g. <FORM ACTION="search.jsp"> 11
  12. 12. Page-centric Architecturememu.jsp catalog.jsp checkout.jsp dataBase page–centric catalog application 12
  13. 13. Page-centric Scenario View search.html Request 1 response list.jspClient Model response forward JavaBeans Request 2 Controller Request 3 find.jsp redirect delete.jsp 13
  14. 14. Model 2 Architecture (Servlet- centric) MVC Design Pattern 1 Request (Controller )BROWSER Servlet Redirect 3 In 2 st an tia te 5 (Model) (View) Java Bean Response JSP 4 Servlet Container (EIS) 14
  15. 15. Why Model 2 Architecture? What if you want to present different JSP pages depending on the data you receive?  JSP technology alone even with JavaBeans and custom tags (Model 1) cannot handle it well Solution  Use Servlet and JSP together (Model 2)  Servlet handles initial request, partially process the data, set up beans, then forward the results to one of a number of different JSP pages 15
  16. 16. Servlet-centric Architecture JSP pages are used only for presentation  Control and application logic handled by a servlet (or set of servlets) Servlet serves as a gatekeeper – Provides common services, such as authentication, authorization, login, error handling, and etc Servlet serves as a central controller – Act as a state machine or an event dispatcher to decide upon the appropriate logic to handle the request – Performs redirecting 16
  17. 17. Servlet-centric Scenario View search.html Request 1 response list.jspClient Model response forward JavaBeans Request 2 Controller Request 3 servlet 17
  18. 18. Web Application Frameworks Based on MVC Model 2 architecture Web-tier applications share common set of functionality  Dispatching HTTP requests  Invoking model methods  Selecting and assembling views Provide classes and interfaces that can be used/extended by developers 18
  19. 19. Why Web Application Framework? De-coupling of presentation tier and business logic into separate components Provides a central point of control Provides rich set of features Facilitates unit-testing and maintenance Availability of compatible tools Provides stability Enjoys community-supports Simplifies internationalization Simplifies input validation 19
  20. 20. Why Web Application Framework? Frameworks have evolved with Java Server technology JSP/Servlets are still hard to use Frameworks define re-usable components to make this job easier. A good framework defines how components work to create a usable application. 20
  21. 21. Web Application Frameworks Apache Struts JavaServer Faces (JSR-127)  A server side user interface component framework for JavaTM technology-based web applications Echo Tapestry 21
  22. 22. Acknowledgement Most contents are borrowed from thepresentation slides of Sang Shin, Java™Technology Evangelist, Sun Microsystems,Inc. 22
  23. 23. Thank you thananum@gmail.comwww.facebook.com/imcinstitute www.imcinstitute.com 23
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×