MVC pattern in java web programming

112

Transcript of MVC pattern in java web programming

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

MVC pattern in java web programming

Aleksandar Kartelj,

Faculty of Mathematics Belgrade

DAAD workshop Ivanjica 6. -11.9.2010

Serbia

September 2010

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Outline

1 Introduction

2 Page controller

3 Front controller

4 Java Struts 1.x

5 ASP.NET

6 Conclusions

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

History

Simple information portals in early nineties

Two major standard for building web apps: ASP.NET and

Apache Struts (along with J2EE framework)

Standard patterns implemented in ASP.NET and Struts have

helped reduce code complexity and accelerate development

times

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

History

Simple information portals in early nineties

Two major standard for building web apps: ASP.NET and

Apache Struts (along with J2EE framework)

Standard patterns implemented in ASP.NET and Struts have

helped reduce code complexity and accelerate development

times

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

History

Simple information portals in early nineties

Two major standard for building web apps: ASP.NET and

Apache Struts (along with J2EE framework)

Standard patterns implemented in ASP.NET and Struts have

helped reduce code complexity and accelerate development

times

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

History

In the early days of the Web, most business Web sites were

simply a form of advertisement

The dot-com revolution showed businesses that they could also

provide online services for their customers.

Early e-commerce Web sites were often powered by Java-based

technologies, including JSPs, EJBs, Servlets, and JDBC; or

Microsoft-based technologies, including ASP, VBScript, MTS,

ADO, COM and COM+.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

History

In the early days of the Web, most business Web sites were

simply a form of advertisement

The dot-com revolution showed businesses that they could also

provide online services for their customers.

Early e-commerce Web sites were often powered by Java-based

technologies, including JSPs, EJBs, Servlets, and JDBC; or

Microsoft-based technologies, including ASP, VBScript, MTS,

ADO, COM and COM+.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

History

In the early days of the Web, most business Web sites were

simply a form of advertisement

The dot-com revolution showed businesses that they could also

provide online services for their customers.

Early e-commerce Web sites were often powered by Java-based

technologies, including JSPs, EJBs, Servlets, and JDBC; or

Microsoft-based technologies, including ASP, VBScript, MTS,

ADO, COM and COM+.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

J2EE standard

In the spring of 1999, Sun released the J2EE standard

Although the front end was well architected and scalable, the

system still broke down because the back-end business logic

The need for more integrated business tools and Web services

became apparent.

This background laid the framework for the pattern revolution

in J2EE.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

J2EE standard

In the spring of 1999, Sun released the J2EE standard

Although the front end was well architected and scalable, the

system still broke down because the back-end business logic

The need for more integrated business tools and Web services

became apparent.

This background laid the framework for the pattern revolution

in J2EE.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

J2EE standard

In the spring of 1999, Sun released the J2EE standard

Although the front end was well architected and scalable, the

system still broke down because the back-end business logic

The need for more integrated business tools and Web services

became apparent.

This background laid the framework for the pattern revolution

in J2EE.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

J2EE standard

In the spring of 1999, Sun released the J2EE standard

Although the front end was well architected and scalable, the

system still broke down because the back-end business logic

The need for more integrated business tools and Web services

became apparent.

This background laid the framework for the pattern revolution

in J2EE.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Model view controller

De�nition

Model View Controller (MVC) is a software architecture, currently

considered an architectural pattern used in software engineering.

The pattern isolates �domain logic�(the application logic for the user)

from input and presentation (UI), permitting independent

development, testing and maintenance of each.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Graphic presentation

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Model

De�nition

The model is used to manage information and notify observers

when that information changes. The model is the domain-speci�c

representation of the data upon which the application operates.

Domain logic adds meaning to raw data (for example, calculating

whether today is the user's birthday, or the totals, taxes, and

shipping charges for shopping cart items). When a model changes

its state, it noti�es its associated views so they can be refreshed.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

View

De�nition

The view renders the model into a form suitable for interaction,

typically a user interface element. Multiple views can exist for a

single model for di�erent purposes. A viewport typically has a one

to one correspondence with a display surface and knows how to

render to it.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Controller

De�nition

The controller receives input and initiates a response by making

calls on model objects. A controller accepts input from the user

and instructs the model and viewport to perform actions based on

that input.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Approach 1

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Approach 2

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Case example - Web Server

The Model is the module which interacts with the database

using for example SQL

The View is the module which generates HTML from the data

The Controller contains all the other functionality of the server

(eg. it decides which page to display, generates dynamic

content, handles session and cookie data, etc.)

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Case example - Web Server

The Model is the module which interacts with the database

using for example SQL

The View is the module which generates HTML from the data

The Controller contains all the other functionality of the server

(eg. it decides which page to display, generates dynamic

content, handles session and cookie data, etc.)

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Case example - Web Server

The Model is the module which interacts with the database

using for example SQL

The View is the module which generates HTML from the data

The Controller contains all the other functionality of the server

(eg. it decides which page to display, generates dynamic

content, handles session and cookie data, etc.)

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Motivation

Controller - View separation. Controller is completely unaware

of the actual output format being used. Various views: html,

pdf, �ash...

Controller - Model separation. Data is stored can be easily

changed without having to modify the Controller or the View.

Di�erent data storage: raw �le, database, xml..

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Motivation

Controller - View separation. Controller is completely unaware

of the actual output format being used. Various views: html,

pdf, �ash...

Controller - Model separation. Data is stored can be easily

changed without having to modify the Controller or the View.

Di�erent data storage: raw �le, database, xml..

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Outline

1 Introduction

2 Page controller

3 Front controller

4 Java Struts 1.x

5 ASP.NET

6 Conclusions

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

MVC in ASP.NET

ASP.NET implements MVC using the Page Controller pattern.

The Page Controller pattern applies the controller at the level

of individual pages.

The ASP.NET runtime intercepts page requests, invokes the

requested actions on the model, and determines the correct

view to use for the resulting page.

The interception and dispatching logic is automated and

hidden from developers

ASP.NET divides each page into two parts: a View that

contains the various controls, and the code-behind

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

MVC in ASP.NET

ASP.NET implements MVC using the Page Controller pattern.

The Page Controller pattern applies the controller at the level

of individual pages.

The ASP.NET runtime intercepts page requests, invokes the

requested actions on the model, and determines the correct

view to use for the resulting page.

The interception and dispatching logic is automated and

hidden from developers

ASP.NET divides each page into two parts: a View that

contains the various controls, and the code-behind

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

MVC in ASP.NET

ASP.NET implements MVC using the Page Controller pattern.

The Page Controller pattern applies the controller at the level

of individual pages.

The ASP.NET runtime intercepts page requests, invokes the

requested actions on the model, and determines the correct

view to use for the resulting page.

The interception and dispatching logic is automated and

hidden from developers

ASP.NET divides each page into two parts: a View that

contains the various controls, and the code-behind

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

MVC in ASP.NET

ASP.NET implements MVC using the Page Controller pattern.

The Page Controller pattern applies the controller at the level

of individual pages.

The ASP.NET runtime intercepts page requests, invokes the

requested actions on the model, and determines the correct

view to use for the resulting page.

The interception and dispatching logic is automated and

hidden from developers

ASP.NET divides each page into two parts: a View that

contains the various controls, and the code-behind

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

MVC in ASP.NET

ASP.NET implements MVC using the Page Controller pattern.

The Page Controller pattern applies the controller at the level

of individual pages.

The ASP.NET runtime intercepts page requests, invokes the

requested actions on the model, and determines the correct

view to use for the resulting page.

The interception and dispatching logic is automated and

hidden from developers

ASP.NET divides each page into two parts: a View that

contains the various controls, and the code-behind

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Page controller scheme

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Eliminate code duplication with BaseController

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Scenario using asp.net page controller

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Bene�ts using page controller pattern

1 Simplicity

2 Built-in framework features

3 Increased reuse

4 Expandability

5 Separation of developer responsibilities

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Bene�ts using page controller pattern

1 Simplicity

2 Built-in framework features

3 Increased reuse

4 Expandability

5 Separation of developer responsibilities

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Bene�ts using page controller pattern

1 Simplicity

2 Built-in framework features

3 Increased reuse

4 Expandability

5 Separation of developer responsibilities

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Bene�ts using page controller pattern

1 Simplicity

2 Built-in framework features

3 Increased reuse

4 Expandability

5 Separation of developer responsibilities

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Bene�ts using page controller pattern

1 Simplicity

2 Built-in framework features

3 Increased reuse

4 Expandability

5 Separation of developer responsibilities

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Liabilities of using page controller pattern

1 One controller per page

2 Deep inheritance trees

3 Dependency on the Web framework

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Liabilities of using page controller pattern

1 One controller per page

2 Deep inheritance trees

3 Dependency on the Web framework

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Liabilities of using page controller pattern

1 One controller per page

2 Deep inheritance trees

3 Dependency on the Web framework

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Outline

1 Introduction

2 Page controller

3 Front controller

4 Java Struts 1.x

5 ASP.NET

6 Conclusions

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

MVC in Struts

The Struts architecture is essentially derived from a

combination of the Front Controller and Intercepting Filter

patterns

Single controller that governs the application events

Filters, for example, the Struts Validator is a �lter that ensures

that the controller receives only validated requests

The controller itself is usually implemented in two parts: a

handler and a hierarchy of commands (Gamma, 1995)

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

MVC in Struts

The Struts architecture is essentially derived from a

combination of the Front Controller and Intercepting Filter

patterns

Single controller that governs the application events

Filters, for example, the Struts Validator is a �lter that ensures

that the controller receives only validated requests

The controller itself is usually implemented in two parts: a

handler and a hierarchy of commands (Gamma, 1995)

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

MVC in Struts

The Struts architecture is essentially derived from a

combination of the Front Controller and Intercepting Filter

patterns

Single controller that governs the application events

Filters, for example, the Struts Validator is a �lter that ensures

that the controller receives only validated requests

The controller itself is usually implemented in two parts: a

handler and a hierarchy of commands (Gamma, 1995)

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

MVC in Struts

The Struts architecture is essentially derived from a

combination of the Front Controller and Intercepting Filter

patterns

Single controller that governs the application events

Filters, for example, the Struts Validator is a �lter that ensures

that the controller receives only validated requests

The controller itself is usually implemented in two parts: a

handler and a hierarchy of commands (Gamma, 1995)

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Front controller scheme

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Front controller - typical scenario

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Scenario using struts front controller

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Bene�ts using front controller pattern

1 Centralized control

2 Thread-safety

3 Con�gurability

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Bene�ts using front controller pattern

1 Centralized control

2 Thread-safety

3 Con�gurability

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Bene�ts using front controller pattern

1 Centralized control

2 Thread-safety

3 Con�gurability

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Liabilities of using front controller pattern

1 Performance considerations

2 Increased complexity

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Liabilities of using front controller pattern

1 Performance considerations

2 Increased complexity

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Outline

1 Introduction

2 Page controller

3 Front controller

4 Java Struts 1.x

5 ASP.NET

6 Conclusions

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Overview

1 Follows MVC architecture

2 Utilizes a centralized servlet controller

3 Multiple business logic adapters, JSP page

4 structs-con�g.xml con�guration �le

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Overview

1 Follows MVC architecture

2 Utilizes a centralized servlet controller

3 Multiple business logic adapters, JSP page

4 structs-con�g.xml con�guration �le

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Overview

1 Follows MVC architecture

2 Utilizes a centralized servlet controller

3 Multiple business logic adapters, JSP page

4 structs-con�g.xml con�guration �le

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Overview

1 Follows MVC architecture

2 Utilizes a centralized servlet controller

3 Multiple business logic adapters, JSP page

4 structs-con�g.xml con�guration �le

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Overview

1 Follows MVC architecture

2 Utilizes a centralized servlet controller

3 Multiple business logic adapters, JSP page

4 structs-con�g.xml con�guration �le

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

M - V - C

The model contains the business logic and interact with the

persistance storage to store, retrive and manipulate data.

Mainly implemented with JavaBeans or EJB components

The view is responsible for dispalying the results back to the

user. Tech: JSP, Struts tags library, Tile framework, XLST etc.

ActionServlet, Action classes (Command design pattern

implementation of the Java Servlet technology).

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

M - V - C

The model contains the business logic and interact with the

persistance storage to store, retrive and manipulate data.

Mainly implemented with JavaBeans or EJB components

The view is responsible for dispalying the results back to the

user. Tech: JSP, Struts tags library, Tile framework, XLST etc.

ActionServlet, Action classes (Command design pattern

implementation of the Java Servlet technology).

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

M - V - C

The model contains the business logic and interact with the

persistance storage to store, retrive and manipulate data.

Mainly implemented with JavaBeans or EJB components

The view is responsible for dispalying the results back to the

user. Tech: JSP, Struts tags library, Tile framework, XLST etc.

ActionServlet, Action classes (Command design pattern

implementation of the Java Servlet technology).

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Work�ow

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Work�ow

1 The ActionServlet receives the request.2 Bundles all the request values into a JavaBean class which

extends Struts ActionForm class.3 Decides which action class to invoke to process the request.4 Validate the data entered by the user.5 After completing the request processing the Action class

returns an ActionForward to the controller.6 The action class process the request with the help of the

model component. The model interacts with the database and

process the request.7 Based on the ActionForward the controller will invoke the

appropriate view.8 The HTTP response is rendered back to the user by the view

component.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Work�ow

1 The ActionServlet receives the request.2 Bundles all the request values into a JavaBean class which

extends Struts ActionForm class.3 Decides which action class to invoke to process the request.4 Validate the data entered by the user.5 After completing the request processing the Action class

returns an ActionForward to the controller.6 The action class process the request with the help of the

model component. The model interacts with the database and

process the request.7 Based on the ActionForward the controller will invoke the

appropriate view.8 The HTTP response is rendered back to the user by the view

component.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Work�ow

1 The ActionServlet receives the request.2 Bundles all the request values into a JavaBean class which

extends Struts ActionForm class.3 Decides which action class to invoke to process the request.4 Validate the data entered by the user.5 After completing the request processing the Action class

returns an ActionForward to the controller.6 The action class process the request with the help of the

model component. The model interacts with the database and

process the request.7 Based on the ActionForward the controller will invoke the

appropriate view.8 The HTTP response is rendered back to the user by the view

component.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Work�ow

1 The ActionServlet receives the request.2 Bundles all the request values into a JavaBean class which

extends Struts ActionForm class.3 Decides which action class to invoke to process the request.4 Validate the data entered by the user.5 After completing the request processing the Action class

returns an ActionForward to the controller.6 The action class process the request with the help of the

model component. The model interacts with the database and

process the request.7 Based on the ActionForward the controller will invoke the

appropriate view.8 The HTTP response is rendered back to the user by the view

component.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Work�ow

1 The ActionServlet receives the request.2 Bundles all the request values into a JavaBean class which

extends Struts ActionForm class.3 Decides which action class to invoke to process the request.4 Validate the data entered by the user.5 After completing the request processing the Action class

returns an ActionForward to the controller.6 The action class process the request with the help of the

model component. The model interacts with the database and

process the request.7 Based on the ActionForward the controller will invoke the

appropriate view.8 The HTTP response is rendered back to the user by the view

component.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Work�ow

1 The ActionServlet receives the request.2 Bundles all the request values into a JavaBean class which

extends Struts ActionForm class.3 Decides which action class to invoke to process the request.4 Validate the data entered by the user.5 After completing the request processing the Action class

returns an ActionForward to the controller.6 The action class process the request with the help of the

model component. The model interacts with the database and

process the request.7 Based on the ActionForward the controller will invoke the

appropriate view.8 The HTTP response is rendered back to the user by the view

component.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Work�ow

1 The ActionServlet receives the request.2 Bundles all the request values into a JavaBean class which

extends Struts ActionForm class.3 Decides which action class to invoke to process the request.4 Validate the data entered by the user.5 After completing the request processing the Action class

returns an ActionForward to the controller.6 The action class process the request with the help of the

model component. The model interacts with the database and

process the request.7 Based on the ActionForward the controller will invoke the

appropriate view.8 The HTTP response is rendered back to the user by the view

component.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Work�ow

1 The ActionServlet receives the request.2 Bundles all the request values into a JavaBean class which

extends Struts ActionForm class.3 Decides which action class to invoke to process the request.4 Validate the data entered by the user.5 After completing the request processing the Action class

returns an ActionForward to the controller.6 The action class process the request with the help of the

model component. The model interacts with the database and

process the request.7 Based on the ActionForward the controller will invoke the

appropriate view.8 The HTTP response is rendered back to the user by the view

component.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

struts-con�g.xml

Contains the details regarding the Actions, ActionForms,

ActionMappings and ActionForwards.

During the startup the ActionServelet reads the

struts-con�g.xml �le and creates a database of con�guration

objects.

Later while processing the request the ActionServlet makes

decision by refering to this object.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

struts-con�g.xml

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Struts 1.x components

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Outline

1 Introduction

2 Page controller

3 Front controller

4 Java Struts 1.x

5 ASP.NET

6 Conclusions

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Example application

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Outline

1 Introduction

2 Page controller

3 Front controller

4 Java Struts 1.x

5 ASP.NET

6 Conclusions

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Page vs Front controller

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Page vs Front controller

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

J2EE vs ASP.NET

As Web applications mature, the need for a robust,

fully-integrated development system increases

Each framework o�ers a wide range of features and bene�ts

for application development.

On a development level, developing with ASP.NET involves

less code than Struts

Many features, such as validation, caching and tracing, are

built into ASP.NET, whereas Struts requires third-party

components

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

J2EE vs ASP.NET

As Web applications mature, the need for a robust,

fully-integrated development system increases

Each framework o�ers a wide range of features and bene�ts

for application development.

On a development level, developing with ASP.NET involves

less code than Struts

Many features, such as validation, caching and tracing, are

built into ASP.NET, whereas Struts requires third-party

components

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

J2EE vs ASP.NET

As Web applications mature, the need for a robust,

fully-integrated development system increases

Each framework o�ers a wide range of features and bene�ts

for application development.

On a development level, developing with ASP.NET involves

less code than Struts

Many features, such as validation, caching and tracing, are

built into ASP.NET, whereas Struts requires third-party

components

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

J2EE vs ASP.NET

As Web applications mature, the need for a robust,

fully-integrated development system increases

Each framework o�ers a wide range of features and bene�ts

for application development.

On a development level, developing with ASP.NET involves

less code than Struts

Many features, such as validation, caching and tracing, are

built into ASP.NET, whereas Struts requires third-party

components

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

J2EE vs ASP.NET

What are the real advantages of using J2EE over ASP.net?

Microsoft sometimes make random changes to their

technology direction, and you have no recourse because you

are locked into a single-vendor solution

Is there anything that cannot be done in ASP.net that can be

done in J2EE?

In J2EE, standards compliance means you can �re any vendor

and replace them with a better, more responsive vendor. Also,

once the frameworks are all in place and con�gured, is it faster

to develop apps in J2EE than it is in .net? No.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

J2EE vs ASP.NET

What are the real advantages of using J2EE over ASP.net?

Microsoft sometimes make random changes to their

technology direction, and you have no recourse because you

are locked into a single-vendor solution

Is there anything that cannot be done in ASP.net that can be

done in J2EE?

In J2EE, standards compliance means you can �re any vendor

and replace them with a better, more responsive vendor. Also,

once the frameworks are all in place and con�gured, is it faster

to develop apps in J2EE than it is in .net? No.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

J2EE vs ASP.NET

What are the real advantages of using J2EE over ASP.net?

Microsoft sometimes make random changes to their

technology direction, and you have no recourse because you

are locked into a single-vendor solution

Is there anything that cannot be done in ASP.net that can be

done in J2EE?

In J2EE, standards compliance means you can �re any vendor

and replace them with a better, more responsive vendor. Also,

once the frameworks are all in place and con�gured, is it faster

to develop apps in J2EE than it is in .net? No.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

J2EE vs ASP.NET

What are the real advantages of using J2EE over ASP.net?

Microsoft sometimes make random changes to their

technology direction, and you have no recourse because you

are locked into a single-vendor solution

Is there anything that cannot be done in ASP.net that can be

done in J2EE?

In J2EE, standards compliance means you can �re any vendor

and replace them with a better, more responsive vendor. Also,

once the frameworks are all in place and con�gured, is it faster

to develop apps in J2EE than it is in .net? No.

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Motivation

Web programming is part of a Software Engineering course on

Faculty of Mathematics in Belgrade

In the past few years page controller concept through asp.net

was preferable

In general .NET technologies were used in this course

Students don't learn java based web programming through this

or any other course

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Motivation

Web programming is part of a Software Engineering course on

Faculty of Mathematics in Belgrade

In the past few years page controller concept through asp.net

was preferable

In general .NET technologies were used in this course

Students don't learn java based web programming through this

or any other course

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Motivation

Web programming is part of a Software Engineering course on

Faculty of Mathematics in Belgrade

In the past few years page controller concept through asp.net

was preferable

In general .NET technologies were used in this course

Students don't learn java based web programming through this

or any other course

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Motivation

Web programming is part of a Software Engineering course on

Faculty of Mathematics in Belgrade

In the past few years page controller concept through asp.net

was preferable

In general .NET technologies were used in this course

Students don't learn java based web programming through this

or any other course

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Final conclusion

Technology shouldn't be discussed. It is much like a matter of

taste

Here, the web programming concept is questioned. Too bad is

that java vendors focused on front controller, and Microsoft on

page controller pattern

In the past few years MS made its own MVC framework

Both concept should be a part of course, so question arise:

Java based MVC framework or still developing asp.net MVC

framework?

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Final conclusion

Technology shouldn't be discussed. It is much like a matter of

taste

Here, the web programming concept is questioned. Too bad is

that java vendors focused on front controller, and Microsoft on

page controller pattern

In the past few years MS made its own MVC framework

Both concept should be a part of course, so question arise:

Java based MVC framework or still developing asp.net MVC

framework?

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Final conclusion

Technology shouldn't be discussed. It is much like a matter of

taste

Here, the web programming concept is questioned. Too bad is

that java vendors focused on front controller, and Microsoft on

page controller pattern

In the past few years MS made its own MVC framework

Both concept should be a part of course, so question arise:

Java based MVC framework or still developing asp.net MVC

framework?

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Final conclusion

Technology shouldn't be discussed. It is much like a matter of

taste

Here, the web programming concept is questioned. Too bad is

that java vendors focused on front controller, and Microsoft on

page controller pattern

In the past few years MS made its own MVC framework

Both concept should be a part of course, so question arise:

Java based MVC framework or still developing asp.net MVC

framework?

IntroductionPage controllerFront controllerJava Struts 1.x

ASP.NETConclusions

Thanks for listening!