01 - uvod · 1. php 2. asp 47 typical layers of the middle tier the middle tier usually has parts...

6
37 Web Servers Market Share Web Servers Market Share 2011 2011 Apache Apache 60.31% 60.31% IIS (by Microsoft) IIS (by Microsoft) 19.34% 19.34% nginx nginx (by Igor (by Igor Sysoev Sysoev) 7.65% 7.65% GWS (by Google) GWS (by Google) 5.09% 5.09% lighttpd lighttpd 0.60% 0.60% 37 38 Client Client- Server Architecture Server Architecture The Classical Client The Classical Client- Server Model Server Model 38 39 Client Client- Server Architecture Server Architecture The client The client- server model consists of: server model consists of: Server Server a single machine or cluster of machines a single machine or cluster of machines that provides web applications (or services) to that provides web applications (or services) to multiple clients multiple clients Examples: Examples: Web server running PHP scripts or ASP.NET pages Web server running PHP scripts or ASP.NET pages IIS based Web server IIS based Web server WCF based service WCF based service Services in the cloud Services in the cloud 39 40 Client Client- Server Architecture Server Architecture The client The client- server model consists of: server model consists of: Clients Clients software applications that provide UI software applications that provide UI (front (front-end) to access the services at the server end) to access the services at the server Examples: Examples: Web browsers Web browsers WPF applications WPF applications HTML5 applications HTML5 applications Silverlight Silverlight applications applications ASP.NET consuming services ASP.NET consuming services 40

Upload: others

Post on 23-May-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 01 - Uvod · 1. PHP 2. ASP 47 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

37

Web Servers Market Share Web Servers Market Share 20112011

�� ApacheApache

�� 60.31%60.31%

�� IIS (by Microsoft)IIS (by Microsoft)

�� 19.34%19.34%

�� nginxnginx (by Igor (by Igor SysoevSysoev))

�� 7.65%7.65%

�� GWS (by Google)GWS (by Google)

�� 5.09%5.09%

�� lighttpdlighttpd

�� 0.60%0.60%37 38

ClientClient--Server ArchitectureServer ArchitectureThe Classical ClientThe Classical Client--Server ModelServer Model

38

39

ClientClient--Server ArchitectureServer Architecture

�� The clientThe client--server model consists of:server model consists of:

�� ServerServer –– a single machine or cluster of machines a single machine or cluster of machines

that provides web applications (or services) to that provides web applications (or services) to

multiple clientsmultiple clients

�� Examples:Examples:

�� Web server running PHP scripts or ASP.NET pagesWeb server running PHP scripts or ASP.NET pages

�� IIS based Web serverIIS based Web server

�� WCF based serviceWCF based service

�� Services in the cloudServices in the cloud

39 40

ClientClient--Server ArchitectureServer Architecture

�� The clientThe client--server model consists of:server model consists of:

�� Clients Clients ––software applications that provide UI software applications that provide UI

(front(front--end) to access the services at the serverend) to access the services at the server

�� Examples:Examples:

�� Web browsersWeb browsers

�� WPF applicationsWPF applications

�� HTML5 applicationsHTML5 applications

�� SilverlightSilverlight applicationsapplications

�� ASP.NET consuming servicesASP.NET consuming services40

Page 2: 01 - Uvod · 1. PHP 2. ASP 47 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

41

The ClientThe Client--Server ModelServer Model

41

ServerServer

DesktopDesktop

ClientClient

MobileMobile

ClientClient

ClientClient

MachineMachine

network connection

network connection

network connectionnetwork connection

network connection

network connection

42

ClientClient--Server Model Server Model –– ExamplesExamples

�� Web server (Apache, IIS) Web server (Apache, IIS) –– Web browserWeb browser

�� FTP server (FTP server (ftpdftpd) ) –– FTP client (FTP client (FileZillaFileZilla))

�� EMailEMail server (server (qmailqmail) ) –– email client (Outlook)email client (Outlook)

�� SQL Server SQL Server –– SQL Server Management StudioSQL Server Management Studio

�� BitTorrentBitTorrent Tracker Tracker –– Torrent client (Torrent client (μμTorrent)Torrent)

�� DNS server (bind) DNS server (bind) –– DNS client (resolver)DNS client (resolver)

�� DHCP server (wireless router firmware) DHCP server (wireless router firmware) –– DHCP DHCP

client (mobile phone /Android DHCP client/)client (mobile phone /Android DHCP client/)

�� SMB server (Windows) SMB server (Windows) –– SMB client (Windows)SMB client (Windows)42

43

33--Tier / MultiTier / Multi--Tier Tier ArchitecturesArchitectures

Classical Layered Structure of Software SystemsClassical Layered Structure of Software Systems

44

The 3The 3--Tier ArchitectureTier Architecture

�� The The 33--tier architecture tier architecture consists of the consists of the

following tiers (layers):following tiers (layers):

�� FrontFront--endend (client layer)(client layer)

�� ClientClient software software –– provides the UI of the systemprovides the UI of the system

�� Middle tier Middle tier (business layer)(business layer)

�� Server software Server software –– provides the core system logicprovides the core system logic

�� Implements the business processes / servicesImplements the business processes / services

�� BackBack--endend (data layer)(data layer)

�� Manages the data of the system (database / Manages the data of the system (database /

cloud)cloud)44

Page 3: 01 - Uvod · 1. PHP 2. ASP 47 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

45

The 3The 3--Tier Architecture ModelTier Architecture Model

45

BusinessBusiness

LogicLogic DesktopDesktop

ClientClient

MobileMobile

ClientClient

ClientClient

MachineMachinenetworknetwork

networknetwork

network

networkDatabaseDatabase

Data TierData Tier

(Back(Back--End)End)Middle TierMiddle Tier

(Business Tier)(Business Tier)Client Tier (FrontClient Tier (Front--End)End)

46

WWW WWW arhitekturaarhitektura

HTTP Request

HTTP Response

Content:

1. HTML/XML/XHTML Document2. Cascading Style Sheet (CSS)

3. JavaScript/VBScript4. Flash/Video/Audio5. Java Applet

6. AJAX with JQuery…

Web Browser

1. Internet Explorer2. Firefox3. Opera4. Mozilla

Database

1. Microsoft SQL

2. MySQL

3. PostgreSQL

4. dBase5. mSQL6. Infomix

7. ODBC8. Oracle…

Web Server

1. Apache HTTP Server2. Microsoft IIS…

CGI program

1. C/C++ 2. Fortran 3. PERL 4. TCL 5. Any Unix shell 6. AppleScript 7. Python…

World Wide Web (WWW) arhitektura

Script Languages1. PHP 2. ASP

47

Typical Layers of the Middle TierTypical Layers of the Middle Tier

�� The middle tier usually has parts related to the The middle tier usually has parts related to the

frontfront--end, business logic and backend, business logic and back--end:end:

47

Presentation LogicPresentation Logic

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

Business LogicBusiness Logic

Implements the core processes / services of the applicationImplements the core processes / services of the application

Data Access LogicData Access Logic

Implements the data access functionality (usually ORM framework)Implements the data access functionality (usually ORM framework)

48

ServiceService--Oriented Oriented

Architecture (SOA)Architecture (SOA)

Page 4: 01 - Uvod · 1. PHP 2. ASP 47 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

49

What is a ServiceWhat is a Service??

�� In the real world a "In the real world a "serviceservice" is" is::

�� A piece of work performed by a service providerA piece of work performed by a service provider

�� Provides a client (consumer) some desired Provides a client (consumer) some desired

result by some input parametersresult by some input parameters

�� The requirements and the result are knownThe requirements and the result are known

�� Easy to useEasy to use

�� Always availableAlways available

�� Has quality characteristicsHas quality characteristics ((priceprice, , execution execution

time, constraints, etc.time, constraints, etc.))

49 50

What is "Cloud"?What is "Cloud"?

51

What is Cloud?What is Cloud?

�� CloudCloud ≈≈ multiple hardware machines combine multiple hardware machines combine

their computing power and resourcestheir computing power and resources

�� Share them between multiple applicationsShare them between multiple applications

�� To save costs and use resources more efficientlyTo save costs and use resources more efficiently

�� Public cloudsPublic clouds

�� Provide computing resources on demandProvide computing resources on demand

�� Publicly in InternetPublicly in Internet

�� Paid or free of charge (to some limit)Paid or free of charge (to some limit)

�� Amazon AWS, Google App Engine, Microsoft Amazon AWS, Google App Engine, Microsoft

Azure, Azure, RackspaceRackspace, , PHPFogPHPFog, , HerokuHeroku, , AppHarborAppHarbor51 52

Cloud Computing ModelsCloud Computing Models

�� Infrastructure as a Service (Infrastructure as a Service (IaaSIaaS))

�� Virtual machines in the cloud on demandVirtual machines in the cloud on demand

�� Users install the OS and software they needUsers install the OS and software they need

�� Platform as a Service (Platform as a Service (PaaSPaaS))

�� Platform, services and APIs for developersPlatform, services and APIs for developers

�� E.g. Java + E.g. Java + JBossJBoss + JSF + JPA + + JSF + JPA + MongoDBMongoDB or or

JavaScript + JavaScript + Node.jsNode.js + + MongoDBMongoDB + + RabbitMQRabbitMQ

�� Software as a Service (Software as a Service (SaaSSaaS))

�� Hosted application on demand (e.g. Hosted application on demand (e.g. WordPressWordPress))52

Page 5: 01 - Uvod · 1. PHP 2. ASP 47 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

53

Web Design ToolsWeb Design ToolsThe tools we needThe tools we need

54

Coding ToolsCoding Tools

55

IDEsIDEs

�� MS Visual StudioMS Visual Studio

�� MS Visual Web DeveloperMS Visual Web Developer

�� MS Web MatrixMS Web Matrix

�� Adobe Adobe DreamWeaverDreamWeaver

�� EclipseEclipse

�� AptanaAptana

�� JetBrainsJetBrains WebStormWebStorm

56

LiteLite toolstools

�� Notepad++Notepad++ �� GEditGEdit

Page 6: 01 - Uvod · 1. PHP 2. ASP 47 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

57

�� BrowsersBrowsers

�� Internet ExplorerInternet Explorer

�� Google ChromeGoogle Chrome

�� Mozilla FirefoxMozilla Firefox

�� Apple SafariApple Safari

�� OperaOpera

Browsers and Browser ToolsBrowsers and Browser Tools

�� Browser ToolsBrowser Tools

�� Firebug Firebug

�� WebInspectorWebInspector

�� WebDeveloperWebDeveloper ToolbarToolbar

�� F12 (IE)F12 (IE)

�� Inspect Inspect

�� ConsoleConsole

�� BookmarkletsBookmarklets

58

Drawing and Slicing ToolsDrawing and Slicing Tools

�� Adobe PhotoshopAdobe Photoshop

�� Adobe FireworksAdobe Fireworks

�� GimpGimp

�� Paint.NETPaint.NET

59

Source control toolsSource control tools

Microsoft TFS, Microsoft VSSMicrosoft TFS, Microsoft VSS

GitGit

SVNSVN

60

Web Technologies BasicsWeb Technologies Basics

Questions?Questions?