OpenESB — это корпоративная сервисная шина с открытым исходным кодом на основе Java. Его можно использовать в качестве платформы как для интеграции корпоративных приложений, так и для сервис-ориентированной архитектуры. OpenESB позволяет разработчикам интегрировать устаревшие системы, внешних и внутренних партнеров и новые разработки в бизнес-процессы. Он поддерживает множество технологий интеграции, включая стандарт JBI ( бизнес-интеграция Java ), XML с поддержкой XML-схем , WSDL и BPEL с целью обеспечения простоты, эффективности, долгосрочной надежности и низкой совокупной стоимости владения ( общая стоимость владения ).
Раньше он принадлежал Sun Microsystems , но после слияния Oracle и Sun Microsystems (см.: Приобретение Sun компанией Oracle ) было создано сообщество OpenESB для поддержания, улучшения, продвижения и поддержки OpenESB. [ нужна цитата ]
OpenESB состоит из 5 частей: фреймворк, контейнер, компоненты, интегрированная среда разработки и плагины разработки.
Платформа состоит из облегченной реализации JBI на Java. Эта реализация не зависит от контейнера и может работать на любой платформе и в любом контейнере. Даже если разработка и поддержка в основном сосредоточены на платформах Glassfish V2 и V3, бета-проекты JBoss и автономной JVM работают хорошо и находятся в стадии разработки (второй квартал 2012 г.). Платформа OpenESB не только легкая, но и надежная и масштабируемая. Он встроен в виртуальную машину Java и взаимодействует с другими экземплярами платформы через компоненты привязки. Эта архитектура идеально сочетается с новыми облачными архитектурами и позволяет легко развертывать и управлять очень сложными инфраструктурами. Платформа полностью управляема с помощью любого инструмента на основе JMX, такого как Jconsole, или более сложных инструментов, таких как Opsview или Nagios.
Платформа реализует виртуальную шину, известную как нормализованный маршрутизатор сообщений (NMR). Это мощный асинхронный интеллектуальный канал связи между компонентами.
Спецификация JBI определяет два типа компонентов: механизм служб (SE) и компонент привязки (BC). SE и BC реализуют один и тот же контракт интерфейса, однако ведут себя по-разному:
- Компоненты привязки действуют как интерфейс между внешним миром и шиной, имея возможность генерировать сообщения шины при получении стимулов из внешнего источника или генерировать внешнее действие/взаимодействие в ответ на сообщение, полученное от шины.
— Сервисные механизмы получают сообщения из шины и отправляют сообщения в шину. У SE нет прямого контакта с внешним миром. Они полагаются на шину для взаимодействия с другими компонентами, будь то компоненты привязки или другие сервисные механизмы.
OpenESB включает в себя множество компонентов «из коробки».
Компоненты привязки OpenESB
Сервисные механизмы OpenESB
OpenESB предлагает набор графических инструментов для упрощения сложных разработок SOA и интеграции. В составе OpenESB предлагаются мощные редакторы XLM, XML Schema, WSDL, BPEL, графические редакторы отображения данных и приложений композиции. Аналогично, задачи сборки, развертывания, отмены развертывания, запуска, тестирования и отладки управляются с помощью графических инструментов. OpenESB обеспечивает лучшую эргономику для разработок ESB и SOA.
OpenESB V3.1.2 не использует никакого контейнера, а только JVM. Таким образом, его объем памяти очень мал (менее 300 МО) и позволяет OpenESB работать в Raspberry PI или во многих случаях в облаке. Следующие версии запланированы на 2019 год.
В таблице ниже перечислены веб-сайты и форумы, управляемые сообществом OpenESB.
Спецификация JBI