Учебники

Apache Camel — Особенности

Посмотрев обзор Apache Camel, давайте теперь углубимся в его возможности, чтобы увидеть, что он предлагает. Мы уже знаем, что Apache Camel — это инфраструктура Java с открытым исходным кодом, которая, по сути, обеспечивает реализацию различных EIP. Camel упрощает интеграцию, предоставляя возможность подключения к очень большому количеству транспортов и API. Например, вы можете легко направить JMS в JSON, JSON в JMS, HTTP в JMS, FTP в JMS, даже HTTP в HTTP и подключение к микросервисам. Вам просто нужно предоставить соответствующие конечные точки на обоих концах. Верблюд является расширяемым и, таким образом, в будущем можно будет легко добавить дополнительные конечные точки в платформу.

Чтобы соединить EIP и транспорты вместе, вы используете доменные языки (DSL), такие как Java, Scala и Groovy. Типичное правило маршрутизации Java может выглядеть так:

from ("file:/order").to("jms:orderQueue");

Это правило маршрутизации загружает файлы из каталога заказов , создает сообщение JMS с содержимым файла и отправляет это сообщение в очередь под названием orderQueue .

Вот некоторые из наиболее важных функций Camel, которые вы найдете полезными при разработке приложений Camel:

  • Camel поддерживает подключаемые форматы данных и преобразователи типов для таких преобразований сообщений, поэтому в будущем могут быть добавлены новые форматы и преобразователи. В настоящее время он поддерживает несколько популярных форматов и конвертеров; назвать несколько — CSV, EDI, JAXB, JSON, XmlBeans, XStream, Flatpack, Zip.

  • Camel поддерживает подключаемые языки для написания предикатов в DSL. Некоторые из поддерживаемых языков включают JavaScript, Groovy, Python, PHP, Ruby, SQL, XPath, XQuery.

  • Camel поддерживает модель POJO, так что вы можете подключать Javabeans в разных точках.

  • Camel облегчает тестирование таких больших распределенных и асинхронных систем с помощью обмена сообщениями.

Camel поддерживает подключаемые форматы данных и преобразователи типов для таких преобразований сообщений, поэтому в будущем могут быть добавлены новые форматы и преобразователи. В настоящее время он поддерживает несколько популярных форматов и конвертеров; назвать несколько — CSV, EDI, JAXB, JSON, XmlBeans, XStream, Flatpack, Zip.

Camel поддерживает подключаемые языки для написания предикатов в DSL. Некоторые из поддерживаемых языков включают JavaScript, Groovy, Python, PHP, Ruby, SQL, XPath, XQuery.

Camel поддерживает модель POJO, так что вы можете подключать Javabeans в разных точках.

Camel облегчает тестирование таких больших распределенных и асинхронных систем с помощью обмена сообщениями.

Давайте теперь разберемся с архитектурой Camel и посмотрим, как реализованы различные функции.