JWW-Camel » История » Редакция 3
Редакция 2 (Александр Александров, 04.10.2020 15:33) → Редакция 3/5 (Александр Александров, 31.03.2021 09:37)
h1. Apache Camel
h2. Описание
*Apache Camel*<notextile></notextile> — <notextile></notextile>"открытый (Открытое программное обеспечение)":https://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5<notextile></notextile> <notextile></notextile>"кроссплатформенный (Кроссплатформенное программное обеспечение)":https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%BE%D1%81%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5<notextile></notextile> <notextile></notextile>"java (Java)":https://ru.wikipedia.org/wiki/Java<notextile></notextile>-<notextile></notextile>"фреймворк (Фреймворк)":https://ru.wikipedia.org/wiki/%D0%A4%D1%80%D0%B5%D0%B9%D0%BC%D0%B2%D0%BE%D1%80%D0%BA<notextile></notextile>, который позволяет проводить интеграцию приложений в простой и понятной форме. Идеологически основан на <notextile></notextile>"Шаблонах Интеграции Корпоративных Приложений (Шаблоны Интеграции Корпоративных Приложений (страница отсутствует))":https://ru.wikipedia.org/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B_%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D0%9A%D0%BE%D1%80%D0%BF%D0%BE%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D1%85_%D0%9F%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9&action=edit&redlink=1<notextile></notextile>.
Особенности:
* Гибкая маршрутизация сообщений
* Более 70-ти различных компонентов для доступа к данным
* Не навязывается канонический формат данных на сообщения
* Маршруты описываются на Java <notextile></notextile>"DSL (Предметно-ориентированный язык программирования)":https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F<notextile></notextile>, XML <notextile></notextile>"DSL (Предметно-ориентированный язык программирования)":https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F<notextile></notextile>, Scala <notextile></notextile>"DSL (Предметно-ориентированный язык программирования)":https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F
* Использование <notextile></notextile>"POJO (POJO)":https://ru.wikipedia.org/wiki/POJO<notextile></notextile>-объектов возможно для любых целей, например для трансформации сообщений
* Минимальные требования к конфигурации
* Автоматическая конвертация сообщений между различными форматами
* Легко может быть встроен в существующие приложения
* В составе идут инструменты для тестирования готового интеграционного решения
* Готов к размещению в <notextile></notextile>"OSGi (OSGi)":https://ru.wikipedia.org/wiki/OSGi<notextile></notextile>-окружении
h2. Общая информация
# "Официальный сайт Apache Camel":https://camel.apache.org/
# "Apache Camel":https://ru.wikipedia.org/wiki/Apache_Camel
# "Apache Camel – Введение":https://coderlessons.com/tutorials/noveishie-tekhnologii/uznaite-apache-camel/apache-camel-kratkoe-rukovodstvo
# "Camel в вопросах и ответах":https://habr.com/ru/company/redhatrussia/blog/352188/
# "Getting Started with Spring Boot and Camel":http://www.masterspringboot.com/various/various/getting-started-with-spring-boot-and-camel
# "Creating a REST API in Apache Camel":https://tomd.xyz/articles/camel-rest/
# "Guide to Camel’s SEDA, Direct and VM components":https://tomd.xyz/articles/camel-direct-vm-seda/
# "Testing with Apache Camel":https://tomd.xyz/camel-testing/
# "Перетягивание «Верблюда» или интеграция средствами Camel. Часть 1":https://habr.com/ru/company/naumen/blog/230265/
# "Перетягивание «Верблюда» или интеграция средствами Camel. Часть 2":https://habr.com/ru/company/naumen/blog/231861/
# "STREAM CACHING":https://camel.apache.org/manual/latest/stream-caching.html
# "USING PROPERTYPLACEHOLDER":https://camel.apache.org/manual/latest/using-propertyplaceholder.html
# "PROPERTIES":https://camel.apache.org/components/2.x/properties-component.html
# "[SOF] What is the difference between seda + concurrentConsumers and direct + threads":https://stackoverflow.com/questions/19511630/what-is-the-difference-between-seda-concurrentconsumers-and-direct-thread
h2. Components
# "Writing Components":https://cwiki.apache.org/confluence/display/CAMEL/Writing+Components
# "CREATING CUSTOM APACHE CAMEL COMPONENTS":https://blog.javaforge.net/post/68180949840/creating-apache-camel-custom-component
# "camel-rnd":https://github.com/bigpuritz/javaforge-blog/tree/master/camel-rnd
# "camel-mpd":https://github.com/igor-suhorukov/camel-mpd
# "hi-world":https://github.com/camelinaction/camelinaction2/tree/master/chapter8/hi-world
# "apache camel components":https://github.com/apache/camel/tree/master/components
Go to top