introduction to web application development · web development •web development หรือ web...

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

Upload: others

Post on 13-Jul-2020

21 views

Category:

Documents


0 download

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