Mô hình client/server

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng hệ thống nhận dạng và dịch trên thiết bị di động (Trang 35 - 38)

2.3.1. Giới thiệu về mô hình client/server

Hình 2.8. Mô hình client/server

http://wimaxpro.org

Mô hình client/server[22] là một mô hình quen thuộc trong mạng máy tính được áp dụng một cách rộng rãi. Tất cả mọi trang web, mọi hệ thống phân tán hiện nay đều hoạt động dựa theo mô hình này. Ý tưởng của mô hình này là máy con (đóng vài trò là máy khách-client) gửi một yêu cầu (request) để máy chủ (đóng vai trò người cung ứng dịch vụ-server), máy chủ sẽ xử lý và trả kết quả về cho máy khách. Một mô hình ngược lại là mô hình master/slaver, trong

đó máy chủ (đóng vai trò ông chủ-master) sẽ gửi dữ liệu đến máy con (đóng vai trò nô lệ-slaver) bất kể máy con có cần hay không.

Server chứa các chương trình gọi là chương trình server, client chứa các chương trình gọi là chương trình client. Client gửi các yêu cầu tới máy chủ có chương trình server và chờ đợi câu trả lời từ server. Các chương trình server này chấp nhận tất cả các yêu cầu hợp lệ đến từ mọi nơi trên mạng, sau đó nó thi hành dịch vụ và trả kết quả về client. Chương trình server và client giao tiếp với nhau bằng các thông điệp (messages) thông qua một cổng truyền thông liên tác IPC (Interprocess Communication). Để một chương trình server và một chương trình client có thể giao tiếp được với nhau thì giữa chúng phải có một chuẩn để nói chuyện, chuẩn này được gọi là giao thức. Nếu một chương trình client nào đó muốn yêu cầu lấy thông tin từ server thì nó phải tuân theo giao thức mà server đó đưa ra. Các giao thức chuẩn (ở tầng mạng và vận chuyển) được sử dụng rộng rãi nhất hiện nay như: giao thức TCP/IP, giao thức SNA của IBM, OSI, ISDN, X.25 hoặc giao thức LAN-to-LAN NetBIOS.

Mô hình truyền tin client/server hướng tới việc cung cấp dịch vụ. Quá trình trao đổi dữ liệu bao gồm:

- Truyền một yêu cầu từ tiến trình client tới tiến trình server. - Yêu cầu được server xử lý.

- Truyền đáp ứng cho client. 2.3.2. Các kiến trúc client/server 2.3.2.1. Client/Server hai tầng

Kiến trúc client/server đơn giản nhất là kiến trúc hai tầng[22]. Các hệ thống sử dụng mô hình client/server hiện nay đa phần áp dụng kiến trúc client/server hai tầng. Một ứng dụng hai tầng cung cấp nhiều trạm làm việc với một tầng trình diễn thống nhất, tầng này truyền tin với tầng lưu trữ dữ liệu tập trung. Tầng trình diễn thông thường là client, và tầng lưu trữ dữ liệu là server.

Hầu hết các ứng dụng Internet như là email, telnet, ftp thậm chí là cả Web là các ứng dụng hai tầng. Phần lớn các lập trình viên trình ứng dụng viết các ứng dụng client/server có xu thế sử dụng kiến trúc này.

Trong ứng dụng hai tầng truyền thống, khối lượng công việc xử lý được dành cho phía client trong khi server chỉ đơn giản đóng vai trò như là chương trình kiểm soát luồng vào ra giữa ứng dụng và dữ liệu. Kết quả là không chỉ hiệu năng của ứng dụng bị giảm đi do tài nguyên hạn chế của PC, mà khối lượng dữ liệu truyền đi trên mạng cũng tăng theo. Khi toàn bộ ứng dụng được xử lý trên

một PC, ứng dụng bắt buộc phải yêu cầu nhiều dữ liệu trước khi đưa ra bất kỳ kết quả xử lý nào cho người dùng. Nhiều yêu cầu dữ liệu cũng làm giảm hiệu năng của mạng. Một vấn đề thường gặp khác đối với ứng dụng hai tầng là vấn đề bảo trì. Chỉ cần một thay đổi nhỏ đối với ứng dụng cũng cần phải thay đổi lại toàn bộ ứng dụng client và server.

Hình 2.9. Mô hình kiến trúc client/server 2 tầng [22]

2.3.2.2. Client/server ba tầng

Ta có thể tránh được các vấn đề của kiến trúc client/server hai tầng bằng cách mở rộng kiến trúc thành ba tầng[22]. Một kiến trúc ba tầng có thêm một tầng mới tách biệt việc xử lý dữ liệu ở vị trí trung tâm. Theo kiến trúc ba tầng, một ứng dụng được chia thành ba tầng tách biệt nhau về mặt logic.

Hình 2.10. Mô hình kiến trúc client/server 3 tầng [25]

- Tầng đầu tiên là tầng trình diễn thường bao gồm các giao diện đồ họa. Tầng trình diễn nhận dữ liệu và định dạng nó để hiển thị. Sự tách biệt giữa chức năng xử lý với giao diện đã tạo nên sự linh hoạt cho việc thiết kế ứng dụng. Nhiều giao diện người dùng được xây dựng và triển khai mà không làm thay đổi logic ứng dụng.

- Tầng thứ hai, còn được gọi là tầng trung gian hay tầng tác nghiệp.

- Tầng thứ ba chứa dữ liệu cần cho ứng dụng. Tầng thứ ba về cơ bản là chương trình thực hiện các lời gọi hàm để tìm kiếm dữ liệu cần thiết. Dữ liệu này có thể bao gồm bất kỳ nguồn thông tin nào, bao gồm cơ sở dữ liệu như Oracale, SQL Server hoặc tài liệu XML.

2.3.2.3. Client/server n-tầng

Kiến trúc n-tầng[22] được chia thành các tầng như sau:

- Tầng giao diện người dùng: quản lý tương tác của người dùng với ứng dụng

- Tầng logic trình diễn: Xác định cách thức hiển thị giao diện người dùng và các yêu cầu của người dùng được quản lý như thế nào.

- Tầng logic tác nghiệp: Mô hình hóa các quy tắc tác nghiệp.

- Tầng các dịch vụ hạ tầng: Cung cấp một chức năng bổ trợ cần thiết cho ứng dụng như các thành phần (truyền thông điệp, hỗ trợ giao tác).

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng hệ thống nhận dạng và dịch trên thiết bị di động (Trang 35 - 38)

Tải bản đầy đủ (PDF)

(65 trang)