COMP9321 Web Application Engineering Semester 2, 2016 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 7 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2445 COMP9321, 16s2, Week 7
Design Patterns A pattern is a proven solution to a problem in a context. COMP9321, 16s2, Week 7
Design Patterns 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. COMP9321, 16s2, Week 7
Design Patterns 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. COMP9321, 16s2, Week 7
Design Patterns 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. Frameworks Subsystems Sub-subsystems Design pattern are granular and applied at different levels such as: COMP9321, 16s2, Week 7
Design Patterns 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. Frameworks Subsystems Sub-subsystems Design pattern are granular and applied at different levels such as: Design Architectural Analysis Creational Structural Behavioral Categories include: COMP9321, 16s2, Week 7
Design Patterns 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. Frameworks Subsystems Sub-subsystems Design pattern are granular and applied at different levels such as: Design Architectural Analysis Creational Structural Behavioral e.g. MVC: Model View Controller Categories include: COMP9321, 16s2, Week 7
Design Patterns 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. Frameworks Subsystems Sub-subsystems Design pattern are granular and applied at different levels such as: Design Architectural Analysis Creational Structural Behavioral Categories include: Gamma et al (Gang of Four) produced a famous book which listed 23 “Design” patterns COMP9321, 16s2, Week 7
J2EE Design Patterns COMP9321, 16s2, Week 7
J2EE Design Patterns COMP9321, 16s2, Week 7
Web Application Architecture COMP9321, 16s2, Week 7
Web Application Architecture COMP9321, 16s2, Week 7
Web Application Architecture COMP9321, 16s2, Week 7
Web Application Architecture COMP9321, 16s2, Week 7
Web Application Architecture COMP9321, 16s2, Week 7
Web Application Layers COMP9321, 16s2, Week 7
J2EE design guidelines: Web tier COMP9321, 16s2, Week 7
J2EE design guidelines: Web tier COMP9321, 16s2, Week 7
Servlet Design Guidelines COMP9321, 16s2, Week 7
Servlet design guidelines: When to use Servlets COMP9321, 16s2, Week 7
Servlet design guidelines: When to use Servlets COMP9321, 16s2, Week 7
JSP Design Guidelines http://www.oracle.com/technetwork/articles/java/servlets-jsp-140445.html COMP9321, 16s2, Week 7
JSP Design Guidelines COMP9321, 16s2, Week 7
JSP Design Guidelines COMP9321, 16s2, Week 7
JSP Design Guidelines Include directive includes the file at translation time; whereas the include action includes the file at runtime. COMP9321, 16s2, Week 7
JSP Design Guidelines COMP9321, 16s2, Week 7
JSP Design Guidelines COMP9321, 16s2, Week 7
JSP Design Guidelines COMP9321, 16s2, Week 7
General Guideline for Servlet/JSP/JavaBeans COMP9321, 16s2, Week 7
General Guideline for Servlet/JSP/JavaBeans COMP9321, 16s2, Week 7
General Guideline for Servlet/JSP/JavaBeans COMP9321, 16s2, Week 7
Structuring Web applications Architectural Patterns (MVC) COMP9321, 16s2, Week 7
Structuring Web applications COMP9321, 16s2, Week 7
Structuring Web applications COMP9321, 16s2, Week 7
Structuring Web applications COMP9321, 16s2, Week 7
Model 1 Example COMP9321, 16s2, Week 7
Model 1 Example COMP9321, 16s2, Week 7
Model 1 Example COMP9321, 16s2, Week 7
Model 1 Example COMP9321, 16s2, Week 7
Model 1 Example COMP9321, 16s2, Week 7
Model 1 Example COMP9321, 16s2, Week 7
Model 1 Architecture COMP9321, 16s2, Week 7
MVC Model View Controller COMP9321, 16s2, Week 7
Model 2 Architecture = MVC pattern COMP9321, 16s2, Week 7
Model 2 Architecture = MVC pattern COMP9321, 16s2, Week 7
MVC Components and Roles 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. http://www.oracle.com/technetwork/articles/javase/index-142890.html COMP9321, 16s2, Week 7
MVC Components and Roles http://www.oracle.com/technetwork/articles/javase/index-142890.html COMP9321, 16s2, Week 7
Model 2 Architecture = MVC pattern COMP9321, 16s2, Week 7
Model 2 Architecture = MVC pattern COMP9321, 16s2, Week 7
Model 2 Architecture = MVC pattern COMP9321, 16s2, Week 7
Model 2 Architecture = MVC pattern COMP9321, 16s2, Week 7
Case for a centralised controller COMP9321, 16s2, Week 7
Case for a centralised controller COMP9321, 16s2, Week 7
Case for multiple controllers COMP9321, 16s2, Week 7
FrontController Pattern COMP9321, 16s2, Week 7
FrontController Pattern 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. COMP9321, 16s2, Week 7
FrontController Pattern 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. COMP9321, 16s2, Week 7
FrontController implementation: Command Design Pattern COMP9321, 16s2, Week 7
Command Design Pattern COMP9321, 16s2, Week 7
Command Design Pattern COMP9321, 16s2, Week 7
Command Design Pattern COMP9321, 16s2, Week 7
Command Design Pattern COMP9321, 16s2, Week 7
Command Design Pattern COMP9321, 16s2, Week 7
Command Design Pattern COMP9321, 16s2, Week 7
Command Design Pattern COMP9321, 16s2, Week 7
Command Design Pattern COMP9321, 16s2, Week 7
Command Design Pattern COMP9321, 16s2, Week 7
Command Design Pattern COMP9321, 16s2, Week 7
Command Design Pattern COMP9321, 16s2, Week 7
Identifying the Command Pattern in the phonebook lab COMP9321, 16s2, Week 7
Implementing the Command Pattern COMP9321, 16s2, Week 7
Typical "Assignment 2" Architecture COMP9321, 16s2, Week 7
Next Week COMP9321, 16s2, Week 7
References Core J2EE patterns, Deepak Alur, John Crupi and Dan Marlks, Prentice Hall Patterns of Enterprise Application Architecture, Martin Fowler, Addison-Wesley http://java.sun.com/blueprints/patterns/ http://www.oracle.com/technetwork/articles/javase/index-142890.html COMP9321, 16s2, Week 7
COMP9321, 16s2, Week 7