SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
บทที่ 2 โลกของเวิร์ดไวเว็บ
สำหรับในบทนี้เป็นการแนะนำให้ผู้อ่านได้เข้าใจกับการทำงานของระบบเวิร์
ดไวเว็บ (World Wide Web) หรือเรียกกันสั้นๆว่าระบบเว็บ
ก่อนที่จะเริ่มปฏิบัติการเพื่อการเรียนรู้ในการพัฒนาระบบที่ทำการประมวลผลใน
รูปแบบเอ็นเตอร์ไพร์
การทำความเข้าใจกับการทำงานของระบบเว็บเป็นสิ่งที่จำเป็นอย่างยิ่ง
ทั้งในด้านการทำงานของเว็บเซิร์ฟเวอร์ เว็บไคลเอนต์(บราวเซอร์)
และโพรโตคอล HTTP
และเนื่องจากการพัฒนาระบบในด้านเอ็นเตอร์ไพร์เน้นไปที่การจัดการข้อมูลแล
ะดำเนินงานในตัวเซิร์ฟเวอร์เป็นหลัก
เพื่อให้สามารถรองรับกับการร้องขอของบราวเซอร์ได้เป็นอย่างดี
1 ส่วนประกอบในการสื่อสารระบบเว็บ
การทำงานของระบบเว็บนั้นนอกจากจะประกอบจากส่วนประกอบทางด้านฮาร์ดแวร์และซอฟต์แวร์แล้ว
ยังมีอีกส่วนที่สำคัญก็คือมาตรฐานในการสื่อสารในระบบแอปพลิเคชั่น ที่เรียกกันว่าโพรโตคอลระดับแอปพลิเคชั่น (Application
Protocol) ซึ่งในระบบเว็บจะใช้โพรโตคอลชื่อ HTTP
ผู้พัฒนาโปรแกรมในระบบเว็บจำเป็นต้องศึกษารายละเอียดและวิธีการทำงานให้เข้าใจ
ก่อนที่จะรู้จักกับการควบคุมการทำงานของโพรโตคอลได้
1.1 โพรโตคอล HTTP (Hyper Text Transfer Protocol)
โพรโตคอลที่ชื่อ HTTP ตามที่เคยเกริ่นไว้ในบทที่ผ่านๆมาว่า
เป็นโพรโตคอลที่เป็นมาตรฐานเพื่อการสื่อสารข้อมูลเพื่อให้เกิดเป็นการทำงานของระบบเว็บขึ้นมา HTTP
ถือว่าเป็นโพรโตคอลในระดับสูงเพื่อทำงานในระดับแอปพลิเคชั่น
(ภาษาด้านเน็ตเวิร์คกล่าวถึงว่าเป็นรูปแบบการสื่อสารในเลเยอร์ที่ 7 ของกฎการสื่อสาร 7 Layers
ของโมเดลการสื่อสารรูปแบบ OSI หรือเรียกว่าแอปพลิเคชั่น โพรโตคอล การสื่อสารด้วย HTTP
จำเป็นต้องทำงานอยู่บนโพรโตคอลระดับล่างลง เช่นโพรโตคอลที่ทำงานในระดับแพ็กเกจข้อมูลหรือ TCP/IP
จะเห็นได้ว่าโพรโตคอลแต่ละโพรโตคอลเน้นไปที่การสื่อสารรูปแบบข้อมูลที่แตกต่างกัน
แต่จำเป็นต้องอาศัยซึ่งกันและในความหมายก็คือ HTTP ต้องอาศัย TCP/IP ทำงานเสมอ
ดังนั้นจึงขอให้ผู้อ่านทำความเข้าใจโพรโตคอลทั้งสองตัวก่อนว่าทำงานคนละระดับของการสื่อสารเดียวกัน
เพื่อลดความกำกวมว่าทำไมถึงเรียกว่าโพรโตคอลเหมือนกัน สำหรับในหนังสือเล่มนี้คงกล่าวไว้เฉพาะลักษณะของ HTTP
เนื่องจากเกี่ยวของกับลักษณะของการพัฒนาระบบมากกว่า
โพรโตคอล HTTP ใช้ในการโต้ตอบระหว่างบราวเซอร์กับเว็บเซิร์ฟเวอร์เพื่อลำเลียงเนื้อข้อมูล โดย HTTP
มีรูปแบบเป็นลักษณะคำสั่งที่อาจจะมีหรือไม่มีข้อมูลประกอบคำสั่ง (พารามิเตอร์) ด้วย
ซึ่งเมื่อระบบเว็บถูกแยกออกเป็นส่วนบราวเซอร์และส่วนเว็บเซิร์ฟเวอร์แล้ว คำสั่ง HTTP จึงมีรูปแบบที่แยกออกเป็น 2
ส่วนด้วยกันดังนี้
รูปแสดงการสื่อสารในแบบ Request และ Response
HTTP Request เป็นคำสั่งในส่วน “คำสั่งร้องขอ” ซึ่งมักจะถูกส่งจากบราวเซอร์ไปยังเว็บเซิร์ฟเวอร์
เพื่อจุดประสงค์ในการร้องขอเนื้อข้อมูล โดยเนื้อข้อมูลอาจจะถูกจัดเก็บในรูปแบบของไฟล์
หรือฐานข้อมูลใดๆที่เว็บเซิร์ฟเวอร์สามารถดึงเอาข้อมูลมาบริการให้กับบราวเซอร์ได้
และในคำสั่งร้องขอถูกแยกออกเป็นคำสั่งย่อย ดังนี้
- HTTP Request Type หรือประเภทคำสั่งร้องขอ
ขึ้นอยู่กับการร้องขอซึ่งบราวเซอร์จะสร้างประเภทคำสั่งร้องขอขึ้นมาและส่งคำสั่งไปยังเว็บเซิร์ฟเวอร์
ประเภทคำสั่งร้องขอ ประกอบด้วย 2 ประเภทหลักๆคือ GET หรือ POST โดยปกติหากบราวเซอร์ร้องขอในประเภท GET
มักจะส่งข้อมูลพารามิเตอร์ไปพร้อมกับคำสั่งร้องขอด้วย หากบราวเซอร์ร้องขอด้วยคำสั่งในรูปแบบ POST
ข้อมูลพารามิเตอร์จะถูกส่งรวมกับข้อมูลในส่วนหัว (HTTP Request Header) แทน
ข้อแนะนำ ข้อมูลพารามิเตอร์คือข้อมูลที่ถูกส่งผ่านทางฟอร์ม (Form) โดยการกรอกข้อมูล บางครั้งข้อมูลพารามิเตอร์นี้
มักจะถูกเรียกว่า Form Data หรือไม่ก็ Query Data บางทีข้อมูลพารามิเตอร์ถูกส่งไปพร้อมกับ URL
ถูกใช้เป็นข้อมูลเสริมจากคำสั่งร้องขอใดจากบราวเซอร์
- HTTP Request Header หมายถึงข้อมูลร้องขอส่วนหัว
ซึ่งมักจะบรรจุคำสั่งหรือรายละเอียดประกอบคำสั่งร้องขอเพื่อบอกลักษณะการใช้งาน
หรือลักษณะบราวเซอร์ให้กับเว็บเซิร์ฟเวอร์ เพื่อที่เว็บเซิร์ฟเวอร์จำได้จัดข้อมูลมาให้บราวเซอร์อย่างเหมาะสม
ลองดูตัวอย่างของข้อมูลร้องขอส่วนหัว เช่น บอกถึงชนิดรูปภาพที่บราวเซอร์สามารถแสดง
หรือบอกถึงภาษาที่รองรับในการแสดงผล เป็นต้น
ตัวอย่างคำสั่ง HTTP ที่ส่งจากบราวเซอร์ในแบบ GET
GET /order/index.html
HTTP/1.1 200 OK
Server: Apache Tomcat/4.0.1
Content-Type: text/html
Date: 5 Jun, 2002 16:06:35 GMT
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Say Hello</TITLE></HEAD>
<BODY>Hello World</BODY>
<HTML>
รูปแสดงส่วนประกอบของข้อมูลร้องขอ
จากรูปแสดงคำสั่งร้องขอ GET ที่ส่งจากบราวเซอร์หากผู้ใช้ใส่ข้อมูลร้องของเอกสาร index.html ในเส้นทาง order
ซึ่งจะได้รับข้อมูลโต้ตอบจากเว็บเซิร์ฟเวอร์ (สังเกตจากตัวหนา) ซึ่งยากข้อมูลออกเป็น 2 ส่วนคือข้อมูลโต้ตอบส่วนหัว
(ตัวหน้าปกติ) และเนื้อข้อมูล (ตัวหนาเอียง)
HTTP Response เป็นรูปแบบผลลัพธ์ในส่วน “ข้อมูลโต้ตอบ” และข้อมูลโต้ตอบยังแยกออกเป็น 2 ส่วนคือ
- HTTP Response Status Code หรือ “รหัสสถานะโต้ตอบ” เมื่อเว็บเซิร์ฟเวอร์ได้รับคำสั่งร้องขอจากบราวเซอร์
จะพิจารณาคำสั่งดังกล่าวว่าถูกต้องหรือไม่ และสามารถโต้ตอบคำสั่งดังกล่าวได้หรือไม่ได้อย่างไร
จากนั้นโต้ตอบคำสั่งร้องขอด้วยรหัสตัวเลข (จำนวน 3 หลัก)
รหัสตัวเลขนี้บราวเซอร์สามารถนำไปตรวจสอบเพื่อดูความหมายว่าเว็บเซิร์ฟเวอร์ส่งอะไรมาให้
หากเป็นรหัสแสดงความผิดพลาดก็จะแสดงข้อมูลแจ้งไปยังผู้ใช้บราวเซอร์ต่อไป
หรือรหัสแสดงการดำเนินการต่อเนื่องก็จะทำการสื่อสารด้วยคำสั่ง HTTP
กับเว็บเซิร์ฟเวอร์ต่อไปจนกว่าจะได้รับข้อมูลเป็นผลสำเร็จ
รหัสสถานะโต้ตอบดูได้จากรูปแสดงส่วนประกอบของข้อมูลร้องขอที่แสดงข้อความ "200 OK" สังเกตตัวเลข 200
คือรหัสสถานะโต้ตอบ ส่วนคำว่า OK เป็นข้อมูลอธิบายรหัสสถานะ
เนื่องจากการส่งข้อมูลจากเว็บเซิร์ฟเวอร์สู่บราวเซอร์มีลักษณะเป็นข้อมูลรูปแบบสตรีม(Streaming)
บราวเซอร์จะทำการอ่านข้อมูลที่ได้รับเข้ามาทีละตัวอักษร
ซึ่งการสื่อสารรูปแบบนี้รหัสของสถานะโต้ตอบสถานะมีประโยชน์เป็นอย่างมาก
หากบราวเซอร์ตรวจสอบรหัสสถานะดูแล้ว เห็นว่าเกิดความล้มเหลวในการโต้ตอบจากเว็บเซิร์ฟเวอร์
บราวเซอร์ก็อาจจะหยุดรับข้อมูลในทันที โดยไม่สนใจข้อมูลที่จะตามมาจากเว็บเซิร์ฟเวอร์ก็ได้
เพื่อประหยัดเวลาในการสื่อสาร และทำให้การใช้งานของผู้ใช้มีความรวดเร็วขึ้น
นอกจากบราวเซอร์จะได้รับข้อมูลโต้ตอบในส่วนของรหัสสถานะโต้ตอบแล้ว ยังประกอบด้วยข้อมูลสั้นๆ
ที่ใช้อธิบายความหมายของรหัสสถานะโต้ตอบโดยวางไว้ด้านหลังรหัส
โดยข้อมูลในส่วนนี้บราวเซอร์อาจไม่สนใจหรือละเลยได้ เนื่องจากไม่มีผลกับการนำมาแสดงผลสู่ผู้ใช้
รหัสสถานะโต้ตอบ ถูกแบบการใช้งานออกเป็นกลุ่มใหญ่ๆดังนี้
100 – 199 เว็บเซิร์ฟเวอร์แจ้งให้บราวเซอร์ว่ามีการโต้ตอบการทำงานใด ๆ
200 – 299 เว็บเซิร์ฟเวอร์แจ้งให้บราวเซอร์ทราบว่าการร้องขอได้รับการโต้ตอบจากเว็บเซิร์ฟเวอร์โดยสมบูรณ์
300 – 399 เว็บเซิร์ฟเวอร์แจ้งให้บราวเซอร์ทราบว่าข้อมูลที่ต้องการมีการโยกย้ายตำแหน่งไปที่อื่น
400 – 499 เว็บเซิร์ฟเวอร์แจ้งลักษณะผิดพลาดให้บราวเซอร์รับทราบ
500 – 599 เว็บเซิร์ฟเวอร์แจ้งลักษณะผิดพลาดให้เว็บบราวเซอร์โดยข้อผิดพลาดเกิดขึ้นจากตัวเซิร์ฟเวอร์เอง
- HTTP Response Header หรือ “ข้อมูลโต้ตอบส่วนหัว” มีความหมายเหมือนกับส่วนหัวของข้อมูลของคำสั่งร้องขอ
เพียงแต่ข้อมูลโต้ตอบส่วนหัวนี้จะบรรจุข้อมูลที่จำเป็นต่อการที่บราวเซอร์จะพิจารณาเพื่อประกอบกับรูปแบบการแสดง
หรือตีความหมายผลลัพธ์ให้กับผู้ใช้ เช่น ข้อมูลจากเซิร์ฟเวอร์ถูกส่งมาโดยผ่านการเข้ารหัส
หรือข้อมูลจากเซิร์ฟเวอร์อยู่ในรูปแบบภาษาญี่ปุ่น เป็นต้น
- HTTP Response Body หรือ “ข้อมูลโต้ตอบส่วนเนื้อความ”
ข้อมูลส่วนนี้ถูกแยกออกจากข้อมูลโต้ตอบส่วนหัวด้วยข้อมูล <CR><LF> หนึ่งคู่
ซึ่งถูกตีความหมายง่ายๆว่าเป็นบรรทัดว่างหนึ่งบรรทัดนั่นเอง
ข้อมูลเนื้อความโต้ตอบนี้เป็นข้อมูลที่ถูกอ่านจากไฟล์ที่เก็บไว้ในเว็บเซิร์ฟเวอร์หากเป็นการนำเสนอข้อมูลเว็บรูปแบบสเต
ติก (Static Web Page)
หรืออาจเป็นข้อมูลที่ผ่านการประมวลผลหรือดึงมาจากฐานข้อมูลใดหากเป็นการนำเสนอข้อมูลเว็บรูปแบบไดนามิก
(Dynamic Web Page) ดังนั้นข้อมูลเนื้อความโต้ตอบจึงเป็นสิ่งที่นักพัฒนาระบบเว็บ
สามารถนำเทคโนโลยีต่างๆเข้ามาช่วยในการดำเนินงาน เช่น Java Servlet หรือ JSP เป็นต้น
รูปแสดงส่วนประกอบของข้อมูลส่วนโต้ตอบ
2 ส่วนประกอบในด้านซอฟต์แวร์
การต่อพ่วงอุปกรณ์เครือข่ายเป็นผลสำเร็จเพื่อสื่อสารผ่านโพรโตคอล TCP/IP
ทำให้สามารถนำเอาซอฟต์แวร์ระบบสื่อสารมาช่วยในการดำเนินการได้หลายรูปแบบ เช่น ระบบอีเมล์ ระบบขนส่งไฟล์ ระบบเว็บ
สำหรับในกรณีของความต้องการที่จะให้ระบบเครือข่ายสามารถทำงานด้วยระบบเว็บได้
ระบบเครือข่ายจำเป็นต้องอาศัยซอฟต์แวร์คอมพิวเตอร์ประกอบไปด้วยเว็บเซิร์ฟเวอร์ และบราวเซอร์
นอกจากนั้นยังต้องการการจัดการรูปแบบเนื้อความให้เป็นไปตามมาตรฐาน HTML หรืออื่นๆที่เกี่ยวข้องดังมีรายละเอียด ต่อไปนี้
2.1 โปรแกรมเว็บเซิร์ฟเวอร์ (Web Server Program)
เว็บเซิร์ฟเวอร์คือโปรแกรมคอมพิวเตอร์ที่ทำงานบนเครื่องคอมพิวเตอร์
ที่ผู้จัดตั้งระบบกำหนดให้เป็นส่วนให้บริการข้อมูลของระบบเว็บ โปรแกรมเว็บเซิร์ฟเวอร์มักจะเปิดทำงานอย่างตลอดเวลา
เพื่อเตรียมความพร้อมในการรองรับการร้องขอจากบราวเซอร์ (ปกติมักจะทำงาน 24 ชั่วโมงต่อวัน)
เว็บเซิร์ฟเวอร์ควรมีความสามารถพื้นฐานคือรองรับการสื่อสารด้วยโพรโตคอล HTTP อาจจะเวอร์ชัน 1.0 หรือ 1.1
หรือมากกว่านั้นก็ได้ และสามารถจัดเก็บเพื่อขนส่งไฟล์ในรูปแบบ HTML (นามสกุล HTM หรือ HTML) ให้กับบราวเซอร์
ปัจจุบันความต้องการข้อมูลบนระบบเว็บเริ่มเปลี่ยนแปลง
จากการอ่านเนื้อข้อมูลในหน้าเว็บที่บรรจุอยู่แต่เพียงในไฟล์ HTML (มักเรียกเนื้อข้อมูลในไฟล์ HTML ว่าข้อมูลแบบสเตติก
[Static Content]) เริ่มต้องการข้อมูลที่อาจมีการเปลี่ยนแปลงอยู่ตลอดเวลาหรือแบบไดนามิค (Dynamic Content)
ซึ่งข้อมูลที่เปลี่ยนแปลงในลักษณะไดนามิคก็จะถูกจัดเก็บในรูปแบบของฐานข้อมูล หรือข้อมูลที่ต้องผ่านการประมวลผลแล้ว
ด้วยเหตุนี้เว็บเซิร์ฟเวอร์ควรจะต้องรองรับรูปแบบการประมวลผลที่สามารถดึงข้อมูลจากฐานข้อมูลหรือข้อมูลจากการประมว
ลผลจากแหล่งอื่น ซึ่งเทคโนโลยีที่มาพร้อมกับเว็บเซิร์ฟเวอร์ที่มีความสามารถดังนี้ มีอยู่หลากหลายแบบ เช่น ASP(Active
Server Page), PHP, CGI(Common Gateway Interface), Java Servlet หรือ JSP(Java Server Page)
การประมวลผลด้วยเทคโนโลยีที่กล่าวมาจำเป็นต้องพิจารณาจากความสามารถของเว็บเซิร์ฟเวอร์เป็นหลัก
บางตัวสามารถรองรับการทำงานได้หลายเทคโนโลยี บางตัวจำเป็นต้องทำงานบนระบบปฏิบัติการเฉพาะถึงจะทำงานได้ดี
เช่น ASP มันจะต้องใช้บนระบบปฏิบัติการวินโดวส์ เนื่องจากเป็นเทคโนโลยีที่เป็นเจ้าของเดียวกันคือ ไมโครซอฟต์
ข้อแนะนำ เทคโนโลยีสามารถนำมาใช้งานบนระบบยูนิกซ์ หรือลีนุกส์ได้ด้วยซอฟต์แวร์ที่ชื่อ ChillySoft
2.2 เว็บบราวเซอร์ (Web Browser)
เว็บบราวเซอร์หรือเรียกกันอย่างคุ้นปากว่าบราวเซอร์ คือโปรแกรมที่ถูกใช้งานโดยผู้ใช้งานเว็บเพื่อค้นหา หรือเรียกดูข้อมูล
การค้นหาหรือการเรียกดูนี้เป็นการร้องขอไปยังเว็บเซิร์ฟเวอร์ที่สนใจ ดังนั้นบราวเซอร์จำเป็นต้องสื่อสารและเข้าใจโพรโตคอล
HTTP ด้วยเช่นกัน และจากที่เว็บเซิร์ฟเวอร์จะส่งเนื้อข้อมูลผ่านโพรโตคอล HTTP
โดยที่เนื้อข้อมูลดังกล่าวถูกแทรกคำสั่งการแสดงผล HTML ซึ่งในบางทีอาจแทรกคำสั่งจัดโครงสร้างเอกสาร XML มาด้วย
และเว็บเซิร์ฟเวอร์บางระบบยังแทรกคำสั่งช่วยในการแสดงผลเพิ่มเติมเช่น CSS (Castcase Style Sheet), JavaScript, Java
Applet, VBScript, ActiveX Control ดังนั้นหากมีคำสั่งที่เพิ่มเติมมากจากเนื้อข้อมูลแล้ว
บราวเซอร์ที่ดีควรที่จะเข้าใจรูปแบบคำสั่งทั้งหมดได้ แต่ผลเสียตามมาคือการทำงานของบราวเซอร์ที่เชื่องช้าขึ้นนั่นเอง
ข้อแนะนำ คำสั่งช่วยในการแสดงผลเพิ่มเติมต่างๆเช่น CSS, JavaScript, …
เกิดจากการกำหนดและการสร้างของผู้พัฒนาเว็บไซต์ ไม่ได้เกิดจากเว็บเซิร์ฟเวอร์โดยตรง
ข้อแนะนำ การพัฒนาเว็บไซต์ที่ต้องใช้เทคโนโลยีที่หลากหลาย อาจทำให้การพัฒนาเว็บดังกล่าวมีความซับซ้อน
และไม่เหมาะนักกับผู้ใช้ในวงกว้าง ยกเว้นพัฒนาขึ้นเพื่อรองรับผู้ใช้เฉพาะกลุ่ม
เพราะเทคโนโลยีต่างๆมีคำสั่งซึ่งสามารถทดแทนกันได้ ดังนั้นการพัฒนาจึงควรใช้งานเทคโนโลยีที่ไม่มากจนเกินไป
บราวเซอร์ปัจจุบันมีอยู่มากมายหลายผลิตภัณฑ์ ซึ่งที่มีผู้นิยมใช้งานมีอยู่หลายราย ซึ่งรายหลักๆมีดังนี้
- Internet Explorer หรือ IE เป็นผลิตภัณฑ์จากค่ายไมโครซอฟต์ เป็นบราวเซอร์ที่รองรับการทำงาน HTML
4.0, CSS, JavaScript, Jscript(ของไมโครซอฟต์), VBScript, ActiveX Control, Java Applet เป็นต้น
- Netcape Navigator หรือ NN เป็นผลิตภัณฑ์จากค่าย AOL (เจ้าของเดิมคือเน็ตสเคป)
เป็นบราวเซอร์ที่รองรับการทำงาน HTML 4.0, CSS, JavaScript, Java Applet เป็นต้น
- Opera เป็นผลิตภัณฑ์ของค่ายโอเปร่า เป็นบราวเซอร์ที่รองรับการทำงาน HTML 4.0, CSS, JavaScript, Java
Applet เป็นต้น
2.3 เทคโนโลยีที่ใช้งานบนระบบเว็บ
เนื่องจากมีเทคโนโลยีหลากหลายรูปแบบมาก ที่กล่าวถึงไว้ในหัวข้อที่ผ่านมา
ดังนั้นเพื่อให้ผู้อ่านได้แยกลักษณะการทำงานและการใช้งานของเทคโนโลยีแต่ละอย่างได้ดี จึงแยกแสดงดังตารางต่อไปนี้
เทคโนโลยี ทำงานบน ลักษณะการใช้งาน
บราวเซอร์ เซิร์ฟเวอร์
HTML √ ใช้จัดรูปแบบการแสดงผลเนื้อข้อมูล
XML √ ใช้จัดโครงสร้างเนื้อข้อมูล
CSS √ ใช้จัดรูปแบบการแสดงผลเนื้อข้อมูลเพิ่มเติมจาก HTML
JavaScript √ ใช้เพิ่มลูกเล่นในการใช้งานบราวเซอร์
Jscript √ (IE) ใช้เพิ่มลูกเล่นในการใช้งานบราวเซอร์
VBScript √ (IE) ใช้เพิ่มลูกเล่นในการใช้งานบราวเซอร์
Java Applet √ ใช้เพิ่มลูกเล่นในการใช้งานบราวเซอร์
ActiveX √ (IE) ใช้เพิ่มลูกเล่นในการใช้งานบราวเซอร์
CGI √ ใช้จัดการเนื้อข้อมูลเพื่อส่งให้กับบราวเซอร์
Java Servlet √ ใช้จัดการเนื้อข้อมูลเพื่อส่งให้กับบราวเซอร์
PHP √ ใช้จัดการเนื้อข้อมูลเพื่อส่งให้กับบราวเซอร์ร่วมกับ HTML
ASP √ ใช้จัดการเนื้อข้อมูลเพื่อส่งให้กับบราวเซอร์ร่วมกับ HTML
JSP √ ใช้จัดการเนื้อข้อมูลเพื่อส่งให้กับบราวเซอร์ร่วมกับ HTML
ตารางแสดงเทคโนโลยีที่ใช้ในระบบเว็บ
2.4 ส่วนประกอบในการจัดการเนื้อหาและเนื้อหา
รูปแบบการรับ-ส่งข้อมูลที่ทำงานภายใต้ข้อกำหนดเว็บมีรูปแบบและลักษณะที่ต้องอาศัยการทำความเข้าใจ
และแยกแยะส่วนเนื้อหา ส่วนจักการเนื้อหา ส่วนรับ-ส่งเนื้อหาให้ออก ซึ่งยากแก่การทำความเข้าใจในลำดับแรก
ดังนั้นเพื่อให้ผู้อ่านได้สามารถมองเห็นรูปแบบในการรับ-ส่งข้อมูลดังกล่าว ผู้เขียนจึงใคร่ขอเปรียบเทียบการรับ-
ส่งข้อมูลของระบบเว็บให้เห็นภาพได้ชัดเจนยิ่งขึ้น โดยเปรียบเทียบกับการรับ-
ส่งผู้โดยสารบนขบวนรถไฟจากสถานีต้นทางไปยังสถานีปลายทาง เมื่อกำหนดให้สถานีต้นทางเปรียบเสมือนเว็บเซิร์ฟเวอร์
สถานนี้ปลายทางเปรียบเสมือนบราวเซอร์ เส้นทางเดินรถไฟเปรียบได้กับสายสัญญาณนำข้อมูล
(ถ้าหากเป็นระบบเครือข่ายไร้สาย ให้เปรียบเป็นการเดินทางด้วยเครื่องบินแทน) ขบวนรถไฟเปรียบเหมือนเป็นโพรโตคอล
TCP/IP ซึ่งแยกออกเป็นหลายๆโบกี้ (หลายแพ็กเกจในข้อกำหนด TCP/IP)
คนที่เป็นพนักงานขับรถและผู้โดยสารก็ให้เป็นเนื้อความในการรับ-ส่งข้อมูลบนเว็บ ยังไม่หมดครับ HTTP
ซึ่งเป็นโพรโตคอลในการสั่งการเพื่อรับ-ส่งข้อมูล อะไรที่เปรียบได้กับการคำสั่งเพื่อให้รถไฟเดินทางรับ-ส่งผู้โดยสาร
ถูกต้องครับผู้ควบคุมสถานีปลายทางและสถานีต้นทาง
รูปแสดงการเปรียบเทียบระบบรับส่งข้อมูลบนเว็บ และระบบรับส่งผู้โดยสารของรถไฟ
ลองมาดูกิจกรรมที่เกิดขึ้นในการรับ-ส่งข้อมูล กับการเดินรถไฟที่ผู้อ่านทุกท่านคุ้นเคยกันดีว่ามีรูปแบบอย่างไร
เมื่อสถานีปลายทาง (บราวเซอร์) มีความพร้อมสำหรับรองรับขบวนรถไฟ (TCP/IP) ผู้ควบคุมสถานีปลายทาง
(ผู้ใช้บราวเซอร์) ส่งคำสั่ง (คลิกที่บราวเซอร์ส่งคำสั่ง HTTP รูปแบบร้องขอ) เพื่อรอรับผู้โดยสาร (เนื้อข้อมูล)
ไปยังสถานีปลายทาง (เว็บเซิร์ฟเวอร์) เมื่อผู้ควบคุมสถานีต้นทาง (โปรแกรมเว็บเซิร์ฟเวอร์) ได้รับคำสั่งจากสถานีปลายทาง
มีการจัดการตำแหน่งที่นั่งผู้โดยสาร (จัดรูปแบบเนื้อข้อมูลด้วย XML และ HTML)
จากนั้นส่งคำสั่งไปยังสถานีปลายทางว่าขบวนรถไปจะนำผู้โดยสารไปยังสถานีปลายทาง
เมื่อผู้โดยสารไปถึงยังสถานีปลายทาง ผู้ควบคุมสถานีปลายทางตรวจสอบผู้โดยสาร (ผู้ใช้บราวเซอร์มองเห็นเนื้อความ
จากการตีความหมายของ XML และ HTML ที่ได้รับ) แล้วลำเลียงออกจากสถานี
เพิ่มเติมที่ว่าเว็บเซิร์ฟเวอร์จะต้องรวบรวมและจัดการเนื้อข้อมูลด้วยรูปแบบ XML (เพื่อจัดโครงสร้าง) และ HTML
(เพื่อจัดรูปแบบการนำเสนอ) ซึ่งในหนังสือเล่มนี้จะกล่าวถึงวิธีการจัดการด้วยการใช้เทคโนโลยีจาวา ที่เรียกว่า Java Servlet
และ Java Server Page (JSP)
ส่วนบราวเซอร์จะมีหน้าที่ในการนำเสนอเนื้อข้อมูล
ซึ่งจำเป็นต้องมีความสามารถในการทำความเข้าใจกับรูปแบบการนำเสนอของ HTML และรูปแบบโครงสร้างเนื้อข้อมูลของ
XML ซึ่งนี้เป็นหน้าที่หลักของโปรแกรมบราวเซอร์อยู่แล้วเช่นกัน
ดังนั้นผู้สร้างจำไม่จำเป็นต้องให้ความสำคัญกับโปรแกรมบราวเซอร์มากนัก
ข้อแนะนำ ในการจัดการข้อมูลแสดงที่บราวเซอร์เมื่อให้ HTML นำเสนอข้อมูลจะได้รูปแบบที่มีลูกเล่นในการแสดงผลไม่มาก
หากต้องการลูกเล่นในการแสดงผลเพื่อเพิ่มความสนใจ เช่น กราฟ หรือเมนูใช้งาน
จำเป็นต้องใช้เทคโนโลยีอื่นๆช่วยในการทำงาน ที่บราวเซอร์สามารถประมวลผลเทคโนโลยีช่วยแสดงผลได้ เช่น Java Applet,
JavaScript เป็นต้น และเทคโนโลยีช่วยในการแสดงผลนี้ก็จะถูกแทรกลงในเนื้อข้อมูลร่วมกับ HTML โดยตรง
2.5 เนื้อข้อมูล (Content)
ในการรับส่งเนื้อข้อมูลจากเซิร์ฟเวอร์ไปยังบราวเซอร์ เมื่อบราวเซอร์ร้องข้อข้อมูลด้วยคำสั่งร้องขอตามมาตรฐาน
HTTP เนื้อข้อมูลจะถูกบรรจุมาพร้อมกับข้อมูลเนื้อความโต้ตอบ (HTTP Response Body)
เป็นแบบที่เคยกล่าวมาแล้วว่าเนื้อข้อมูลนี้เป็นสิ่งที่จะสามารถบอกได้ว่าการทำงานของระบบเว็บที่นำเสนอข้อมูลนี้
เป็นรูปแบบสเตติกหรือไดนามิค หากเป็นรูปแบบสเตติกเนื้อข้อมูลนี้จะอยู่ในรูปแบบ HTML ทั่วไป
แต่หากเป็นแบบไดนามิคแล้วเนื้อข้อมูลมักจะต้องอาศัยการประมวลผลจากเทคโนโลยีใดๆที่สนับสนุนการทำงานจากเว็บเซิร์
ฟเวอร์ เพื่อให้ผลลัพธ์เป็นเนื้อข้อมูลก่อนที่จะส่งไปพร้อมกับเนื้อความโต้ตอบ
หากมีคำถามว่าข้อมูลโต้ตอบที่เป็นไดนามิคทำได้อย่างไร ในความหมายของไดนามิคคือข้อมูลที่มีการเคลื่อนไหว
มีการเปลี่ยนแปลง มีการปรับปรุงอยู่ตลอดเวลาตามความจำเป็น
หากเป็นข้อมูลการซื้อขายทั่วไปช่วงเวลาการเปลี่ยนแปลงอาจมีหน่วยอยู่ที่นาที่
และหากเป็นข้อมูลการซื้อขายในตลาดหุ่นข้อมูลก็จะมีช่วงเวลาการเปลี่ยนแปลงเป็นวินาทีเป็นต้น
สำหรับเนื้อหาในหนังสือเล่มนี้จะกล่าวถึงวิธีการจัดการเนื้อข้อมูลนี้ด้วยเทคโนโลยีที่สืบเนื่องมาจากการใช้งานภาษาจาวาที่เรี
ยกว่า Java Servlet และ JSP
2.6 การจัดรูปแบบเนื้อข้อมูลด้วย HTML
ก่อนที่กล่าวถึงการจัดการข้อมูลในแบบไดนามิค จำเป็นต้องแนะนำผู้อ่านให้เข้าใจในเรื่องของ HTML(HyperText
Markup Language)ก่อน เนื่องจาก HTML เป็นภาษาที่ช่วยในการจัดการเรื่องการแสดงผลข้อมูล เช่น
แสดงข้อมูลด้วยตัวหนา แสดงข้อมูลรูปภาพ แสดงข้อมูลตัวเอียงใหญ่ เป็นต้น ภาษา HTML
มีการปรับปรุงเวอร์ชันมาเรื่อยๆจนในปัจจุบัน (ขณะเขียนตันฉบับ) อยู่ในเวอร์ชันที่ 4.0
ที่สามารถแสดงข้อมูลที่มีลูกเล่นแบบไดนามิค
ข้อแนะนำ ลูกเล่นแบบไดนามิค (Dynamic Display) กับเนื้อข้อมูลแบบไดนามิค (Dynamic Content) มีความแตกต่างกันที่
ลูกเล่นแบบไดนามิคเป็นการแสดงที่มีลูกเล่น เช่น การเคลื่อนไหวของตัวอักษรหรือภาพ
การตอบสนองต่อการขยับเมาส์ของผู้ใช้
แต่เนื้อข้อมูลแบบไดนามิคหมายถึงการเรียกดูข้อมูลมีการเปลี่ยนแปลงตามความจำเป็น
ภาษา HTML มีรูปแบบของการแทรกมาร์คอัพ (มักนิยมเรียกกันวาแท็กคำสั่ง [Tag]) ที่เป็นคำสั่งลงในเนื้อข้อมูล
เพื่อชี้บ่งว่าบริเวณนี้ควรจะเป็นตัวหนาขนาดใหญ่ เช่น <H1>Hello</H1> หมายถึงการทำเนื้อข้อมูล Hello
ให้มีขนาดใหญ่ระดับที่หนึ่ง
<H1>Hello</H1> Hello
ข้อแนะนำ แท็กคำสั่งของ HTML มักจะอยู่ระหว่างสัญลักษณ์ < และ >
ซึ่งจะถูกตีความหมายการแสดงด้วยความสามารถของบราวเซอร์
แต่แท็กคำสั่งจะไม่ถูกนำมาแสดงร่วมกับเนื้อความที่นำเสนอต่อผู้ใช้
นอกจากนั้นแล้วภาษา HTML มักจะบรรจุในไฟล์นามสกุล html หรือ htm
แต่หากเป็นการสร้างเนื้อความแบบไดนามิคแล้วไฟล์ HTML
จะเกิดขึ้นจากการประมวลผลด้วยความสามารถของเว็บเซิร์ฟเวอร์แล้วส่งให้กับบราวเซอร์ในแต่ละครั้งของการเรียกใช้งาน
โดยไม่บันทึกไฟล์ดังกล่าวไว้ในส่วนใดๆของเว็บเซิร์ฟเวอร์
ลักษณะเช่นนี้จึงสอดคล้องกับการให้บริการข้อมูลแบบไดนามิคด้วยนั่นเอง
2.7 การจัดโครงสร้างของเนื้อความด้วย XML
สำหรับการจัดโครงสร้างของเนื้อความด้วย XML(eXtensin Markup Language)
นั่นเป็นสิ่งที่เกิดขึ้นมาภายหลังจากเว็บถึงจุดอิ่มตัวของเทคนิคในการนำเสนอข้อมูล
และข้อจำกัดด้วยรูปแบบเนื้อความในแบบ HTML
ซึ่งหากมีการแลกเปลี่ยนเนื้อความระหว่างเว็บเซิร์ฟเวอร์ด้วยกันเองหรือจากบราวเซอร์ก็ตาม
สิ่งหนึ่งที่เป็นข้อจำกัดก็คือเนื้อความดังกล่าวไม่มีความหมายว่าหมายถึงอะไร
(ความหมายที่ไม่สามารถเข้าใจด้วยคอมพิวเตอร์ แต่อาจเข้าใจด้วยการอ่านโดยตรง)
การไม่เข้าใจความหมายของคอมพิวเตอร์ทำให้การแลกเปลี่ยนข้อมูลมีความสับสน
เช่นไม่สามารถทราบได้ว่าส่วนไหนคือราคาสินค้า ส่วนไหนคือชื่อสินค้า
เนื่องจากเว็บเซิร์ฟเวอร์แต่ละเครื่องอาจแสดงชื่อสินค้า และราคาสินค้าด้วยตัวอักษร หรือสีที่แตกต่างกัน
ทั้งนี้รวมถึงการใช้ตัวอักษรด้วย เช่น สามสิบบาท เป็นต้น
จากข้อจำกัดที่คอมพิวเตอร์ไม่สามารถตีความหมายจากเนื้อความได้
จึงก่อให้มีการคิดค้นวิธีการกำหนดโครงสร้างของเนื้อความขึ้น ซึ่ง XML คือเทคโนโลยีหนึ่งที่มาช่วยโต้ตอบความต้องการนี้ได้
XML เป็นส่วนเพิ่มขยายจาก HTML ซึ่งมีการแทรกมาร์คอัพหรือแท็ก ลงในบริเวณเนื้อความว่าส่วนนี้คือชื่อสินค้า
ส่วนนี้คือราคาสินค้า ส่วนนี้คือรายละเอียดสินค้า
<H1>Hello</H1> Hello
ข้อแนะนำ แท็ก HTML ต้องสร้างตามข้อกำหนดของมาตรฐาน HTML แต่แท็กของ XML ผู้สร้างสามารถกำหนดชื่อแท็ก
และลักษณะการใช้งานได้ตามความต้องการ
3 ส่วนประกอบสนับสนุนระบบ
ในการทำงานระบบเว็บบางครั้งต้องการสนับสนุนจากโปรแกรมส่วนสนับสนุนอื่นๆ
เป็นที่ทราบกันดีอยู่แล้วว่าบริการเว็บคือบริการที่นำเสนอข้อมูลรูปแบบเว็บตามการร้องข้อจากผู้ใช้เท่านั้น
หากการบริการข้อมูลที่นำข้อมูลมาจากแหล่งอื่นๆที่สนับสนุนข้อมูลอยู่
ระบบเว็บจำเป็นต้องทำงานร่วมกับส่วนสนับสนุนอื่นๆได้เป็นอย่างดี
ซึ่งโปรแกรมหรือระบบงานที่จะสนับสนุนการทำงานในปัจจุบันมีอยู่มากมายหลายรูปแบบ ดังมีตัวอย่างต่อไปนี้
3.1 ระบบฐานข้อมูล (Database System)
แน่นอนว่าระบบฐานข้อมูลเป็นส่วนที่มีความสำคัญเป็นอย่างมาก
ที่จะมาช่วยสนับสนุนการนำเสนอเนื้อความบนระบบเว็บที่มีลักษณะเป็นไดนามิค
ซึ่งระบบฐานข้อมูลที่ใช้กันอย่างแพร่หลายในปัจจุบันคือ ระบบฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
ระบบฐานข้อมูลนี้ถูกนำมาใช้ในการดำเนินกิจกรรมที่มีการดำเนินการอย่างต่อเนื่อง เพื่อช่วยทั้งในแง่ความถูกต้องของข้อมูล
ความปลอดภัยของข้อมูล การบริหารงานข้อมูล
แทนการบันทึกลงในรูปแบบไฟล์ดั่งเดิมที่ต้องอาศัยโปรแกรมเมอร์ที่มีความชำนาญในการสร้างโปรแกรมที่บริหารข้อมูลได้
แต่การใช้ระบบฐานข้อมูลในรูปแบบของซอฟต์แวร์เป็นสิ่งที่ทำให้งานในด้านการเขียนโปรแกรมลดลง
เป็นการใช้งานซอฟต์แวร์ที่ถูกออกแบบมาอย่างดีมาช่วยบริหารงานข้อมูล
และเมื่อมีการนำเอาระบบฐานข้อมูลมาใช้กันอย่างแพร่หลายแล้วดังนั้นในรูปแบบของการเข้าถึง
การจัดเก็บข้อมูลจึงต้องอาศัยช่องทางในการทำงาน
ซึ่งอาจจำเป็นต้องอาศัยเทคโนโลยีในส่วนของมิดเดิลแวร์เข้ามาเกี่ยวข้องด้วย
- ระบบฐานข้อมูลส่วนบุคคล (Personal Database) จัดเป็นระบบฐานข้อมูลที่ใช้ในการบริหารข้อมูลขนาดเล็ก
หรือใช้งานส่วนบุคคล หรือองค์กรขนาดเล็ก สำหรับจัดเก็บข้อมูลที่มีปริมาณไม่มากนัก
ตัวอย่างของซอฟต์แวร์ที่ใช้งานในลักษณะนี้ในปัจจุบันคือ Microsoft Access, FoxPro, dBase, Paradox เป็นต้น
- ระบบฐานข้อมูลในระดับองค์กร (Enterprise Database System)
แน่นอนว่าในการจัดเก็บและบริหารงานที่มีปริมาณข้อมูลจำนวนมาก
และมีผู้ใช้งานข้อมูลจำนวนมากในช่วงเวลาเดียวกัน จำเป็นต้องอาศัยซอฟต์แวร์ที่ได้ออกแบบมาเป็นพิเศษ
เพื่อให้การจัดการข้อมูลเป็นไปอย่างถูกต้องและมีเสถียรภาพ ตัวอย่างของซอฟต์แวร์ที่ใช้งานในลักษณะรี้ในปัจจุบันคือ
Oracle, DB2, Informix, Microsoft SQL Server เป็นต้น
- คำสั่ง SQL (Structured Query Language) เป็นกลุ่มคำสั่งที่ถูกออกแบบมาเป็นมาตรฐานเพื่อประโยชน์ในการจัดการ
สืบค้นข้อมูลจากระบบฐานข้อมูล
คำสั่งนี้เป็นสิ่งจำเป็นอย่างมากที่นักพัฒนาโปรแกรมคอมพิวเตอร์ไม่ว่าระบบใดๆที่ต้องเกี่ยวกับระบบฐานข้อมูล
จำเป็นต้องทำความเข้าใจและเรียนรู้ เพราะคำสั่ง SQL เป็นคำสั่งที่ถูกรองรับในระบบฐานข้อมูลทุกระบบในปัจจุบัน
- มิดเดิลแวร์(Middleware)
คือโปรเซสขนาดเล็กที่จะมาช่วยเสริมการทำงานระบบฐานข้อมูลที่มีอยู่หลากหลายในท้องตลาด
ให้สามารถเข้าถึงและจัดการข้อมูลจากโปรแกรมใช้งาน (หรือพัฒนาขึ้นมาเอง) ได้
สำหรับในกรณีการพัฒนาด้วยเทคโนโลยีจาวาแล้ว มิดเดิลแวร์ที่ถูกใช้เรียกว่า JDBC (Java Database Connectivity)
ที่จัดว่าเป็นมิดเดิลแวร์ที่พัฒนามาจากภาษาจาวาล้วนๆ และรองรับคำสั่ง SQL-92 ซึ่งเป็นมาตรฐานในปัจจุบัน
นอกนั้นผู้ผลิตซอฟต์แวร์ระบบฐานข้อมูลต่างๆก็สร้างไดร์เวอร์ (JDBC Driver) เพื่อรองรับกับ JDBC อยู่แล้ว
3.2 แอปพลิเคชั่นเซิร์ฟเวอร์ (Application Server)
ในการการพัฒนาระบบในระดับเอ็นเตอร์ไพร์แล้ว หากมีซอฟต์แวร์หลายตัวที่ทำหน้าที่ในส่วนแบล็กเอ็น
(Backend) หรืองานในส่วนเซิร์ฟเวอร์ เช่น ระบบฐานข้อมูล เพื่อจัดเก็บข้อมูลในระบบทั้งหมด
แอปพลิเคชั่นเซิร์ฟเวอร์จึงจำเป็นอย่างยิ่งที่จะนำมาช่วยจัดการการสื่อสารที่ไคลเอนต์ต้องทำในหลายระบบการสื่อสาร
โดยเป็นการเชื่อมโยงส่วนไคลเอนต์ ผ่านทางแอปพลิเคชั่นเซิร์ฟเวอร์
เพื่อจัดการสื่อสารให้ถูกต้องกับเซิร์ฟเวอร์ที่มีหลายรูปแบบการสื่อสาร
แอปพลิเคชั่นเซิร์ฟเวอร์นอกจากมีประโยชน์ในทำนองดังกล่าวแล้ว
แต่ก็จะถูกใช้ในกรณีที่เป็นการใช้งานในงานระดับใหญ่มากกว่างานในระดับเล็ก
เพราะแทนที่จะเป็นประโยชน์อาจจะทำให้เกิดผลเสียที่ตามมาคือ ความช้าในการดำเนินการของระบบ
เนื่องจากการสื่อสารแทนที่จะผ่านจากไคลเอนต์ไปสู่เซิร์ฟเวอร์โดยตรง กลับต้องผ่านแอปพลิเคชั่นเซิร์ฟเวอร์ก่อน
จากบทนี้ทางผู้อ่านจะได้
รับความรู้เกี่ยวกับการทำงานของร
ะบบเว็บว่าแต่ละส่วนทั้งโพรโตคอ
ล HTTP เว็บบราวเซอร์
และเว็บเซิร์ฟเวอร์ทำหน้าที่อย่างไ
ร
อีกทั้งยังได้รับข้อมูลเกี่ยวกับเทคโ
นโลยีทั้งในเชิงเปรียบเทียบและกา
รใช้งาน
ว่าเทคโนโลยีแต่ละรูปแบบถูกนำม
าใช้งานเพื่อวัตถุประสงค์และเป้าห
มายอย่างไร
เทคโนโลยีที่สำคัญสำหรับการนำไ
ปใช้งานและศึกษาคือเซิร์ฟเล็ตแล
ะ JSP
ในบทต่อไปเป็นการศึกษาลักษณะ
เอกสารหรือข้อมูลที่ส่งจากเว็บเซิร์
ฟเวอร์ไปหาบราวเซอร์ ทั้ง HTML,
CSS, XML
ในเบื้องต้นเพื่อใช้ประโยชน์ในการ
นำมาใช้ในการสร้างโปรแกรม

Contenu connexe

Similaire à Javacentrix com chap02-0

บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1shopper38
 
หน่วยที่ 01
หน่วยที่ 01หน่วยที่ 01
หน่วยที่ 01Nuytoo Naruk
 
แปล Design and implementation of e
แปล Design and implementation of eแปล Design and implementation of e
แปล Design and implementation of eSchool
 
หน่วยที่ 2
หน่วยที่ 2หน่วยที่ 2
หน่วยที่ 2pom_2555
 
นุ๊ก
นุ๊กนุ๊ก
นุ๊กsirinet
 
หมวย
หมวยหมวย
หมวยsirinet
 
ดรีม
ดรีมดรีม
ดรีมsirinet
 
หมวย
หมวยหมวย
หมวยsirinet
 
หวิว
หวิวหวิว
หวิวViewMik
 
รออกแบบเว็บไซต์
รออกแบบเว็บไซต์รออกแบบเว็บไซต์
รออกแบบเว็บไซต์sirinet
 
Wordpress
WordpressWordpress
Wordpresssep27th
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1shopper38
 
หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ต
หน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ตหน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ต
หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ตPapichaya Chengtong
 
หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ต
หน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ตหน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ต
หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ตPapichaya Chengtong
 
คู่มือการสร้างเว็บDreammx2004
คู่มือการสร้างเว็บDreammx2004คู่มือการสร้างเว็บDreammx2004
คู่มือการสร้างเว็บDreammx2004kernger99
 

Similaire à Javacentrix com chap02-0 (20)

บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
Webbasic
WebbasicWebbasic
Webbasic
 
หน่วยที่ 01
หน่วยที่ 01หน่วยที่ 01
หน่วยที่ 01
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
แปล Design and implementation of e
แปล Design and implementation of eแปล Design and implementation of e
แปล Design and implementation of e
 
หน่วยที่ 2
หน่วยที่ 2หน่วยที่ 2
หน่วยที่ 2
 
นุ๊ก
นุ๊กนุ๊ก
นุ๊ก
 
โบ
โบโบ
โบ
 
Best
BestBest
Best
 
หมวย
หมวยหมวย
หมวย
 
ดรีม
ดรีมดรีม
ดรีม
 
หมวย
หมวยหมวย
หมวย
 
หวิว
หวิวหวิว
หวิว
 
รออกแบบเว็บไซต์
รออกแบบเว็บไซต์รออกแบบเว็บไซต์
รออกแบบเว็บไซต์
 
Wordpress
WordpressWordpress
Wordpress
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ต
หน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ตหน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ต
หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ต
 
หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ต
หน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ตหน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ต
หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ต
 
คู่มือการสร้างเว็บDreammx2004
คู่มือการสร้างเว็บDreammx2004คู่มือการสร้างเว็บDreammx2004
คู่มือการสร้างเว็บDreammx2004
 
Wps
WpsWps
Wps
 

Plus de Theeravaj Tum

Javacentrix com chap11-2
Javacentrix com chap11-2Javacentrix com chap11-2
Javacentrix com chap11-2Theeravaj Tum
 
Javacentrix com chap10-0
Javacentrix com chap10-0Javacentrix com chap10-0
Javacentrix com chap10-0Theeravaj Tum
 
Javacentrix com chap09-0
Javacentrix com chap09-0Javacentrix com chap09-0
Javacentrix com chap09-0Theeravaj Tum
 
Javacentrix com chap08-0
Javacentrix com chap08-0Javacentrix com chap08-0
Javacentrix com chap08-0Theeravaj Tum
 
Javacentrix com chap07-0
Javacentrix com chap07-0Javacentrix com chap07-0
Javacentrix com chap07-0Theeravaj Tum
 
Javacentrix com chap04-0
Javacentrix com chap04-0Javacentrix com chap04-0
Javacentrix com chap04-0Theeravaj Tum
 
Javacentrix com chap03-0
Javacentrix com chap03-0Javacentrix com chap03-0
Javacentrix com chap03-0Theeravaj Tum
 
Javacentrix com chap01-0
Javacentrix com chap01-0Javacentrix com chap01-0
Javacentrix com chap01-0Theeravaj Tum
 
Javacentrix com chap05-0
Javacentrix com chap05-0Javacentrix com chap05-0
Javacentrix com chap05-0Theeravaj Tum
 
บทที่ 13 การดักจับเ
บทที่ 13 การดักจับเบทที่ 13 การดักจับเ
บทที่ 13 การดักจับเTheeravaj Tum
 
บทที่ 12 กราฟฟิก
บทที่ 12 กราฟฟิกบทที่ 12 กราฟฟิก
บทที่ 12 กราฟฟิกTheeravaj Tum
 
บทที่ 11 การดักจับข
บทที่ 11 การดักจับขบทที่ 11 การดักจับข
บทที่ 11 การดักจับขTheeravaj Tum
 
บทที่ 10 ตัวแปรสตริ
บทที่ 10 ตัวแปรสตริบทที่ 10 ตัวแปรสตริ
บทที่ 10 ตัวแปรสตริTheeravaj Tum
 
บทที่ 9 การพ้องรูป
บทที่ 9 การพ้องรูปบทที่ 9 การพ้องรูป
บทที่ 9 การพ้องรูปTheeravaj Tum
 
บทที่ 8 คุณสมบัติก
บทที่ 8 คุณสมบัติกบทที่ 8 คุณสมบัติก
บทที่ 8 คุณสมบัติกTheeravaj Tum
 
บทที่ 7 แพ็คเกจ
บทที่ 7 แพ็คเกจบทที่ 7 แพ็คเกจ
บทที่ 7 แพ็คเกจTheeravaj Tum
 
บทที่ 6 อาร์เรย์
บทที่ 6 อาร์เรย์บทที่ 6 อาร์เรย์
บทที่ 6 อาร์เรย์Theeravaj Tum
 
บทที่ 5 คลาส
บทที่ 5 คลาสบทที่ 5 คลาส
บทที่ 5 คลาสTheeravaj Tum
 
บทที่ 4 แอทริบิวท์
บทที่ 4 แอทริบิวท์บทที่ 4 แอทริบิวท์
บทที่ 4 แอทริบิวท์Theeravaj Tum
 
บทที่ 3 คำสั่งควบค
บทที่ 3 คำสั่งควบคบทที่ 3 คำสั่งควบค
บทที่ 3 คำสั่งควบคTheeravaj Tum
 

Plus de Theeravaj Tum (20)

Javacentrix com chap11-2
Javacentrix com chap11-2Javacentrix com chap11-2
Javacentrix com chap11-2
 
Javacentrix com chap10-0
Javacentrix com chap10-0Javacentrix com chap10-0
Javacentrix com chap10-0
 
Javacentrix com chap09-0
Javacentrix com chap09-0Javacentrix com chap09-0
Javacentrix com chap09-0
 
Javacentrix com chap08-0
Javacentrix com chap08-0Javacentrix com chap08-0
Javacentrix com chap08-0
 
Javacentrix com chap07-0
Javacentrix com chap07-0Javacentrix com chap07-0
Javacentrix com chap07-0
 
Javacentrix com chap04-0
Javacentrix com chap04-0Javacentrix com chap04-0
Javacentrix com chap04-0
 
Javacentrix com chap03-0
Javacentrix com chap03-0Javacentrix com chap03-0
Javacentrix com chap03-0
 
Javacentrix com chap01-0
Javacentrix com chap01-0Javacentrix com chap01-0
Javacentrix com chap01-0
 
Javacentrix com chap05-0
Javacentrix com chap05-0Javacentrix com chap05-0
Javacentrix com chap05-0
 
บทที่ 13 การดักจับเ
บทที่ 13 การดักจับเบทที่ 13 การดักจับเ
บทที่ 13 การดักจับเ
 
บทที่ 12 กราฟฟิก
บทที่ 12 กราฟฟิกบทที่ 12 กราฟฟิก
บทที่ 12 กราฟฟิก
 
บทที่ 11 การดักจับข
บทที่ 11 การดักจับขบทที่ 11 การดักจับข
บทที่ 11 การดักจับข
 
บทที่ 10 ตัวแปรสตริ
บทที่ 10 ตัวแปรสตริบทที่ 10 ตัวแปรสตริ
บทที่ 10 ตัวแปรสตริ
 
บทที่ 9 การพ้องรูป
บทที่ 9 การพ้องรูปบทที่ 9 การพ้องรูป
บทที่ 9 การพ้องรูป
 
บทที่ 8 คุณสมบัติก
บทที่ 8 คุณสมบัติกบทที่ 8 คุณสมบัติก
บทที่ 8 คุณสมบัติก
 
บทที่ 7 แพ็คเกจ
บทที่ 7 แพ็คเกจบทที่ 7 แพ็คเกจ
บทที่ 7 แพ็คเกจ
 
บทที่ 6 อาร์เรย์
บทที่ 6 อาร์เรย์บทที่ 6 อาร์เรย์
บทที่ 6 อาร์เรย์
 
บทที่ 5 คลาส
บทที่ 5 คลาสบทที่ 5 คลาส
บทที่ 5 คลาส
 
บทที่ 4 แอทริบิวท์
บทที่ 4 แอทริบิวท์บทที่ 4 แอทริบิวท์
บทที่ 4 แอทริบิวท์
 
บทที่ 3 คำสั่งควบค
บทที่ 3 คำสั่งควบคบทที่ 3 คำสั่งควบค
บทที่ 3 คำสั่งควบค
 

Javacentrix com chap02-0

  • 1. บทที่ 2 โลกของเวิร์ดไวเว็บ สำหรับในบทนี้เป็นการแนะนำให้ผู้อ่านได้เข้าใจกับการทำงานของระบบเวิร์ ดไวเว็บ (World Wide Web) หรือเรียกกันสั้นๆว่าระบบเว็บ ก่อนที่จะเริ่มปฏิบัติการเพื่อการเรียนรู้ในการพัฒนาระบบที่ทำการประมวลผลใน รูปแบบเอ็นเตอร์ไพร์ การทำความเข้าใจกับการทำงานของระบบเว็บเป็นสิ่งที่จำเป็นอย่างยิ่ง ทั้งในด้านการทำงานของเว็บเซิร์ฟเวอร์ เว็บไคลเอนต์(บราวเซอร์) และโพรโตคอล HTTP และเนื่องจากการพัฒนาระบบในด้านเอ็นเตอร์ไพร์เน้นไปที่การจัดการข้อมูลแล ะดำเนินงานในตัวเซิร์ฟเวอร์เป็นหลัก เพื่อให้สามารถรองรับกับการร้องขอของบราวเซอร์ได้เป็นอย่างดี
  • 2. 1 ส่วนประกอบในการสื่อสารระบบเว็บ การทำงานของระบบเว็บนั้นนอกจากจะประกอบจากส่วนประกอบทางด้านฮาร์ดแวร์และซอฟต์แวร์แล้ว ยังมีอีกส่วนที่สำคัญก็คือมาตรฐานในการสื่อสารในระบบแอปพลิเคชั่น ที่เรียกกันว่าโพรโตคอลระดับแอปพลิเคชั่น (Application Protocol) ซึ่งในระบบเว็บจะใช้โพรโตคอลชื่อ HTTP ผู้พัฒนาโปรแกรมในระบบเว็บจำเป็นต้องศึกษารายละเอียดและวิธีการทำงานให้เข้าใจ ก่อนที่จะรู้จักกับการควบคุมการทำงานของโพรโตคอลได้ 1.1 โพรโตคอล HTTP (Hyper Text Transfer Protocol) โพรโตคอลที่ชื่อ HTTP ตามที่เคยเกริ่นไว้ในบทที่ผ่านๆมาว่า เป็นโพรโตคอลที่เป็นมาตรฐานเพื่อการสื่อสารข้อมูลเพื่อให้เกิดเป็นการทำงานของระบบเว็บขึ้นมา HTTP ถือว่าเป็นโพรโตคอลในระดับสูงเพื่อทำงานในระดับแอปพลิเคชั่น (ภาษาด้านเน็ตเวิร์คกล่าวถึงว่าเป็นรูปแบบการสื่อสารในเลเยอร์ที่ 7 ของกฎการสื่อสาร 7 Layers ของโมเดลการสื่อสารรูปแบบ OSI หรือเรียกว่าแอปพลิเคชั่น โพรโตคอล การสื่อสารด้วย HTTP จำเป็นต้องทำงานอยู่บนโพรโตคอลระดับล่างลง เช่นโพรโตคอลที่ทำงานในระดับแพ็กเกจข้อมูลหรือ TCP/IP จะเห็นได้ว่าโพรโตคอลแต่ละโพรโตคอลเน้นไปที่การสื่อสารรูปแบบข้อมูลที่แตกต่างกัน แต่จำเป็นต้องอาศัยซึ่งกันและในความหมายก็คือ HTTP ต้องอาศัย TCP/IP ทำงานเสมอ ดังนั้นจึงขอให้ผู้อ่านทำความเข้าใจโพรโตคอลทั้งสองตัวก่อนว่าทำงานคนละระดับของการสื่อสารเดียวกัน เพื่อลดความกำกวมว่าทำไมถึงเรียกว่าโพรโตคอลเหมือนกัน สำหรับในหนังสือเล่มนี้คงกล่าวไว้เฉพาะลักษณะของ HTTP เนื่องจากเกี่ยวของกับลักษณะของการพัฒนาระบบมากกว่า โพรโตคอล HTTP ใช้ในการโต้ตอบระหว่างบราวเซอร์กับเว็บเซิร์ฟเวอร์เพื่อลำเลียงเนื้อข้อมูล โดย HTTP มีรูปแบบเป็นลักษณะคำสั่งที่อาจจะมีหรือไม่มีข้อมูลประกอบคำสั่ง (พารามิเตอร์) ด้วย ซึ่งเมื่อระบบเว็บถูกแยกออกเป็นส่วนบราวเซอร์และส่วนเว็บเซิร์ฟเวอร์แล้ว คำสั่ง HTTP จึงมีรูปแบบที่แยกออกเป็น 2 ส่วนด้วยกันดังนี้ รูปแสดงการสื่อสารในแบบ Request และ Response HTTP Request เป็นคำสั่งในส่วน “คำสั่งร้องขอ” ซึ่งมักจะถูกส่งจากบราวเซอร์ไปยังเว็บเซิร์ฟเวอร์ เพื่อจุดประสงค์ในการร้องขอเนื้อข้อมูล โดยเนื้อข้อมูลอาจจะถูกจัดเก็บในรูปแบบของไฟล์ หรือฐานข้อมูลใดๆที่เว็บเซิร์ฟเวอร์สามารถดึงเอาข้อมูลมาบริการให้กับบราวเซอร์ได้ และในคำสั่งร้องขอถูกแยกออกเป็นคำสั่งย่อย ดังนี้ - HTTP Request Type หรือประเภทคำสั่งร้องขอ ขึ้นอยู่กับการร้องขอซึ่งบราวเซอร์จะสร้างประเภทคำสั่งร้องขอขึ้นมาและส่งคำสั่งไปยังเว็บเซิร์ฟเวอร์ ประเภทคำสั่งร้องขอ ประกอบด้วย 2 ประเภทหลักๆคือ GET หรือ POST โดยปกติหากบราวเซอร์ร้องขอในประเภท GET มักจะส่งข้อมูลพารามิเตอร์ไปพร้อมกับคำสั่งร้องขอด้วย หากบราวเซอร์ร้องขอด้วยคำสั่งในรูปแบบ POST ข้อมูลพารามิเตอร์จะถูกส่งรวมกับข้อมูลในส่วนหัว (HTTP Request Header) แทน ข้อแนะนำ ข้อมูลพารามิเตอร์คือข้อมูลที่ถูกส่งผ่านทางฟอร์ม (Form) โดยการกรอกข้อมูล บางครั้งข้อมูลพารามิเตอร์นี้ มักจะถูกเรียกว่า Form Data หรือไม่ก็ Query Data บางทีข้อมูลพารามิเตอร์ถูกส่งไปพร้อมกับ URL ถูกใช้เป็นข้อมูลเสริมจากคำสั่งร้องขอใดจากบราวเซอร์
  • 3. - HTTP Request Header หมายถึงข้อมูลร้องขอส่วนหัว ซึ่งมักจะบรรจุคำสั่งหรือรายละเอียดประกอบคำสั่งร้องขอเพื่อบอกลักษณะการใช้งาน หรือลักษณะบราวเซอร์ให้กับเว็บเซิร์ฟเวอร์ เพื่อที่เว็บเซิร์ฟเวอร์จำได้จัดข้อมูลมาให้บราวเซอร์อย่างเหมาะสม ลองดูตัวอย่างของข้อมูลร้องขอส่วนหัว เช่น บอกถึงชนิดรูปภาพที่บราวเซอร์สามารถแสดง หรือบอกถึงภาษาที่รองรับในการแสดงผล เป็นต้น ตัวอย่างคำสั่ง HTTP ที่ส่งจากบราวเซอร์ในแบบ GET GET /order/index.html HTTP/1.1 200 OK Server: Apache Tomcat/4.0.1 Content-Type: text/html Date: 5 Jun, 2002 16:06:35 GMT <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD><TITLE>Say Hello</TITLE></HEAD> <BODY>Hello World</BODY> <HTML> รูปแสดงส่วนประกอบของข้อมูลร้องขอ จากรูปแสดงคำสั่งร้องขอ GET ที่ส่งจากบราวเซอร์หากผู้ใช้ใส่ข้อมูลร้องของเอกสาร index.html ในเส้นทาง order ซึ่งจะได้รับข้อมูลโต้ตอบจากเว็บเซิร์ฟเวอร์ (สังเกตจากตัวหนา) ซึ่งยากข้อมูลออกเป็น 2 ส่วนคือข้อมูลโต้ตอบส่วนหัว (ตัวหน้าปกติ) และเนื้อข้อมูล (ตัวหนาเอียง) HTTP Response เป็นรูปแบบผลลัพธ์ในส่วน “ข้อมูลโต้ตอบ” และข้อมูลโต้ตอบยังแยกออกเป็น 2 ส่วนคือ - HTTP Response Status Code หรือ “รหัสสถานะโต้ตอบ” เมื่อเว็บเซิร์ฟเวอร์ได้รับคำสั่งร้องขอจากบราวเซอร์ จะพิจารณาคำสั่งดังกล่าวว่าถูกต้องหรือไม่ และสามารถโต้ตอบคำสั่งดังกล่าวได้หรือไม่ได้อย่างไร จากนั้นโต้ตอบคำสั่งร้องขอด้วยรหัสตัวเลข (จำนวน 3 หลัก) รหัสตัวเลขนี้บราวเซอร์สามารถนำไปตรวจสอบเพื่อดูความหมายว่าเว็บเซิร์ฟเวอร์ส่งอะไรมาให้ หากเป็นรหัสแสดงความผิดพลาดก็จะแสดงข้อมูลแจ้งไปยังผู้ใช้บราวเซอร์ต่อไป หรือรหัสแสดงการดำเนินการต่อเนื่องก็จะทำการสื่อสารด้วยคำสั่ง HTTP กับเว็บเซิร์ฟเวอร์ต่อไปจนกว่าจะได้รับข้อมูลเป็นผลสำเร็จ รหัสสถานะโต้ตอบดูได้จากรูปแสดงส่วนประกอบของข้อมูลร้องขอที่แสดงข้อความ "200 OK" สังเกตตัวเลข 200 คือรหัสสถานะโต้ตอบ ส่วนคำว่า OK เป็นข้อมูลอธิบายรหัสสถานะ เนื่องจากการส่งข้อมูลจากเว็บเซิร์ฟเวอร์สู่บราวเซอร์มีลักษณะเป็นข้อมูลรูปแบบสตรีม(Streaming) บราวเซอร์จะทำการอ่านข้อมูลที่ได้รับเข้ามาทีละตัวอักษร ซึ่งการสื่อสารรูปแบบนี้รหัสของสถานะโต้ตอบสถานะมีประโยชน์เป็นอย่างมาก หากบราวเซอร์ตรวจสอบรหัสสถานะดูแล้ว เห็นว่าเกิดความล้มเหลวในการโต้ตอบจากเว็บเซิร์ฟเวอร์ บราวเซอร์ก็อาจจะหยุดรับข้อมูลในทันที โดยไม่สนใจข้อมูลที่จะตามมาจากเว็บเซิร์ฟเวอร์ก็ได้ เพื่อประหยัดเวลาในการสื่อสาร และทำให้การใช้งานของผู้ใช้มีความรวดเร็วขึ้น นอกจากบราวเซอร์จะได้รับข้อมูลโต้ตอบในส่วนของรหัสสถานะโต้ตอบแล้ว ยังประกอบด้วยข้อมูลสั้นๆ
  • 4. ที่ใช้อธิบายความหมายของรหัสสถานะโต้ตอบโดยวางไว้ด้านหลังรหัส โดยข้อมูลในส่วนนี้บราวเซอร์อาจไม่สนใจหรือละเลยได้ เนื่องจากไม่มีผลกับการนำมาแสดงผลสู่ผู้ใช้ รหัสสถานะโต้ตอบ ถูกแบบการใช้งานออกเป็นกลุ่มใหญ่ๆดังนี้ 100 – 199 เว็บเซิร์ฟเวอร์แจ้งให้บราวเซอร์ว่ามีการโต้ตอบการทำงานใด ๆ 200 – 299 เว็บเซิร์ฟเวอร์แจ้งให้บราวเซอร์ทราบว่าการร้องขอได้รับการโต้ตอบจากเว็บเซิร์ฟเวอร์โดยสมบูรณ์ 300 – 399 เว็บเซิร์ฟเวอร์แจ้งให้บราวเซอร์ทราบว่าข้อมูลที่ต้องการมีการโยกย้ายตำแหน่งไปที่อื่น 400 – 499 เว็บเซิร์ฟเวอร์แจ้งลักษณะผิดพลาดให้บราวเซอร์รับทราบ 500 – 599 เว็บเซิร์ฟเวอร์แจ้งลักษณะผิดพลาดให้เว็บบราวเซอร์โดยข้อผิดพลาดเกิดขึ้นจากตัวเซิร์ฟเวอร์เอง - HTTP Response Header หรือ “ข้อมูลโต้ตอบส่วนหัว” มีความหมายเหมือนกับส่วนหัวของข้อมูลของคำสั่งร้องขอ เพียงแต่ข้อมูลโต้ตอบส่วนหัวนี้จะบรรจุข้อมูลที่จำเป็นต่อการที่บราวเซอร์จะพิจารณาเพื่อประกอบกับรูปแบบการแสดง หรือตีความหมายผลลัพธ์ให้กับผู้ใช้ เช่น ข้อมูลจากเซิร์ฟเวอร์ถูกส่งมาโดยผ่านการเข้ารหัส หรือข้อมูลจากเซิร์ฟเวอร์อยู่ในรูปแบบภาษาญี่ปุ่น เป็นต้น - HTTP Response Body หรือ “ข้อมูลโต้ตอบส่วนเนื้อความ” ข้อมูลส่วนนี้ถูกแยกออกจากข้อมูลโต้ตอบส่วนหัวด้วยข้อมูล <CR><LF> หนึ่งคู่ ซึ่งถูกตีความหมายง่ายๆว่าเป็นบรรทัดว่างหนึ่งบรรทัดนั่นเอง ข้อมูลเนื้อความโต้ตอบนี้เป็นข้อมูลที่ถูกอ่านจากไฟล์ที่เก็บไว้ในเว็บเซิร์ฟเวอร์หากเป็นการนำเสนอข้อมูลเว็บรูปแบบสเต ติก (Static Web Page) หรืออาจเป็นข้อมูลที่ผ่านการประมวลผลหรือดึงมาจากฐานข้อมูลใดหากเป็นการนำเสนอข้อมูลเว็บรูปแบบไดนามิก (Dynamic Web Page) ดังนั้นข้อมูลเนื้อความโต้ตอบจึงเป็นสิ่งที่นักพัฒนาระบบเว็บ สามารถนำเทคโนโลยีต่างๆเข้ามาช่วยในการดำเนินงาน เช่น Java Servlet หรือ JSP เป็นต้น รูปแสดงส่วนประกอบของข้อมูลส่วนโต้ตอบ 2 ส่วนประกอบในด้านซอฟต์แวร์ การต่อพ่วงอุปกรณ์เครือข่ายเป็นผลสำเร็จเพื่อสื่อสารผ่านโพรโตคอล TCP/IP ทำให้สามารถนำเอาซอฟต์แวร์ระบบสื่อสารมาช่วยในการดำเนินการได้หลายรูปแบบ เช่น ระบบอีเมล์ ระบบขนส่งไฟล์ ระบบเว็บ สำหรับในกรณีของความต้องการที่จะให้ระบบเครือข่ายสามารถทำงานด้วยระบบเว็บได้ ระบบเครือข่ายจำเป็นต้องอาศัยซอฟต์แวร์คอมพิวเตอร์ประกอบไปด้วยเว็บเซิร์ฟเวอร์ และบราวเซอร์ นอกจากนั้นยังต้องการการจัดการรูปแบบเนื้อความให้เป็นไปตามมาตรฐาน HTML หรืออื่นๆที่เกี่ยวข้องดังมีรายละเอียด ต่อไปนี้ 2.1 โปรแกรมเว็บเซิร์ฟเวอร์ (Web Server Program) เว็บเซิร์ฟเวอร์คือโปรแกรมคอมพิวเตอร์ที่ทำงานบนเครื่องคอมพิวเตอร์ ที่ผู้จัดตั้งระบบกำหนดให้เป็นส่วนให้บริการข้อมูลของระบบเว็บ โปรแกรมเว็บเซิร์ฟเวอร์มักจะเปิดทำงานอย่างตลอดเวลา เพื่อเตรียมความพร้อมในการรองรับการร้องขอจากบราวเซอร์ (ปกติมักจะทำงาน 24 ชั่วโมงต่อวัน) เว็บเซิร์ฟเวอร์ควรมีความสามารถพื้นฐานคือรองรับการสื่อสารด้วยโพรโตคอล HTTP อาจจะเวอร์ชัน 1.0 หรือ 1.1 หรือมากกว่านั้นก็ได้ และสามารถจัดเก็บเพื่อขนส่งไฟล์ในรูปแบบ HTML (นามสกุล HTM หรือ HTML) ให้กับบราวเซอร์
  • 5. ปัจจุบันความต้องการข้อมูลบนระบบเว็บเริ่มเปลี่ยนแปลง จากการอ่านเนื้อข้อมูลในหน้าเว็บที่บรรจุอยู่แต่เพียงในไฟล์ HTML (มักเรียกเนื้อข้อมูลในไฟล์ HTML ว่าข้อมูลแบบสเตติก [Static Content]) เริ่มต้องการข้อมูลที่อาจมีการเปลี่ยนแปลงอยู่ตลอดเวลาหรือแบบไดนามิค (Dynamic Content) ซึ่งข้อมูลที่เปลี่ยนแปลงในลักษณะไดนามิคก็จะถูกจัดเก็บในรูปแบบของฐานข้อมูล หรือข้อมูลที่ต้องผ่านการประมวลผลแล้ว ด้วยเหตุนี้เว็บเซิร์ฟเวอร์ควรจะต้องรองรับรูปแบบการประมวลผลที่สามารถดึงข้อมูลจากฐานข้อมูลหรือข้อมูลจากการประมว ลผลจากแหล่งอื่น ซึ่งเทคโนโลยีที่มาพร้อมกับเว็บเซิร์ฟเวอร์ที่มีความสามารถดังนี้ มีอยู่หลากหลายแบบ เช่น ASP(Active Server Page), PHP, CGI(Common Gateway Interface), Java Servlet หรือ JSP(Java Server Page) การประมวลผลด้วยเทคโนโลยีที่กล่าวมาจำเป็นต้องพิจารณาจากความสามารถของเว็บเซิร์ฟเวอร์เป็นหลัก บางตัวสามารถรองรับการทำงานได้หลายเทคโนโลยี บางตัวจำเป็นต้องทำงานบนระบบปฏิบัติการเฉพาะถึงจะทำงานได้ดี เช่น ASP มันจะต้องใช้บนระบบปฏิบัติการวินโดวส์ เนื่องจากเป็นเทคโนโลยีที่เป็นเจ้าของเดียวกันคือ ไมโครซอฟต์ ข้อแนะนำ เทคโนโลยีสามารถนำมาใช้งานบนระบบยูนิกซ์ หรือลีนุกส์ได้ด้วยซอฟต์แวร์ที่ชื่อ ChillySoft 2.2 เว็บบราวเซอร์ (Web Browser) เว็บบราวเซอร์หรือเรียกกันอย่างคุ้นปากว่าบราวเซอร์ คือโปรแกรมที่ถูกใช้งานโดยผู้ใช้งานเว็บเพื่อค้นหา หรือเรียกดูข้อมูล การค้นหาหรือการเรียกดูนี้เป็นการร้องขอไปยังเว็บเซิร์ฟเวอร์ที่สนใจ ดังนั้นบราวเซอร์จำเป็นต้องสื่อสารและเข้าใจโพรโตคอล HTTP ด้วยเช่นกัน และจากที่เว็บเซิร์ฟเวอร์จะส่งเนื้อข้อมูลผ่านโพรโตคอล HTTP โดยที่เนื้อข้อมูลดังกล่าวถูกแทรกคำสั่งการแสดงผล HTML ซึ่งในบางทีอาจแทรกคำสั่งจัดโครงสร้างเอกสาร XML มาด้วย และเว็บเซิร์ฟเวอร์บางระบบยังแทรกคำสั่งช่วยในการแสดงผลเพิ่มเติมเช่น CSS (Castcase Style Sheet), JavaScript, Java Applet, VBScript, ActiveX Control ดังนั้นหากมีคำสั่งที่เพิ่มเติมมากจากเนื้อข้อมูลแล้ว บราวเซอร์ที่ดีควรที่จะเข้าใจรูปแบบคำสั่งทั้งหมดได้ แต่ผลเสียตามมาคือการทำงานของบราวเซอร์ที่เชื่องช้าขึ้นนั่นเอง ข้อแนะนำ คำสั่งช่วยในการแสดงผลเพิ่มเติมต่างๆเช่น CSS, JavaScript, … เกิดจากการกำหนดและการสร้างของผู้พัฒนาเว็บไซต์ ไม่ได้เกิดจากเว็บเซิร์ฟเวอร์โดยตรง ข้อแนะนำ การพัฒนาเว็บไซต์ที่ต้องใช้เทคโนโลยีที่หลากหลาย อาจทำให้การพัฒนาเว็บดังกล่าวมีความซับซ้อน และไม่เหมาะนักกับผู้ใช้ในวงกว้าง ยกเว้นพัฒนาขึ้นเพื่อรองรับผู้ใช้เฉพาะกลุ่ม เพราะเทคโนโลยีต่างๆมีคำสั่งซึ่งสามารถทดแทนกันได้ ดังนั้นการพัฒนาจึงควรใช้งานเทคโนโลยีที่ไม่มากจนเกินไป บราวเซอร์ปัจจุบันมีอยู่มากมายหลายผลิตภัณฑ์ ซึ่งที่มีผู้นิยมใช้งานมีอยู่หลายราย ซึ่งรายหลักๆมีดังนี้ - Internet Explorer หรือ IE เป็นผลิตภัณฑ์จากค่ายไมโครซอฟต์ เป็นบราวเซอร์ที่รองรับการทำงาน HTML 4.0, CSS, JavaScript, Jscript(ของไมโครซอฟต์), VBScript, ActiveX Control, Java Applet เป็นต้น - Netcape Navigator หรือ NN เป็นผลิตภัณฑ์จากค่าย AOL (เจ้าของเดิมคือเน็ตสเคป) เป็นบราวเซอร์ที่รองรับการทำงาน HTML 4.0, CSS, JavaScript, Java Applet เป็นต้น - Opera เป็นผลิตภัณฑ์ของค่ายโอเปร่า เป็นบราวเซอร์ที่รองรับการทำงาน HTML 4.0, CSS, JavaScript, Java Applet เป็นต้น 2.3 เทคโนโลยีที่ใช้งานบนระบบเว็บ เนื่องจากมีเทคโนโลยีหลากหลายรูปแบบมาก ที่กล่าวถึงไว้ในหัวข้อที่ผ่านมา ดังนั้นเพื่อให้ผู้อ่านได้แยกลักษณะการทำงานและการใช้งานของเทคโนโลยีแต่ละอย่างได้ดี จึงแยกแสดงดังตารางต่อไปนี้ เทคโนโลยี ทำงานบน ลักษณะการใช้งาน
  • 6. บราวเซอร์ เซิร์ฟเวอร์ HTML √ ใช้จัดรูปแบบการแสดงผลเนื้อข้อมูล XML √ ใช้จัดโครงสร้างเนื้อข้อมูล CSS √ ใช้จัดรูปแบบการแสดงผลเนื้อข้อมูลเพิ่มเติมจาก HTML JavaScript √ ใช้เพิ่มลูกเล่นในการใช้งานบราวเซอร์ Jscript √ (IE) ใช้เพิ่มลูกเล่นในการใช้งานบราวเซอร์ VBScript √ (IE) ใช้เพิ่มลูกเล่นในการใช้งานบราวเซอร์ Java Applet √ ใช้เพิ่มลูกเล่นในการใช้งานบราวเซอร์ ActiveX √ (IE) ใช้เพิ่มลูกเล่นในการใช้งานบราวเซอร์ CGI √ ใช้จัดการเนื้อข้อมูลเพื่อส่งให้กับบราวเซอร์ Java Servlet √ ใช้จัดการเนื้อข้อมูลเพื่อส่งให้กับบราวเซอร์ PHP √ ใช้จัดการเนื้อข้อมูลเพื่อส่งให้กับบราวเซอร์ร่วมกับ HTML ASP √ ใช้จัดการเนื้อข้อมูลเพื่อส่งให้กับบราวเซอร์ร่วมกับ HTML JSP √ ใช้จัดการเนื้อข้อมูลเพื่อส่งให้กับบราวเซอร์ร่วมกับ HTML ตารางแสดงเทคโนโลยีที่ใช้ในระบบเว็บ 2.4 ส่วนประกอบในการจัดการเนื้อหาและเนื้อหา รูปแบบการรับ-ส่งข้อมูลที่ทำงานภายใต้ข้อกำหนดเว็บมีรูปแบบและลักษณะที่ต้องอาศัยการทำความเข้าใจ และแยกแยะส่วนเนื้อหา ส่วนจักการเนื้อหา ส่วนรับ-ส่งเนื้อหาให้ออก ซึ่งยากแก่การทำความเข้าใจในลำดับแรก ดังนั้นเพื่อให้ผู้อ่านได้สามารถมองเห็นรูปแบบในการรับ-ส่งข้อมูลดังกล่าว ผู้เขียนจึงใคร่ขอเปรียบเทียบการรับ- ส่งข้อมูลของระบบเว็บให้เห็นภาพได้ชัดเจนยิ่งขึ้น โดยเปรียบเทียบกับการรับ- ส่งผู้โดยสารบนขบวนรถไฟจากสถานีต้นทางไปยังสถานีปลายทาง เมื่อกำหนดให้สถานีต้นทางเปรียบเสมือนเว็บเซิร์ฟเวอร์ สถานนี้ปลายทางเปรียบเสมือนบราวเซอร์ เส้นทางเดินรถไฟเปรียบได้กับสายสัญญาณนำข้อมูล (ถ้าหากเป็นระบบเครือข่ายไร้สาย ให้เปรียบเป็นการเดินทางด้วยเครื่องบินแทน) ขบวนรถไฟเปรียบเหมือนเป็นโพรโตคอล TCP/IP ซึ่งแยกออกเป็นหลายๆโบกี้ (หลายแพ็กเกจในข้อกำหนด TCP/IP) คนที่เป็นพนักงานขับรถและผู้โดยสารก็ให้เป็นเนื้อความในการรับ-ส่งข้อมูลบนเว็บ ยังไม่หมดครับ HTTP ซึ่งเป็นโพรโตคอลในการสั่งการเพื่อรับ-ส่งข้อมูล อะไรที่เปรียบได้กับการคำสั่งเพื่อให้รถไฟเดินทางรับ-ส่งผู้โดยสาร ถูกต้องครับผู้ควบคุมสถานีปลายทางและสถานีต้นทาง รูปแสดงการเปรียบเทียบระบบรับส่งข้อมูลบนเว็บ และระบบรับส่งผู้โดยสารของรถไฟ ลองมาดูกิจกรรมที่เกิดขึ้นในการรับ-ส่งข้อมูล กับการเดินรถไฟที่ผู้อ่านทุกท่านคุ้นเคยกันดีว่ามีรูปแบบอย่างไร เมื่อสถานีปลายทาง (บราวเซอร์) มีความพร้อมสำหรับรองรับขบวนรถไฟ (TCP/IP) ผู้ควบคุมสถานีปลายทาง (ผู้ใช้บราวเซอร์) ส่งคำสั่ง (คลิกที่บราวเซอร์ส่งคำสั่ง HTTP รูปแบบร้องขอ) เพื่อรอรับผู้โดยสาร (เนื้อข้อมูล)
  • 7. ไปยังสถานีปลายทาง (เว็บเซิร์ฟเวอร์) เมื่อผู้ควบคุมสถานีต้นทาง (โปรแกรมเว็บเซิร์ฟเวอร์) ได้รับคำสั่งจากสถานีปลายทาง มีการจัดการตำแหน่งที่นั่งผู้โดยสาร (จัดรูปแบบเนื้อข้อมูลด้วย XML และ HTML) จากนั้นส่งคำสั่งไปยังสถานีปลายทางว่าขบวนรถไปจะนำผู้โดยสารไปยังสถานีปลายทาง เมื่อผู้โดยสารไปถึงยังสถานีปลายทาง ผู้ควบคุมสถานีปลายทางตรวจสอบผู้โดยสาร (ผู้ใช้บราวเซอร์มองเห็นเนื้อความ จากการตีความหมายของ XML และ HTML ที่ได้รับ) แล้วลำเลียงออกจากสถานี เพิ่มเติมที่ว่าเว็บเซิร์ฟเวอร์จะต้องรวบรวมและจัดการเนื้อข้อมูลด้วยรูปแบบ XML (เพื่อจัดโครงสร้าง) และ HTML (เพื่อจัดรูปแบบการนำเสนอ) ซึ่งในหนังสือเล่มนี้จะกล่าวถึงวิธีการจัดการด้วยการใช้เทคโนโลยีจาวา ที่เรียกว่า Java Servlet และ Java Server Page (JSP) ส่วนบราวเซอร์จะมีหน้าที่ในการนำเสนอเนื้อข้อมูล ซึ่งจำเป็นต้องมีความสามารถในการทำความเข้าใจกับรูปแบบการนำเสนอของ HTML และรูปแบบโครงสร้างเนื้อข้อมูลของ XML ซึ่งนี้เป็นหน้าที่หลักของโปรแกรมบราวเซอร์อยู่แล้วเช่นกัน ดังนั้นผู้สร้างจำไม่จำเป็นต้องให้ความสำคัญกับโปรแกรมบราวเซอร์มากนัก ข้อแนะนำ ในการจัดการข้อมูลแสดงที่บราวเซอร์เมื่อให้ HTML นำเสนอข้อมูลจะได้รูปแบบที่มีลูกเล่นในการแสดงผลไม่มาก หากต้องการลูกเล่นในการแสดงผลเพื่อเพิ่มความสนใจ เช่น กราฟ หรือเมนูใช้งาน จำเป็นต้องใช้เทคโนโลยีอื่นๆช่วยในการทำงาน ที่บราวเซอร์สามารถประมวลผลเทคโนโลยีช่วยแสดงผลได้ เช่น Java Applet, JavaScript เป็นต้น และเทคโนโลยีช่วยในการแสดงผลนี้ก็จะถูกแทรกลงในเนื้อข้อมูลร่วมกับ HTML โดยตรง 2.5 เนื้อข้อมูล (Content) ในการรับส่งเนื้อข้อมูลจากเซิร์ฟเวอร์ไปยังบราวเซอร์ เมื่อบราวเซอร์ร้องข้อข้อมูลด้วยคำสั่งร้องขอตามมาตรฐาน HTTP เนื้อข้อมูลจะถูกบรรจุมาพร้อมกับข้อมูลเนื้อความโต้ตอบ (HTTP Response Body) เป็นแบบที่เคยกล่าวมาแล้วว่าเนื้อข้อมูลนี้เป็นสิ่งที่จะสามารถบอกได้ว่าการทำงานของระบบเว็บที่นำเสนอข้อมูลนี้ เป็นรูปแบบสเตติกหรือไดนามิค หากเป็นรูปแบบสเตติกเนื้อข้อมูลนี้จะอยู่ในรูปแบบ HTML ทั่วไป แต่หากเป็นแบบไดนามิคแล้วเนื้อข้อมูลมักจะต้องอาศัยการประมวลผลจากเทคโนโลยีใดๆที่สนับสนุนการทำงานจากเว็บเซิร์ ฟเวอร์ เพื่อให้ผลลัพธ์เป็นเนื้อข้อมูลก่อนที่จะส่งไปพร้อมกับเนื้อความโต้ตอบ หากมีคำถามว่าข้อมูลโต้ตอบที่เป็นไดนามิคทำได้อย่างไร ในความหมายของไดนามิคคือข้อมูลที่มีการเคลื่อนไหว มีการเปลี่ยนแปลง มีการปรับปรุงอยู่ตลอดเวลาตามความจำเป็น หากเป็นข้อมูลการซื้อขายทั่วไปช่วงเวลาการเปลี่ยนแปลงอาจมีหน่วยอยู่ที่นาที่ และหากเป็นข้อมูลการซื้อขายในตลาดหุ่นข้อมูลก็จะมีช่วงเวลาการเปลี่ยนแปลงเป็นวินาทีเป็นต้น สำหรับเนื้อหาในหนังสือเล่มนี้จะกล่าวถึงวิธีการจัดการเนื้อข้อมูลนี้ด้วยเทคโนโลยีที่สืบเนื่องมาจากการใช้งานภาษาจาวาที่เรี ยกว่า Java Servlet และ JSP 2.6 การจัดรูปแบบเนื้อข้อมูลด้วย HTML ก่อนที่กล่าวถึงการจัดการข้อมูลในแบบไดนามิค จำเป็นต้องแนะนำผู้อ่านให้เข้าใจในเรื่องของ HTML(HyperText Markup Language)ก่อน เนื่องจาก HTML เป็นภาษาที่ช่วยในการจัดการเรื่องการแสดงผลข้อมูล เช่น แสดงข้อมูลด้วยตัวหนา แสดงข้อมูลรูปภาพ แสดงข้อมูลตัวเอียงใหญ่ เป็นต้น ภาษา HTML มีการปรับปรุงเวอร์ชันมาเรื่อยๆจนในปัจจุบัน (ขณะเขียนตันฉบับ) อยู่ในเวอร์ชันที่ 4.0 ที่สามารถแสดงข้อมูลที่มีลูกเล่นแบบไดนามิค ข้อแนะนำ ลูกเล่นแบบไดนามิค (Dynamic Display) กับเนื้อข้อมูลแบบไดนามิค (Dynamic Content) มีความแตกต่างกันที่ ลูกเล่นแบบไดนามิคเป็นการแสดงที่มีลูกเล่น เช่น การเคลื่อนไหวของตัวอักษรหรือภาพ
  • 8. การตอบสนองต่อการขยับเมาส์ของผู้ใช้ แต่เนื้อข้อมูลแบบไดนามิคหมายถึงการเรียกดูข้อมูลมีการเปลี่ยนแปลงตามความจำเป็น ภาษา HTML มีรูปแบบของการแทรกมาร์คอัพ (มักนิยมเรียกกันวาแท็กคำสั่ง [Tag]) ที่เป็นคำสั่งลงในเนื้อข้อมูล เพื่อชี้บ่งว่าบริเวณนี้ควรจะเป็นตัวหนาขนาดใหญ่ เช่น <H1>Hello</H1> หมายถึงการทำเนื้อข้อมูล Hello ให้มีขนาดใหญ่ระดับที่หนึ่ง <H1>Hello</H1> Hello ข้อแนะนำ แท็กคำสั่งของ HTML มักจะอยู่ระหว่างสัญลักษณ์ < และ > ซึ่งจะถูกตีความหมายการแสดงด้วยความสามารถของบราวเซอร์ แต่แท็กคำสั่งจะไม่ถูกนำมาแสดงร่วมกับเนื้อความที่นำเสนอต่อผู้ใช้ นอกจากนั้นแล้วภาษา HTML มักจะบรรจุในไฟล์นามสกุล html หรือ htm แต่หากเป็นการสร้างเนื้อความแบบไดนามิคแล้วไฟล์ HTML จะเกิดขึ้นจากการประมวลผลด้วยความสามารถของเว็บเซิร์ฟเวอร์แล้วส่งให้กับบราวเซอร์ในแต่ละครั้งของการเรียกใช้งาน โดยไม่บันทึกไฟล์ดังกล่าวไว้ในส่วนใดๆของเว็บเซิร์ฟเวอร์ ลักษณะเช่นนี้จึงสอดคล้องกับการให้บริการข้อมูลแบบไดนามิคด้วยนั่นเอง 2.7 การจัดโครงสร้างของเนื้อความด้วย XML สำหรับการจัดโครงสร้างของเนื้อความด้วย XML(eXtensin Markup Language) นั่นเป็นสิ่งที่เกิดขึ้นมาภายหลังจากเว็บถึงจุดอิ่มตัวของเทคนิคในการนำเสนอข้อมูล และข้อจำกัดด้วยรูปแบบเนื้อความในแบบ HTML ซึ่งหากมีการแลกเปลี่ยนเนื้อความระหว่างเว็บเซิร์ฟเวอร์ด้วยกันเองหรือจากบราวเซอร์ก็ตาม สิ่งหนึ่งที่เป็นข้อจำกัดก็คือเนื้อความดังกล่าวไม่มีความหมายว่าหมายถึงอะไร (ความหมายที่ไม่สามารถเข้าใจด้วยคอมพิวเตอร์ แต่อาจเข้าใจด้วยการอ่านโดยตรง) การไม่เข้าใจความหมายของคอมพิวเตอร์ทำให้การแลกเปลี่ยนข้อมูลมีความสับสน เช่นไม่สามารถทราบได้ว่าส่วนไหนคือราคาสินค้า ส่วนไหนคือชื่อสินค้า เนื่องจากเว็บเซิร์ฟเวอร์แต่ละเครื่องอาจแสดงชื่อสินค้า และราคาสินค้าด้วยตัวอักษร หรือสีที่แตกต่างกัน ทั้งนี้รวมถึงการใช้ตัวอักษรด้วย เช่น สามสิบบาท เป็นต้น จากข้อจำกัดที่คอมพิวเตอร์ไม่สามารถตีความหมายจากเนื้อความได้ จึงก่อให้มีการคิดค้นวิธีการกำหนดโครงสร้างของเนื้อความขึ้น ซึ่ง XML คือเทคโนโลยีหนึ่งที่มาช่วยโต้ตอบความต้องการนี้ได้ XML เป็นส่วนเพิ่มขยายจาก HTML ซึ่งมีการแทรกมาร์คอัพหรือแท็ก ลงในบริเวณเนื้อความว่าส่วนนี้คือชื่อสินค้า ส่วนนี้คือราคาสินค้า ส่วนนี้คือรายละเอียดสินค้า <H1>Hello</H1> Hello ข้อแนะนำ แท็ก HTML ต้องสร้างตามข้อกำหนดของมาตรฐาน HTML แต่แท็กของ XML ผู้สร้างสามารถกำหนดชื่อแท็ก และลักษณะการใช้งานได้ตามความต้องการ
  • 9. 3 ส่วนประกอบสนับสนุนระบบ ในการทำงานระบบเว็บบางครั้งต้องการสนับสนุนจากโปรแกรมส่วนสนับสนุนอื่นๆ เป็นที่ทราบกันดีอยู่แล้วว่าบริการเว็บคือบริการที่นำเสนอข้อมูลรูปแบบเว็บตามการร้องข้อจากผู้ใช้เท่านั้น หากการบริการข้อมูลที่นำข้อมูลมาจากแหล่งอื่นๆที่สนับสนุนข้อมูลอยู่ ระบบเว็บจำเป็นต้องทำงานร่วมกับส่วนสนับสนุนอื่นๆได้เป็นอย่างดี ซึ่งโปรแกรมหรือระบบงานที่จะสนับสนุนการทำงานในปัจจุบันมีอยู่มากมายหลายรูปแบบ ดังมีตัวอย่างต่อไปนี้ 3.1 ระบบฐานข้อมูล (Database System) แน่นอนว่าระบบฐานข้อมูลเป็นส่วนที่มีความสำคัญเป็นอย่างมาก ที่จะมาช่วยสนับสนุนการนำเสนอเนื้อความบนระบบเว็บที่มีลักษณะเป็นไดนามิค ซึ่งระบบฐานข้อมูลที่ใช้กันอย่างแพร่หลายในปัจจุบันคือ ระบบฐานข้อมูลเชิงสัมพันธ์ (Relational Database) ระบบฐานข้อมูลนี้ถูกนำมาใช้ในการดำเนินกิจกรรมที่มีการดำเนินการอย่างต่อเนื่อง เพื่อช่วยทั้งในแง่ความถูกต้องของข้อมูล ความปลอดภัยของข้อมูล การบริหารงานข้อมูล แทนการบันทึกลงในรูปแบบไฟล์ดั่งเดิมที่ต้องอาศัยโปรแกรมเมอร์ที่มีความชำนาญในการสร้างโปรแกรมที่บริหารข้อมูลได้ แต่การใช้ระบบฐานข้อมูลในรูปแบบของซอฟต์แวร์เป็นสิ่งที่ทำให้งานในด้านการเขียนโปรแกรมลดลง เป็นการใช้งานซอฟต์แวร์ที่ถูกออกแบบมาอย่างดีมาช่วยบริหารงานข้อมูล และเมื่อมีการนำเอาระบบฐานข้อมูลมาใช้กันอย่างแพร่หลายแล้วดังนั้นในรูปแบบของการเข้าถึง การจัดเก็บข้อมูลจึงต้องอาศัยช่องทางในการทำงาน ซึ่งอาจจำเป็นต้องอาศัยเทคโนโลยีในส่วนของมิดเดิลแวร์เข้ามาเกี่ยวข้องด้วย - ระบบฐานข้อมูลส่วนบุคคล (Personal Database) จัดเป็นระบบฐานข้อมูลที่ใช้ในการบริหารข้อมูลขนาดเล็ก หรือใช้งานส่วนบุคคล หรือองค์กรขนาดเล็ก สำหรับจัดเก็บข้อมูลที่มีปริมาณไม่มากนัก ตัวอย่างของซอฟต์แวร์ที่ใช้งานในลักษณะนี้ในปัจจุบันคือ Microsoft Access, FoxPro, dBase, Paradox เป็นต้น - ระบบฐานข้อมูลในระดับองค์กร (Enterprise Database System) แน่นอนว่าในการจัดเก็บและบริหารงานที่มีปริมาณข้อมูลจำนวนมาก และมีผู้ใช้งานข้อมูลจำนวนมากในช่วงเวลาเดียวกัน จำเป็นต้องอาศัยซอฟต์แวร์ที่ได้ออกแบบมาเป็นพิเศษ เพื่อให้การจัดการข้อมูลเป็นไปอย่างถูกต้องและมีเสถียรภาพ ตัวอย่างของซอฟต์แวร์ที่ใช้งานในลักษณะรี้ในปัจจุบันคือ Oracle, DB2, Informix, Microsoft SQL Server เป็นต้น - คำสั่ง SQL (Structured Query Language) เป็นกลุ่มคำสั่งที่ถูกออกแบบมาเป็นมาตรฐานเพื่อประโยชน์ในการจัดการ สืบค้นข้อมูลจากระบบฐานข้อมูล คำสั่งนี้เป็นสิ่งจำเป็นอย่างมากที่นักพัฒนาโปรแกรมคอมพิวเตอร์ไม่ว่าระบบใดๆที่ต้องเกี่ยวกับระบบฐานข้อมูล จำเป็นต้องทำความเข้าใจและเรียนรู้ เพราะคำสั่ง SQL เป็นคำสั่งที่ถูกรองรับในระบบฐานข้อมูลทุกระบบในปัจจุบัน - มิดเดิลแวร์(Middleware) คือโปรเซสขนาดเล็กที่จะมาช่วยเสริมการทำงานระบบฐานข้อมูลที่มีอยู่หลากหลายในท้องตลาด ให้สามารถเข้าถึงและจัดการข้อมูลจากโปรแกรมใช้งาน (หรือพัฒนาขึ้นมาเอง) ได้ สำหรับในกรณีการพัฒนาด้วยเทคโนโลยีจาวาแล้ว มิดเดิลแวร์ที่ถูกใช้เรียกว่า JDBC (Java Database Connectivity) ที่จัดว่าเป็นมิดเดิลแวร์ที่พัฒนามาจากภาษาจาวาล้วนๆ และรองรับคำสั่ง SQL-92 ซึ่งเป็นมาตรฐานในปัจจุบัน นอกนั้นผู้ผลิตซอฟต์แวร์ระบบฐานข้อมูลต่างๆก็สร้างไดร์เวอร์ (JDBC Driver) เพื่อรองรับกับ JDBC อยู่แล้ว
  • 10. 3.2 แอปพลิเคชั่นเซิร์ฟเวอร์ (Application Server) ในการการพัฒนาระบบในระดับเอ็นเตอร์ไพร์แล้ว หากมีซอฟต์แวร์หลายตัวที่ทำหน้าที่ในส่วนแบล็กเอ็น (Backend) หรืองานในส่วนเซิร์ฟเวอร์ เช่น ระบบฐานข้อมูล เพื่อจัดเก็บข้อมูลในระบบทั้งหมด แอปพลิเคชั่นเซิร์ฟเวอร์จึงจำเป็นอย่างยิ่งที่จะนำมาช่วยจัดการการสื่อสารที่ไคลเอนต์ต้องทำในหลายระบบการสื่อสาร โดยเป็นการเชื่อมโยงส่วนไคลเอนต์ ผ่านทางแอปพลิเคชั่นเซิร์ฟเวอร์ เพื่อจัดการสื่อสารให้ถูกต้องกับเซิร์ฟเวอร์ที่มีหลายรูปแบบการสื่อสาร แอปพลิเคชั่นเซิร์ฟเวอร์นอกจากมีประโยชน์ในทำนองดังกล่าวแล้ว แต่ก็จะถูกใช้ในกรณีที่เป็นการใช้งานในงานระดับใหญ่มากกว่างานในระดับเล็ก เพราะแทนที่จะเป็นประโยชน์อาจจะทำให้เกิดผลเสียที่ตามมาคือ ความช้าในการดำเนินการของระบบ เนื่องจากการสื่อสารแทนที่จะผ่านจากไคลเอนต์ไปสู่เซิร์ฟเวอร์โดยตรง กลับต้องผ่านแอปพลิเคชั่นเซิร์ฟเวอร์ก่อน จากบทนี้ทางผู้อ่านจะได้ รับความรู้เกี่ยวกับการทำงานของร ะบบเว็บว่าแต่ละส่วนทั้งโพรโตคอ ล HTTP เว็บบราวเซอร์ และเว็บเซิร์ฟเวอร์ทำหน้าที่อย่างไ ร อีกทั้งยังได้รับข้อมูลเกี่ยวกับเทคโ นโลยีทั้งในเชิงเปรียบเทียบและกา รใช้งาน ว่าเทคโนโลยีแต่ละรูปแบบถูกนำม าใช้งานเพื่อวัตถุประสงค์และเป้าห มายอย่างไร เทคโนโลยีที่สำคัญสำหรับการนำไ ปใช้งานและศึกษาคือเซิร์ฟเล็ตแล ะ JSP ในบทต่อไปเป็นการศึกษาลักษณะ เอกสารหรือข้อมูลที่ส่งจากเว็บเซิร์ ฟเวอร์ไปหาบราวเซอร์ ทั้ง HTML, CSS, XML ในเบื้องต้นเพื่อใช้ประโยชน์ในการ นำมาใช้ในการสร้างโปรแกรม