Сервисная шина предприятия (Enterprise Service Bus, ESB)
Используется в качестве посредника между несколькими сервисами, которые обеспечивают работу приложений внутри информационных систем. ESB обеспечивает унификацию формата обмена между службами, созданными в разных средах, а также синхронизацию и управление обменом между сервисами.
Технологически, ESB опирается на использование промежуточного программного обеспечения (Middleware). Мы используем следующее промежуточное программное обеспечение для реализации ESB:
- JMS
- Oracle Service Bus
- WebSphere Message Broker
- Red Hat JBoss Fuse
- Mule ESB
- Microsoft BizTalk
Использование ESB гарантирует надежную и безопасную потоковую обработку сообщений, передаваемых между двумя взаимодействующими гетерогенными системами. В процессе обработки происходит перевод сообщений из одного формата в другой, унифицированный формат для обмена сообщениями между различными приложениями.
Композитные приложения
Композитные или составные приложения являются совокупностью сервисных компонентов, взаимодействующих друг с другом и со сторонними сервисами и объединенных одним интерфейсом.
Композитные приложения обеспечивают быстрый и удобный доступ к различным, не взаимосвязанным источникам информации, например: к файловым репозиториям, хранилищам документов, базам данных (SQL Database, Oracle Database, PostgreSQL).
Разработка композитных приложений основывается на реализации бизнес-сервисов – веб-сервисов, помогающих решать определенные бизнес-процессы или задачи. В основе логики разработки бизнес-сервисов, позволяющих интегрироваться с ESB, лежит принцип перехвата событий и быстрой реализации новых сценариев их обработки. Такой подход позволяет автоматизировать ручные операции по мере необходимости, например, при добавлении нового функционала в решения, интегрированные с ESB.
Чтобы расширить возможности взаимодействия сервисов и задействовать модель с поддержкой транзакций, мы разрабатываем приложения на базе BPEL. Использование данного языка позволяет отслеживать прогресс и состояния сервисов.
Основные бизнес-сервисы и фрагменты существующих программ хранятся в репозитории метаданных на базе языка XML, что позволяет сервисам взаимодействовать с ESB.
Примером успешно реализованного композитного приложения на базе BPEL является наше решение Smart AE, которое предусматривает различные варианты развертывания компонентов, возможность использования различных СУБД и внешних систем обмена сообщениями.
Использование композитных приложений и интеграция с ESB имеет ряд преимуществ:
- Гибкость
Особенности сервис-ориентированной архитектуры значительно повышают возможности адаптации и многосторонней интеграции композитных приложений. Веб-сервисы объединяются в единое приложение в ходе их исполнения, а не на этапе разработки. - Независимость
Использование открытых стандартов при разработке приложений обеспечивает их независимость от программно-аппаратных платформ, а также возможности взаимодействия различных систем, ранее несовместимых друг с другом.
Эти особенности позволяют нам обеспечивать быстрый запуск новых бизнес-сервисов в рамках композитных приложений для клиентов.