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)