Introduction to Web Programming SCSC Mentoring Special Class Made Harta Dwijaksara – 2014-06-24

Embed Size (px)

Citation preview

  • Slide 1
  • Introduction to Web Programming SCSC Mentoring Special Class Made Harta Dwijaksara 2014-06-24
  • Slide 2
  • Content Introduction 3 Tier Architectures Web Server (Apache) Client Side Programming HTML, CSS, and Java Script Server Side Programming PHP and MySQL 2
  • Slide 3
  • Introduction Internet : is a global system of interconnected computer networks that use the standard Internet protocol suite(TCP/IP) to link several billion devices worldwide (wikipedia).computer networksInternet protocol suite How can the interconnected devices talk each others? through protocol stack on network layer. 3
  • Slide 4
  • Introduction Network Layer (OSI 7 Layers) Internet Link Ex. User Request (HTTP, Telnet, SSH, RPC, etc.) TCP/UDP (port) IP 4
  • Slide 5
  • 3 Tier Architectures Multi-tier architecture is a clientserver architecture in which presentation, application processing, and data management functions are physically separated.clientserver architecture 5
  • Slide 6
  • 3 Tier Architectures of Web Comprise of : Web-Client, Web Server, Database Server 1.Web server running a service on port 80/8080 for HTTP (web) service 2.User Browsing (IE, Chrome, Opera,etc.) HTTP(s) request to Web Server (http://....) 3.Web server process the request and gives the HTTP response (web page content) 4.Web browser takes the response and display through web browser GUI 6
  • Slide 7
  • Packet Capturing using WireShark HTTP request 7
  • Slide 8
  • Packet Capturing using WireShark HTTP response 8
  • Slide 9
  • Web Technology (Tools) Each tier has different technology solution Run on client Computer Run on server (web server) Run on server (database server) 9
  • Slide 10
  • Web Server (Apache HTTP Server) Web server is a program that generate and transmit response to client request for web resource Handling a client request consists of several key steps Parsing the request message Checking that the request is authorized associating the URL in the request with a file name Constructing the response message Transmitting the response message to the requesting client Web Server vs Web Site Web-site consist of a collection of web-pages associated with a particular hostname Web server is a program to satisfy client request for web resource 10
  • Slide 11
  • Web Server (Apache HTTP Server) The Apache HTTP Server Freely Available Binaries and Source Code Cross platform implementation Became the #1 Web Server on the Internet in less than a year Getting Started Download : http://apache.mirror.cdnetworks.com//httpd/binaries/ http://apache.mirror.cdnetworks.com//httpd/binaries/ Run the installer file.msi and follow the instruction Open port 80 (8080 in case you need to use HTTPS) Allow the httpd service to use the port 11
  • Slide 12
  • Web Server (Apache HTTP Server) Little Introduction to Configuration File Listen Port Listen 80 o the port address where the httpd service should listen to request LoadModule LoadModule php5_module php5apache2_4.dll o There a lot of modules can be added to apache ServerName ServerName www.snu.ac.krwww.snu.ac.kr o The server name registered on DNS (can be changed with IP address) DocumentRoot DocumentRoot C:/file/WEB o The location of your web page data (web page resource) 12
  • Slide 13
  • Setting Up Web Site (Apache HTTP) Creating Home Director Create a directory with the following structure MYHOME Ex. D:/WWW/MYHOME or /usr/www/MYHOME Change the configuration file Setting the listening port to 80 Set the DocumentRoot to the path of previously made home directory Run the apache httpd service Test your first server http://127.0.0.1/http://127.0.0.1/ If there is no error it will show it works 13
  • Slide 14
  • 14
  • Slide 15
  • Client Side (HTML) HTML : HyperText Markup Language is the standard markup language used to create web pages. Another markup language : XML, SGML, XHTML, etc. Version (W3School : www.w3schools.com) HTMLHTML+HTML 2.0HTML 3.2 HTML 4.01 XHTMLHTML5 1991199319951997199920002012 15
  • Slide 16
  • HTML : HyperText Markup Language HTML Basic index.html Preview on browser http://localhost/index.htmlhttp://localhost/index.html 16
  • Slide 17
  • HTML : HyperText Markup Language Some HTML tags (www.w3schools.com) 17
  • Slide 18
  • HTML5 Tags HTML5 Tags The New Element New Media Elements TagDescription Defines sound or music content Defines containers for external applications (like plug-ins) Defines sources for and Defines tracks for and Defines video or movie content TagDescription Defines graphic drawing using JavaScript 18
  • Slide 19
  • Client Side (CSS) CSS : Cascading Style Sheet is a style sheet language used for describing the look and formatting of a document written in a markup language. Inline CSS External CSS 19
  • Slide 20
  • Client Side (CSS) CSS Selector : allow you to select and manipulate HTML element(s). The element Selector The id Selector keyword id= on html tag The class Selector keyword class= on html tag 20
  • Slide 21
  • CSS3 Modules CSS3 has been split into "modules". It contains the "old CSS specification" (which has been split into smaller pieces). In addition, new modules are added. CSS3 Border Properties CSS3 Background Properties PropertyDescriptionCSS border-imageA shorthand property for setting all the border-image-* properties3 border-radiusA shorthand property for setting all the four border-*-radius properties3 box-shadowAttaches one or more drop-shadows to the box3 PropertyDescriptionCSS background-clipSpecifies the painting area of the background images3 background-originSpecifies the positioning area of the background images3 background-sizeSpecifies the size of the background images3 21
  • Slide 22
  • HTML : HyperText Markup Language Designing : Web Layout WEB BANNER LEFT NAVIGATI ON FOOTER RIGHT NAVIGATI ON MAIN CONTENT MAIN NAVIGATION 22
  • Slide 23
  • WEB DESIGN: HTML + CSS 23
  • Slide 24
  • 24
  • Slide 25
  • Client Side Programming (JavaScript) Why JavaScript? : JavaScript is one of 3 languages all web developers MUST learn: HTML to define the content of web pages CSS to specify the layout of web pages JavaScript to program the behavior of web pages Example Scenario Web Page (Client Side) Web Engine (Server Side) request response The request format should be verified on the client side thus verification process will not burden the web server 25
  • Slide 26
  • Client Side Programming (JavaScript) In-line Script External Script HTML file JavaScript file http://www.w3schools.com/jsref/default.asp 26
  • Slide 27
  • Server Side Programming (PHP) What is PHP? PHP is an acronym for "PHP Hypertext Preprocessor" PHP is a widely-used, open source scripting language PHP scripts are executed on the server PHP costs nothing, it is free to download and use Why is PHP? Runs on various platforms (Windows, Linux, Unix, Mac OS X) Compatible with almost all servers used today (Apache, IIS, etc.) PHP supports a wide range of databases PHP is free. Download it from the official PHP resource: www.php.netwww.php.net PHP is easy to learn and runs efficiently on the server side PHP test : phpinfo() 27
  • Slide 28
  • Server Side Programming (PHP) PHP file (*.php) http://www.php.net/manual/en/tutorial.php http://www.php.net/manual/en/tutorial.php PHP code: PHP comment: 28
  • Slide 29
  • Database Management MYSQL MySQL is the world's most popular open source database. Installation Download : http://dev.mysql.com/downloads/windows/installer/http://dev.mysql.com/downloads/windows/installer/ Run installer and follow instruction Go to PHP installation directory and update php.ini file Uncomment ;extension=php_mysql.dll Check the phpinfo(); 29
  • Slide 30
  • Database Management MYSQL Access Database : Command Prompt Create User Ex: create user admin@localhost identified by admin; Create Database Ex: create database mywebpage Grant database access to user admin Ex: grant all on mywebpage.* to admin@localhost; 30
  • Slide 31
  • Database Management MYSQL Create Table for Web Page User Table create table user ( userid varchar(20), password varchar(20), fullname varchar(20), email varchar(20), primary key(userid), ); Article Table create table article ( userid varchar(20), title varchar(50), content text, date varchar(20), primary key (userid, date); ); 31
  • Slide 32
  • PHP + MySQL : Connection Connection Preparation Database Connect SQL Query Close Connection $mysql_host ="localhost";// IP address or hostaname $mysql_user = "admin"; $mysql_pass = "admin"; $mysql_db = "webpage"; $mysql_table_user = "user; mysql_connect($mysql_host,$mysql_user,$mysql_pass) or die(mysql_error()); mysql_select_db($mysql_db) or die(mysql_error());; $sql = "insert into $mysql_table_user (userid, password, fullname, email) values ('$new_user','$new_pass','$new_name','$new_email')"; mysql_query($sql) or die(mysql_error()); mysql_close($con); 32
  • Slide 33
  • Dynamic Web Page (1) Scenario User Login to get access to update the web-page User add new article to web-page The query is forwarded by web server to database server Web Client (Browser) Web Server (PHP) User Login Database (MySQL) Login Request Login Verification Login Response Login success Add Data Add data Request Update Database 33
  • Slide 34
  • Dynamic Web Page (2) 34
  • Slide 35
  • Thank you! 35