วันศุกร์ที่ 9 ตุลาคม พ.ศ. 2552

Application Layer

Application Architectures

Host-based Architecture เป็น Architecture แบบแรก ๆ การทำงานทุกอย่างจะอยู่ที่ Server และ Client ทำหน้าที่เป็นเพียง Terminal ทำหน้าที่ แสดงผล และรับข้อมูลจาก User เท่านั้น ภาระงานการประมวลผลยกให้ Host ทั้งหมด โดย เครื่อง Terminal จะเป็น Terminal จริงๆ หรือ PC ที่จำลองตัวเองเป็น Terminal ก็ได้ 2 แบบนี้ต่างกันตรงที่ ถ้า Host ปิด(Down) Terminal จริง ๆ จะไม่สามารถทำงานใด ๆ ได้เลย แต่ถ้าเป็น PC ที่จำลองเป็น Terminal จะยังสามารถทำงานเป็น PC ธรรมดาได้
เราควรใช้ Host-based Architecture เมื่อต้องการควบคุมข้อมูลหรือ ฐานข้อมูลเพียงที่เดียว และ งานมีขนาดใหญ่มาก

ข้อดี :
1. เมื่อเป็น Centralized control จะทำให้ง่ายต่อการ Code, Debug โปรแกรม
ข้อเสีย :
1. เกิดคอขวดที่ Server เนื่องจากงานทั้งหมดถูกทำที่ Server ซึ่งจะส่งผลให้มี Performance จำกัด
2. Upgrade ยุ่งยาก และมีราคาแพง(Mainframe)
** สถาปัตยกรรมแบบนี้จะเรียกเครื่องแม่ข่ายว่า Host ซึ่งมีความหมายเดียวกันกับ คำว่า Server

2. Client-based Architecture การทำงานทุกอย่างจะอยู่ที่ Client และ Server ทำหน้าที่เป็น Data Storage แบบนี้ไม่ค่อยเป็นที่นิยม เนื่องจากคอขวดของระบบอยู่ที่เครือข่ายเพราะสถาปัตยกรรมแบบนี้ ใช้ Bandwidth ค่อนข้างสูง

3. Client-Server Architecture การทำงานจะแบ่งกันทำ โดยงานใดอยู่ใกล้ User ก็จะนำไปไว้ในฝั่ง Client เช่น Presentation logic และ Application logic ส่วนงานที่เกี่ยวข้องกับ Server เช่น Data storage และ Data access logic จะนำไปไว้ในฝั่ง Server ในการ Update ข้อมูล Application logic จะส่ง SQL ไปที่ Server เพื่อให้ Update record ให้ ดังนั้น Traffic จะน้อยกว่าแบบ Client-based

ข้อดี :
1. Performance ดีกว่าแบบอื่น ๆ เนื่องจากกระจายงานกันทำ
ข้อเสีย :
1. การพัฒนา SOFTWARE ยากกว่าเพราะต้อง Debug ข้าม Network
2. ในการแบ่งงานกันทำ บางครั้ง Application logic กับ Data access logic มาจากคนละยี่ห้อกัน จึงอาจไม่ Match กัน ทำให้ต้องมี Middleware เกิดขึ้น

Middleware

Middleware เป็น SOFTWARE ที่ทำหน้าที่ให้มาตรฐานในการแปลงระหว่าง SOFTWARE จากผู้ผลิตต่าง ๆ (ทำหน้าที่คล้ายล่าม) เช่น จัดการการส่งคำขอต่าง ๆ ระหว่าง Client กับ Server โดยมันจะเป็นตัวกลางในการรับส่ง เมื่อมีการเปลี่ยนแปลง ทั้ง Client และ Server จะไม่ได้รับผลกระทบใด ๆ เพราะการเปลี่ยนแปลงเกิดขึ้นที่ Middleware (ได้แก่ ODBC,JDBC เป็นต้น)

Tier เป็น Client-Server Architecture ที่มีการแบ่ง Application Program ตามภาระงานของแต่ละส่วน

Two-Tier Architecture มองสามเป็นสอง Component หลัก อาจประกอบด้วย Client, Middleware, application Server, Database Server หรืออื่นๆ

Three-Tier Architecture มองเป็นสาม Component หลัก อาจประกอบด้วย Client, Middleware, application Server, Database Server หรืออื่นๆ

N-Tier Architecture จะมีมากกว่าสาม Component หลัก อาจประกอบด้วย Client, Server ที่ทำงานต่างๆ, Database Server แบ่งภาระงาน บางครั้งอาจมีเครื่องที่ทำในส่วนของ Application logic 2 ตัวเลยก็ได้

DNS- Domain Name Service

ระบบ Domain Name System (DNS) นี้เป็นระบบจัดการแปลงชื่อไปเป็นหมายเลข IP address โดยมีโครงสร้างฐานข้อมูลแบบลำดับชั้นเพื่อใช้เก็บข้อมูลที่เรียกค้นได้อย่างรวดเร็ว

กลไกหลักของระบบ DNS คือ ทำหน้าที่แปลงข้อมูลชื่อและหมายเลข IP address หรือทำกลับกันได้ นอกจากนี้ยังมีฟังก์ชันเพิ่มเติมอื่นๆ อีก เช่น แจ้งชื่อของอีเมล์เซิร์ฟเวอร์ใน domain ที่รับผิดชอบด้วย
ในระบบ DNS จะมีการกำหนด name space ที่มีกฎเกณฑ์อย่างชัดเจน มีกลไกการเก็บข้อมูลเป็นฐานข้อมูลแบบกระจาย ทำงานในลักษณะของไคลเอนต์เซิร์ฟเวอร์ (Client/Server)

การทำงานของระบบ DNS

การทำงานของระบบชื่อโดเมนนั้น เริ่มต้นจากเครื่องคอมพิวเตอร์ซึ่งทำหน้าที่เป็น DNS Server ซึ่งทำงานด้วยซอฟแวร์พิเศษชื่อว่า BIND ที่ทำหน้าที่ในการรับส่งข้อมูลระหว่าง DNS Server แต่ละเครื่องผ่าน DNS Photocal เมื่อมีคำร้องขอให้สืบค้นหมายเลข ไอพี อย่างไรก็ตาม คำตอบที่ DNS Server จะมีให้ก็ต่อคำร้องหนึ่งๆนั้นขันกับว่า DNS Server นั้นเป็น DNS Server ประเภทใด ซึ่งสามารถแบ่งได้เป็น 2 ประเภทคือ

1. Name Server

2. Resolver

Chapter 27: WWW and HTTP

World Wide Web

World Wide Web หรือที่เรามักเรียกสั้นๆว่า Web หรือ W3 (WWW) คือ คอมพิวเตอร์ส่วนหนึ่งบนอินเตอร์เน็ต ที่ถูกเชื่อมต่อกันในแบบพิเศษที่ทำให้คอมพิวเตอร์เหล่านั้นสามารถเข้าถึงข้อมูลเนื้อหาที่เก็บไว้ภายในของแต่ละเครื่องได้ (กลายเป็นแหล่งข้อมูลขนาดใหญ่) โดยผ่านทาง บราวเซอร์ (Browser) ซึ่งเป็นซอฟต์แวร์ประเภทหนึ่งที่ถูกสร้างขึ้นเพื่อใช้อ่านและตอบโต้ข้อมูลต่างๆที่มีอยู่ใน World Wide Web โดยเฉพาะ บราวเซอร์ที่พบเห็นได้มากที่สุดในปัจจุบัน ได้แก่ Internet Explorer ของ และ Netscape

Browser

Browser คือเครื่องมือที่ช่วยให้คุณสามารถท่องเที่ยวไปในโลกอินเตอร์เน็ตได้อย่างไร้ขีดกั้นทางด้านพรมแดน นอกจากนี้ Browser ยังช่วยอำนวยความสะดวกในการเยี่ยมชมเว็บไซต์ต่างๆ ซึ่งในขณะนี้บริษัทผลิตซอฟแวร์ค่ายต่างๆ นับวันจะทวีการแข่งขันกันในการผลิต Browser เพื่อสร้างความพึงพอใจให้แก่นักท่องเว็บให้มากที่สุด หน้าตาของ browser แตกต่างกันไปตามแต่การออกแบบการใช้งานของแต่ละค่ายโปรแกรม

โปรแกรม Browser ที่เป็นที่นิยมในปัจจุบัน ได้แก่ Internet Explorer และ Nescape Navigator

URL

URL ย่อมาจากคำว่า Uniform Resource Locator หมายถึงที่อยู่ (Address) ของข้อมูลต่างๆในอินเตอร์เนต

รูปแบบของ URL จะประกอบด้วย

1. ชื่อโปรโตคอลที่ใช้ (http ซึ่งย่อมาจาก HyperText Transfer Protocol)
2. ชื่อเครื่องคอมพิวเตอร์ และชื่อเครือข่ายย่อย (www/urlbookmarks)
3. ประเภทของเวบไซต์ (.com) ซึ่งมีอยู่ 2 ประเภท คือ

3.1 ประเภทสากลเช่น

3.2 ประเภทท้องถิ่นจะมีชื่อย่อของแต่ละประเทศต่อท้ายด้วยเช่น

4. ไดเร็กทอรี่ (/support/)

5. ชื่อไฟล์และนามสกุล (urlfaq.htm)

Web Document

Static Document
หมายถึงเอกสารธรรมดาที่มีการสร้างไว้ก่อนแล้วข้อมูลที่แสดงในเอกสารจะไม่มีการเปลี่ยนแปลงโดยอัตโนมัติ

Dynamic Document
เป็น Document ที่เกิดจากการเขียนโปรแกรม เนื้อหาภายในเอกสารจะมีการเปลี่ยนแปลงโดยอัตโนมัติตามที่เขียนโปรแกรมไว้

Active Document

เป็นเวปเพจที่มีส่วนของ java Applet, Active X เป็นต้น โดยส่วนใหญ่จะเน้น Java เป็นหลัก

HTTP overview

HyperText Transfer Protocol (HTTP) เป็นโปรโตคอลหลักในการใช้งานเวิลด์ไวด์เว็บ โดยมีจุดประสงค์แรกเริ่มในการเป็นช่องทาง สำหรับการเผยแพร่และแลกเปลี่ยน HTML
HTTP เป็นการพัฒนาร่วมกันโดย World Wide Web Consortium ซึ่งเป็นหน่วยงานดูแลมาตรฐานเว็บ และคณะทำงานจาก Internet Engineering Task Force โดยออกมาเป็นชุดเอกสาร RFC เอกสารชิ้นที่สำคัญคือ RFC 2616 ซึ่งเป็นมาตรฐาน HTTP 1.1 ที่ใช้กันอย่างกว้างขวางในปัจจุบัน

HTTP connections

Nonpersistent HTTP (แบบไม่ถาวร)

  • 1 object ต่อ 1 TCP connection.
  • HTTP/1.0 ใช้แบบ nonpersistent

Persistent HTTP (แบบถาวร)

  • หลาย ๆ objects สามารถใช้ TCP connection ร่วมกันได้
  • HTTP/1.1 ใช้แบบ persistent connections ใน default mode

Web Caching

Web Caching เป็นพื้นที่สำหรับเก็บออบเจ็กต์ของเว็บชั่วคราว เช่น เอกสาร HTML สำหรับการเรียกใช้ในภายหลัง ซึ่งทำให้มีข้อดีในการใช้ที่สำคัญอยู่ 3 ประการคือ

- ลดการใช้ bandwidth เพราะการเรียกใช้และการตอบสนองเพียงที่ต้องออกไปนอก network น้อยลง

- ลดการทำงานของ Server เพราะการเรียกใช้บางครั้งเท่านั้นที่ตัว Server ต้องจัดการ

- ลด Latency เพราะ การตอบสนองของในการเรียกใช้ข้อมูลที่อยู่ Cache จะทำได้ทันที และอยู่ใกล้กับตัว Client

Cookie

คุกกี้ คือแฟ้มข้อความขนาดเล็กๆ ที่ Web page server ทำการบันทึกลงในฮาร์ดดิสก์คอมพิวเตอร์ของเรา ทำหน้าที่หลักๆ เสมือนเป็นบัตรประจำตัวของคุณ ไม่สามารถเรียกใช้เป็นรหัสหรือเป็นพาหะของไวรัสได้ ข้อมูลในคุกกี้ของคุณจะมีมีซ้ำกับใคร และมีแต่เซิร์ฟเวอร์ที่สร้างขึ้นมาเท่านั้นที่จะอ่านแฟ้มตัวนี้ได้

Chapter 26 : Remote Logging, Electronic Mail, and File Transfer

Telnet

เทลเน็ต (Telnet) เป็นบริการทางอินเทอร์เน็ตรูป แบบหนึ่ง ซึ่งเป็นการขอเข้าใช้เครื่องคอมพิวเตอร์จากระยะไกล ผู้ใช้นั้นสามารถขอเข้าใช้ได้ขอแค่ติดต่อเครือข่ายที่ได้รับอนุญาต โดยไม่จำเป็นว่าต้องนั่งอยู่หน้าเครื่องคอมพิวเตอร์เครื่องนั้น การขอใช้นั้น ผู้ใช้จะป้อนคำสั่งที่เครื่องของตัวเองไปยังเครื่องที่เราขอเข้าใช้ แล้วผลก็จะกลับมาแสดงที่หน้าจอเรา เทลเน็ตเป็นชื่อของ โพรโทคอลที่ใช้ในการจำลองเทอร์มินัลผ่านระบบเครือข่ายอินเทอร์เน็ต เป็นโพรโทคอลในชุด TCP/IP และ เทลเน็ตก็เป็นชื่อของโปรแกรมที่ให้เราสามารถใช้คอมพิวเตอร์จากระยะไกลได้ ถ้าเราได้รับอนุญาตจากเจ้าของเครื่อง

E-mail Standards

SMTP-Simple Mail Transfer Protocol คือ เป็นโปรโตคอล ของ TCP/IP ใช้ในการส่งและรับ E-mail ในเครือข่ายอินเทอร์เน็ต ไปยังเครื่องบริการอื่น ๆ ซี่งสามารถส่งเมล์ไปยังผู้ใช้ได้ทั่วโลก และมีโปรโตคอลที่ใช้รับส่งชัดเจน

SMTP มีความจำกัดในด้านแถวคอย (Queue) ของ messageในด้านรับ ตามปกติจะใช้ร่วมกับโปรโตคอลอื่น อีกตัว เช่น POP3 หรือ Internet Message Access Protocol เพื่อให้ผู้ใช้สามารถเก็บเมล์ไว้ใน server mailbox และดาวน์โหลดจาก server

ในอีกความหมาย คือ SMTP ใช้สำหรับการส่งเมล์ของผู้ใช้ และ POP3 หรือ IMAP ใช้สำหรับเมล์แล้ว เก็บไว้ในเครื่องแม่ข่าย โปรแกรม E-mailส่วนใหญ่

Peer-to-Peer Architecture

Peer-to-peer (P2P) เป็นเทคโนโลยีที่นิยมกันอย่างมากในหมู่ผู้ใช้งาน อินเทอร์เน็ต บรอดแบนด์ P2P จะโอนถ่ายข้อมูลของระหว่างสองเครื่อง โดยไม่จำเป็นต้องมีเครื่อง Server เป็นตัวกลางในการโอนถ่านข้อมูล พบเห็นได้ง่ายๆเลยคือการ ส่งไฟล์ ทาง MSN ICQ ต่างๆก็ใช้เทคโนโลยี Peer To Peer และยิ่งกว่านั้นคือซอฟแวร์ที่จะช่วยคุณแชร์ไฟล์ต่างๆ กับคนทั่วโลกโดยใช้เทคโนโลยี P2P เข้ามาช่วย

P2P แบ่งออกเป็น 3 ประเภทดังนี้

1. Pure P2P เครื่อง client แต่ละเครื่องทำหน้าที่เป็นทั้ง client และ server โดยไม่ต้องมี server กลางที่คอยจัดการหรือค้นหาข้อมูล

2. Hybrid P2P มีเครื่อง server กลางที่ใช้เก็บข้อมูลของ client ว่า client เครื่องใดมีข้อมูลใดที่เปิดให้โหลดได้บ้าง เพื่อให้ผู้ใช้สามารถค้นหาได้ว่าข้อมูลที่ตนเองต้องการโหลดถูกเก็บอยู่ที่ client เครื่องใด

3. Mixed P2P มีคุณสมบัติทั้งแบบ Pure P2P และ Hybrid P2P

Napster

Napster คือผู้บุกเบิกสถาปัตยกรรมแบบ P2P Napster เป็นโปรแกรมและระบบให้บริการค้นหาไฟล์เพลง MP3 ฟรี เพื่อแลกเปลี่ยนและแบ่งปันซึ่งกันและกันระหว่างมวลสมาชิก โปรแกรมนี้สำหรับเล่นไฟล์มัลติมิเดีย ดูหนังฟังเพลง โดยเฉพาะเพลงสามารถเล่นไฟล์เพลงได้ทุกนามสุกล เป็นคู่แข่งของวินแอมป์ แต่โปรแกรมนี้มีดีกว่าวินแอมป์ตรงที่ นอกจากฟังเพลงแล้ว ยังสามารถแปลงไฟล์เพลงได้ได้วยไม่ว่าจะแปลงเป็น MP3 OGG Wav ได้ทั้งนั้น และความสามารถอีกอย่างที่วินแอมป์ไม่มีคือสามารถปรับแต่งเพลงที่เราชื่นชอบให้เป็นคาราโอเกะได้อย่างสมบูรณ์แบบ อีกทั้งยังมีบริการให้ดาวน์โหลดเพลง โดยมีเพลงให้เลือกดาวน์โหลดมากว่า 1 ล้านเพลง

ข้อดีและข้อเสียของ Napster

ข้อดีของ Napster

- เป็นตัวช่วยค้นหาและดาวน์โหลดเพลง MP3 จากอินเทอร์เน็ตอย่างแม่นยําและหลากหลาย เนื่องจากมีระบบ Community แชร์ไฟล์ระหว่างผู้ใช้โปรแกรมนี้ได้

- สะดวกต่อการใช้งาน เพียงแค่โหลดโปรแกรม

ข้อเสียของ Napster

- การที่เราสามารถค้นหาตัวไฟล์ได้จากโปรแกรม Napster ได้โดยตรง เช่น การพิมพ์ชื่อศิลปินหรืออัลบั้มไปเพื่อค้นหาเพลง MP3 ทำให้เกิดการละเมิดลิขสิทธิ์ได้สะดวกขึ้น

- เมื่อมีการโหลดไฟล์หลายๆไฟล์พร้อมกัน จะทำให้ช้ามาก ฉะนั้นจึงเหมาะกับการแชร์ไฟล์ขนาดเล็กเท่านั้น

KaZaA

KaZaA หรือชื่อเต็มๆ คือ KaZaa Media Desktop เป็นโปรแกรมที่ทำให้คนทั่วโลก สามารถแลกเปลี่ยนไฟล์ประเภท Multimedia บนอินเตอร์เน็ต ไม่ว่าจะเป็น วิดีโอ, รูปภาพ, เพลง, เอกสารต่างๆ และอะไรอีกมากมายให้คุณได้ทำการค้นหา แล้วทำการเลือก Download ได้ตามพอใจ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น