17
L. Grewe LAMP, WAMP and..

L. Grewe LAMP, WAMP and... Motivaiton Basic Web Systems with Delivery of Static and Dynamic Web Pages html, css, media javascript (“dynamic” on client

Embed Size (px)

Citation preview

L. Grewe

LAMP, WAMP and..

MotivaitonBasic Web Systems with Delivery of Static and

Dynamic Web Pages

html, css, media

javascript (“dynamic”on client ---this is not the sameas dynamic used here for dynamic website)

php, java, python,ruby, .net, nodeJS, …

Basic Client/Server Request/Response Sequence

Dynamic Client/Server Request/Response

$query

$result

Static WebNeed only Web Server (e.g. Apache)

Dynamic Web –MANY possibilitiesBASIC POSSIBILITIES (here featuring

opensource /free solutions)

LAMP = Linux, Apache, MySQL, and PHP WAMP = Windows, Apache, MySQL, and PHP MAMP = Mac, Apache, MySQL, and PHP

Dynamic Web- MANY possibilities1. JavaScript

Client-side scripting access to elements of HTML document

Perform data handling and web server requests in background

2. PHPServer-side scripting Open source, simplicity and built-in links to MySQL database

3. MySQLOpen-source Relational Databases that supports

structured queries and is free to use and install on web servers

4. Apache ServerOpen source server software that serves up HTML, media

files etc PHP handles main work on web server, MySQL manages data, and JavaScript looks after web page presentation. JavaScript

can also talk with your PHP code on the web server whenever it needs to update something (either on the server or on the web page).

Dynamic Web, AJAX and Web 2.0

JavaScript specifies web page interactivity and presentation

PHP handles main work on web server and retrieves data

MySQL manages and stores data JavaScript performs data handling & server

requests in background JavaScript can also talk with PHP code on the

web server to update data or presentation (either on server or web page)

JavaScript used for AJAX and Web 2.0

“Asynchronous JavaScript and XML” Ajax is the main process behind what is now known as Web 2.0 Process of accessing the web server in the background

WHY LAMPOpensource/freeIndustry StandardDocumentationWidely deployed –history –BUT

Why NOT LAMPBut management is a hassle:

Configuration, tuning Backup and recovery, disk space management Hardware failures, system crashes Software updates, security patches Log rotation, cron jobs, and much more

SCALABILITY ISSUES this leads to CS6320 class and discussion of Web Systems (distributed, cloud, etc)

SPEED/CAPABILITIES is Php the best choice for server side programming?

Facebook used to be the largest LAMP based company but, things are changing.

Things changing---consider the “simple” web serverHere Apache is no longer the CLEAR winner

(from July 2013) –Nginx (“engine-x”) ….Apache

Who really knows the truth???Different numbers from different agency

Server side programming languagesPick by needs

ScalabilityPerformanceSecurityFunctionality

Pick by supportPick by knowledge

http://w3techs.com/technologies/overview/programming_language/all

Is that metric good???well

Server Side and Us??PhP – scripting, easy to learn?, not much

configurationFacebook in beginning days was only php, not

anymore (issues in scalability, performance)Java – more configuration,

 Sam’s Club, Amazon and Apple App Store use Java-based web frameworks.

Ruby – less configuration, more conventionScriptingMVC focusedScribd, Hulu and Twitter all use Ruby.

To consider: Python, NodeJS, ….

Other….cloudDiscussion of graduate class (6320)

Don’t worry….Languages you learn here will translate to

servers (mostly—though they choose language support for PaaS) in cloud

You can put LAMP or any servers on a Cloud (IaaS based or appropriate PaaS)