JWW-Camel » История » Версия 3
Александр Александров, 31.03.2021 09:37
1 | 1 | Александр Александров | h1. Apache Camel |
---|---|---|---|
2 | |||
3 | h2. Описание |
||
4 | |||
5 | *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>. |
||
6 | |||
7 | Особенности: |
||
8 | |||
9 | * Гибкая маршрутизация сообщений |
||
10 | * Более 70-ти различных компонентов для доступа к данным |
||
11 | * Не навязывается канонический формат данных на сообщения |
||
12 | * Маршруты описываются на 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 |
||
13 | * Использование <notextile></notextile>"POJO (POJO)":https://ru.wikipedia.org/wiki/POJO<notextile></notextile>-объектов возможно для любых целей, например для трансформации сообщений |
||
14 | * Минимальные требования к конфигурации |
||
15 | * Автоматическая конвертация сообщений между различными форматами |
||
16 | * Легко может быть встроен в существующие приложения |
||
17 | * В составе идут инструменты для тестирования готового интеграционного решения |
||
18 | * Готов к размещению в <notextile></notextile>"OSGi (OSGi)":https://ru.wikipedia.org/wiki/OSGi<notextile></notextile>-окружении |
||
19 | |||
20 | h2. Общая информация |
||
21 | |||
22 | # "Официальный сайт Apache Camel":https://camel.apache.org/ |
||
23 | # "Apache Camel":https://ru.wikipedia.org/wiki/Apache_Camel |
||
24 | # "Apache Camel – Введение":https://coderlessons.com/tutorials/noveishie-tekhnologii/uznaite-apache-camel/apache-camel-kratkoe-rukovodstvo |
||
25 | # "Camel в вопросах и ответах":https://habr.com/ru/company/redhatrussia/blog/352188/ |
||
26 | # "Getting Started with Spring Boot and Camel":http://www.masterspringboot.com/various/various/getting-started-with-spring-boot-and-camel |
||
27 | # "Creating a REST API in Apache Camel":https://tomd.xyz/articles/camel-rest/ |
||
28 | # "Guide to Camel’s SEDA, Direct and VM components":https://tomd.xyz/articles/camel-direct-vm-seda/ |
||
29 | # "Testing with Apache Camel":https://tomd.xyz/camel-testing/ |
||
30 | # "Перетягивание «Верблюда» или интеграция средствами Camel. Часть 1":https://habr.com/ru/company/naumen/blog/230265/ |
||
31 | # "Перетягивание «Верблюда» или интеграция средствами Camel. Часть 2":https://habr.com/ru/company/naumen/blog/231861/ |
||
32 | # "STREAM CACHING":https://camel.apache.org/manual/latest/stream-caching.html |
||
33 | 2 | Александр Александров | # "USING PROPERTYPLACEHOLDER":https://camel.apache.org/manual/latest/using-propertyplaceholder.html |
34 | # "PROPERTIES":https://camel.apache.org/components/2.x/properties-component.html |
||
35 | 3 | Александр Александров | # "[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 |
36 | 1 | Александр Александров | |
37 | h2. Components |
||
38 | |||
39 | # "Writing Components":https://cwiki.apache.org/confluence/display/CAMEL/Writing+Components |
||
40 | # "CREATING CUSTOM APACHE CAMEL COMPONENTS":https://blog.javaforge.net/post/68180949840/creating-apache-camel-custom-component |
||
41 | # "camel-rnd":https://github.com/bigpuritz/javaforge-blog/tree/master/camel-rnd |
||
42 | # "camel-mpd":https://github.com/igor-suhorukov/camel-mpd |
||
43 | # "hi-world":https://github.com/camelinaction/camelinaction2/tree/master/chapter8/hi-world |
||
44 | # "apache camel components":https://github.com/apache/camel/tree/master/components |