Book.od.ua Книги для вашего бизнеса



Одесская библиотека бизнес литературы
полезные книги для бизнеса

1.7. Пример простой интеграции. Продолжение.

Использование для удаленного взаимодействия протокола TCP/IP устанавливает временную зависимость между общающимися системами. Как известно, протокол TCP/IP является протоколом с установкой соединения. Это означает, что фактической передачи информации между двумя системами предшествует стадия установки соединения (рис. 1.7). При создании TCP-соединения отправитель и получатель данных обмениваются IP-пакетами. Если хотя бы один из трех компонентов взаимодействия - компьютер отправителя, сеть или компьютер получателя - даст сбой, установка TCP-соедине-ния окажется невозможной.
Пример простой интеграции
 Наконец, даже такое простое взаимодействие основано на использовании строгого формата данных. Первые 4 байт передаваемой информации соответствуют сумме денег, последующие - имени клиента. Введение третьего параметра, такого как название валюты, привело бы к необходимости внесения изменений в программный код как на стороне отправителя, так и на стороне получателя данных. 
В рассмотренном выше примере ''простой'' интеграции взаимодействие систем основывается на следующих предположениях.
• Платформа - одинаковое внутреннее представление целых чисел и объектов.
• Расположение-неизменяемый адрес компьютера.
• Время - все компоненты интегрированной системы должны быть доступны в одно и то же время.
• Формат данных-неизменяемый набор и параметров.
Как отмечалось ранее, степень связывания характеризуется количеством допущений, которые делают друг о друге взаимодействующие стороны. Очевидно, что предложенный нами подход к интеграции Web-приложения с банковской системой является типичным примером сильного связывания.
К счастью, число зависимостей, ''связывающих'' интегрируемые системы, можно уменьшить. Прежде всего, перейдем к использованию стандартного, не зависящего от платформы формата данных, такого как XML. Вместо пересылки данных непосредственно на компьютер получателя направим их в адресуемый канал. Канал - это логический адрес, известный как отправителю, так и получателю данных. Использование каналов позволяет устранить зависимость от размещения интегрируемых систем, однако все еще сохраняет требование об их одновременной доступности (если канал будет реализован с помощью протокола, ориентированного на установку соединения). Чтобы избавиться от этого недостатка, следует организовать очередь запросов, которые будут накапливаться в ней при недоступности сетевого соединения или системы-получателя. Поместив запрос в канал, отправитель может больше не заботиться о его доставке. Создание очереди запросов предполагает разбиение последних на сообщения - единицу буферизации и отправки информации. Интегрируемые системы все еще связаны одинаковым форматом данных, однако эта зависимость может быть легко устранена за счет поддержки преобразования данных в канале. Если формат одной системы меняется, все, что нужно сделать, - это изменить преобразователь, а не другую систему. В наибольшей степени выгода от наличия преобразователя данных ощущается при интеграции множества приложений, размещающих данные в одном и том же канале.
Общий формат данных, асинхронное взаимодействие по каналам с очередями и преобразователи позволяют перейти от сильно- к слабосвязанному решению (рис. 1.8). Отправитель больше не зависит от внутреннего формата данных или размещения получателя. Более того, после помещения данных в канал отправитель может и вовсе не заботиться об их доставке. Устранение зависимостей между интегрируемыми системами позволяет воспользоваться главным преимуществом слабого связывания - получить решение, устойчивое к изменениям. Наиболее существенный недостаток подобного подхода состоит в увеличении сложности решения, которое теперь уже нельзя будет описать десятью строками программного кода. В этом случае следует прибегнуть к услугам свя­зующего ПО, ориентированного на обмен сообщениями. Компоненты подобной инфраструктуры описываются в следующем разделе этой главы.
Пример простой интеграции
Является ли слабое связывание панацеей? Однозначного ответа здесь нет. Наряду с очевидными преимуществами, такими как гибкость и масштабируемость, слабое связывание подразумевает использование сложной программной модели, что существенно затрудняет проектирование, создание и поддержку интеграционного решения.


Понравился материал? Поделитесь с друзьями!

<< Предыдущая статьяСледующая статья >>
1.6. Пример простой интеграции 1.8. Компоненты слабосвязанного интеграционного решения





Убедительная просьба при использовании любых материалов Одесской электронной бизнес-библиотеки ставить активную ссылку на наш сайт. По всем вопросам касательно сайта пожалуйста пишите на почту
      Карта сайта