8 khi nên sử dụng máy chủ khách đa cấp. Kiến trúc máy khách-máy chủ cổ điển

Là thành phần không bằng nhau mạng thông tin. Một số sở hữu tài nguyên và do đó được gọi là máy chủ; số khác truy cập các tài nguyên này và được gọi là máy khách. Hãy xem cách chúng tương tác với nhau và chúng đại diện cho điều gì kiến trúc client-server.

Kiến trúc máy khách-máy chủ

Kiến trúc “Máy khách-Máy chủ” là sự tương tác của các thành phần cấu trúc trong mạng dựa trên các thành phần cấu trúc được xác định bởi mạng, trong đó các thành phần cấu trúc là máy chủ và các nút cung cấp một số chức năng (dịch vụ) chuyên biệt nhất định, cũng như các máy khách sử dụng dịch vụ này . Các chức năng cụ thể thường được chia thành ba nhóm dựa trên việc giải quyết các vấn đề cụ thể:

  • chức năng nhập và trình bày dữ liệu được thiết kế để người dùng tương tác với hệ thống;
  • các hàm được áp dụng - mỗi hàm có tập hợp riêng;
  • Các chức năng quản lý tài nguyên được thiết kế để quản lý hệ thống tập tin, cơ sở dữ liệu khác nhau dữ liệu và các thành phần khác.

Ví dụ, một máy tính không có Kết nối mạng, đại diện cho các thành phần trình bày, ứng dụng và điều khiển trên nhiều cấp độ khác nhau. Các loại cấp độ này được coi là hệ điều hành, phần mềm ứng dụng và tiện ích, tiện ích đa dạng. Theo cách tương tự, tất cả các thành phần trên được trình bày trên Internet. Điều chính là đảm bảo chính xác mạng giữa các thành phần này.

Cách thức hoạt động của kiến ​​trúc client-server

Kiến trúc máy khách-máy chủ thường được sử dụng để tạo cơ sở dữ liệu công ty, trong đó thông tin không chỉ được lưu trữ mà còn được xử lý định kỳ Các phương pháp khác nhau. Cơ sở dữ liệu là thành phần chính của bất kỳ hệ thống thông tin doanh nghiệp nào và máy chủ chứa cốt lõi của cơ sở dữ liệu này. Do đó, hầu hết các hoạt động phức tạp liên quan đến nhập, lưu trữ, xử lý và sửa đổi dữ liệu đều diễn ra trên máy chủ. Khi người dùng (client) truy cập vào cơ sở dữ liệu (máy chủ), yêu cầu được xử lý: truy cập trực tiếp vào cơ sở dữ liệu và trả về phản hồi (kết quả xử lý). Kết quả của quá trình xử lý là một thông báo mạng về sự thành công của thao tác hoặc có lỗi. Máy chủ có thể xử lý đồng thời các yêu cầu từ nhiều client tới cùng một file. Công việc như vậy qua mạng cho phép bạn tăng tốc hoạt động của các ứng dụng bạn sử dụng.

Kiến trúc client-server: ứng dụng công nghệ

Kiến trúc này được sử dụng để truy cập các tài nguyên khác nhau bằng cách sử dụng công nghệ mạng: cơ sở dữ liệu, máy chủ thư, tường lửa, máy chủ proxy. Phát triển ứng dụng máy khách-máy chủ cho phép bạn cải thiện tính bảo mật, độ tin cậy và hiệu suất của toàn bộ ứng dụng và mạng. Các ứng dụng máy khách-máy chủ thường được sử dụng nhiều nhất để tự động hóa doanh nghiệp.

Chuẩn bị người dùng

Sự bảo vệ

Yêu cầu máy chủ

Tài nguyên được chia sẻ

Trong mạng ngang hàng, mỗi máy tính phải:

· cung cấp hầu hết tài nguyên máy tính của bạn người dùng cục bộ(với người ngồi trước máy tính này);

· Hỗ trợ truy cập tài nguyên của người dùng từ xa (truy cập máy chủ qua mạng), kết nối các tài nguyên máy tính bổ sung.

Mạng dựa trên máy chủ yêu cầu các máy chủ mạnh hơn vì chúng phải xử lý các yêu cầu từ tất cả các máy khách trên mạng.

Bảo vệ cơ bản bao gồm việc đặt mật khẩu cho tài nguyên dùng chung, chẳng hạn như thư mục. Rất khó để quản lý tập trung bảo mật trong mạng ngang hàng, vì mỗi người dùng cài đặt nó một cách độc lập và các tài nguyên “được chia sẻ” có thể được đặt trên tất cả các máy tính chứ không chỉ trên máy chủ trung tâm. Tình huống này gây ra mối đe dọa nghiêm trọng cho toàn bộ mạng và một số người dùng có thể không cài đặt biện pháp bảo vệ nào cả. Nếu vấn đề về quyền riêng tư có tầm quan trọng cơ bản đối với bạn, chúng tôi khuyên bạn nên chọn mạng dựa trên máy chủ.

Bởi vì trong mạng ngang hàng, mỗi máy tính hoạt động như cả máy khách và máy chủ, người dùng phải có đủ kiến ​​thức để hoạt động với tư cách vừa là người dùng vừa là quản trị viên máy tính của họ.

Chủ đề 5.2. Hệ điều hành mạng. Máy khách-máy chủ

Máy khách-máy chủ(Máy khách-máy chủ) - tính toán hoặc kiến trúc mạng, trong đó công việc hoặc tải mạng được phân phối giữa các nhà cung cấp dịch vụ, được gọi là máy chủ và khách hàng dịch vụ, được gọi là máy khách. Thông thường máy khách và máy chủ tương tác thông qua mạng máy tính và có thể khác nhau thiết bị vật lý, và phần mềm.

Kiến trúc client-server đa cấp là một kiểu kiến ​​trúc client-server trong đó chức năng xử lý dữ liệu được thực hiện trên một hoặc nhiều máy chủ riêng biệt. Điều này cho phép bạn tách biệt các chức năng lưu trữ, xử lý và trình bày dữ liệu để biết thêm sử dụng hiệu quả khả năng của máy chủ và máy khách.

Các trường hợp đặc biệt của kiến ​​trúc đa cấp:

· Kiến trúc ba tầng

· Mạng máy chủ chuyên dụng

· Mạng có máy chủ chuyên dụng (Mạng Máy khách/Máy chủ tiếng Anh) là mạng cục bộ mạng máy tính(LAN), trong đó Thiết bị mạng tập trung và được quản lý bởi một hoặc nhiều máy chủ. Các máy trạm hoặc máy khách riêng lẻ (chẳng hạn như PC) phải truy cập tài nguyên mạng thông qua (các) máy chủ.

Hệ điều hành mạng- một hệ điều hành có khả năng tích hợp sẵn để làm việc trong mạng máy tính. Những cơ hội như vậy bao gồm:

· ủng hộ thiết bị mạng

· ủng hộ giao thức mạng

· hỗ trợ các giao thức định tuyến

· hỗ trợ lọc lưu lượng mạng

· hỗ trợ truy cập vào tài nguyên từ xa chẳng hạn như máy in, đĩa, v.v. qua mạng

Tính sẵn có trong hệ thống dịch vụ mạng cho phép người dùng từ xa sử dụng tài nguyên máy tính

Ví dụ về hệ điều hành mạng:

· Novell NetWare

· Microsoft Windows(95, NT, XP, Vista, Bảy)

· Nhiều Hệ thống UNIX, chẳng hạn như Solaris, FreeBSD

· Các hệ thống GNU/Linux khác nhau

ZyNOS Công ty ZyXEL

Các hệ điều hành mạng hiện đại (UNIX, WIN2000, NOWELL NW) triển khai ngăn xếp giao thức đầy đủ của mô hình OSI, do đó UNIX hỗ trợ ngăn xếp giao thức (TCP/IP, NW LINK, NET BIOS). Nowell NW hỗ trợ ngăn xếp giao thức IPX/SPX.Apple Mac sử dụng bộ giao thức riêng của mình.

Bất kể nhà sản xuất nào, tất cả các hệ điều hành mạng đều thực hiện các chức năng sau:

1. Phân bổ chức năng giữa các nút mạng (máy khách và máy chủ);

2. Hỗ trợ giao thức truyền thông;

3. Hỗ trợ hệ thống tập tin mạng;

4. Bảo vệ dữ liệu.

Tất cả các hệ điều hành mạng có thể được chia thành 2 loại:

1. Mạng ngang hàng hoặc mạng ngang hàng (mỗi mạng). Ví dụ về Windows 9x;

2. Mạng dựa trên máy chủ chuyên dụng.

K1. Trong mạng ngang hàng, tất cả các PC đều có quyền bình đẳng nhưng cũng có máy khách và máy chủ trong mạng. Thông thường, mỗi PC có thể được chuyển sang chế độ máy chủ nếu người dùng muốn (tài nguyên dùng chung được phân bổ).

Hệ điều hành mạng ngang hàng thiếu hiệu suất và bảo mật đáng tin cậy. Được sử dụng trên mạng khi có 10-15 chiếc. Một ví dụ về mạng ngang hàng là Win94/98/OS/2/LANtastic

K2. Trong mạng này luôn có một PC chính - một máy chủ, được tối ưu hóa đặc biệt cho xử lý nhanh yêu cầu từ nhiều khách hàng (khoảng -100) và quản lý việc bảo vệ các tập tin và thư mục. TRONG mạng lưới lớn các máy chủ riêng biệt được phân bổ cho ứng dụng riêng lẻ(WEB – máy chủ, File – máy chủ, Print – máy chủ, máy chủ DB và máy chủ thư)

Phần mềm máy chủ rất phức tạp, đáng tin cậy và hiệu suất. Nó có thể hoạt động trên các nền tảng khác nhau.

Hệ điều hành khác nhau – Unix, Win 2000Server, NovellNetWare

Phần mềm máy khách của bất kỳ hệ điều hành nào đều cho phép bạn chuyển hướng yêu cầu của người dùng từ một vị trí cục bộ. PC đến máy chủ với nguồn lực cần thiết. Điều này được thực hiện bằng cách sử dụng một bộ chuyển hướng đặc biệt (bộ chặn), chặn yêu cầu và xác định xem nó nên được thực thi trên PC cục bộ hay trên máy chủ.

Cơ cấu tái giám đốc:

]. Điều này cho phép bạn tách biệt các chức năng lưu trữ, xử lý và trình bày dữ liệu để sử dụng hiệu quả hơn các khả năng của máy chủ và máy khách.

Trong số kiến ​​trúc client-server nhiều tầng, phổ biến nhất là kiến ​​trúc ba tầng ( kiến trúc ba tầng, ba tầng), giả định sự hiện diện của các thành phần ứng dụng sau: một ứng dụng khách (thường được gọi là "máy khách mỏng" hoặc thiết bị đầu cuối) được kết nối với máy chủ ứng dụng, do đó được kết nối với máy chủ cơ sở dữ liệu [ , ].

cơm. 5.4.


Cơm. 5.4. Trình bày kiến ​​trúc máy khách-máy chủ nhiều tầng

  • Thiết bị đầu cuối là một thành phần giao diện (thường là đồ họa) đại diện cho cấp độ đầu tiên, ứng dụng thực tế, cho người dùng cuối. Cấp độ đầu tiên không được có kết nối trực tiếp với cơ sở dữ liệu (vì lý do bảo mật), được tải logic nghiệp vụ cốt lõi (vì lý do khả năng mở rộng) và lưu trữ trạng thái ứng dụng (vì lý do độ tin cậy). Logic nghiệp vụ đơn giản nhất có thể và thường được đặt ở cấp độ đầu tiên: giao diện ủy quyền, thuật toán mã hóa, kiểm tra tính hợp lệ và tuân thủ định dạng của các giá trị đã nhập, các thao tác đơn giản (sắp xếp, nhóm, đếm giá trị) với dữ liệu đã được tải trên phần cuối.
  • Máy chủ ứng dụng nằm ở cấp độ thứ hai. Cấp độ thứ hai chứa hầu hết logic nghiệp vụ. Bên ngoài nó vẫn còn các mảnh được xuất đến thiết bị đầu cuối, cũng như các thủ tục được lưu trữ và trình kích hoạt được nhúng ở cấp độ thứ ba.
  • Máy chủ cơ sở dữ liệu cung cấp lưu trữ dữ liệu và được chuyển sang cấp độ thứ ba. Thông thường đây là một DBMS quan hệ hoặc hướng đối tượng tiêu chuẩn. Nếu cấp độ thứ ba là cơ sở dữ liệu cùng với các thủ tục được lưu trữ, trình kích hoạt và lược đồ mô tả ứng dụng theo mô hình quan hệ thì cấp độ thứ hai được xây dựng dưới dạng giao diện phần mềm, liên kết các thành phần máy khách với logic ứng dụng cơ sở dữ liệu.

Trong cấu hình vật lý đơn giản nhất máy chủ ứng dụng có thể được kết hợp với máy chủ cơ sở dữ liệu trên một máy tính có một hoặc nhiều thiết bị đầu cuối được kết nối qua mạng.

Trong cấu hình “chính xác” (về bảo mật, độ tin cậy, mở rộng quy mô) máy chủ cơ sở dữ liệu nằm trên một máy tính (hoặc cụm) chuyên dụng mà một hoặc nhiều máy chủ ứng dụng, đến lượt các thiết bị đầu cuối được kết nối qua mạng.

Ưu điểm của kiến ​​trúc này là [ , , , ]:

  • phần mềm máy khách không yêu cầu quản trị;
  • khả năng mở rộng;
  • khả năng cấu hình – cách ly các cấp độ với nhau cho phép bạn nhanh chóng và bằng những cách đơn giản cấu hình lại hệ thống khi xảy ra lỗi hoặc trong quá trình bảo trì theo lịch trình ở một trong các cấp độ;
  • bảo mật cao;
  • độ tin cậy cao;
  • yêu cầu thấp về tốc độ kênh (mạng) giữa các thiết bị đầu cuối và máy chủ ứng dụng;
  • yêu cầu hiệu suất thấp và Thông số kỹ thuật thiết bị đầu cuối, do giảm chi phí của họ.
  • sự phức tạp của phần máy chủ và do đó, chi phí quản lý và bảo trì ngày càng tăng;
  • độ phức tạp cao hơn của việc tạo ứng dụng;
  • khó triển khai và quản lý hơn;
  • yêu cầu hiệu suất cao máy chủ ứng dụngmáy chủ cơ sở dữ liệu, và do đó, chi phí thiết bị máy chủ cao;
  • yêu cầu cao về tốc độ kênh (mạng) giữa máy chủ cơ sở dữ liệumáy chủ ứng dụng.
  1. Hiệu suất;
  2. Lớp trình bày;
  3. Mức logic;
  4. Lớp dữ liệu;
  5. Dữ liệu.


Cơm. 5.5. Năm cấp độ kiến ​​trúc client-server nhiều tầng

Bản trình bày bao gồm tất cả thông tin được hiển thị trực tiếp cho người dùng: các trang HTML được tạo, biểu định kiểu, hình ảnh.

Lớp trình bày bao gồm mọi thứ liên quan đến giao tiếp của người dùng với hệ thống. Các chức năng chính của lớp trình bày bao gồm hiển thị thông tin và diễn giải đầu vào của người dùng và chuyển đổi chúng thành các hoạt động phù hợp trong bối cảnh logic và dữ liệu.

Mức logic chứa các chức năng chính của hệ thống được thiết kế để đạt được mục tiêu của nó. Các chức năng này bao gồm các tính toán dựa trên dữ liệu đầu vào và được lưu trữ, xác thực tất cả các thành phần dữ liệu và các lệnh xử lý từ lớp trình bày cũng như truyền thông tin đến lớp dữ liệu.

Lớp truy cập dữ liệu là một tập hợp con các chức năng cung cấp sự tương tác với hệ thống của bên thứ ba, thực hiện các nhiệm vụ vì lợi ích của ứng dụng.

Dữ liệu hệ thống thường được lưu trữ trong cơ sở dữ liệu.

5.1.6. Kiến trúc hệ thống phân tán

Loại hệ thống này phức tạp hơn về mặt tổ chức hệ thống. Bản chất phân phối hệ thống là để lưu trữ các bản sao cục bộ của dữ liệu quan trọng.

Về mặt sơ đồ, một kiến ​​trúc như vậy có thể được biểu diễn như trong Hình 2. 5.6.


Cơm. 5.6.

Hơn 95% dữ liệu được sử dụng trong quản lý doanh nghiệp có thể được lưu trữ trên một máy tính cá nhân, giúp làm việc độc lập. Dòng sửa đổi và bổ sung được tạo ra trên máy tính này không đáng kể so với lượng dữ liệu được sử dụng. Do đó, nếu bạn lưu trữ dữ liệu được sử dụng liên tục trên chính các máy tính và tổ chức trao đổi các sửa đổi và bổ sung cho dữ liệu được lưu trữ giữa chúng, thì tổng lưu lượng truyền sẽ giảm mạnh. Điều này giúp giảm yêu cầu về các kênh liên lạc giữa các máy tính và thường xuyên sử dụng giao tiếp không đồng bộ hơn và nhờ đó, tạo ra các hệ thống thông tin phân tán hoạt động đáng tin cậy sử dụng liên lạc kiểu Internet không ổn định để kết nối các phần tử riêng lẻ, Truyền thông di động, thuộc về thương mại kênh vệ tinh. Và việc giảm thiểu lưu lượng giữa các thành phần sẽ khiến chi phí vận hành kết nối như vậy trở nên khá phải chăng. Tất nhiên, việc triển khai một hệ thống như vậy không hề đơn giản và đòi hỏi phải giải quyết một số vấn đề, một trong số đó là việc đồng bộ hóa dữ liệu kịp thời.

Mỗi máy trạm độc lập, chỉ chứa thông tin cần thiết để làm việc và tính liên quan của dữ liệu trên toàn hệ thống được đảm bảo thông qua việc trao đổi tin nhắn liên tục với các máy trạm khác. Trao đổi tin nhắn giữa các máy trạm có thể được thực hiện những cách khác, từ việc gửi dữ liệu qua e-mail trước khi dữ liệu được truyền qua mạng.

Bài giảng 2

Hiện đại ứng dụng phần mềm và các hệ thống thông tin đã đạt đến mức độ phát triển đến mức thuật ngữ “kiến trúc” khi áp dụng cho chúng không còn gây ngạc nhiên nữa. Xây dựng một cách khôn ngoan hệ thống thông tin, hoạt động hiệu quả và đáng tin cậy không đơn giản hơn việc thiết kế và xây dựng một tòa nhà đa chức năng hiện đại.

Khi nói đến “kiến trúc hệ thống thông tin”, thường không thiếu các định nghĩa. Thậm chí có những trang web thu thập những định nghĩa như vậy.

Hãy xem xét định nghĩa về "kiến trúc hệ thống thông tin" được đưa ra bởi nhiều nguồn khác nhau:

· Ngành kiến ​​​​trúc là cơ cấu tổ chức của hệ thống.

· Kiến trúc hệ thống thông tin – khái niệm xác định mô hình, cấu trúc, chức năng được thực hiện và kết nối các thành phần của hệ thống thông tin.

· Ngành kiến ​​​​trúc - đây là tổ chức cơ bản của hệ thống, được thể hiện trong các thành phần của nó, mối quan hệ của chúng với nhau và với môi trường, cũng như các nguyên tắc quyết định thiết kế và phát triển của hệ thống.

· Ngành kiến ​​​​trúc là một tập hợp các quyết định quan trọng liên quan đến việc tổ chức hệ thống phần mềm, một tập hợp các phần tử cấu trúc và các giao diện của chúng mà qua đó hệ thống được lắp ráp, cùng với hành vi của chúng được xác định trong sự tương tác giữa các phần tử này, sự sắp xếp các phần tử thành các hệ thống con được mở rộng dần dần, cũng như phong cách kiến ​​trúc hướng dẫn tổ chức này - các phần tử và giao diện, tương tác và bố cục của chúng.

· Kiến trúc chương trình hoặc hệ thống máy tính - đây là cấu trúc của hệ thống, bao gồm các phần tử chương trình, các thuộc tính hiển thị bên ngoài của các phần tử này và các kết nối giữa chúng.

· Ngành kiến ​​​​trúc là cấu trúc của tổ chức và hành vi của hệ thống gắn liền với nó. Một kiến ​​trúc có thể được phân rã đệ quy thành các phần tương tác thông qua các giao diện, các kết nối kết nối các phần và các điều kiện để lắp ráp các phần. Các phần tương tác thông qua giao diện bao gồm các lớp, thành phần và hệ thống con.

· Kiến trúc phần mềm của một hệ thống hoặc tập hợp các hệ thống bao gồm tất cả các quyết định thiết kế quan trọng về cấu trúc chương trình và sự tương tác giữa các cấu trúc đó tạo nên hệ thống. Các quyết định thiết kế cung cấp một tập hợp các thuộc tính mong muốn mà hệ thống phải hỗ trợ để thành công. Các giải pháp thiết kế cung cấp khung khái niệm cho việc phát triển, hỗ trợ và bảo trì hệ thống.

Mặc dù các định nghĩa có phần khác nhau nhưng có thể thấy mức độ tương đồng đáng kể. Ví dụ, hầu hết các định nghĩa chỉ ra rằng kiến ​​trúc liên quan đến cấu trúc và hành vi và chỉ với các quyết định quan trọng, có thể tuân theo một số phong cách kiến ​​trúc, chịu ảnh hưởng bởi các bên liên quan và môi trường của nó, và thực hiện các quyết định dựa trên lý luận logic.



Dưới kiến ​​trúc hệ thống phần mềm chúng ta sẽ hiểu tập hợp các quyết định liên quan đến:

· Tổ chức hệ thống phần mềm;

· lựa chọn các phần tử cấu trúc tạo nên hệ thống và các giao diện của chúng;

· hành vi của các phần tử này trong sự tương tác với các phần tử khác;

· Kết hợp các phần tử này thành các hệ thống con;

phong cách kiến ​​trúc quyết định tính logic và tổ chức thể chất hệ thống: các phần tử tĩnh và động, giao diện và phương pháp kết hợp chúng.

Kiến trúc của một hệ thống phần mềm không chỉ bao gồm các khía cạnh cấu trúc và hành vi mà còn bao gồm các quy tắc sử dụng và tích hợp với các hệ thống khác, chức năng, hiệu suất, tính linh hoạt, độ tin cậy, khả năng sử dụng lại, tính đầy đủ, các hạn chế về kinh tế và công nghệ cũng như vấn đề về giao diện người dùng. .

Khi các hệ thống phần mềm phát triển, ngày càng có nhiều Giá trị cao hơnđạt được sự tích hợp của họ với nhau để xây dựng một duy nhất không gian thông tin doanh nghiệp. Như có thể thấy từ các định nghĩa trên, tích hợp là một yếu tố quan trọng của kiến ​​trúc.

Để xây dựng một kiến ​​trúc chính xác, đáng tin cậy và thiết kế thành thạo việc tích hợp các hệ thống phần mềm, cần phải tuân thủ nghiêm ngặt tiêu chuẩn hiện đạiở những khu vực này. Nếu không có điều này, bạn có thể tạo ra một kiến ​​trúc không thể phát triển và đáp ứng nhu cầu ngày càng tăng của người dùng CNTT. Các tổ chức quốc tế như SEI (Viện Kỹ thuật Phần mềm), WWW (consortium toàn thế giới Web), OMG (Nhóm quản lý đối tượng), tổ chức Nhà phát triển Java– JCP (Quy trình cộng đồng Java), IEEE (Viện Kỹ sư Điện và Điện tử) và các tổ chức khác.

Hãy xem xét việc phân loại các hệ thống phần mềm theo kiến ​​trúc của chúng:

· Kiến trúc tập trung;

· Kiến trúc máy chủ tập tin;

· Kiến trúc client-server hai tầng;

· Kiến trúc client-server nhiều tầng;

· Ngành kiến ​​​​trúc hệ thống phân phối;

· Kiến trúc ứng dụng web;

· Kiến trúc hướng dịch vụ.

Cần lưu ý rằng, giống như bất kỳ sự phân loại nào, sự phân loại này Kiến trúc hệ thống thông tin không hoàn toàn cứng nhắc. Trong kiến ​​trúc của bất kỳ hệ thống thông tin nào, thường có thể tìm thấy ảnh hưởng của một số quyết định kiến ​​trúc chung.

vị trí cơ sở dữ liệuđịnh nghĩa cái gọi là kiến trúc cơ sở dữ liệu và cơ sở dữ liệu được chia thành:

· địa phương;

· xa.

Để thực hiện các hoạt động với cơ sở dữ liệu cục bộ, cái gọi là ứng dụng cục bộ và cho các hoạt động với cơ sở dữ liệu từ xa - ứng dụng máy khách-máy chủ.

Vị trí cơ sở dữ liệu ở đến một mức độ lớnảnh hưởng đến sự phát triển của ứng dụng xử lý dữ liệu có trong cơ sở dữ liệu này.

Cơ sở dữ liệu cục bộ được đặt trên cùng một máy tính với các ứng dụng đang chạy trên chúng. Trong trường hợp này, hệ thống thông tin có kiến trúc địa phương(Hình 1). Làm việc với cơ sở dữ liệu thường diễn ra ở chế độ một người dùng. Nếu cần, bạn có thể chạy một ứng dụng khác trên máy tính của mình để truy cập đồng thời vào cùng một dữ liệu. Cho việc lái xe chia sẻ cần thiết cho cơ sở dữ liệu phương tiện đặc biệt kiểm soát và bảo vệ. Những công cụ này có thể cần thiết, chẳng hạn như khi một ứng dụng cố gắng thay đổi bản ghi đang được ứng dụng khác chỉnh sửa. Mỗi loại cơ sở dữ liệu thực hiện việc kiểm soát đó theo cách riêng và thường có các công cụ kiểm soát truy cập tích hợp sẵn.

Khi sử dụng cơ sở dữ liệu cục bộ trên mạng, có thể tổ chức quyền truy cập của nhiều người dùng vào cơ sở dữ liệu đó. Trong trường hợp này, các tệp cơ sở dữ liệu và ứng dụng được thiết kế để hoạt động với nó được đặt trên máy chủ mạng. Mỗi người dùng chạy ứng dụng này nằm trên máy chủ từ máy tính của mình và một bản sao của ứng dụng sẽ được khởi chạy cho anh ta. Tùy chọn mạng này để sử dụng cơ sở dữ liệu cục bộ tương ứng với kiến trúc máy chủ tập tin. Một ứng dụng có kiến ​​trúc máy chủ tệp cũng có thể được ghi lại trên mỗi máy tính trên mạng, trong trường hợp này ứng dụng máy tính riêng biệt vị trí của cơ sở dữ liệu chung phải được biết (Hình 2).

Khi làm việc với dữ liệu trên mỗi máy tính người dùng mạng, một bản sao cục bộ của cơ sở dữ liệu sẽ được sử dụng. Bản sao này được cập nhật định kỳ với dữ liệu có trong cơ sở dữ liệu trên máy chủ.

Kiến trúc máy chủ tập tin thường được sử dụng trong các mạng có một lượng nhỏ người dùng, các DBMS cá nhân, ví dụ như Paradox hoặc dBase, đều phù hợp để triển khai nó. Ưu điểm của kiến ​​trúc này là dễ triển khai cũng như thực tế là ứng dụng thực sự được phát triển cho một người dùng và không phụ thuộc vào máy tính nào trên mạng được cài đặt.

Ưu điểm của kiến ​​trúc này:

· Chế độ nhiều người dùng làm việc với dữ liệu;

· sự tiện lợi quản lý tập trung truy cập;

· chi phí phát triển thấp;

· tốc độ cao phát triển;

· giá thấp cập nhật và thay đổi phần mềm.

Tuy nhiên, kiến ​​trúc file-server cũng có những nhược điểm đáng kể.

1. Người dùng làm việc với bản sao cục bộ Cơ sở dữ liệu trong đó dữ liệu được cập nhật theo từng yêu cầu đối với bất kỳ bảng nào. Trong trường hợp này, nó được gửi từ máy chủ bản sao mới toàn bộ bảng có dữ liệu được yêu cầu. Do đó, nếu người dùng chỉ cần một vài bản ghi bảng thì toàn bộ bảng sẽ được gửi từ máy chủ qua mạng. Do việc lưu thông một khối lượng lớn thông tin dư thừa trong mạng, tải trên mạng tăng mạnh, dẫn đến tốc độ và hiệu suất của toàn bộ hệ thống thông tin nói chung giảm tương ứng.

2. Do mỗi máy tính có bản sao cơ sở dữ liệu riêng nên những thay đổi do một người dùng thực hiện trong cơ sở dữ liệu đó sẽ không được người dùng khác biết trong một thời gian. Vì vậy nó là cần thiết cập nhật liên tụcĐB. Ngoài ra, cần phải đồng bộ hóa công việc người dùng cá nhân liên quan đến việc khóa các bản ghi trong bảng đang được người dùng khác chỉnh sửa.

3. Cơ sở dữ liệu được quản lý bằng máy tính khác nhau Vì vậy, việc tổ chức kiểm soát truy cập, duy trì tính bảo mật và duy trì tính toàn vẹn của cơ sở dữ liệu là rất khó khăn.

Theo quy định, máy tính và chương trình là một phần của hệ thống thông tin là không ngang nhau. Một số trong số họ sở hữu tài nguyên ( hệ thống tập tin, bộ xử lý, máy in, cơ sở dữ liệu, v.v.), những người khác có khả năng truy cập các tài nguyên này.

Nếu cơ sở dữ liệu từ xa được đặt trên máy tính của máy chủ mạng và ứng dụng hoạt động với cơ sở dữ liệu này được đặt trên máy tính của người dùng thì Kiến trúc này được gọi là “máy khách-máy chủ”(Hình 3, Hình 4). Trong kiến ​​trúc này, hệ thống thông tin được chia thành các phần không đồng nhất - máy chủ và máy khách cơ sở dữ liệu. Do máy chủ được đặt tách biệt với máy khách nên nó được gọi là máy chủ từ xa.

Máy chủ– đây chính là DBMS. Nó hỗ trợ tất cả các chức năng cơ bản của DBMS: định nghĩa dữ liệu, xử lý dữ liệu, bảo vệ dữ liệu, duy trì tính toàn vẹn dữ liệu, v.v.

Khách hàng là ứng dụng của người dùng. Để nhận dữ liệu, máy khách tạo và gửi yêu cầu đến máy chủ từ xa lưu trữ cơ sở dữ liệu. Yêu cầu được tạo ra tại ngôn ngữ SQL, đó là phương tiện chuẩn truy cập vào máy chủ khi sử dụng mô hình quan hệ dữ liệu. Sau khi nhận được yêu cầu, máy chủ từ xa sẽ chuyển tiếp nó đến máy chủ SQL (máy chủ cơ sở dữ liệu) - chương trình đặc biệt, quản lý cơ sở dữ liệu từ xa và đảm bảo rằng truy vấn được thực thi và kết quả của nó được trả về cho máy khách.

Do đó, trong kiến ​​trúc client-server, client gửi yêu cầu dữ liệu và chỉ nhận dữ liệu thực sự được yêu cầu. Mọi quá trình xử lý yêu cầu được thực hiện trên máy chủ từ xa. Kiến trúc này có những ưu điểm sau:

1. Giảm tải trên mạng vì hiện tại chỉ có thông tin cần thiết được lưu hành trong đó.

2. Tăng cường bảo mật thông tin do yêu cầu từ tất cả khách hàng đều được xử lý một chương trình duy nhất nằm trên máy chủ. Máy chủ thiết lập các quy tắc sử dụng cơ sở dữ liệu chung cho tất cả người dùng, kiểm soát các chế độ truy cập dữ liệu của máy khách, đặc biệt là cấm những người dùng khác nhau sửa đổi đồng thời một bản ghi.

3. Giảm độ phức tạp của ứng dụng khách do thiếu mã liên quan đến kiểm soát cơ sở dữ liệu và kiểm soát truy cập vào nó.

Nhược điểm của kiến ​​trúc này là:

· Máy chủ không hoạt động có thể khiến toàn bộ mạng máy tính không hoạt động được;

· Việc quản lý hệ thống này đòi hỏi phải có chuyên gia có trình độ chuyên môn;

· chi phí thiết bị cao;

· logic kinh doanh của các ứng dụng vẫn còn trong phần mềm máy khách.

Để triển khai kiến ​​trúc client-server, các DBMS nhiều người dùng thường được sử dụng, ví dụ như Oracle hoặc Microsoft. Máy chủ SQL. Các DBMS như vậy còn được gọi là công nghiệp vì chúng cho phép bạn tạo một hệ thống thông tin cho một tổ chức hoặc doanh nghiệp với một số lượng lớn người dùng.

Kiến trúc ba tầng– mô hình kiến ​​trúc của gói phần mềm giả định sự hiện diện của ba thành phần: máy khách, máy chủ ứng dụng (mà ứng dụng khách được kết nối) và máy chủ cơ sở dữ liệu (mà máy chủ ứng dụng hoạt động).

Kiến trúc máy khách-máy chủ ba tầng, bắt đầu phát triển vào giữa những năm 90, tạo ra sự tách biệt cấp độ ứng dụng từ việc quản lý dữ liệu. Một cái riêng biệt được tách ra cấp độ chương trình, tập trung vào logic ứng dụng của ứng dụng. Các chương trình cấp trung có thể hoạt động dưới sự kiểm soát máy chủ đặc biệt các ứng dụng, nhưng các chương trình như vậy cũng có thể được khởi chạy dưới sự kiểm soát của máy chủ web thông thường. Cuối cùng, việc quản lý dữ liệu được thực hiện bởi máy chủ dữ liệu.

Máy khách (lớp máy khách) là thành phần giao diện (thường là đồ họa) của tổ hợp được cung cấp bởi người dùng cuối. Cấp độ này không được có kết nối trực tiếp với cơ sở dữ liệu (theo yêu cầu bảo mật và khả năng mở rộng), được tải logic nghiệp vụ cốt lõi (theo yêu cầu về khả năng mở rộng) và lưu trữ trạng thái ứng dụng (theo yêu cầu về độ tin cậy). Thông thường, chỉ logic nghiệp vụ đơn giản nhất mới được chuyển sang cấp độ này: giao diện ủy quyền, thuật toán mã hóa, kiểm tra tính hợp lệ và tuân thủ định dạng của các giá trị đã nhập, các thao tác đơn giản với dữ liệu (sắp xếp, nhóm, đếm giá trị) đã được tải trên thiết bị đầu cuối.

Máy chủ ứng dụng (lớp giữa, lớp keo) được đặt ở cấp độ thứ hai, nơi tập trung hầu hết logic nghiệp vụ. Bên ngoài nó, chỉ còn lại các đoạn được xuất sang máy khách (thiết bị đầu cuối), cũng như các phần tử logic được nhúng trong cơ sở dữ liệu (các thủ tục được lưu trữ và trình kích hoạt). Việc thực hiện thành phần này được cung cấp bởi phần mềm trung gian. Các máy chủ ứng dụng được thiết kế theo cách bổ sung thêm vào chúng bản sao bổ sung cung cấp chia tỷ lệ ngang hiệu suất của gói phần mềm và không yêu cầu thay đổi đối với Mã chương trình các ứng dụng.

Máy chủ cơ sở dữ liệu (lớp dữ liệu) cung cấp khả năng lưu trữ dữ liệu và được chuyển đến cấp độ riêng biệt, theo quy định, được triển khai bằng cách sử dụng hệ thống quản lý cơ sở dữ liệu; kết nối với thành phần này chỉ được cung cấp từ cấp độ máy chủ ứng dụng.

Trong các cấu hình đơn giản nhất, tất cả các thành phần hoặc một số thành phần trong số chúng có thể được kết hợp trên một nút máy tính. Trong các cấu hình hiệu quả, theo quy định, một nút máy tính chuyên dụng được sử dụng cho máy chủ cơ sở dữ liệu hoặc một cụm máy chủ cơ sở dữ liệu; đối với các máy chủ ứng dụng, một nhóm nút máy tính chuyên dụng được sử dụng để các máy khách (thiết bị đầu cuối) được kết nối trực tiếp.

So với kiến ​​trúc máy khách-máy chủ hoặc máy chủ tệp, kiến ​​trúc ba tầng cung cấp, theo nguyên tắc, khả năng mở rộng lớn hơn (do khả năng mở rộng theo chiều ngang của máy chủ ứng dụng và ghép kênh các kết nối, khả năng cấu hình cao hơn (do sự cô lập các cấp độ từ mỗi máy chủ ứng dụng). khác), hơn thế nữa nhiều cơ hộiđể đảm bảo tính bảo mật và khả năng chịu lỗi. Ngoài ra, so với các ứng dụng máy khách-máy chủ sử dụng kết nối trực tiếp đến máy chủ cơ sở dữ liệu, yêu cầu về tốc độ và tính ổn định của các kênh liên lạc giữa máy khách và máy chủ sẽ giảm đi. Triển khai các ứng dụng có thể truy cập từ trình duyệt web hoặc từ khách hàng mỏng, theo quy định, ngụ ý việc triển khai gói phần mềm theo kiến ​​trúc ba tầng. Trong trường hợp này, thường là phát triển các ứng dụng cho ba cấp độ hệ thống phần mềm phức tạp hơn so với các ứng dụng máy khách-máy chủ và sự hiện diện của phần mềm trung gian bổ sung có thể gây ra thêm chi phí trong việc quản lý các tổ hợp đó.

Để truy cập một số dịch vụ mạng nhất định, các máy khách có khả năng được đặc trưng bởi khái niệm “độ dày” được sử dụng. Nó xác định cấu hình phần cứng và phần mềm có sẵn cho khách hàng. Hãy xem xét các giá trị biên có thể có:

Khách hàng mỏng. Thuật ngữ này định nghĩa một máy khách có tài nguyên máy tính chỉ đủ để chạy ứng dụng mạng được yêu cầu thông qua giao diện web. Giao diện người dùng của một ứng dụng như vậy được hình thành bằng các phương tiện HTML tĩnh (Thực thi JavaScript không được cung cấp), tất cả logic ứng dụng được thực thi trên máy chủ.

Để máy khách mỏng hoạt động, chỉ cần cung cấp khả năng khởi chạy trình duyệt web, trong cửa sổ mà mọi hành động được thực hiện là đủ. Vì lý do này, trình duyệt web thường được gọi là "máy khách phổ quát".

Khách hàng "béo". Đây là trạm làm việc hoặc Máy tính cá nhân, chạy đĩa riêng của họ hệ điều hành và có bộ cần thiết phần mềm. ĐẾN máy chủ mạng Khách hàng “béo” đến chủ yếu để dịch vụ bổ sung(ví dụ: truy cập vào máy chủ web hoặc cơ sở dữ liệu của công ty).

Máy khách "dày" cũng có nghĩa là ứng dụng mạng máy khách chạy trên hệ điều hành cục bộ. Một ứng dụng như vậy kết hợp một thành phần trình bày dữ liệu (đồ họa giao diện người dùng OS) và thành phần ứng dụng ( khả năng tính toán máy khách).

Máy khách-máy chủ là một kiến ​​trúc máy tính hoặc mạng trong đó các tác vụ hoặc tải mạng được phân phối giữa các nhà cung cấp dịch vụ, được gọi là máy chủ và khách hàng dịch vụ, được gọi là máy khách. Thông thường, máy khách và máy chủ giao tiếp qua mạng máy tính và có thể là các thiết bị vật lý hoặc phần mềm khác nhau.

Thuận lợi

Trong hầu hết các trường hợp, có thể phân phối các chức năng hệ thống máy tính giữa một số máy tính độc lập trên mạng. Điều này làm cho việc bảo trì hệ thống máy tính trở nên dễ dàng hơn. Đặc biệt, việc thay thế, sửa chữa, nâng cấp hay di chuyển máy chủ đều không ảnh hưởng tới máy khách.

Tất cả dữ liệu được lưu trữ trên máy chủ, theo quy luật, máy chủ này được bảo vệ tốt hơn nhiều so với hầu hết các máy khách. Việc thực thi các biện pháp kiểm soát quyền trên máy chủ sẽ dễ dàng hơn để chỉ cho phép những khách hàng có quyền truy cập phù hợp truy cập dữ liệu.

Cho phép bạn kết hợp các khách hàng khác nhau. Khách hàng có nền tảng phần cứng, hệ điều hành khác nhau, v.v. thường có thể sử dụng tài nguyên của một máy chủ.

[biên tập]

sai sót

Lỗi máy chủ có thể khiến toàn bộ mạng máy tính không thể hoạt động.

Hỗ trợ hoạt động của hệ thống này cần có một chuyên gia riêng - quản trị viên hệ thống.

Chi phí thiết bị cao.

[biên tập]

Kiến trúc client-server đa tầng

Kiến trúc client-server đa cấp là một kiểu kiến ​​trúc client-server trong đó chức năng xử lý dữ liệu được thực hiện trên một hoặc nhiều máy chủ riêng biệt. Điều này cho phép bạn tách biệt các chức năng lưu trữ, xử lý và trình bày dữ liệu để sử dụng hiệu quả hơn các khả năng của máy chủ và máy khách.

Các trường hợp đặc biệt của kiến ​​trúc đa cấp:

Kiến trúc ba tầng

[biên tập]

Mạng máy chủ chuyên dụng

Mạng máy chủ chuyên dụng (Mạng máy khách/máy chủ) là mạng cục bộ (LAN) trong đó các thiết bị mạng được tập trung và điều khiển bởi một hoặc nhiều máy chủ. Các máy trạm hoặc máy khách riêng lẻ (chẳng hạn như PC) phải truy cập tài nguyên mạng thông qua (các) máy chủ.

Giới thiệu

Rất nhiều điều đã được viết về công nghệ máy khách-máy chủ. Có thể lưu ý rằng phần nào sự phấn khích xung quanh chủ đề này diễn ra cách đây hai năm giờ đây chắc chắn đã lắng xuống. Các bài báo trên báo chí và các cuộc trò chuyện bên lề đã có giọng điệu bình tĩnh, giống như kinh doanh và giờ đây, theo quy định, thảo luận về các khía cạnh cụ thể của việc ứng dụng công nghệ này. Câu hỏi "Trở thành hay không trở thành kiến ​​trúc client-server?" Bây giờ không ai nêu ra - mọi người đều biết rằng "To be!"

Tuy nhiên, nhiều độc giả có thể chỉ mới quan tâm đến chủ đề này gần đây, vì vậy, theo ý kiến ​​​​của chúng tôi, đáng để quay lại chủ đề này một lần nữa và bình tĩnh, theo cách thức kinh doanh, thảo luận về kiến ​​trúc client-server là gì, tại sao nó cần thiết và làm thế nào để Tiếp cận nó.

Kiến trúc client-server là gì?

Nói chung, hệ thống máy khách-máy chủ được đặc trưng bởi sự hiện diện của hai quy trình độc lập tương tác - máy khách và máy chủ, trong đó, trường hợp chung, có thể được thực thi trên các máy tính khác nhau, trao đổi dữ liệu qua mạng. Theo sơ đồ này, các hệ thống xử lý dữ liệu dựa trên DBMS, thư và các hệ thống khác có thể được xây dựng. Tất nhiên, chúng ta sẽ nói về cơ sở dữ liệu và hệ thống dựa trên chúng. Và ở đây sẽ thuận tiện hơn không chỉ khi xem xét kiến ​​​​trúc máy khách-máy chủ mà còn so sánh nó với kiến ​​​​trúc khác - máy chủ tệp.

Trong hệ thống máy chủ tệp, dữ liệu được lưu trữ trên máy chủ tệp (ví dụ: Novell NetWare hoặc Windows NT Server) và việc xử lý dữ liệu được thực hiện trên các máy trạm, theo quy định, vận hành một trong những cái gọi là “DBMS máy tính để bàn”. ” - Access, FoxPro, Paradox, v.v..

Ứng dụng trên máy trạm “chịu trách nhiệm về mọi thứ” - để tạo giao diện người dùng, xử lý dữ liệu logic và thao tác dữ liệu trực tiếp. Máy chủ tập tin chỉ cung cấp dịch vụ cấp thấp- mở, đóng và sửa đổi tệp, tôi nhấn mạnh - tệp, không phải cơ sở dữ liệu. Cơ sở dữ liệu chỉ tồn tại trong “bộ não” của máy trạm.

Do đó, một số quy trình độc lập và không nhất quán có liên quan đến việc thao tác trực tiếp dữ liệu. Ngoài ra, để thực hiện bất kỳ quá trình xử lý nào (tìm kiếm, sửa đổi, tổng hợp, v.v.), tất cả dữ liệu phải được truyền qua mạng từ máy chủ đến máy trạm (xem Hình. So sánh mô hình máy chủ tệp và máy khách-máy chủ)

Trong hệ thống máy khách-máy chủ, có (ít nhất) hai ứng dụng - máy khách và máy chủ, chia sẻ với nhau những chức năng đó, trong kiến ​​trúc máy chủ tệp, được thực hiện hoàn toàn bởi một ứng dụng trên máy trạm. Việc lưu trữ và thao tác trực tiếp dữ liệu được thực hiện bởi một máy chủ cơ sở dữ liệu, có thể Microsoft SQL Máy chủ, Oracle, Sybase, v.v.

Giao diện người dùng được tạo bởi khách hàng và bạn có thể sử dụng toàn bộ dòng các công cụ đặc biệt, cũng như hầu hết các DBMS trên máy tính để bàn. Logic xử lý dữ liệu có thể được thực thi trên cả máy khách và máy chủ. Máy khách gửi yêu cầu đến máy chủ, thường được tạo bằng SQL. Máy chủ xử lý các yêu cầu này và gửi kết quả đến máy khách (tất nhiên có thể có nhiều máy khách).

Do đó, một quy trình chịu trách nhiệm thao tác trực tiếp dữ liệu. Đồng thời, quá trình xử lý dữ liệu diễn ra ở cùng nơi lưu trữ dữ liệu - trên máy chủ, giúp loại bỏ nhu cầu truyền lượng lớn dữ liệu qua mạng.

Khi nào bạn cần kiến ​​trúc client-server?

Ngay cả một phân tích rất chi tiết về các tính năng của kiến ​​trúc client-server cũng có thể không trả lời được câu hỏi “Điều này sẽ mang lại cho tôi điều gì?” Chúng ta hãy nhìn vào kiến trúc này về mặt nhu cầu kinh doanh. Máy khách-máy chủ mang lại những phẩm chất gì cho hệ thống thông tin:

độ tin cậy

Bất cứ ai đã từng đảm nhiệm vai trò quản trị viên cơ sở dữ liệu ít nhất một lần vào thời điểm cơ sở dữ liệu này “chết” do máy chủ hoặc máy trạm “đóng băng”, mất điện hoặc một số sự cố không may khác sẽ không bao giờ bỏ qua các vấn đề về độ tin cậy (nếu, của tất nhiên, sẽ có thể giữ lại vai trò này). Nếu bạn chưa đóng vai này, tôi hy vọng bạn có trí tưởng tượng để diễn lại bộ phim kinh dị này trong đầu và sự thận trọng để giữ cho cơ sở dữ liệu của bạn (và chính bạn) an toàn nhất có thể. Kiến trúc máy khách-máy chủ giúp ích như thế nào ở đây?

Máy chủ cơ sở dữ liệu thực hiện sửa đổi dữ liệu dựa trên cơ chế giao dịch, cơ chế này cung cấp cho bất kỳ tập hợp hoạt động nào được khai báo là giao dịch các thuộc tính sau:

tính nguyên tử - trong mọi trường hợp, tất cả các hoạt động của giao dịch sẽ được thực hiện hoặc không có hoạt động nào được thực hiện; tính toàn vẹn dữ liệu khi hoàn thành giao dịch;

tính độc lập - các giao dịch do những người dùng khác nhau thực hiện không can thiệp vào công việc của nhau;

khả năng chống thất bại - sau khi giao dịch hoàn tất, kết quả của nó sẽ không bị mất.

Cơ chế giao dịch được máy chủ cơ sở dữ liệu hỗ trợ hiệu quả hơn nhiều so với cơ chế tương tự trong các DBMS trên máy tính để bàn, bởi vì máy chủ kiểm soát tập trung hoạt động của các giao dịch. Ngoài ra, trong hệ thống máy chủ tệp, lỗi trên bất kỳ máy trạm nào có thể dẫn đến mất dữ liệu và không thể truy cập được vào các máy trạm khác, trong khi ở hệ thống máy khách-máy chủ, lỗi trên máy khách hầu như không bao giờ ảnh hưởng đến tính toàn vẹn của dữ liệu. và tính sẵn có của chúng đối với các khách hàng khác.

Khả năng mở rộng

Khả năng mở rộng là khả năng hệ thống thích ứng với sự tăng trưởng về số lượng người dùng và khối lượng cơ sở dữ liệu với sự gia tăng phù hợp về hiệu suất của nền tảng phần cứng mà không cần thay thế phần mềm.

Người ta biết rằng khả năng của DBMS trên máy tính để bàn bị hạn chế nghiêm trọng - tương ứng là 5 đến 7 người dùng và 30-50 MB. Tất nhiên, các con số đại diện cho một số giá trị trung bình; trong những trường hợp cụ thể, chúng có thể sai lệch theo một trong hai hướng. Quan trọng nhất, những rào cản này không thể vượt qua được bằng cách tăng cường khả năng phần cứng.

Các hệ thống dựa trên máy chủ cơ sở dữ liệu có thể hỗ trợ hàng nghìn người dùng và hàng trăm GB thông tin - chỉ cần cung cấp cho họ nền tảng phần cứng phù hợp.

Sự an toàn

Máy chủ cơ sở dữ liệu cung cấp các phương tiện mạnh mẽ để bảo vệ dữ liệu khỏi bị truy cập trái phép, điều này không thể thực hiện được trong các DBMS trên máy tính để bàn. Đồng thời, quyền truy cập được quản lý rất linh hoạt - đến cấp độ các trường bảng. Ngoài ra, bạn hoàn toàn có thể cấm truy cập trực tiếp vào các bảng, cho phép người dùng tương tác với dữ liệu thông qua các đối tượng trung gian - dạng xem và thủ tục được lưu trữ. Vì vậy, quản trị viên có thể chắc chắn rằng không có người dùng quá thông minh nào sẽ đọc những gì anh ta không được phép đọc.

Uyển chuyển

Trong một ứng dụng dữ liệu, có ba lớp logic:

giao diện người dùng;

quy tắc xử lý logic (quy tắc kinh doanh);

quản lý dữ liệu (không nên nhầm lẫn các lớp logic với mức độ thể chất, sẽ được thảo luận dưới đây).

Như đã đề cập, trong kiến ​​trúc máy chủ tệp, cả ba lớp đều được triển khai trong một ứng dụng nguyên khối chạy trên máy trạm. Do đó, những thay đổi ở bất kỳ lớp nào rõ ràng sẽ dẫn đến việc sửa đổi ứng dụng và cập nhật các phiên bản của nó trên máy trạm sau đó.

Trong ứng dụng máy khách-máy chủ hai tầng được hiển thị trong Hình. 1, theo quy định, tất cả các chức năng tạo giao diện người dùng được triển khai trên máy khách, tất cả các chức năng quản lý dữ liệu được triển khai trên máy chủ, nhưng các quy tắc nghiệp vụ có thể được triển khai cả trên máy chủ bằng các cơ chế lập trình máy chủ (thủ tục được lưu trữ, trình kích hoạt, lượt xem, v.v.) và trên máy khách. Trong ứng dụng ba tầng, cấp độ trung gian thứ ba xuất hiện, thực hiện các quy tắc kinh doanh, là các thành phần ứng dụng được thay đổi thường xuyên nhất (xem Hình. Mô hình ứng dụng máy khách-máy chủ ba tầng)

Sự hiện diện của không chỉ một mà nhiều cấp độ cho phép sự linh hoạt và chi phí tối thiểuđiều chỉnh ứng dụng để thay đổi yêu cầu kinh doanh.

Hãy thử minh họa tất cả những điều trên bằng một ví dụ nhỏ. Giả sử rằng các quy tắc trả lương (quy tắc kinh doanh) của một tổ chức nào đó đã thay đổi và phần mềm tương ứng cần được cập nhật.

1) Trong hệ thống máy chủ tệp, chúng tôi "đơn giản" thực hiện các thay đổi đối với ứng dụng và cập nhật phiên bản của nó trên máy trạm. Nhưng điều này “đơn giản” đòi hỏi chi phí lao động tối đa.

2) Trong hệ thống máy khách-máy chủ hai tầng, nếu thuật toán trả lương được triển khai trên máy chủ dưới dạng quy tắc trả lương, thì nó sẽ được thực thi bởi máy chủ quy tắc kinh doanh, được triển khai, chẳng hạn như máy chủ OLE và chúng tôi sẽ cập nhật một trong các đối tượng của nó mà không thay đổi bất cứ điều gì trong ứng dụng khách, cũng như trên máy chủ cơ sở dữ liệu.

Các giai đoạn xây dựng hệ thống client-server.

Giả sử ngày nay bạn đang sử dụng một ứng dụng, được triển khai theo kiến ​​trúc máy chủ tệp, sử dụng các phương tiện Microsoft truy cập và suy nghĩ về sự phát triển của nó. Các bước sau đây có thể được xem xét.

1. Chuyển cơ sở dữ liệu sang Microsoft SQL Server, giữ nguyên giao diện và logic vận hành. Đồng thời, bạn sẽ không tận dụng được tất cả các ưu điểm của kiến ​​trúc client-server nhưng bạn có thể yên tâm rằng dữ liệu của bạn được lưu trữ an toàn.

2. Phát triển ứng dụng máy khách-máy chủ hai tầng chính thức bằng cách sử dụng cùng một tổ hợp Access - SQL Server, ứng dụng này hoạt động rất tốt. Ví dụ, điều này có thể được thực hiện bằng cách thay đổi dần từng thành phần riêng lẻ của ứng dụng thu được ở bước 1. Một giải pháp thay thế là phát triển một ứng dụng hoàn toàn mới bằng cách sử dụng Visual Basic, Delphi hoặc bất kỳ công cụ nào khác trong số hàng tá công cụ có sẵn với tư cách là khách hàng.

3.Nếu bạn đang lập kế hoạch phát triển nghiêm túc cho tổ chức của mình thì việc sử dụng kiến ​​trúc ba tầng sẽ cho phép bạn phân phối tải trọng ngày càng tăng giữa các máy chủ một cách linh hoạt hơn và giảm thiểu chi phí duy trì và phát triển hệ thống.

Chúng tôi hy vọng bài viết này đã mang lại cho bạn sự hiểu biết chung về kiến ​​trúc client-server và những lợi ích của nó. Trong các số tới, chúng tôi dự định sẽ nói chi tiết hơn về Microsoft SQL Server và xây dựng các hệ thống dựa trên nó.