Top Banner
89-211 ADV PROGRAMMING L5 Dudi Landau, CTO CLearForest
20

89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

Oct 16, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

89-211 ADV PROGRAMMING

L5

Dudi Landau, CTO CLearForest

Page 2: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

Agenda

Application Servers

More than basics

Alternatives

AJAX

Page 3: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

ASP.NET, IIS Arch /1

Page 4: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

ASP.NET, IIS Arch /2

Page 5: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

ASP.NET, IIS Arch /3

1. When a client browser initiates an HTTP

request for a resource on the Web

server, HTTP.sys intercepts the request.

2. HTTP.sys contacts WAS to obtain

information from the configuration store.

3. WAS requests configuration information

from the configuration store,

applicationHost.config.

4. WWW Service receives configuration

information, such as application pool

and site configuration.

5. WWW Service uses the configuration

information to configure HTTP.sys.

6. WAS starts a worker process for the

application pool to which the request

was made.

7. The worker process processes the

request and returns a response to

HTTP.sys.

8. The client receives a response.

Page 6: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

ASP.NET, IIS Arch /4

Page 7: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

ASP.NET, IIS Arch /5 (classic/old model)

Page 8: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

ASP.NET, IIS Arch /6 (new model)

Page 9: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

IIS7 configurable stack

IIS7 and Apache

similar configurable stack

Each “site” as a directory

tree with its configuration

XML

Page 10: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

IIS7 configuration view

Page 11: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

J EE App Server

any

http

server

Browser

Containers

EJB Server

Data

JDBC

App Server

Entity

Bean

HOME

REMOTE

Device

HTTP

JVM

HTML, XML

any OS

Servlet

or

JSP

Session

Bean

Context

Security

Transactions

Concurrency

Page 12: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

JSP/ Servlet flow

Page 13: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

JSP Model -1

Page 14: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

JSP Model 2 (MVC)

Page 15: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

J EE Server - vocabulary

Servlet

JSP

WAR

EJB,EAR

Frameworks JFC, Spring Webflow, (and also

Tapestry, Apache Struts)

Page 16: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

Demos

Page 17: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

Alternatives

From scratch using PHP (and others)

CMS publishing (Wordpress,Drupal, Joomla!, Daisy,

Alfresco, Plone)

RoR (Ruby on Rails)

Grails (RoR like done with Groovy based on Java stack)

Django (Python based)

The good/bad & performance

Page 18: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

AJAX & Client side control

How is Client Side Control different

GWT (Google Web Toolkit)

AJAX (Asynchronous Javascript and XML)

Page 19: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

AJAX confusion

(True) Client Side Control AJAX

vs

Server Side Control using AJAX

The major question is who runs the show.

Page 20: 89-210 Adv Programming€¦ · ASP.NET, IIS Arch /3 1. When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys intercepts the request. 2.

Follow-ups

HTML, HTTP & Web Servers

IIS, Apache

J EE

ASP.NET