Общая информация ================= **Apache Camel** — открытый кроссплатформенный java-фреймворк, который позволяет проводить интеграцию приложений в простой и понятной форме. Camel использует доменные языки (Domain Specific Language - DSL) для описания проектных шаблонов интеграции или маршрутов. В Citeck используется Yaml DSL для описания маршрутов в формате **YAML** и **XML DSL**. **Camel-контекст** – главная сущность Camel. Контекст является контейнером среды выполнения Camel. Контекст предоставляет много полезных сервисов, наиболее значимыми являются маршруты, компоненты, языки, конверторы типов, реестр, endpointы и форматы данных. **Маршрут** – определение `интеграционного потока `_ Например, для объединения двух систем маршрут определяет как именно эти системы взаимодействуют. **Компоненты** - подробно описано по `ссылке `_ * **Bean** – для вызова методов Java-бинов, хранящихся в реестре; * **Direct** – вызывает другой endpoint из того же контекста синхронно; * **Direct VM** - вызывает другой endpoint из любого контекста на той же JVM синхронно; * **File** – читает и записывает файлы; * **Timer** – генерирует сообщения с определенным интервалом, используя java.util.Timer; * **JDBC** – предоставляет доступ к базам данных через JDBC; * **Jetty** – предоставляет endpoint на основе HTTP для получения и отправки HTTP запросов. Пример контекста с маршрутом: .. image:: _static/Camel_1.png :width: 600 :align: center | Тип запуска: * **MANUALLY** - Работает, как и обычный Camel DSL. Запускается и останавливается через действие. * **IMPORT_DATA** - Используется для описания обработки файла при Импорте данных .. note:: Атрибут = свойство = поле Целевая БД = БД назначения = целевой источник данных – куда данные помещаются Исходная БД = исходный источник данных – откуда данные берутся