USB-подобные универсальные порты для сервисной шины предприятия: Часть 3. Преимущества универсальных портов

Узнайте о концепции и методах реализации универсальных портов для ESB

В первой части этой серии статей вы узнали о базовых функциях современных корпоративных сервисных шин (ESB), а также о сложностях применения современных ESB. Во второй части этой серии вы узнали о новой концепции универсальных портов для ESB и о способах их реализации. Универсальные порты позволяют решить многие проблемы, с которыми сталкиваются пользователи ESB. Универсальный порт работает подобно USB-порту, который используется для подключения разного рода устройств к компьютеру. Аналогичным образом универсальный порт можно применять для подключения приложений к ESB и, опосредованно, к другим приложениям. Такие приложения могут осуществлять некоторые или все свои функции через несовместимые формы сервисов и при этом использовать единый тип порта. В третьей части этой серии статей вы узнаете о многочисленных преимуществах универсальных портов.

Уасим Рошен, ИТ-архитектор, IBM

Д-р Уасим РошенУасим Рошен (Waseem Roshen) — доктор наук Университета штата Огайо (г. Колумбус, США), имеющий более чем 18-летний практический опыт в сфере информационных технологий. В настоящее время д-р Рошен работает ИТ-архитектором в Центре изучения и распространения передовых методов архитектуры предприятия и технологий корпорации IBM. Он имеет богатый опыт в области распределенных вычислений, в том числе сервис-ориентированной архитектуры (SOA). Кроме того, он обладает опытом в сфере заказного проектирования, интеграции и J2EE (теперь известной как JEE). В настоящее время его интересы включают SOA и Web-сервисы, квантовые компьютеры и облачные вычисления. Д-р Рошен имеет более 60 публикаций и 37 патентов и является членом IEEE и Компьютерного сообщества IEEE. Он является автором книги “Интеграция предприятия на основе SOA: пошаговое руководство по интеграции приложений на основе сервисов”.



14.08.2012

Введение

Корпоративная сервисная шина (ESB) предоставляет эффективные средства подключения приложений для совместного доступа к данным и функциям. При этом приложения могут использовать для реализации некоторых или всех своих функций несовместимые формы сервисов. Такая ситуация для современных ESB схематически показана на рисунке 1. Самое важное, что нужно отметить на этом рисунке, — это то, что каждое приложение подключается к ESB через специальный порт. Другими словами, каждый тип порта обслуживает определенный тип приложений, использующий для реализации своих функций определенный коммуникационный протокол и формат сообщений/данных.

Рисунок 1. Подключение приложений через традиционную ESB с помощью специальных портов
Applications connecting through an ESB using specific port types

Также в первой части этой серии статей вы узнали о некоторых распространенных проблемах применения современных ESB, использующих специальные типы портов. К этим проблемам и сложностям относятся использование приложением нескольких протоколов, смена приложением коммуникационного протокола, расширение ESB на новые коммуникационные протоколы, увеличение числа приложений и общие проблемы обслуживания и обновления ESB.

Во второй части этой серии статей был предложен новый тип ESB для преодоления недостатков, присущих современным ESB. Этот новый тип ESB использует один универсальный порт, обслуживающий все или большую часть типов приложений, как показано на рисунке 2. Это исключает необходимость разработки и внедрения нового типа порта для каждого нового типа приложений и позволяет повторно использовать большую часть программного кода.

Рисунок 2. Подключение приложений к ESB через один тип порта (универсальный порт)
Applications connecting to an ESB using a single port type (Universal Port)

Для лучшего понимания концепции универсального порта полезно применить аналогию с компьютерным оборудованием. До появления USB для подключения к компьютеру разных устройств, таких как принтеры, флэш-накопители или съемные жесткие диски, использовались разные типы портов. Каждый тип порта обслуживал определенный тип устройств. Так, для подключения принтера компьютер должен был иметь порт определенного типа. Аналогично, компьютеру требовался специальный тип порта для подключения дополнительного жесткого диска. Однако теперь, с появлением USB, потребность в специальных типах портов для каждого типа устройств отпала, и почти все устройства можно подключить к компьютеру через порт одного типа — USB-порт.

Новые ESB с универсальным портом обладают рядом преимуществ по сравнению с обычными ESB. Некоторые из этих преимуществ касаются самих ESB, тогда как другие относятся к подключаемым приложениям. В следующем разделе мы сначала обсудим преимущества, касающиеся самих ESB.

Преимущества с точки зрения ESB

С точки зрения ESB применение универсальных портов дает следующие преимущества:

Упрощение

Применение в ESB универсальных портов значительно упрощает работу с ESB для большинства пользователей. В первую очередь это связано с простотой настройки универсальных портов. Поскольку все они используют один и тот же код, единственная необходимая настройка заключается в привязке универсального порта к порту машины или компьютера, на котором работает ESB. Это существенно облегчает ситуацию, так как сегодня почти все порты имеют специальное назначение, что приводит к росту количества разных типов портов. Важно также отметить, что универсальный порт является весьма легковесным компонентом по сравнению с современными портами ESB. Единственное назначение универсального порта заключается в определении коммуникационного протокола, используемого подключенным приложением, и в последующем перенаправлении запросов в соответствующий обработчик протокола в теле ESB, как показано на рисунке 3.

Рисунок 3. Универсальный порт является достаточно легковесным компонентом, поскольку большая часть обработки выполняется в теле ESB
Universal Port as a light weight component

Простота расширения

Теперь можно без труда добавлять в ESB поддержку новых коммуникационных протоколов. Действительно, для установки обработчика нового протокола достаточно загрузить его код и зарегистрировать новый протокол в ESB. Для наглядности этот процесс можно сравнить с подключением нового устройства к USB порту. В этом случае обычно загружается с веб-сайта и регистрируется специальный программный код, называемый драйвером. Нечто подобное нужно будет проделать и для применения нового протокола с ESB-портом.

Повторное использование кода и простота обслуживания и обновления

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

Масштабируемость

Благодаря существенному упрощению процесса настройки портов ESB можно будет быстро и просто настраивать большое число портов. Это позволит подключать к ESB множество приложений разного типа, что обеспечит высокий уровень масштабируемости по типам и числу приложений, которые можно будет интегрировать. Кроме того, применение универсальных портов позволит выполнять масштабирование во время исполнения в том, что касается числа обращений к ESB. Такой тип масштабирования становится возможным благодаря тому, что все обработчики протокола будут располагаться в теле ESB; мы сможем иметь несколько экземпляров каждого обработчика протокола, и каждый из этих обработчиков можно будет многократно использовать с несколькими универсальными портами.

Преимущества с точки зрения приложения

С точки зрения подключаемых приложений применение универсальных портов дает следующие важнейшие преимущества:

Не нужно менять код

Для внедрения универсальных портов практически не понадобится (или не понадобится вовсе) вносить сколько-нибудь серьезные изменения в приложения, которые уже подключены к ESB. Это очень серьезное преимущество, поскольку переход от обычных ESB к ESB нового типа с универсальными портами можно выполнить так, что приложения этого даже не заметят.

Свобода применения любого протокола

Обычно среда выполнения приложения позволяет ему подключаться к ESB лишь одним способом с помощью одного протокола, и этот протокол должен соответствовать протоколу, присутствующему на данном порту ESB. Например, чтобы приложение могло использовать транспортный протокол MQ, в машине, на которой работает это приложение, должна быть установлена некоторая версия MQ. Применение универсальных портов позволит приложению использовать любой протокол, допустимый в данной среде выполнения, и проблема согласования с протоколом на стороне ESB решится сама собой. Это также может смягчить и некоторые требования к приложению.

Удобство переключения протоколов

Требования в мире информационных технологий часто меняются. Кроме того, могут появляться новые требования. В некоторых случаях новые требования могут подразумевать смену коммуникационного протокола, используемого приложением для подключения к ESB. В качестве примера таких изменившихся требований можно привести смену требований к транзакциям, безопасности, надежности и стойкости. Применение универсальных портов позволит очень легко и в любой момент менять используемый приложением протокол, поскольку при этом не требуется никаких изменений (или требуются лишь минимальные изменения) на стороне ESB.

Использование приложением нескольких протоколов

Довольно часто встречаются ситуации, когда разные компоненты/части приложения используют разные протоколы для взаимодействия с ESB и другими приложениями. Например, часто случается, что различные части унаследованного приложения на Коболе, работающего на мэйнфрейме, используют разные протоколы, такие как Web Services, MQ или Gateway. Применение универсальных портов позволит разным частям одного приложения подключаться к ESB через один и тот же компьютерный порт, что упростит настройку такого подключения.

Заключение

В третьей части этой серии статей вы узнали, что новые ESB с универсальными портами обеспечивают множество преимуществ по сравнению с обычными ESB, порты которых жестко привязаны к конкретному коммуникационному протоколу и формату сообщений. Некоторые из этих преимуществ касаются самих ESB, тогда как другие относятся к подключаемым приложениям.

Эта статья завершает серию статей о новом типе ESB с универсальными портами. В первой части вы узнали о существовании целого ряда проблем, связанных с применением современных ESB, порты которых привязаны к конкретному коммуникационному протоколу и формату сообщений. Во второй части этой серии вы узнали о концепции универсальных портов и о том, как ее реализовать. И, наконец, в третьей части этой серии вы узнали о целом ряде преимуществ универсальных портов как с точки зрения ESB, так и с точки зрения подключаемых приложений. Важно отметить, что компания IBM подала несколько заявок на получение патентов в этой области, и более подробное описание представленных здесь идей можно найти в этих заявках.

Ресурсы

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=SOA и web-сервисы
ArticleID=830377
ArticleTitle=USB-подобные универсальные порты для сервисной шины предприятия: Часть 3. Преимущества универсальных портов
publish-date=08142012