Терминология шины обслуживания предприятия - PullRequest
10 голосов
/ 20 апреля 2009

Может ли кто-нибудь объяснить на начальном и среднем уровнях терминологию "шина", "транспорт" и "конечная точка" в контексте служебной шины предприятия ? Я разработчик C # с несколькими годами опыта, но только начинаю работать с ESB.

Кажется, что "шина" - это фактически очередь, в которую вы можете отправлять и получать сообщения. Я в порядке с этим. Однако я работаю над существующим кодом, используя NServiceBus , и я думаю, что если бы я ухватился за терминологию «конечная точка» и «транспорт», я бы сделал огромный шаг вперед в моем понимании.

Ответы [ 2 ]

9 голосов
/ 20 апреля 2009

Позвольте мне попытаться разъяснить вам эти условия:

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

  • маршрутизация. Сообщения могут быть направлены в разные службы, в зависимости от содержимого сообщения или спецификации конечной точки.
  • Преобразования сообщений / медиации между различными форматами
  • Преобразование транспортного протокола. ESB должен иметь возможность беспроблемной интеграции приложений которые используют разные транспортные протоколы (JMS, HTTP / S, чистый TCP и т. д.)
  • Улучшение сообщения. Сообщения могут быть обогащены отсутствующими данными перед дальнейшей обработкой.
  • Безопасность
  • Управление и мониторинг

Эти функциональные возможности предоставляются службами, которые работают в ESB. Сервисы соединяются друг с другом через конечные точки - единые, уникальные «адреса». Сообщения, отправляемые между конечными точками, используют унифицированный транспорт (метод / протокол, который инкапсулирует полезную нагрузку сообщения). Приложение, которое изначально использует другой транспорт, должно подключаться к ESB через подходящий адаптер - сервис, который обеспечит необходимое преобразование транспорта. Таким образом, приложения, использующие ESB, отделены друг от друга и не нуждаются в самих преобразованиях.

Конечно, это только очень краткие описания терминов. Помните, что Enterprise Service Bus подходит только для определенного типа архитектуры (или концепции), но никак не стандартизирован. Таким образом, конкретные реализации могут сильно отличаться друг от друга. Если вы заинтересованы в стандартизированной ESB, вы можете взглянуть на JBI (Java Bussiness Integration). Существует несколько реализаций JBI с открытым исходным кодом, среди которых Apache ServiceMix , Mule , OpenESB . Очень хорошее введение в технологии ESB представлено в книге " ESB с открытым исходным кодом в действии ", изданной Мэннингом.

1 голос
/ 13 мая 2009

Я бы порекомендовал взглянуть на ресурсы, связанные с Enterprise Application Integration (EAI), которая вращается вокруг ESB и различных моделей и шаблонов, используемых для интеграции решений. Представьте, что это GoF для архитектур ESB:

http://www.enterpriseintegrationpatterns.com/

и

http://www.enterpriseintegrationpatterns.com/toc.html

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

...