Top Banner
I ntroduction to W eb A pplication D evelopment ปรับปรุงจากเอกสารการสอนของ อ. กิตติพิชญ์ คุปตะวาณิช ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่ 1
20

Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Jul 13, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Introduction to Web Application Development

ปรบัปรงุจากเอกสารการสอนของ อ. กิตติพิชญ ์คปุตะวาณิชภาควิชาวิทยาการคอมพิวเตอร ์

คณะวิทยาศาสตร ์มหาวิทยาลยัเชียงใหม่

1

Page 2: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Web Development

• Web Development หรือ Web Programming คือการออกแบบ Software Application ท่ีท างานบน Web Site (Web Applications: WebApps)

2

Page 3: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

TYPICAL NETWORK MODEL FOR WEB SERVICE

3

Page 4: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Client-Server Model

• Client-Server Model เป็นโครงสร้าง application ท่ีมีการแยกส่วนระหว่างฝัง่ผูใ้ห้บริการ หรือทรพัยากร (Service Provider or Resource Provider) เรียกว่า ฝัง่ Server และ ผู้ขอใช้บริการ หรือทรพัยากร (Service Requester or Resource Requester) นัน้ๆ หรือเรียกว่าฝัง่ Client

• โดยทัว่ไปแล้วการส่ือสารระหว่าง Server และ Client จะท าผา่น Computer Network โดยฝัง่ Client จะเป็นฝ่ายเร่ิมต้นการส่ือสาร และ Server จะอยู่ในสถานะรอการเช่ือมต่อ (Connection) 4

Page 5: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

TWO TYPES OF WEB PAGE

5

Page 6: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Static Web Page

• Static Web Page คือ เวบ็เพจท่ีสร้างขึน้มาจากภาษา HTML เพียงอย่างเดียวจะมีลกัษณะเป็นเวบ็เพจอย่างง่าย น าเสนอข้อมูลท่ีเป็นข้อความภาพ และเสียงแบบธรรมดา ไม่มีการโต้ตอบกบัผูใ้ช้ (Interactive)

6

Page 7: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Dynamic Web Page

• Dynamic Web Page คือ เวบ็เพจท่ีมีลกูเล่นต่าง ๆ มีการโต้ตอบกบัผูใ้ช้ มีการประมวลผลต่าง ๆ มีการติดต่อกบัฐานข้อมลู ได้แก่เวบ็เพจท่ีพฒันามาจากภาษา PHP, ASP, JSP, JavaScript, VbScript เป็นต้น

7

Page 8: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

CLIENT-SERVER ARCHITECTURE FOR WEB SERVICE

8

Page 9: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Three-Tier Architecture

• สถาปัตยกรรมแบบ Multi-tier (หรือ n-tier) คือสถาปัตยกรรมแบบ Client-Server ท่ีมีการแยกการแสดงผล (Presentation) การประมวลผล (Application Processing) และการจดัการข้อมลู (Data Management) ออกจากกนั

• หน่ึงในสถาปัตยกรรมแบบ Multi-tier ท่ีนิยมใช้กนัอย่างแพร่หลายคือ แบบ Three-Tier โดยประกอบด้วย 3 ส่วนคือ• Presentation Tier – User Interface (A PC)• Application Tier – Handles the interaction between the Web

browser client and the data storage tier. (A server)• Data Storage Tier – Responsible for Data Storage (A

database)9

Page 10: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Three-Tier Architecture [2]

10The design of a three-tier client/server system

Page 11: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Example: Customer Task Flow

11

Page 12: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

TWO PARADIGMS OF BUILDING A DYNAMIC WEB PAGE

12

Page 13: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Client-Side Programming

• Client-side programming เป็นการเขียนโปรแกรมท่ีท างานบน Browser ท่ีฝัง่ Client

• ตวัอย่างเช่น JavaScript

• เป็น ภาษา Client-side scripting ท่ีช่วยให้ Web Developer สร้าง dynamic web page ท่ีโต้ตอบกบัผูใ้ช้ได้ (interactive)

• ใช้ในการค านวณหรือตรวจสอบข้อมลูท่ีไม่ซบัซ้อน

13

Page 14: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Client-Side Programming [2]

• JavaScript

• สามารถเปล่ียน webpage จาก static เป็น dynamic หรือสามารถท าให้ webpage กลายเป็น application ได้ เช่น เคร่ืองคิดเลข หรือเกม

• เปล่ียนเน้ือหาของ webpage หลงัจากแสดงผลแล้วใน browser (ตวัอย่างเช่นหน้า facebook)

• สร้าง visual effect ต่างๆ เช่น animation

• สามารถควบคมุการท างานของ web browser ได้14

Page 15: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Server-Side Programming: PHP

• Server-side Programming เป็นการเขียนโปรแกรมท่ีท างานบนฝัง่ Web Server

• PHP Hypertext Preprocessing (PHP) เป็นภาษา Server-side Scripting ท่ีมีไว้เพื่อสร้าง interactive Web Site• เปล่ียนช่ือมาจาก Personal Home Page• เรียนรู้ง่าย• สามารถเขียนโปรแกรมเชิงวตัถไุด้ (Object Oriented)• สนับสนุนการท างานร่วมกนัโปรแกรมฐานข้อมลูหลายชนิด (MySQL, Oracle, Sybase, ODBC-Compliant) 15

Page 16: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Server-Side Programming: PHP [2]

• PHP • PHP เป็น Open Source programming language

• Open Source – software ท่ี Code เปิดเผยและผูใ้ช้สามารถเปล่ียนแปลงได้

• ไม่สามารถเข้าถึงหรอืเปล่ียนแปลง browser ได้เหมือน Client Script

• ท างานจากฝัง่ web Server เท่านัน้ ไม่ว่าจะเป็นการประมวลผลหรอืเช่ือมต่อกบัฐานข้อมลู

• ท างานรว่มกบั Web Server Application ได้หลากหลาย (Apache, IIS, etc.)

• Client-side script ใช้เพ่ือควบคมุ user interface และการค านวณท่ีไม่ซบัซ้อน ในขณะท่ี Server-side script ใช้เพ่ือการประมวลผลท่ีซบัซ้อนและมีการเช่ือต่อกบัฐานข้อมลู

16

Page 17: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Database: MySQL

• ในการประมวลผลข้อมลู มีความจ าเป็นต้องจดัการข้อมูลจ านวนมากอย่างมีประสิทธิภาพ ซ่ึงโดยทัว่ไปจ าเป็นต้องใช้ ฐานข้อมลู (Database)

• โดยฐานข้อมลูจะถกูจดัการโดยระบบจดัการฐานข้อมลู (Database Management System: DBMS)

• MySQL (My S-Q-L) เป็น DBMS ท่ีได้รบัความนิยมเป็นอนัดบัสองของโลก (July2013: Wikipedia)• Open Source • Owned By Oracle • Free

17

Page 18: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Summarising

18JAVA SCRIPT PHP Interpreter MySQL

Page 19: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

Setting up your own web server1. A Web Server• IIS (http://www.iis.net)• Apache (http://www.apache.org)

2. PHP (http://php.net/downloads.php)3. MySQL (http://www.mysql.com)• เราสามารถติดตัง้ PHP server ผา่น all-in-one package เช่น • XAMPP (http://www.apachefriends.org/en/xampp.html)• WAMP (http://www.wampserver.com/en)• Web Matrix (http://www.microsoft.com/web/webmatrix) – เพ่ือการ develop Web App เป็นหลกั

• Binami's WAMP stack (http://bitnami.com/stacks) 19

Page 20: Introduction to Web Application Development · Web Development •Web Development หรือ Web Programming คือการ ออกแบบ Software Application ที่ท

References

• Gosselin, Don (2010) JavaScript: The Web Technologies Series, 5th Edition isbn: 0538748877

20