Топологии распределенных вычислений
С ростом числа предприятий, применяющих в своих сетях технологию клиент-сервер, стандартизированная распределенная обработка становится ключевым фактором эффективности этого подхода. Компьютер под управлением сетевой ОС может разделять приложения
на две группы: интерфейсную
(front-end), работающую на клиенте, и прикладную (back-end), выполняющуюся на сервере. Такое распределение позволяет приложению лучше использовать преимущества имеющихся аппаратных ресурсов, таких, как несколько процессоров или большие объемы оперативной памяти. Для создания клиент-серверных соединений, поддерживающих распределенную обработку, применяет механизмы взаимодействия процессов IРС (interprocess communication).
В типичном распределенном приложении вычислительная задача делится на два процесса: интерфейсный, работающий на рабочей станции и требующий минимума ресурсов, и прикладной — выполняемый на сервере и нуждающийся в больших объемах данных, интенсивных вычислениях, общих правилах обработки или специализированной аппаратуре (рис 6.8). Сервер предоставляет свои вычислительные мощности в распоряжение задач клиентов.
При распределенной обработке между клиентской и серверной частью приложения должно существовать сетевое соединение, обеспечивающее двусторонний обмен данными. Опишем основные механизмы функционирования IPC, используемые для создания таких соединений - именованные каналы и почтовые ящики
Именованный канал - построенный двунаправленный канал связи между клиентом и сервером. Именованные каналы предоставляют распределенным приложениям средства обмена сообщениями с гарантированной доставкой. После открытия канала клиент и сервер могут читать из канала и записывать в него. Пример процесса, использующего именованные каналы, — WinLogon.
Почтовые ящики - построенные однонаправленные каналы связи между клиентом и сервером. Почтовые ящики обеспечивают средства обмена сообщениями без гарантии доставки. Они могут использоваться для идентификации в сети компьютеров и служб.
Windows Sockets
(WinSock) - предоставление распределенным приложениям доступа к транспортным протоколам, таким, как ТСР/IP и IPX. WinSock можно использовать для построения между клиентом и сервером каналов связи с гарантированной доставкой.
Удаленный вызов процедур RPC - предоставление распределенным приложениям возможности вызывать процедуры, доступные на разных компьютерах в сети.
Сетевой динамический обмен данными NetDDE (Network Dynamic Data Exchange)- совместное использование информации между приложениями. Для взаимодействия с сетевыми компонентами нижнего уровня NetDDE применяет NetBIOS API.) NetDDE использует, к примеру, программа Chat.
Распределенная модель многокомпонентных объектов DCOM (Distributed Component Object Model) Распределение применяющих RPC процессов по нескольким компьютерам, чтобы клиентская и серверная части приложения могли быть размещены в оптимальных участках сети. DCOM — это ActiveX-технология Microsoft, которую могут использовать приложения Java™ и компоненты ActiveX при помощи модели многокомпонентных объектов (СОМ).