Сильное связывание. Пример простой интеграции | MetodPro.ru

Реклама на сайте

Сильное связывание. Пример простой интеграции


Наглядным примером сильного связывания является вызов локального метода, осно­вывающийся на огромном числе допущений между вызываемой и вызывающей подпро­граммами. Оба метода должны выполняться в одном и том же процессе (например, вир­туальной машине) и быть написаны на одном и том же языке программирования (по крайней мере, использовать общий промежуточный язык или байт-код). Вызываю­щий метод передает вызываемому методу заранее известное число параметров опреде­ленного типа. Вызов локального метода происходит мгновенно, т.е. вызываемый метод получает управление сразу же после осуществления его вызова. Вызывающий метод мо­жет продолжить свое выполнение только после завершения работы вызываемого метода (таким образом, вызов локального метода является примером синхронного взаимодейст­вия). Выполнение вызывающего метода будет продолжено с оператора, следующего непосредственно после вызова метода. Мгновенный характер взаимодействия между вы­зываемым и вызывающим методами позволяет исключить возможность нарушения безо­пасности. Все эти предположения способствуют разработке хорошо структурированных приложений, функциональность которых разделяется между множеством вызывающих друг друга методов. Наличие большого числа простых методов обеспечивает возможность их повторного использования и как следствие — гибкость приложения.

Реализация уда­ленного взаимодействия с использованием семантики вызова локального метода имеет два очевидных преимущества. Во-первых, семантика синхронного вызова метода очень хорошо известна разработчикам приложений. Во-вторых, использование одинакового синтаксиса вызова локальных и удаленных методов позволяет отложить принятие реше­ния о том, какие компоненты должны выполняться локально, а какие— удаленно, вплоть до развертывания приложения. Вызов удаленного метода может потребовать на несколько порядков больше времени, чем вызов локального метода. К сожалению, удаленное взаимодействие несовместимо со многими предположения­ми, касающимися вызова локального метода. Более того, использование одинаковой семантики для вызова локального и удаленного методов ошибочно и может привести к нежелательным результатам.

            Примеры, где вызываются удаленные процедуры: CORBA, MicrosoftDCOM, .NETRemoting, JavaRMI и, наконец, Web-служб в стиле RPC.

Результатом применения архитектур, основанных на сильном связывании, при инте­грации удаленных приложений являются неустойчивые, трудно поддерживаемые и плохо масштабируемые решения.

Пример простой интеграции

Предположим, что нам необходимо создать ин­терактивную банковскую систему, позволяющую клиентам перечислять средства на свой счет путем денежного перевода из другого банка. Для достижения такой функциональности интерфейсное Web-приложение должно быть интегрировано с серверной финансо­вой системой, управляющей переводом средств.

Предположим также, что удаленная функция, зачисляющая средства на счет клиента, принимает в качестве параметров только имя клиента и сумму денежного перевода.

К сожалению, указанный метод интеграции не лишен ряда существенных недостат­ков. Одной из наиболее сильных сторон протокола TCP/IP является его широкая под­держка различными операционными системами и языками программирования. Однако же независимость TCP/IP от платформы справедлива лишь по отношению к передаче самых простых структур данных: потоков байтов. Подвох состоит в том, что внутреннее представление в памяти структур данных зависит от конкретной компьютерной системы.

Второй недостаток указанного метода интеграции заключается в указании адреса уда­ленного компьютера с помощью DNS-имени.



Методические пособия

  • Системы автоматизированного проектирования
  • Социология молодёжи
  • Общая социология
  • Криптография
  • Проектирование трансляторов
  • Компьютерная графика
  • Моделирование систем
  • Информационная безопасность
  • Теория вычислительных процессов
  • Логические основы искусственного интелекта
  • Проектирование распределённых информационных систем