Entaxy изнутри

Основной принцип построения архитектуры Entaxy - это понятность для аналитика. Всё начинается с профиля системы: для каждой информационной системы, которая подключается к шине, создаётся свой профиль. В профиле определяется, как информационная система будет общаться с Entaxy - это определяет набор коннекторов, созданных в профиле системы. Участие разработчика ограничивается созданием этих коннекторов к информационным системам. Для каждой системы, зарегистрированной в шине, создаётся маршрут по умолчанию: маршрутизация сообщений в нём происходит на основе служебных заголовков. Для системы можно определить свой индивидуальный маршрут вместо маршрута по умолчанию. В результате, проектируя маршрут, мы оперируем терминами, которые понимает аналитик.

entaxy

Entaxy изнутри

Кратко:

  1. Подход к интеграции в понятных терминах
  2. Профили и коннекторы
  3. Адаптеры и соединения
  4. Автоматическое преобразование
  5. Универсальный коннектор
Responsive Image

Entaxy снаружи

В основе Entaxy лежит OSGI фреймворк - например, Apache Felix, который реализует спецификацию OSGI, позволяя запускать независимые модульные приложения (бандлы). Контейнером для запуска является Apache Karaf - он даёт возможность управления, администрирования и мониторинга и логирования бандлов. Karaf Cave и Karaf Cellar дают возможность организации репоизиториев бандлов и кластеризации соответственно. Над Apache Karaf расположены модули, определяющие среду выполнения интеграционных маршрутов: это Apache Camel - мощнейших движок для построения интеграций, Apache CXF - движок для создания веб-сервисов (SOAP, REST), Eclipse Jetty - веб-сервер и контейнер сервлетов и другие. Над этим слоем построено наше решение Entaxy, которое включает универсальный сервис, централизованную обработку ошибок, инфраструктуру для подключений к внешним системам (СУБД, файловые хранилища, брокеры сообщений), инфраструктуру для подключения к информационным системам через адаптеры, профили и коннекторы, реализацию протокола OData и многое другое. В платформу заложены гибкие возможности расширения и модуль OData добавлен при помощи этих возможностей (extras).

entaxy

Entaxy снаружи

entaxy
extras
OData module File service module ...
Дополнительные модули (приложения) на платформе Entaxy, реализующие конечный функционал
platform
Error handling Uniform service Routing ...
Communication
(systems, profiles,connectors)
Connecting
(adapters, connections)
Компоненты, обеспечивающие инфраструктуру систем, коннекторов, адаптеров, соединений с внешними модулями, единый слой обработки ошибок, механизмы развертывания компонентов на лету, универсальный интерфейс.
modules
Hibernate Apache Camel Apache Aries Eclipse Aether ...
Apache Ignite Apache CXF Liquibase Eclipse Jetty
Платформы, приложения и отдельные бандлы, обеспечивающие функционал времени исполнения: публикация веб-сервисов, медиация сообщений, взаимодействие с БД и брокером сообщений, конфигурирование компонентов....
Cave Apache Karaf
Cellar
Контейнер, предоставляющий слой управления бандлами, репозиторий бандлов, кластеризацию, базовые механизмы построения, управления и развертывания приложений OSGI
OSGI framework (Apache Felix)
Архитектура приложений на основе модулей (бандлов OSGI)