เกียรติพงษ์ ยอดเยี่ยมแกร ระบบเครือข่ายคอมพิวเตอร์และการกระจาย Computer Network and Distributed สถาปัตยกรรม Client / Server Client / Server Architecture เกียรติพงษ์ ยอดเยี่ยมแกร
Content Client / Server คืออะไร ความเป็นมาของ Client / Server การใช้งาน Client / Server Database
Client / Server คืออะไร Client : เป็น Software Module ที่ต้องอาศัย Module ด้าน Server เพื่อประมวลผลบางประการ โดยการส่ง Request ไปเพื่อขอบริการจาก Server 1 ตัวหรืออาจมากกว่า Server : มี Module ทำหน้าที่รอรับ Request จาก client แล้ว ทำการ Process ตามความเหมาะสม แล้วส่งผลลัพธ์คืนไปยัง client บางครั้ง Server สามารถทำตัวเป็น Client เพื่อขอรับบริการบางอย่างจาก Server อื่น ๆ ได้
Client / Server Computing การออกแบบ Application ให้มีการทำงานแบบแยกกันเป็นโมดุลๆ(Modular approach to application design) เป็นสถาปัตยกรรมสำหรับการใช้งานและการ Share เป็นการออกแบบ Application ที่สามารถใช้งานบน hardware ใดๆก็ได้(Hardware-independent to application Design)
Modular approach ออกแบบจากข้อเท็จจริงที่ว่า Application ทำงานได้หลายฟังก์ชัน Presentation Logic หรือวิธีที่ User จะติดต่อหรือโต้ตอบกับระบบ Business Logic หรือวิธีการกำหนดเงื่อนไข เช่น วิธีกำหนดเงื่อนไข การคำนวณต่างๆ Database Logic หรือวิธีการเก็บข้อมูล การเรียกค้น การจัดการข้อมูล Database Logic Business Logic Presentation Logic Disk drive Application Terminal
Client/Server Configuration Reply Database Logic Business Logic Presentation Logic Request Server Process with Database Logic Client Process with Presentation Logic and Business Logic Disk drive Terminal จากรูป การเปลี่ยนแปลงใด ๆ ที่เกิดต่อ Function Area หนึ่งๆ จะไม่มีผลกระทบต่อ Function Area อื่น ๆ
Software Sharing เป็นการออกแบบให้ application สามารถ Share Logic กันได้ งานหลาย ๆ งานอาจเรียกใช้ Module เดียวกัน หรือ Module หนึ่ง อาจถูกเรียกใช้โดย Application มากกว่า 1 ตัว ลดปัญหาการเขียน Logic ซ้ำหลายๆ ครั้งใน Application หลายตัว
Hardware - Independent Approach Application ถูกออกแบบให้สามารถใช้กับ Hardware หลากรูปแบบ สามารถใช้งานในลักษณะ Stand Alone หรือ Network File/Print Server Database Server Clients Bus. Logic Pres. Logic Request and Responses
ความเป็นมา ยุคแรกการเขียน 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
DBMS Client Server Environment Operating System DBMS Application 1 Disk Device Driver Disk1 Transaction Control Process Disk2 Application 1 Disk3 Application 1 Database Logic Business Logic Presentation Logic
รูปแบบของ Client/Server Database Logic Business Logic Presentation Logic Server Client Database Server Model Database Logic Business Logic Business Logic Presentation Logic Server Client Split Business Logic Model Database Logic Business Logic Presentation Logic Server Client Presentation Client Model
การสื่อสารระหว่าง Client - Server อาจใช้ 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
Remote Procedure Call : RPC 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
Message System ปกติการติดต่อสื่อสารจะเป็นระบบนี้ 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 สมบูรณ์
SQL Server Client / Server Model หนึ่ง เทคโนโลยีของ SQL Server ทำให้ปริมาณการส่งผ่านข้อมูลลดลง การประมวลผลเกิดประสิทธิภาพสูงสุดเพราะทำที่ Server ถ้าความต้องการ Data มากชึ้นสามารถติดตั้ง DB Server เพื่อ Share Load ได้ สามารถกระจายการประมวลผลไปยังเครื่องอื่นได้
SQL Environment Client ประกอบด้วย User Interface , Business Logic , DBMS interface และ Communication interface Server จะมี Communication interface DBMS Software engine และ Logic ในการ Access ฐานข้อมูล Business Logic Database Driver A Com. Interface Database Server Vendor A Database Driver B Client Computer Database Server Vendor B
การรวมการทำงาน Client/Server C/S ต่างรับผิดชอบการ process แต่ละส่วนแยกกัน แต่อาจทำการ process ด้วยกัน การกำหนด Logic ที่ Server จะมีข้อดีคือ หากเปลี่ยน Logic ก็ทำเพียงที่เดียว
มาตรฐาน client / server มาตรฐานกำหนดว่า 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 หลายยี่ห้อได้
End.
Thin or Fat Thin client and Fat Server Thin Server and Fat Client การประมวลผลส่วนใหญ่เกิดที่ Server ทำให้ client ไม่ต้องใช้เครื่องประสิทธิภาพสูง Thin Server and Fat Client การประมวลผลส่วนใหญ่เกิดที่ client ทำให้ต้องใช้ client ประสิทธิภาพสูงกว่า