Приложения типа «клиент-сервер»
Словосочетание «клиент-сервер» с некоторых пор стало привычным, особенно в контексте доступа к базам данных. Точнее, «для широкой публики» оно стало означать «клиент - сервер базы данных».
На самом деле концепция «клиент-сервер» значительно мощнее, чем принято об этом думать. Идея данной концепции основана на понятии «сервиса» - некоторого действия, совершить которое зачем-либо требуется стороне A и которое она сама выполнять не умеет. Зато стороне B совершение этого действия не нужно, но как раз она-то и умеет его совершать. В таком случае сторона A каким-то образом вынуждает сторону B совершить это действие и предоставить стороне А результат. В таком взаимодействии сторона, которая умеет совершать действие, но не имеет никакой инициативы его совершения, называется «сервером», а сторона, которая состоит только из инициативы - называется «клиентом». В этом взаимодействии «клиент» запрашивает, а «сервер» предоставляет «сервис».
Многие привычные случаи программного взаимодействия можно переосмыслить под этим углом, например, внутри обычной программы «вызывающая процедура» очевидно, является клиентом, а «вызываемая» - сервером. Просто о них не принято думать в таких терминах, хотя ничего некорректного в этом нет. И во взаимодействии каких-либо машин, программ, объектов, когда один запрашивает у другого совершить какое-либо действие запрашивающий - всегда клиент, а исполняющий – всегда сервер.
Понятия клиента и сервера - динамические понятия. В диалоге объектов, т.е. когда они вызывают друг друга попеременно, в разном взаимодействии каждый из них попеременно будет и клиентом и сервером. Таким образом, термин никоим образом не означает иной специализации, чем это требуется для самого взаимодействия.
Клиент-приложение– в клиент-серверной архитектуре означает приложение, имеющее минимум собственного исполняемого кода, основная функциональная часть которого осуществляется на сервере. Клиент часто служит для обеспечения взаимодействия пользователя и сервера. Соединение клиента с сервером происходит либо по локальной сети, либо по сети Интернет. В отдельных случаях клиентская и серверная часть приложения могут быть расположены на одном компьютере.
Сервер-приложение– в клиент-серверной архитектуре означает приложение, предоставляющее заложенные в нем функциональные возможности (сервисы) приложению-клиенту. Как правило, приложение-сервер не предназначено для общения с пользователем.
Остается открытым вопрос о том, каким же образом осуществляется связь между клиентом и сервером. В случае использования операционной системы Windows (начиная с версии Windows 98)в качестве механизмов взаимодействия приложений используются технологии COM и DCOM.
Таким образом, в операционной системе Windows под клиент-серверным приложением можно понимать распределенное приложение, реализованное в виде совокупности компонентов, связанных при помощи технологий COM и/или DCOM (не нужно путать с коммуникационным интерфейсом RS-232, который тоже часто называют COM-интерфейсом или COM-портом).
Дата добавления: 2018-11-26; просмотров: 1034;