COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 7 1COMP9321, 15s2, Week 7
Design Patterns 2 COMP9321, 15s2, Week 7 A pattern is a proven solution to a problem in a context.
Design Patterns 3 COMP9321, 15s2, Week 7 A pattern is a proven solution to a problem in a context. Each pattern expresses a relation between a certain context, a problem, and a solution.
Design Patterns 4 COMP9321, 15s2, Week 7 A pattern is a proven solution to a problem in a context. Each pattern expresses a relation between a certain context, a problem, and a solution. A design pattern represents a solutions to problems that arise when developing a software.
Design Patterns 5 COMP9321, 15s2, Week 7 A pattern is a proven solution to a problem in a context. Each pattern expresses a relation between a certain context, a problem, and a solution. A design pattern represents a solutions to problems that arise when developing a software. Design pattern are granular and applied at different levels such as: Frameworks Subsystems Sub-subsystems
Design Patterns 6 COMP9321, 15s2, Week 7 A pattern is a proven solution to a problem in a context. Each pattern expresses a relation between a certain context, a problem, and a solution. A design pattern represents a solutions to problems that arise when developing a software. Design pattern are granular and applied at different levels such as: Frameworks Subsystems Sub-subsystems Categories include: Design Architectural Analysis Creational Structural Behavioral
Design Patterns 7 COMP9321, 15s2, Week 7 A pattern is a proven solution to a problem in a context. Each pattern expresses a relation between a certain context, a problem, and a solution. A design pattern represents a solutions to problems that arise when developing a software. Design pattern are granular and applied at different levels such as: Frameworks Subsystems Sub-subsystems Categories include: Design Architectural Analysis Creational Structural Behavioral MVC: Model View Controller e.g.
Design Patterns 8 COMP9321, 15s2, Week 7 A pattern is a proven solution to a problem in a context. Each pattern expresses a relation between a certain context, a problem, and a solution. A design pattern represents a solutions to problems that arise when developing a software. Design pattern are granular and applied at different levels such as: Frameworks Subsystems Sub-subsystems Categories include: Design Architectural Analysis Creational Structural Behavioral Gamma et al (Gang of Four) produced a famous book which listed 23 “Design” patterns
J2EE Design Patterns 9 COMP9321, 15s2, Week 7
J2EE Design Patterns 10 COMP9321, 15s2, Week 7
Web Application Architecture 11 COMP9321, 15s2, Week 7
Web Application Architecture 12 COMP9321, 15s2, Week 7
Web Application Architecture 13 COMP9321, 15s2, Week 7
Web Application Architecture 14 COMP9321, 15s2, Week 7
Web Application Architecture 15 COMP9321, 15s2, Week 7
Web Application Layers 16 COMP9321, 15s2, Week 7
J2EE design guidelines: Web tier 17 COMP9321, 15s2, Week 7
J2EE design guidelines: Web tier 18 COMP9321, 15s2, Week 7
Servlet Design Guidelines 19 COMP9321, 15s2, Week 7
Servlet design guidelines: When to use Servlets 20 COMP9321, 15s2, Week 7
Servlet design guidelines: When to use Servlets 21 COMP9321, 15s2, Week 7
JSP Design Guidelines 22 COMP9321, 15s2, Week 7
JSP Design Guidelines 23 COMP9321, 15s2, Week 7
JSP Design Guidelines 24 COMP9321, 15s2, Week 7
JSP Design Guidelines 25 COMP9321, 15s2, Week 7
JSP Design Guidelines 26 COMP9321, 15s2, Week 7
JSP Design Guidelines 27 COMP9321, 15s2, Week 7
JSP Design Guidelines 28 COMP9321, 15s2, Week 7
JSP Design Guidelines 29 COMP9321, 15s2, Week 7
General Guideline for Servlet/JSP/JavaBeans 30 COMP9321, 15s2, Week 7
General Guideline for Servlet/JSP/JavaBeans 31 COMP9321, 15s2, Week 7
General Guideline for Servlet/JSP/JavaBeans 32 COMP9321, 15s2, Week 7
Structuring Web applications Architectural Patterns (MVC) 33 COMP9321, 15s2, Week 7
Structuring Web applications 34 COMP9321, 15s2, Week 7
Structuring Web applications 35 COMP9321, 15s2, Week 7
Structuring Web applications 36 COMP9321, 15s2, Week 7
Model 1 Example 37 COMP9321, 15s2, Week 7
Model 1 Example 38 COMP9321, 15s2, Week 7
Model 1 Example 39 COMP9321, 15s2, Week 7
Model 1 Example 40 COMP9321, 15s2, Week 7
Model 1 Example 41 COMP9321, 15s2, Week 7
Model 1 Example 42 COMP9321, 15s2, Week 7
Model 1 Architecture 43 COMP9321, 15s2, Week 7
MVC Model View Controller 44 COMP9321, 15s2, Week 7
Model 2 Architecture = MVC pattern 45 COMP9321, 15s2, Week 7
Model 2 Architecture = MVC pattern 46 COMP9321, 15s2, Week 7
MVC Components and Roles 47 COMP9321, 15s2, Week 7 MVC can be broken down into three elements: Model - The model represents data and the rules that govern access to and updates of this data. View - The view renders the contents of a model. It specifies exactly how the model data should be presented. Controller - The controller translates the user's interactions with the view into actions that the model will perform.
MVC Components and Roles 48 COMP9321, 15s2, Week 7
Model 2 Architecture = MVC pattern 49 COMP9321, 15s2, Week 7
Model 2 Architecture = MVC pattern 50 COMP9321, 15s2, Week 7
Model 2 Architecture = MVC pattern 51 COMP9321, 15s2, Week 7
Model 2 Architecture = MVC pattern 52 COMP9321, 15s2, Week 7
Case for a centralised controller 53 COMP9321, 15s2, Week 7
Case for a centralised controller 54 COMP9321, 15s2, Week 7
Case for multiple controllers 55 COMP9321, 15s2, Week 7
FrontController Pattern 56 COMP9321, 15s2, Week 7
FrontController Pattern 57 COMP9321, 15s2, Week 7 The Front Controller pattern is a software design pattern. The pattern relates to the design of web applications. It provides a centralized entry point for handling requests. Front controllers are often used in web applications to implement workflows. The front controller may be implemented as a Java object.
FrontController Pattern 58 COMP9321, 15s2, Week 7 The Front Controller pattern is a software design pattern. The pattern relates to the design of web applications. It provides a centralized entry point for handling requests. Front controllers are often used in web applications to implement workflows. The front controller may be implemented as a Java object.
FrontController implementation: Command Design Pattern 59 COMP9321, 15s2, Week 7
Command Design Pattern 60 COMP9321, 15s2, Week 7
Command Design Pattern 61 COMP9321, 15s2, Week 7
Command Design Pattern 62 COMP9321, 15s2, Week 7
Command Design Pattern 63 COMP9321, 15s2, Week 7
Command Design Pattern 64 COMP9321, 15s2, Week 7
Command Design Pattern 65 COMP9321, 15s2, Week 7
Command Design Pattern 66 COMP9321, 15s2, Week 7
Command Design Pattern 67 COMP9321, 15s2, Week 7
Command Design Pattern 68 COMP9321, 15s2, Week 7
Command Design Pattern 69 COMP9321, 15s2, Week 7
Command Design Pattern 70 COMP9321, 15s2, Week 7
Identifying the Command Pattern in the phonebook lab 71 COMP9321, 15s2, Week 7
Implementing the Command Pattern 72 COMP9321, 15s2, Week 7
Typical "Assignment 2" Architecture 73 COMP9321, 15s2, Week 7
Next Week 74 COMP9321, 15s2, Week 7
References 75COMP9321, 15s2, Week 7 Core J2EE patterns, Deepak Alur, John Crupi and Dan Marlks, Prentice Hall Patterns of Enterprise Application Architecture, Martin Fowler, Addison-Wesley
76COMP9321, 15s2, Week 7