comp9321 web application engineeringcs9321/17s1/lectures/lec07/lec-07.pdf · general guideline for...

75
COMP9321 Web Application Engineering Semester 1, 2017 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 7 1 COMP9321, 17s1, Week 7 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2457

Upload: others

Post on 18-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

COMP9321 Web Application EngineeringSemester 1, 2017

Dr. Amin BeheshtiService Oriented Computing Group, CSE, UNSW Australia

Week 7

1COMP9321, 17s1, Week 7

http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2457

Page 2: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Design Patterns

2COMP9321, 17s1, Week 7

A pattern is a proven solution to a problem in a context.

Page 3: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Design Patterns

3COMP9321, 17s1, 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.

Page 4: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Design Patterns

4COMP9321, 17s1, 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.

Page 5: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Design Patterns

5COMP9321, 17s1, 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:FrameworksSubsystemsSub-subsystems

Page 6: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Design Patterns

6COMP9321, 17s1, 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:FrameworksSubsystemsSub-subsystems

Categories include:

Design Architectural Analysis Creational Structural Behavioral

Page 7: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Design Patterns

7COMP9321, 17s1, 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:FrameworksSubsystemsSub-subsystems

Categories include:

Design Architectural Analysis Creational Structural Behavioral

MVC: Model View Controllere.g.

Page 8: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Design Patterns

8COMP9321, 17s1, 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:FrameworksSubsystemsSub-subsystems

Categories include:

Design Architectural Analysis Creational Structural Behavioral

Gamma et al (Gang of Four) produced a famous book which listed 23 “Design” patterns

Page 9: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

J2EE Design Patterns

9COMP9321, 17s1, Week 7

Page 10: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

J2EE Design Patterns

10COMP9321, 17s1, Week 7

Page 11: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Web Application Architecture

11COMP9321, 17s1, Week 7

Page 12: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Web Application Architecture

12COMP9321, 17s1, Week 7

Page 13: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Web Application Architecture

13COMP9321, 17s1, Week 7

Page 14: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Web Application Architecture

14COMP9321, 17s1, Week 7

Page 15: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Web Application Architecture

15COMP9321, 17s1, Week 7

Page 16: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Web Application Layers

16COMP9321, 17s1, Week 7

Page 17: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

J2EE design guidelines: Web tier

17COMP9321, 17s1, Week 7

Page 18: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

J2EE design guidelines: Web tier

18COMP9321, 17s1, Week 7

Page 19: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Servlet Design Guidelines

19COMP9321, 17s1, Week 7

Page 20: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Servlet design guidelines: When to use Servlets

20COMP9321, 17s1, Week 7

Page 21: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Servlet design guidelines: When to use Servlets

21COMP9321, 17s1, Week 7

Page 22: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

JSP Design Guidelines

22COMP9321, 17s1, Week 7

http://www.oracle.com/technetwork/articles/java/servlets-jsp-140445.html

Page 23: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

JSP Design Guidelines

23COMP9321, 17s1, Week 7

Page 24: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

JSP Design Guidelines

24COMP9321, 17s1, Week 7

Page 25: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

JSP Design Guidelines

25COMP9321, 17s1, Week 7

Include directive includes the file at translation time; whereas the include action includes the file at runtime.

Page 26: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

JSP Design Guidelines

26COMP9321, 17s1, Week 7

Page 27: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

JSP Design Guidelines

27COMP9321, 17s1, Week 7

Page 28: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

JSP Design Guidelines

28COMP9321, 17s1, Week 7

Page 29: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

General Guideline for Servlet/JSP/JavaBeans

29COMP9321, 17s1, Week 7

Page 30: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

General Guideline for Servlet/JSP/JavaBeans

30COMP9321, 17s1, Week 7

Page 31: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

General Guideline for Servlet/JSP/JavaBeans

31COMP9321, 17s1, Week 7

Page 32: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Structuring Web applications

Architectural Patterns

(MVC)

32COMP9321, 17s1, Week 7

Page 33: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Structuring Web applications

33COMP9321, 17s1, Week 7

Page 34: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Structuring Web applications

34COMP9321, 17s1, Week 7

Page 35: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Structuring Web applications

35COMP9321, 17s1, Week 7

Page 36: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Model 1 Example

36COMP9321, 17s1, Week 7

Page 37: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Model 1 Example

37COMP9321, 17s1, Week 7

Page 38: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Model 1 Example

38COMP9321, 17s1, Week 7

Page 39: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Model 1 Example

39COMP9321, 17s1, Week 7

Page 40: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Model 1 Example

40COMP9321, 17s1, Week 7

Page 41: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Model 1 Example

41COMP9321, 17s1, Week 7

Page 42: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Model 1 Architecture

42COMP9321, 17s1, Week 7

Page 43: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

MVC

Model View Controller

43COMP9321, 17s1, Week 7

Page 44: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Model 2 Architecture = MVC pattern

44COMP9321, 17s1, Week 7

Page 45: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Model 2 Architecture = MVC pattern

45COMP9321, 17s1, Week 7

Page 46: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

MVC Components and Roles

46COMP9321, 17s1, 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.

http://www.oracle.com/technetwork/articles/javase/index-142890.html

Page 47: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

MVC Components and Roles

47COMP9321, 17s1, Week 7

http://www.oracle.com/technetwork/articles/javase/index-142890.html

Page 48: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Model 2 Architecture = MVC pattern

48COMP9321, 17s1, Week 7

Page 49: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Model 2 Architecture = MVC pattern

49COMP9321, 17s1, Week 7

Page 50: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Model 2 Architecture = MVC pattern

50COMP9321, 17s1, Week 7

Page 51: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Model 2 Architecture = MVC pattern

51COMP9321, 17s1, Week 7

Page 52: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Case for a centralised controller

52COMP9321, 17s1, Week 7

Page 53: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Case for a centralised controller

53COMP9321, 17s1, Week 7

Page 54: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Case for multiple controllers

54COMP9321, 17s1, Week 7

Page 55: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

FrontController Pattern

55COMP9321, 17s1, Week 7

Page 56: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

FrontController Pattern

56COMP9321, 17s1, 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.

Page 57: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

FrontController Pattern

57COMP9321, 17s1, 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.

Page 58: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

FrontController implementation: Command Design Pattern

58COMP9321, 17s1, Week 7

Page 59: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Command Design Pattern

59COMP9321, 17s1, Week 7

Page 60: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Command Design Pattern

60COMP9321, 17s1, Week 7

Page 61: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Command Design Pattern

61COMP9321, 17s1, Week 7

Page 62: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Command Design Pattern

62COMP9321, 17s1, Week 7

Page 63: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Command Design Pattern

63COMP9321, 17s1, Week 7

Page 64: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Command Design Pattern

64COMP9321, 17s1, Week 7

Page 65: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Command Design Pattern

65COMP9321, 17s1, Week 7

Page 66: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Command Design Pattern

66COMP9321, 17s1, Week 7

Page 67: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Command Design Pattern

67COMP9321, 17s1, Week 7

Page 68: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Command Design Pattern

68COMP9321, 17s1, Week 7

Page 69: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Command Design Pattern

69COMP9321, 17s1, Week 7

Page 70: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Identifying the Command Pattern in the phonebook lab

70COMP9321, 17s1, Week 7

Page 71: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Implementing the Command Pattern

71COMP9321, 17s1, Week 7

Page 72: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Typical "Assignment 2" Architecture

72COMP9321, 17s1, Week 7

Page 73: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

Next Week

73COMP9321, 17s1, Week 7

Page 74: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

References

74COMP9321, 17s1, Week 7

• 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

Page 75: COMP9321 Web Application Engineeringcs9321/17s1/lectures/lec07/Lec-07.pdf · General Guideline for Servlet/JSP/JavaBeans COMP9321, 17s1, Week 7 30. General Guideline for Servlet/JSP/JavaBeans

75COMP9321, 17s1, Week 7