Архитектура распределенных систем программного обеспечения. Учебное пособие издано при поддержке образовательной программы Формирование
Скачать 1 Mb.
|
Поддержка презентационного слояСерверы приложений развивают возможности традиционных систем, с их помощью постепенно делаются все более сложные реализации, в которых передача информации между клиентом и сервером становится все более эффективной, гибкой и управляемой. Современный сервер приложений поддерживает различные типы клиентов. Сетевые навигаторы. Программы сетевых навигаторов в настоящее время являются наиболее общим типом клиента. Они взаимодействуют с сервером приложения по протоколам HTTP или HTTPS и получают статически или динамически сформированные страницы HTML. Если клиентом является не навигатор, а аплет, взаимодействие с сервером приложения может происходить по другим протоколам (не HTTP). Могут существовать и другие виды клиентов, подключающиеся через глобальную сеть. Примером могут служить различные современныеустройства, например, мобильные телефоны, в которых вместо HTTP используется протокол WAP, а языком презентации служит язык WML. Тем самым, разработчикам не требуется писать разные программы для разных клиентов, а некоторые особенно развитые инструменты позволяют динамически генерировать документы на различных языках разметки и проводить автоматическое конвертирование с одного языка на другой. Электронная почта, как и другие устройства, имеет свой собственный протокол (SMTP) и свой собственный формат разметки. Серверы приложений поддерживают упаковку информации и ее доставку поверх SMTP. Прикладные программывзаимодействуют с серверами приложений почти так, как это делают аплеты. Клиент сетевой службыиспользует уникальный протокол SOAP, а также другие языки и инфраструктуры. Серверы приложений поддерживают взаимодействие с клиентами сетевых служб, обеспечивая создание, просмотр и проверку правильности документов, написанных на языке XML, а также упаковку и распаковку сообщений, доставляемых по протоколу SOAP. Сетевые технологии для интеграции приложенийПервоначально большинство промежуточных платформ были спроектированы для работы в отдельной локальной сети. Однако впоследствии возникла необходимость взаимодействия (обмен транзакциями) различных промежуточных платформ друг с другом. Основная идея такого электронного обмена заключалась в полной автоматизации взаимодействия между предприятиями. Технически электронное взаимодействие означает вызов службы, размещенной в другой компании. Этот подход был продемонстрирован при реализации спецификации CORBA, которая поддерживает доступ к удаленным объектам, размещенным внутри некоторого домена, то есть под управлением одного брокера объекта. Расширение на Интернет достигается соединением нескольких брокеров друг с другом. Делается это посредством обобщенного межброкерного протокола GIOP, определяющего, как вызовы одного брокера передаются другому и как отправляется ответ на вызов. Этот протокол был расширен до межброкерного протокола Интернета IIOP, в котором определено, как транслировать вызовы протокола GIOP в вызовы TCP/IP. Однако брокеры часто соединены с Интернетом через межсетевые экраны, которые сильно ограничивают взаимодействие. Другим препятствием, которое мешает простым расширениям протоколов в виде соединения двух брокеров, является различие определений интерфейсов и форматов данных, применяемых в двух приложениях. Для помощи в поисках вызываемых служб также необходимо иметь справочный сервер. Межсетевой экран – это барьер на пути нежелательного сетевого трафика, который блокирует многие коммуникационные каналы, в том числе почти все виды взаимодействия, предлагаемые традиционными продуктами интеграции приложений. Рассчитывать на использование протоколов GIOP/IIOP в распределенных системах удаленных вызовов процедур (RPC) и обращений к методам (RMI) нельзя. При обычной интеграции приложений подобные проблемы не возникают, благодаря работе всех компонентов в единой сети, либо в нескольких сетях, соединенных прозрачным шлюзовым механизмом (Рис. 3.4). Основным принципом разработки в таких случаях является наличие доверительной зоны. Точно также, межсетевые экраны не являются проблемой в системах, основанных на обмене сообщениями. Протоколы, подобные простым почтовым (SMTP), могут проникать через экраны, поскольку ответственность за безопасное взаимодействие возлагается на программное обеспечение, обрабатывающее сообщения. Межсетевые экраны меняют подходы к разработке систем. Во- первых, на основе тех протоколов, с которыми распространяются существующие промежуточные платформы, невозможно осуществлять прямое взаимодействие интегрируемых систем. Во-вторых, из-за наличия межсетевых экранов применяется туннелирование, суть которого заключается в том, что протоколы, которые могли бы быть заблокированными межсетевыми экранами, прячутся под протоколами, глобальная вычислительная сеть (Интернет) межсетевой экран которые этими экранами разрешаются. При туннелировании под протоколом HTTP некоторая посредническая программа упаковывает исходное сообщение в документ на языке HTML или XML, посылает документ в соответствии с протоколом HTTP, а затем после прихода документа к получателю извлекает сообщение из полученного документа, что позволяет общаться, не обращая внимания на межсетевые экраны, которые могли бы им помешать (Рис. 3.5). Рис.3.4.Программыобщегошлюзовогоинтерфейсакакспособвзаимодействияc приложением,расположеннымнасервернойстороне. В настоящее время туннелирование – это стандарт де-факто для решения проблемы преодоления межсетевых экранов. Оно используется не только традиционными промежуточными системами (например, GIOP/IIOP поверх HTTP), но и современными сетевыми службами (туннелирование удаленных вызовов процедур с помощью протокола SOAP поверх HTTP). Протокол HTTP наиболее часто используется как основа туннелирования, это один из очень немногих протоколов, которые проходят сквозь межсетевые экраны. Возможность использования протоколов FTP, SMTP и HTTP для автоматического обмена сообщениями между приложениями поставила задачу выработки единого синтаксиса и семантики для данных, которыми приложения должны обмениваться. межсетевой экран глобальная вычислительная сеть (Интернет) межсетевой экран Рис.3.5.Взаимодействиенезависимыхприкладныхсистемнапромежуточномуровне с туннелированием. В традиционных системах представление данных скрыто в языке IDL, который выполняет две задачи: определение интерфейса и введение промежуточного машинно-независимого представления данных, преодолевающего различия между вычислительными архитектурами. В настоящее время широко используется язык разметки XML(ExtendedMark- up Language), ориентированный на описание синтаксиса представления данных и предоставляющий стандартные правила определения структуры документов, пригодной для автоматического разбора. |