ระบบเครือข่ายคอมพิวเตอร์และการกระจาย Computer Network and Distributed สถาปัตยกรรม Client / Server Client / Server Architecture
Download ReportTranscript ระบบเครือข่ายคอมพิวเตอร์และการกระจาย 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