Apache Camel - Возможности
Ознакомившись с обзором Apache Camel, давайте теперь углубимся в его функции, чтобы увидеть, что он предлагает. Мы уже знаем, что Apache Camel - это среда Java с открытым исходным кодом, которая по существу обеспечивает реализацию различных EIP. Camel упрощает интеграцию, обеспечивая возможность подключения к очень большому количеству транспортов и API. Например, вы можете легко перенаправить JMS в JSON, JSON в JMS, HTTP в JMS, FTP в JMS, даже HTTP в HTTP и возможность подключения к микросервисам. Вам просто нужно предоставить соответствующие конечные точки на обоих концах. Camel является расширяемым, и поэтому в будущем в структуру можно будет легко добавить больше конечных точек.
Чтобы связать EIP и транспорты вместе, вы используете доменные языки (DSL), такие как Java, Scala и Groovy. Типичное правило маршрутизации Java может выглядеть так:
from ("file:/order").to("jms:orderQueue");
Это правило маршрутизации загружает файлы из order каталог, создает сообщение 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 и посмотрим, как реализованы различные функции.