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