Web Technologies Basics

Содержание

Слайд 2

Table of Contents Web Sites and Web Applications Web 1.0, 2.0,

Table of Contents

Web Sites and Web Applications
Web 1.0, 2.0, 3.0
Web Browsers
Hardware

Servers
Web Servers
Client-Server Architecture
3-Tier / Multi-Tier Architectures
Service-Oriented Architecture (SOA)
Слайд 3

Web Page Document or information resource that is suitable for the

Web Page

Document or information resource that is suitable for the World

Wide Web
Can be accessed through a web browser and displayed on a monitor or mobile device
This information is usually in HTML or XHTML format, and may provide navigation to other web pages via hypertext links
Web pages frequently refer to other resources such as style sheets (CSS), scripts (JavaScript) and images into their final presentation
Слайд 4

Web Site Collection of related web pages containing web resources (web

Web Site

Collection of related web pages containing web resources (web pages,

images, videos, CSS files, JS files or other digital assets)
Common navigation between web pages
A website is hosted on at least one web server
Accessible via a network (such as the Internet)
All publicly accessible websites collectively constitute the World Wide Web
Слайд 5

Web Application Next level web sites High interactivity High accessibility (Cloud)

Web Application

Next level web sites
High interactivity
High accessibility (Cloud)
AJAX, Silverlight, Flash, Flex,

etc.
Applications are usually broken into logical chunks called "tiers", where every tier is assigned a role
Desktop-like application in the web browser
Web applications on desktop (Windows 8)
Слайд 6

Web Browsers and Layout Engines

Web Browsers and Layout Engines

Слайд 7

Web Browsers Program designed to enable users to access, retrieve and

Web Browsers

Program designed to enable users to access, retrieve and view

documents and other resources from the Web
Main responsibilities:
Bring information resources to the user (issuing requests to the web server and handling any results generated by the request)
Presenting web content (render HTML, CSS, JS)
Capable of executing applications within the same context as the document on view (Flash)
Слайд 8

Layout Engines Software component that displays the formatted content on the

Layout Engines

Software component that displays the formatted content on the screen

combining:
Marked up content (such as HTML, XML, image files, etc.)
Formatting information (such as CSS, XSL, etc.)
It "paints" on the content area of a window, which is displayed on a monitor or a printer
Typically embedded in web browsers, e-mail clients, on-line help systems or other applications that require the displaying (and editing) of web content
Слайд 9

Layout Engines and Web Browsers Trident-based Internet Explorer, Netscape, Maxthon, etc.

Layout Engines and Web Browsers

Trident-based
Internet Explorer, Netscape, Maxthon, etc.
Gecko-based
Firefox, Netscape, SeaMonkey, etc.
Blink-based
Chrome,

Opera
WebKit-based
Old Chrome, Safari, Maxthon, etc.
Presto-based
Old Opera
Слайд 10

User Agent Strings Identify web browsers and their version Can have

User Agent Strings

Identify web browsers and their version
Can have some additional

information like layout engine, user's operating system, etc.
Example:
Web browser: Firefox 7.0.1
Rendering (layout) engine: Gecko/20100101
Operating system: 64-bit Windows 7
WOW64 = Windows-On-Windows 64-bit
Windows NT 6.1 = Windows 7

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

Слайд 11

Hardware Servers Physical computer (a hardware system) dedicated to running one

Hardware Servers

Physical computer (a hardware system) dedicated to running one or

more such services
Servers are placed in collocation centers
The server may be:
Database server
File server
Mail server
Print server
VPS servers
Слайд 12

Web Servers Apache, IIS, nginx, lighttpd, etc.

Web Servers

Apache, IIS, nginx, lighttpd, etc.

Слайд 13

What Do the Web Servers Do? All physical servers have hardware

What Do the Web Servers Do?

All physical servers have hardware
The hardware

is controlled by the operating system
Web servers are software products that use the operating system to handle web requests
Web servers serve Web content
These requests are redirected to other software products (ASP.NET, PHP, etc.), depending on the web server settings
Слайд 14

Web Servers Market Share Feb 2014 Apache 38.22 % IIS (by

Web Servers Market Share Feb 2014

Apache
38.22 %
IIS (by Microsoft)
32.80%
nginx (by Igor

Sysoev)
15.00%
GWS (by Google)
2.30%
Слайд 15

Most popular web servers in different countries Источник: W3Tech.com

Most popular web servers in different countries

Источник: W3Tech.com

Слайд 16

Слайд 17

2019,2020 years

2019,2020 years

Слайд 18

Client-Server Architecture The Classical Client-Server Model

Client-Server Architecture

The Classical Client-Server Model

Слайд 19

Client-Server Architecture The client-server model consists of: Server – a single

Client-Server Architecture

The client-server model consists of:
Server – a single machine or

cluster of machines that provides web applications (or services) to multiple clients
Examples:
Web server running PHP scripts or ASP.NET pages
IIS based Web server
WCF based service
Services in the cloud
IIS (Internet Information Server), WCF (Windows Communication Foundation), .net
Слайд 20

Client-Server Architecture The client-server model consists of: Clients –software applications that

Client-Server Architecture

The client-server model consists of:
Clients –software applications that provide UI

(front-end) to access the services at the server
Examples:
Web browsers
WPF applications
HTML5 applications
Silverlight applications
ASP.NET consuming services
WPF (Windows Presentation Foundation)
XAML (eXtensible Application Markup Language)
Слайд 21

The Client-Server Model

The Client-Server Model

Слайд 22

Client-Server Model – Examples Web server (Apache, IIS) – Web browser

Client-Server Model – Examples

Web server (Apache, IIS) – Web browser
FTP server

(ftpd) – FTP client (FileZilla)
EMail server (qmail) – email client (Outlook)
SQL Server – SQL Server Management Studio
BitTorrent Tracker – Torrent client (μTorrent)
DNS server (bind) – DNS client (resolver)
DHCP server (wireless router firmware) – DHCP client (mobile phone /Android DHCP client/)
SMB server (Windows) – SMB client (Windows)
Слайд 23

FTP (File Transfer Protocol) FileZilla DNS (Domain Name System) DHCP (Dynamic

FTP (File Transfer Protocol)
FileZilla
DNS (Domain Name System)
DHCP (Dynamic Host Configuration Protocol)
SMB

(Server Message Block)
\servername\sharename
Active Directory
ORM (Object Relational Mapping)
Слайд 24

3-Tier / Multi-Tier Architectures Classical Layered Structure of Software Systems

3-Tier / Multi-Tier Architectures

Classical Layered Structure of Software Systems

Слайд 25

The 3-Tier Architecture The 3-tier architecture consists of the following tiers

The 3-Tier Architecture

The 3-tier architecture consists of the following tiers (layers):
Front-end

(client layer)
Client software – provides the UI of the system
Middle tier (business layer)
Server software – provides the core system logic
Implements the business processes / services
Back-end (data layer)
Manages the data of the system (database / cloud)
Слайд 26

The 3-Tier Architecture Model Business Logic Desktop Client Mobile Client Client

The 3-Tier Architecture Model

Business
Logic

Desktop
Client

Mobile
Client

Client
Machine

network

network

network

Database

Data Tier
(Back-End)

Middle Tier
(Business Tier)

Client Tier (Front-End)

Слайд 27

Typical Layers of the Middle Tier The middle tier usually has

Typical Layers of the Middle Tier

The middle tier usually has parts

related to the front-end, business logic and back-end:

Presentation Logic

Implements the UI of the application (HTML5, Silverlight, WPF, …)

Business Logic

Implements the core processes / services of the application

Data Access Logic

Implements the data access functionality (usually ORM framework)

Слайд 28

Service-Oriented Architecture (SOA)

Service-Oriented Architecture (SOA)

Слайд 29

What is a Service? In the real world a "service" is:

What is a Service?

In the real world a "service" is:
A piece

of work performed by a service provider
Provides the client (consumer) some desired result by some input parameters
The requirements and the result are known
Easy to use
Always available
Has quality characteristics (price, execution time, constraints, etc.)
SOAP (Simple Object Access Protocol) RPC
REST (Representational State Transfer) Restful
Слайд 30

What is "Cloud"?

What is "Cloud"?

Слайд 31

What is Cloud? Cloud ≈ multiple hardware machines combine their computing

What is Cloud?

Cloud ≈ multiple hardware machines combine their computing power

and resources
Share them between multiple applications
To save costs and use resources more efficiently
Public clouds
Provide computing resources on demand
Publicly in Internet
Paid or free of charge (to some limit)
Amazon AWS, Google App Engine, Microsoft Azure, Rackspace, PHPFog, Heroku, AppHarbor
Слайд 32

Cloud Computing Models Infrastructure as a Service (IaaS) Virtual machines in

Cloud Computing Models

Infrastructure as a Service (IaaS)
Virtual machines in the cloud

on demand
Users install the OS and software they need
Platform as a Service (PaaS)
Platform, services and APIs (application programming interface) for developers
E.g. Java + JBoss + JSF + JPA + MongoDB or JavaScript + Node.js + MongoDB + RabbitMQ
Software as a Service (SaaS)
Hosted application on demand (e.g. WordPress)