240 likes | 254 Views
Learn the principles of Client-Server Architecture, modular approach to application design, and optimizing computing resources.
E N D
CIS511 Information System Architecture สถาปัตยกรรมระบบสารสนเทศ Asst.Prof.Dr.Surasak Mungsing surasak.mu@spu.ac.th mungsing@gmail.com http://www.spu.ac.th/teacher/surasak.mu Sripatum University
Client / Server คืออะไร • Client / Server ประกอบด้วยส่วนที่ทำหน้าที่ประมวลผล 2 ส่วนคือ • Client :เป็น Software Module ที่ต้องอาศัย Module ด้าน Server เพื่อประมวลผลบางประการ โดยการส่ง Request ไปเพื่อขอบริการจาก Server 1 ตัวหรืออาจมากกว่า • Server : มี Module ทำหน้าที่รอรับ Request จาก client แล้ว ทำการ Process ตามความเหมาะสม แล้วส่งผลลัพธ์คืนไปยัง client • บางครั้ง Server สามารถทำตัวเป็น Client เพื่อขอรับบริการบางอย่างจาก Server อื่น ๆ ได้ (Source: เกียรติพงษ์ ยอดเยี่ยมแกร)
Client / Server Computing • การออกแบบ Application ให้มีการทำงานแบบแยกกันเป็นโมดูลๆ(Modular approach to application design) • เป็นสถาปัตยกรรมสำหรับการใช้งานและการ Share • เป็นการออกแบบ Application ที่สามารถใช้งานบน hardware ใดๆก็ได้(Hardware-independent to application Design) (Source: เกียรติพงษ์ ยอดเยี่ยมแกร)
Modular approach • ออกแบบจากข้อเท็จจริงที่ว่า Application ทำงานได้หลายฟังก์ชัน • Presentation Logic หรือวิธีที่ User จะติดต่อหรือโต้ตอบกับระบบ • Business Logic หรือวิธีการกำหนดเงื่อนไข เช่น วิธีกำหนดเงื่อนไข การคำนวณต่างๆ • Database Logic หรือวิธีการเก็บข้อมูล การเรียกค้น การจัดการข้อมูล Database Logic Business Logic Presentation Logic Terminal Disk drive Application (Source: เกียรติพงษ์ ยอดเยี่ยมแกร)
Client/Server Configuration การเปลี่ยนแปลงใด ๆ ที่เกิดต่อ Function Area หนึ่งๆ จะไม่มีผลกระทบต่อ Function Area อื่น ๆ Reply Database Logic Business Logic Presentation Logic Request Server Process with Database Logic Client Process with Presentation Logic and Business Logic Terminal Disk drive (Source: เกียรติพงษ์ ยอดเยี่ยมแกร)
Client Server Architecture • A network architecture in which each computer or process on the network is either a client or a server. Source: http://webopedia.lycos.com
Components • Clients • Servers • Communication Networks Server Client Source: Kathleen R. Murray, Ph.D
Clients Clients are Applications • Applications that run on computers • Rely on servers for • Files • Devices • Processing power • Example: E-mail client • An application that enables you to send and receive e-mail Source: Kathleen R. Murray, Ph.D
Servers Servers Manage Resources • Computers or processes that manage network resources • Disk drives (file servers) • Printers (print servers) • Network traffic (network servers) • Example: Database Server • A computer system that processes database queries Source: Kathleen R. Murray, Ph.D
Communication Networks Networks Connect Clients and Servers Source: Kathleen R. Murray, Ph.D
Client–Server Computing • Process takes place • on the server and • on the client • Servers • Store and protect data • Process requests from clients • Clients • Make requests • Format data on the desktop Client-Server Computing Optimizes Computing Resources Source: Kathleen R. Murray, Ph.D
Application Functions • Software application functions are separated into three distinct parts Server: Data Management Client: Presentation & Application Logic Source: Kathleen R. Murray, Ph.D
Application Components Data Management 2 Client Types 3 Application Logic 2 Fat Client Thin Client Presentation 1 3 Logical Tiers Database Applications: Most common use of client-server architectures Source: Kathleen R. Murray, Ph.D
Thin or Fat • Thin client and Fat Server • การประมวลผลส่วนใหญ่เกิดที่ Server ทำให้ client ไม่ต้องใช้เครื่องประสิทธิภาพสูง • Thin Server and Fat Client • การประมวลผลส่วนใหญ่เกิดที่ client ทำให้ต้องใช้ client ประสิทธิภาพสูงกว่า (Source: เกียรติพงษ์ ยอดเยี่ยมแกร)
Middleware • Software that connects two otherwise separate applications • Example: Middleware product linking a database system to a Web server Database Server: Manages Data Middleware Links Applications Web Server: Presents Dynamic Pages Client: Requests Data via Web Source: Kathleen R. Murray, Ph.D
Application Servers Audio/Video Servers Chat Servers Fax Servers FTP Servers Groupware Servers IRC Servers List Servers Mail Servers News Servers Proxy Servers Telnet Servers Web Servers Types of Servers Source: http://webopedia.lycos.com
รูปแบบของ 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 (Source: เกียรติพงษ์ ยอดเยี่ยมแกร)
Software Sharing • เป็นการออกแบบให้ application สามารถ Share Logic กันได้ • งานหลาย ๆ งานอาจเรียกใช้ Module เดียวกัน หรือ Module หนึ่ง อาจถูกเรียกใช้โดย Application มากกว่า 1 ตัว • ลดปัญหาการเขียน Logic ซ้ำหลายๆ ครั้งใน Application หลายตัว (Source: เกียรติพงษ์ ยอดเยี่ยมแกร)
Hardware - Independent Approach • Application ถูกออกแบบให้สามารถใช้กับ Hardware หลากรูปแบบ • สามารถใช้งานในลักษณะ Stand Alone หรือ Network File/Print Server Database Server Clients Bus. Logic Pres. Logic Request and Responses (Source: เกียรติพงษ์ ยอดเยี่ยมแกร)
มาตรฐาน 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 หลายยี่ห้อได้