Архитектура распределенных систем программного обеспечения. Учебное пособие издано при поддержке образовательной программы Формирование
Скачать 1 Mb.
|
Внутренняя архитектураклиент Внешняя архитектурКомпания Г (клиент) сетевая служба сетевая служба сетевая служба внутренняя служба внутренняя служба Компания Б (поставщик служб) Компания В (поставщик служб) Рис.4.4.Сетевыеслужбыимеютвнутреннююивнешнююархитектуры,опирающиеся на соответствующую системную поддержку. Важно, что отнесение того или иного компонента к внутренним или внешним не связано с тем, установлен ли данный компонент у поставщика службы или где-то еще. На самом деле, разделение на внутреннюю и внешнюю архитектуры может быть проведено и в том случае, если сетевые службы используются для автоматизации внутри одного предприятия. Внутренняя архитектура сетевых службСетевые службы можно рассматривать как еще один ярус программного обеспечения. В системах интеграции приложений предприятия для построения многоярусных архитектур используются традиционные системы поддержки. В этих архитектурах программы скрываются за абстракциями, которые комбинируются в виде программ более высокого порядка, использующих их функциональность. Получающиеся более высокоуровневые программы в свою очередь могут упрятываться за новыми абстракциями и использоваться в качестве элементов новых служб. Этот процесс может повторяться многократно, в результате получается архитектура, в которой службы находятся поверх других служб и базовых программ. Программное обеспечение каждого промежуточного слоя не обязательно будет одним и тем же. Совместимость достигается введением оболочек. Промежуточные платформы склеивают отдельные уровни, формируя службы, используемые клиентами или более высокими уровнями иерархии. Сетевые службы и технологии, поддерживающие сетевые службы, играют ту же роль, что и традиционные промежуточные слои, но имеют другой масштаб. В основе всего находится абстрактное понятие службы, напоминающее традиционные абстракции, поэтому реализация сетевой службы представляет собой реализацию еще одного (верхнего) яруса, обеспечивающего доступ с помощью стандартных протоколов сетевых служб (Рис. 4.5). Сетевые службы – это просто оболочки, они обращаются к внутренним службам, реализующим нужную прикладную логику, и забирают у них результаты работы. Поставщик служб интерфейс сетевой службы интеграционная логика другие ярусы другие ярусы клиенты из других компаний
Традиционные системы предоставляют различные службы (балансировка нагрузки, поддержка транзакций,...). традиционные промежуточные системы (включая службы промежуточных слоев) Имеющаяся в настоящеевремяподдержка сетевых служб сильноуступает традиционным системам. Рис.4.5.Базоваяархитектуранаборасетевыхслужб,реализованнаяповерхярусной архитектуры. В настоящее время большая часть системной поддержки сетевых служб связана с упаковкой и распаковкой сообщений, пересылаемых между сетевыми службами, а также с преобразованием их в формат, понятный внутреннему программному обеспечению. Это напоминает то, как сервер приложения преобразует данные в страницы HTML и обратно. Все эти преобразования приводят к росту накладных расходов на выполнение операций, поэтому сетевые службы чаще используются в крупноблочных приложениях, где такой накладной расход не так заметен. |