Transcript LAMP
LAMP, WAMP and..
L. Grewe
Motivaiton
Basic Web Systems with Delivery of Static and Dynamic Web Pages
html, css, media
javascript (“dynamic”
on client ---this is not the same
as 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 Web
Need only Web Server (e.g. Apache)
Dynamic Web –MANY possibilities
BASIC 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 possibilities
1.
JavaScript
Client-side scripting access to elements of HTML document
Perform data handling and web server requests in background
2.
PHP
Server-side scripting
Open source, simplicity and built-in links to MySQL database
3.
MySQL
Open-source Relational Databases that supports structured
queries and is free to use and install on web servers
4.
Apache Server
Open 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 LAMP
Opensource/free
Industry Standard
Documentation
Widely deployed –history –BUT
Why NOT LAMP
But 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 server
Here 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
languages
Pick by needs
Scalability
Performance
Security
Functionality
Pick by support
Pick by knowledge
http://w3techs.com/technologies/ov
erview/programming_language/all
Is that metric good???
well
Server Side and Us??
PhP – scripting, easy to learn?, not much configuration
Facebook 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 convention
Scripting
MVC focused
Scribd, Hulu and Twitter all use Ruby.
To consider: Python, NodeJS, ….
Other….cloud
Discussion 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)