Что такое ESB?
Общие сведения
Enterprise Service Bus (ESB), или сервисная шина предприятия, представляет собой архитектурный шаблон, посредством которого централизованный программный компонент выполняет интеграцию между приложениями. Он выполняет преобразования моделей данных, обрабатывает возможности подключения, выполняет маршрутизацию сообщений, преобразует протоколы связи и потенциально управляет составом нескольких запросов. ESB может сделать эти интеграции и преобразования доступными в виде служебного интерфейса для повторного использования новыми приложениями. Шаблон ESB обычно реализуется с использованием специально разработанной среды выполнения интеграции и набора инструментов, которые обеспечивают максимально возможную производительность.
По своей сути ESB - это подход к ИТ-архитектуре. ESB спроектирована для интеграции различных приложений вместе в «шине-подобной» инфраструктуре. Он закладывает фундаментальную инфраструктуру построения интегрированных корпоративных решений. Корпоративная служебная шина обычно находится где-то между фреймворком и пакетом как еще один способ интеграции приложений. ESB - это инструмент промежуточного программного обеспечения, который распределяет задачи между различными подключенными компонентами, составляющими приложение.
ESB созданы для упрощения беспорядка, который может возникнуть, когда различные форматы, от сервисов и приложений до мэйнфреймов, хотят интегрироваться друг с другом. Она помогвет предприятия добиться успеха.
ESB также работает как менеджер транзакций, то есть координирует распределенные транзакции, в которых задействованы несколько сервисов. Когда много разных бизнес-процессов и сервисов должны работать вместе в транзакции, обычно требуется конфигурация для координации транзакции. ESB обеспечивает бесперебойную обработку транзакций.
ESB и SOA
ESB является важным компонентом SOA (Service-Oriented Architecture, сервис-ориентированной архитектуры). SOA предоставляет широкое абстрактное представление о приложениях и компонентах интеграции, которые должны рассматриваться как высокоуровневые сервисы. Каждая служба в SOA выполняет дискретную бизнес-функцию. Интерфейсы служб определяются с помощью языка определения веб-служб (WSDL). Сервисы публикуются и предоставляются с использованием стандартных сетевых протоколов (SOAP/HTTP/JSON). В ESB приложения и сервисы, управляемые событиями, слабосвяны, что позволяет им работать независимо друг от друга. ESB может быть использована с унаследованными системами, путем прямого подключения к ним через адаптеры или коннекторы, или приложение может предоставить свой собственный API.
ESB и микросервисы
Архитектура микросервисов позволяет разделить внутреннее устройство одного приложения на небольшие части, которые можно независимо изменять, масштабировать и администрировать.
ESB и Cloud
По мере того как ваша компания переводит свою ИТ-инфраструктуру в сторону гибридного облака, высока вероятность того, что вы будете преобразовывать различные рабочие нагрузки, в том числе основанные на шаблонах SOA и ESB, в более легкие и гибкие модели развертывания Такие преобразования являются лишь частью модернизации приложений, поскольку потребность в улучшении обслуживания клиентов и увеличении количества приложений влияет на бизнес и ИТ-операции.
ESB и безопасность
ESB работает как менеджер безопасности и централизует такие процессы, как аутентификация и авторизация. Независимо от того, имеет ли бизнес-процесс в приложении аутентификацию или авторизацию, ESB может настроить свои параметры так, чтобы это требовалось в интерфейсе службы, который она предоставляет клиентам, которые ее используют.
ESB как прокси-сервер
ESB может выступать как прокси-сервер службы, выступающий в качестве шлюза для приложений, которые не представлены в стандартизированном интерфейсе службы. Например, если приложение предоставляет службу Java RMI, но остальная часть сети работает на .NET, поэтому она не может вызвать службу RMI напрямую. Используя ESB, компания может легко реализовать сервисный прокси на Java, который может вызывать сервис RMI. Затем прокси-сервер службы предоставляет приложениям .NET интерфейс веб-службы, такой как SOAP и WSDL, через ESB.
Преимущества ESB
Основное преимущество ESB заключается в том, что она является единой точкой доступа. Подключая клиентов и сервисы через ESB, компании нужно искать сервисы только в одном месте - ESB. Даже если бизнес-процесс переключает серверы, все, что нужно сделать, - это перенастроить ESB, и компания по-прежнему сможет получить доступ к сервису через ESB.
Централизованная ESB дает возможность стандартизировать и значительно упростить связь, обмен сообщениями и интеграцию между сервисами в масштабе предприятия. Затраты на оборудование и программное обеспечение могут быть разделены, обеспечивая серверы по мере необходимости, обеспечивая масштабируемое централизованное решение.
Note
ESB кажется очень сложной, но факт остается фактом: она может быть очень эффективной и выполнять несколько ключевых функций, которые помогают разработчику в интеграции приложений.
Продолжим знакомство с платформой в Обзор платформы T2 Интеграция.