Учебное пособие по шаблонам корпоративной интеграции (EIP)

Шаблоны корпоративной интеграции  (EIP) — это книга Грегора Хопе и Бобби Вульфа, в которой описывается 65 шаблонов для использования интеграции корпоративных приложений и промежуточного программного обеспечения, ориентированного на сообщения, в форме языка шаблонов. Они помогают нам использовать стандартные способы интеграции приложений, избавляя от необходимости изобретать велосипед каждый раз, когда у вас возникает проблема.

Целью шаблонов интеграции предприятия является создание общего языка и набора действий рабочего процесса, чтобы объединить их вместе для создания зрелого, практичного бизнес-процесса. Он содержит каталог из шестидесяти пяти шаблонов, которые помогут вам разработать эффективные решения для обмена сообщениями для вашего предприятия.

В книге различаются четыре варианта интеграции верхнего уровня:

  1. Передача файлов
  2. Общая база данных
  3. Удаленный вызов процедуры
  4. Обмен сообщениями

Введены следующие типы интеграции:

  • Информационный портал
  • Репликация данных
  • Общая бизнес-функция
  • Сервисно-Ориентированная Архитектура
  • Распределенный бизнес-процесс
  • Интеграция между предприятиями
  • Сильно связанное взаимодействие против слабосвязанного взаимодействия

Нарисуйте схему шаблона интеграции предприятия с помощью бесплатного онлайн-инструмента

Бесплатный инструмент Visual Paradigm  Enterprise Integration Patterns  (инструмент создания диаграмм EIP) содержит набор функций редактирования, которые упрощают и ускоряют построение диаграмм, например, перетаскивание и руководство по выравниванию делают редактирование плавным и интуитивно понятным. Инструмент диаграммы EIP также поставляется с набором символов и форм EIP, которые позволяют создавать различные виды диаграмм EIP.

Вы можете легко разрабатывать свои шаблоны, а затем выводить их и делиться ими в таких форматах, как PNG, JPG, GIF, SVG и PDF.

Изучите EIP с примерами и шаблонами

Вы можете начать с пустой схемы или шаблона EIP. Ниже приведены несколько шаблонов. Нажмите кнопку «Редактировать», чтобы сразу приступить к редактированию. Это бесплатно и не требует регистрации.

Пример шаблона корпоративной интеграции: Smart Proxy

Мгновенное редактирование онлайн

Пример шаблона корпоративной интеграции: составление сообщений MSMQ

Отредактируйте приведенный выше пример онлайн

Хотите внедрить другие шаблоны корпоративной интеграции?

Онлайн-репозиторий редактирования EIP  от  Visual Paradigm

Структура реализации для EIP

Apache Camel  поддерживает большинство  шаблонов интеграции предприятия  из прекрасной книги Грегора Хохпе и Бобби Вульфа. На основе шаблонов корпоративной интеграции (EIP), которые помогут вам решить проблему интеграции, применяя готовые передовые практики. Camel поддерживает большинство шаблонов интеграции предприятия из превосходной книги Грегора Хопе и Бобби Вульфа, а также более новые шаблоны интеграции из  микросервисных архитектур .

Если вы новичок в Camel, вам может потребоваться ознакомиться с разделом «  Начало работы  » в руководстве пользователя, прежде чем пытаться реализовать эти шаблоны.

СИСТЕМЫ ОБМЕНА СООБЩЕНИЯМИ

Канал сообщений

Как одно приложение взаимодействует с другим с помощью обмена сообщениями?

Сообщение

Как два приложения, связанные каналом сообщений, могут обмениваться информацией?

Трубы и фильтры

Как мы можем выполнять сложную обработку сообщения, сохраняя при этом независимость и гибкость?

Маршрутизатор сообщений

Как можно разделить отдельные этапы обработки, чтобы сообщения можно было передавать разным фильтрам в зависимости от набора условий?

Переводчик сообщений

Как системы, использующие разные форматы данных, могут взаимодействовать друг с другом с помощью обмена сообщениями?

Конечная точка сообщения

Как приложение подключается к каналу обмена сообщениями для отправки и получения сообщений?

КАНАЛЫ ОБМЕНА СООБЩЕНИЯМИ

Канал точка-точка

Как вызывающий абонент может быть уверен, что только один получатель получит документ или выполнит вызов?

Опубликовать канал подписки

Как отправитель может транслировать событие всем заинтересованным получателям?

Канал мертвых писем

Что будет делать система обмена сообщениями с сообщением, которое она не может доставить?

Гарантированная доставка

Как отправитель может убедиться, что сообщение будет доставлено, даже если система обмена сообщениями выйдет из строя?

Канальный адаптер

Как можно подключить приложение к системе обмена сообщениями, чтобы оно могло отправлять и получать сообщения?

Мост обмена сообщениями

Как можно соединить несколько систем обмена сообщениями, чтобы сообщения, доступные в одной, также были доступны в других??

Шина сообщений

Что представляет собой архитектура, которая позволяет отдельным приложениям работать вместе, но в несвязанном режиме, так что приложения можно легко добавлять или удалять, не затрагивая другие?

Изменить захват данных

Синхронизация данных путем регистрации изменений, внесенных в базу данных, и применения этих изменений к другой системе.

КОНСТРУКЦИЯ СООБЩЕНИЯ

Сообщение о событии

Как можно использовать обмен сообщениями для передачи событий из одного приложения в другое?

Запросить ответ

Когда приложение отправляет сообщение, как оно может получить ответ от получателя?

Обратный адрес

Как ответчик узнает, куда отправить ответ?

Идентификатор корреляции

Как запросчик, получивший ответ, узнает, для какого запроса этот ответ?

Срок действия сообщения

Как отправитель может указать, когда сообщение должно считаться устаревшим и, следовательно, не должно обрабатываться?

МАРШРУТИЗАЦИЯ СООБЩЕНИЙ

Контент-ориентированный маршрутизатор

Как поступить в ситуации, когда реализация одной логической функции (например, проверка запасов) распределена по нескольким физическим системам?

Фильтр сообщений

Как компоненту избежать получения неинтересных сообщений?

Динамический маршрутизатор

Как можно избежать зависимости маршрутизатора от всех возможных направлений, сохранив при этом его эффективность?

Список получателей

Как направить сообщение в список (статически или динамически) указанных получателей?

Сплиттер

Как мы можем обработать сообщение, если оно содержит несколько элементов, каждый из которых может обрабатываться по-разному?

Агрегатор

Как мы объединяем результаты отдельных, но связанных сообщений, чтобы их можно было обрабатывать как единое целое?

Секвенсор

Как мы можем вернуть поток связанных, но не по порядку сообщений в правильном порядке?

Процессор составных сообщений

Как поддерживать общий поток сообщений при обработке сообщения, состоящего из нескольких элементов, каждый из которых может потребовать отдельной обработки?

Разбросать-собрать

Как вы поддерживаете общий поток сообщений, когда сообщение нужно отправить нескольким получателям, каждый из которых может отправить ответ?

Маршрутный промах

Как мы последовательно направляем сообщение через ряд шагов обработки, когда последовательность шагов неизвестна во время разработки и может различаться для каждого сообщения?

Менеджер процессов

Как направить сообщение через несколько шагов обработки, когда необходимые шаги могут быть неизвестны во время разработки и могут быть непоследовательными?

Брокер сообщений

Как можно отделить получателя сообщения от отправителя и сохранить централизованный контроль над потоком сообщений?

дроссель

Как ограничить сообщения, чтобы гарантировать, что конкретная конечная точка не будет перегружена или мы не превысим согласованное соглашение об уровне обслуживания с какой-либо внешней службой?

Выборка

Как я могу выбрать одно сообщение из многих за определенный период, чтобы избежать перегрузки нисходящего маршрута?

Задержка

Как я могу отложить отправку сообщения?

Балансировщик нагрузки

Как сбалансировать нагрузку между несколькими конечными точками?

Автоматический выключатель

Как я могу перестать вызывать внешнюю службу, если служба не работает?

Служебный вызов

Как я могу вызвать удаленную службу в распределенной системе, где служба просматривается в каком-то реестре служб?

Сага

Как я могу определить серию связанных действий в маршруте Camel, которые должны быть успешно завершены (все они) или не выполнены/компенсированы?

Мультикаст

Как я могу направить сообщение на несколько конечных точек одновременно?

Петля

Как я могу повторить обработку сообщения в цикле?

ПРЕОБРАЗОВАНИЕ СООБЩЕНИЯ

Обогащение контента

Как нам связаться с другой системой, если у отправителя сообщения нет всех необходимых элементов данных?

Фильтр содержимого

Как упростить работу с большим сообщением, когда вас интересуют только несколько элементов данных?

Претензия Проверка

Как мы можем уменьшить объем данных сообщения, отправляемого через систему, не жертвуя информационным содержанием?

нормализатор

Как вы обрабатываете сообщения, которые семантически эквивалентны, но приходят в другом формате?

Сортировать

Как отсортировать тело сообщения?

Скрипт

Как выполнить скрипт, который не может изменить сообщение?

Подтвердить

Как проверить сообщение?

КОНЕЧНЫЕ ТОЧКИ ОБМЕНА СООБЩЕНИЯМИ

Картограф обмена сообщениями

Как вы перемещаете данные между объектами домена и инфраструктурой обмена сообщениями, сохраняя при этом их независимость друг от друга?

Потребитель, управляемый событиями

Как приложение может автоматически использовать сообщения по мере их поступления?

Опрос потребителя

Как приложение может использовать сообщение, когда оно готово?

Конкурирующие потребители

Как клиент обмена сообщениями может обрабатывать несколько сообщений одновременно?

Диспетчер сообщений

Как несколько потребителей на одном канале могут координировать обработку своих сообщений?

Избирательный потребитель

Как потребитель сообщений может выбрать, какие сообщения он хочет получать?

Постоянный подписчик

Как подписчик может избежать пропуска сообщений, пока он их не прослушивает?

Идемпотентный потребитель

Как получатель сообщений может справиться с повторяющимися сообщениями?

Транзакционный клиент

Как клиент может контролировать свои транзакции в системе обмена сообщениями?

Шлюз обмена сообщениями

Как вы инкапсулируете доступ к системе обмена сообщениями из остальной части приложения?

Активатор услуги

Как приложение может спроектировать службу, которая будет вызываться как с помощью различных технологий обмена сообщениями, так и с помощью методов, не связанных с обменом сообщениями?

УПРАВЛЕНИЕ СИСТЕМОЙ

шина управления

Как мы можем эффективно администрировать систему обмена сообщениями, распределенную по нескольким платформам и в обширной географической области?

Объезд

Как вы можете направить сообщение через промежуточные этапы для выполнения функций проверки, тестирования или отладки?

Проволочный кран

Как вы проверяете сообщения, которые перемещаются по каналу «точка-точка»?

История сообщений

Как мы можем эффективно анализировать и отлаживать поток сообщений в слабосвязанной системе?

Журнал

Как я могу зарегистрировать обработку сообщения?

Шаг

Шаги группируют набор EIP в составную логическую единицу для метрик и мониторинга.

Leave a Reply

Ваш адрес email не будет опубликован.