ระบบเครือข่ายคอมพิวเตอร์และการกระจาย Computer Network and Distributed สถาปัตยกรรม Client / Server Client / Server Architecture

Download Report

Transcript ระบบเครือข่ายคอมพิวเตอร์และการกระจาย Computer Network and Distributed สถาปัตยกรรม Client / Server Client / Server Architecture

:: COMPUTER NETWORK
ระบบเครื อข่ ายคอมพิวเตอร์ และการกระจาย
Computer Network and Distributed
สถาปัตยกรรม Client / Server
Client / Server Architecture
เกียรติพงษ์ ยอดเยีย่ มแกร
BY KIADTIPONG YORD. CHANDRA 2004
Content
:: COMPUTER NETWORK
•
•
•
•
•
•
Client / Server คืออะไร
ความเป็ นมาของ Client / Server
ข้ อดี และข้ อเสี ยของ Client / Server
เทคโนโลยี Client / Server
มาตรฐาน Client / Server
การใช้ งาน Client / Server Database
BY KIADTIPONG YORD. CHANDRA 2004
Client / Server คืออะไร
:: COMPUTER NETWORK
• Client / Server ประกอบด้ วยส่ วนทีท่ าหน้ าที่ประมวลผล 2 ส่ วนคือ
– Client : เป็ น Software Module ทีต่ ้ องอาศัย Module ด้ าน Server เพื่อประมวลผลบาง
ประการ โดยการส่ ง Request ไปเพื่อขอบริการจาก Server 1 ตัวหรื ออาจมากกว่ า
– Server : มี Module ทาหน้ าทีร่ อรับ Request จาก client แล้ ว ทาการ Process ตามความ
เหมาะสม แล้ วส่ งผลลัพธ์ คืนไปยัง client
• บางครั้ง Server สามารถทาตัวเป็ น Client เพื่อขอรับบริการบางอย่างจาก Server
อื่น ๆ ได้
BY KIADTIPONG YORD. CHANDRA 2004
Client / Server Computing
:: COMPUTER NETWORK
• การออกแบบ Application ให้ มกี ารทางานแบบแยกกันเป็ นโมดุลๆ(Modular
approach to application design)
• เป็ นสถาปัตยกรรมสาหรับการใช้ งานและการ Share
• เป็ นการออกแบบ Application ทีส่ ามารถใช้ งานบน hardware ใดๆก็ได้
(Hardware-independent to application Design)
BY KIADTIPONG YORD. CHANDRA 2004
Modular approach
:: COMPUTER NETWORK
• ออกแบบจากข้ อเท็จจริงที่ว่า Application ทางานได้ หลายฟังก์ชัน
– Presentation Logic หรื อวิธีที่ User จะติดต่ อหรื อโต้ ตอบกับระบบ
– Business Logic หรื อวิธีการกาหนดเงื่อนไข เช่ น วิธีกาหนดเงื่อนไข การคานวณต่ างๆ
– Database Logic หรื อวิธีการเก็บข้ อมูล การเรียกค้ น การจัดการข้ อมูล
Database
Logic
Disk drive
Business
Logic
Presentation
Logic
Application
BY KIADTIPONG YORD. CHANDRA 2004
Terminal
Client/Server Configuration
:: COMPUTER NETWORK
Reply
Database
Logic
Disk drive
Server Process
with
Database Logic
Request
Business
Logic
Presentation
Logic
Client Process with
Presentation Logic and
Business Logic
Terminal
• จากรู ป การเปลีย่ นแปลงใด ๆ ทีเ่ กิดต่ อ Function Area หนึ่งๆ จะไม่ มีผลกระทบต่ อ
Function Area อื่น ๆ
BY KIADTIPONG YORD. CHANDRA 2004
Software Sharing
:: COMPUTER NETWORK
• เป็ นการออกแบบให้ application สามารถ Share Logic กันได้
• งานหลาย ๆ งานอาจเรียกใช้ Module เดียวกัน หรื อ Module หนึ่ง อาจถูกเรียกใช้
โดย Application มากกว่ า 1 ตัว
• ลดปัญหาการเขียน Logic ซ้าหลายๆ ครั้งใน Application หลายตัว
BY KIADTIPONG YORD. CHANDRA 2004
Hardware - Independent Approach
:: COMPUTER NETWORK
• Application ถูกออกแบบให้ สามารถใช้ กบั Hardware หลากรู ปแบบ
• สามารถใช้ งานในลักษณะ Stand Alone หรื อ Network
File/Print
Server
Database
Server
Clients
Bus.
Logic
Request and Responses
BY KIADTIPONG YORD. CHANDRA 2004
Pres.
Logic
ความเป็ นมา
:: COMPUTER NETWORK
• ยุคแรกการเขียน Logic จะขึน้ อยู่กบั Hardware โดยเฉพาะภาษาระดับล่าง
• ยุค Compiler ช่ วยให้ ให้ การเขียน Program ขึน้ ต่ อ Hardware น้ อยลง
– ระยะแรก การ Compile แต่ ละครั้งจะยังขึน้ ต่ อ Hardware , เปลีย่ น Platform ต้ อง
Compile Source ใหม่
• ยุค OOP เป็ น Hardware Independent โดยแท้
• OLTP(On-Line Transaction Processing) จุดเริ่มต้ นของ Client/Server
– Process ทั้งหมดเกิดระหว่ าง Terminal -> Host
– Process เกิดระหว่ าง Network
• Client / Server
BY KIADTIPONG YORD. CHANDRA 2004
DBMS Client Server Environment
:: COMPUTER NETWORK
Operating System
Disk1
Disk2
Disk
Device Driver
Application 1
DBMS
Application 1
Transaction
Control
Process
Disk3
Application 1
Database Logic
Business Logic
Presentation Logic
BY KIADTIPONG YORD. CHANDRA 2004
รูปแบบของ Client/Server
:: COMPUTER NETWORK
Database Logic
Business Logic
Server
Database Server Model
Database Logic
Business Logic
Client
Business Logic
Server
Split Business Logic Model
Database Logic
Presentation Logic
Presentation Logic
Client
Business Logic
Server
Presentation Client Model
Presentation Logic
Client
BY KIADTIPONG YORD. CHANDRA 2004
การสื่ อสารระหว่ าง Client - Server
:: COMPUTER NETWORK
• อาจใช้ remote procedure หรื ออาจใช้ message system
• Remote Procedure Call คล้าย Procedure Call หรื อ Function Call
–
–
–
–
–
–
Client เตรียม input , output parameter
Client สร้ าง Procedure call ผ่ าน Network
Request แต่ ละตัวจะขึน้ อยู่กบั RPC ย่ อยๆ
Server ตอบรับแล้ วสร้ าง Response Data
RPC ย่ อยนั้นตอบกลับ
Local RPC ตอบกลับไปยัง Client
BY KIADTIPONG YORD. CHANDRA 2004
Remote Procedure Call : RPC
:: COMPUTER NETWORK
1.RPC thread เริ่มจาก client Process สร้ าง RPC ซึ่ง
เรียกว่า stub;
2.RPC thread เชื่ อมต่ อผ่านระบบ network สู่ Server
3.RPC thread เปลีย่ นสภาพเป็ น call thread ที่ ๆ
RPC executes ระหว่างที่ execute ทางาน call
thread จะเป็ นส่ วนหนึ่งของ RPC thread
4.RPC thread ส่ งย้ อนกลับผ่านระบบ Network สู่
client
5.RPC Thread กลับสู่ Application thread
BY KIADTIPONG YORD. CHANDRA 2004
Message System
:: COMPUTER NETWORK
• ปกติการติดต่ อสื่ อสารจะเป็ นระบบนี้
• Client จะเป็ นผู้ขอสนทนา(Session)กับ Server
• Message System Process ประกอบไปด้ วย Address 3 ส่ วนคือ
– Network Address , Node Address , Process Address
• Server ต้ องส่ ง SAP(Service Advertising Protocol)
• Client ขอ Session กับ Server ซึ่ง Server อาจปฏิเสธก็ได้
• เมื่อ Session เกิดการติดต่ อสื่ อสารจะเริ่มขึน้ จนกว่ า Process สมบูรณ์
BY KIADTIPONG YORD. CHANDRA 2004
SQL Server
:: COMPUTER NETWORK
• Client / Server Model หนึ่ง
• เทคโนโลยีของ SQL Server
–
–
–
–
ทาให้ ปริมาณการส่ งผ่ านข้ อมูลลดลง
การประมวลผลเกิดประสิ ทธิภาพสู งสุ ดเพราะทาที่ Server
ถ้ าความต้ องการ Data มากชึ้นสามารถติดตั้ง DB Server เพื่อ Share Load ได้
สามารถกระจายการประมวลผลไปยังเครื่ องอื่นได้
BY KIADTIPONG YORD. CHANDRA 2004
SQL Environment
:: COMPUTER NETWORK
• Client ประกอบด้ วย User Interface , Business Logic , DBMS interface และ
Communication interface
• Server จะมี Communication interface DBMS Software engine และ Logic ใน
การ Access ฐานข้ อมูล
Business
Logic
Database
Driver
A
Database
Driver
B
Client Computer
Com.
Interface
Database Server Vendor A
Database Server Vendor B
BY KIADTIPONG YORD. CHANDRA 2004
การรวมการทางาน Client/Server
:: COMPUTER NETWORK
• C/S ต่ างรับผิดชอบการ process แต่ ละส่ วนแยกกัน แต่ อาจทาการ process
ด้ วยกัน
• การกาหนด Logic ที่ Server จะมีข้อดีคือ หากเปลีย่ น Logic ก็ทาเพียงที่เดียว
BY KIADTIPONG YORD. CHANDRA 2004
มาตรฐาน client / server
:: COMPUTER NETWORK
• มาตรฐานกาหนดว่ า
– Client / Server ติดต่ อสื่ อสารกันอย่ างไร
– Client เข้ าถึง Server และ Server ทางานตามที่ Client ต้ องการอย่ างไร
• ระบบการ Interface ระหว่ าง Client กับ Server ด้ วย Middleware
– middleware คือ ตัวกลางของระบบ Interface ระหว่ าง Client + Server ช่ วยให้ Client
และ Server สามารถพูดคุยกันได้
• ORB(Object Request broker) ให้ บริการติดต่ อสื่ อสารระหว่ าง Client + Server
• ODBC(Open Database Connectivity) เทคโนโลยี ทีย่ อมให้ client 1 เครื่ อง
สามารถเชื่ อมโยงกับ Database หลายยีห่ ้ อได้
BY KIADTIPONG YORD. CHANDRA 2004
End.
:: COMPUTER NETWORK
BY KIADTIPONG YORD. CHANDRA 2004
Thin or Fat
:: COMPUTER NETWORK
• Thin client and Fat Server
– การประมวลผลส่ วนใหญ่ เกิดที่ Server ทาให้ client ไม่ ต้องใช้ เครื่ องประสิ ทธิภาพสู ง
• Thin Server and Fat Client
– การประมวลผลส่ วนใหญ่ เกิดที่ client ทาให้ ต้องใช้ client ประสิ ทธิภาพสู งกว่ า
BY KIADTIPONG YORD. CHANDRA 2004