Язык моделирования архитектуры archimate реферат

Обновлено: 28.06.2024


Аннотация
В статье представлен анализ функциональных возможности новой версии Archi 3 для решения задач моделирования архитектуры предприятия. Рекомендовано использовать инструмент Archi предприятиям малого и среднего бизнеса для обучения и выполнения небольших проектов в области моделирования и управления архитектурой предприятия, а также как средство первоначального сбора элементов архитектуры предприятия.

Tochilkina Tatiana Evgenievna
Financial University under the Government of the Russian Federation
PhD in Technical Science, Associate Professor, Chair of Business Informatics


Abstract
The article presents the analysis of the functional capabilities of the new version of Archi 3 to solve the tasks of modeling the enterprise architecture. It is recommended to use the Archi to small and medium businesses for training and execution of small projects in the area of modeling and management of enterprise architecture, and as a tool for the initial collection of elements of the enterprise architecture.

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

Для поддержки этого сложного процесса применяют различные инструменты моделирования и управления архитектурой предприятия.

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

Основа инструмента Archi – это ArchiMate. ArchiMate – стандарт языка моделирования архитектуры предприятия с открытым исходным кодом, разрабатываемый консорциумом Open Group. Язык ArchiMate поддерживается инструментальными средствами различных вендоров и активно применяется консалтинговыми компаниями [3]. Он полностью согласован с моделью архитектуры предприятия TOGAF, также поддерживаемой консорциумом Open Group [4]. ArchiMate поддерживает описание, анализ и визуализацию архитектуры предприятия.

Согласно требованиям языка ArchiMate модель архитектуры предприятия в Archi определена для трех основных уровней: уровня бизнеса (Business layer), уровня приложения (Application layer) и уровня технологий (Technology layer), и двух дополнительных уровнях, называемых расширениями.

Уровень бизнеса показывает продукты и услуги, создаваемые участниками бизнеса в ходе бизнес-процессов и предоставляемые внешним клиентам. Уровень бизнеса архитекторы предприятия в Archi может быть представлен 16 элементами.

Уровень приложения поддерживает уровень бизнеса с помощью прикладных сервисов, которые реализуются программными приложениями. Уровень приложения в Archi может быть представлен 7 элементами.

Уровень технологий представляет инфраструктуру (серверы, узлы, сети и т.д.), необходимую для работы приложений. Уровень технологий в Archi может быть представлен 9 элементами.

Кроме трех уровней архитектуры предприятия в версии языка Archimedes 2 были добавлены понятия/расширения Motivation (мотивация), Implementation &Migration (реализация и миграция). Для представления мотивации Archi предлагает 7 элементов, для представления второго расширения Archi предлагает 4 элемента. Каждый элемент модели может быть связан с одним или более других элементов. Связи между элементами архитектуры в Archi могут быть представлены с помощью 13 типов отношений. Для визуализации элементов архитектуры предприятия на диаграммах (View) Archi предоставляет палитру элементов, сгруппированных по типам.

Рабочее пространство в Archi разделено на 8 окон:

- главное окно для отображения и редактирования диаграмм;

- Properties показывает свойства выбранного элемента модели;

- Outline отображает содержимое ArchiMate-диаграмм в миниатюре, полезен для навигации по большим диаграммам;

- Navigator показывает выбранные элементы модели и все их связи с другими элементами модели; используется для навигации между связанными элементами через их связи;

- Palette представляет набор графических образов элементов ArchiMate-диаграмм;

- Visualiser показывает выбранные элементы модели и все их связи с другими элементами модели в графическом виде, является графическим эквивалентом окна Navigator;

- Hints содержит текстовую подсказку для типа объекта, выбранного в окнах Models или Palette.

Archi полностью поддерживает возможности Undo/Redo. Отмена и повтор команд в Archi является контекстно зависимой опцией. Она применяется к модели, которая выбрана либо в Дереве моделей, либо в окне диаграмм.

Модель архитектуры предприятия в Archi отображается в форме древовидной структуры (Model Tree, Дерево модели) элементов, сгруппированных в папки, представленной на рисунке 1 и в таблице 1.

В этой статье я дам краткую вводную, что такое Archi и ArchiMate. Расскажу о коллективной работе с Archi используя расширение coArchi, после чего предоставлю контейнер позволяющий автоматизировать работу по созданию HTML и PDF документов с ArchiMate моделями. Завершим же, созданием своего GitHub Action, настроим GitHub и GitLab пайплайн с последующей публикацией модели в GitHub/GitLab Pages.


В чем основная проблематика и причина появления этой автоматизации? Логично утверждать, что любая автоматика экономит время и выполняет рутину за вас, но основной причиной появления данного инструмента и статьи, является простота публикации моделей (схем). Я столкнулся с тем, что большинству нужно просто посмотреть или продемонстрировать схему, но ни кто не хочет разбираться с установкой дополнительного ПО, подключать к нему плагины, настраивать подключение к git репозиторию. Web-страница с актуальной и интерактивной моделью — это то, что нужно среднестатистическому менеджеру, да и архитектора не побеспокоят просьбой сделать скриншот текущей модели.

Для тех кому все подробности не нужны, резюмирую: используя этот GitHub Action или этот контейнер в результате получим такой результат.

Пример web-страницы с отчетом

Пример web-страницы с отчетом

Что такое Archi и ArchiMate

Набор кроссплатформенных инструментов моделирования Archi предназначен для архитекторов и разработчиков моделей всех уровней. Archi написан на Java и распространяются под лицензией MIT, репозиторий проекта доступен на GitHub. Он обеспечивает низкий порог входа для пользователей работающих с языком моделирования ArchiMate.

Главное окно и рабочая область инструмента моделирования Archi

Главное окно и рабочая область инструмента моделирования Archi

ArchiMate (в оригинале Architecture-Animate) — это открытый и независимый язык моделирования архитектуры предприятия и визуализации архитектуры внутри и за пределами бизнес-процессов. Это технический стандарт от The Open Group, базирующийся на IEEE 1471.

Основные сущности и типы связей языка ArchiMate можно рассматривать как структуру, так называемую ArchiMate Framework.

Структура языка ArchiMate 3.1 Full Framework

Структура языка ArchiMate 3.1 Full Framework

Слои языка хорошо соотносятся с соответствующими фазами метода разработки архитектуры TOGAF (TOGAF и ArchiMate являются стандартами The Open Group).

Экспорт модели

Модель ArchiMate представляет из себя XML документ и подразумевает наличие инструмента Archi для редактирования и просмотра. Archi позволяет экспортировать модель в виде отчуждаемых файлов, и поддерживает такие форматы:

Статический HTML отчет с интерактивной структурой и навигацией;

CSV отчет по имеющимся в модели элементам, характеристикам и связям;

Jasper отчет в форматах PDF, HTML, RTF, PPT, ODT и DOCX;

Экспорт модели в нативном формате XML с расширением .archimate ;

Экспорт модели в формате Open Exchange XML.

Совместная работа

coArchi — это расширение Archi, которое позволяет вести коллективную работу над моделями ArchiMate, посредством совместного использования и управления версиями моделей в git репозитории.

Для установки расширения перейдите на страницу с списком расширений, найдите в списке coArchi и следуйте инструкциям. Репозиторий проекта на GitHub также содержит дополнительную информацию по настройке и решению проблем в работе, подробности смотрите в wiki.

ℹ️ Оригинальный файл модели ArchiMate представляет из себя единый XML документ с расширением .archimate . Для возможности совместного редактирования и слияния изменений, данная модель разбивается плагином coArchi на элементы, где каждый элемент хранится в отдельном файле. Соответственно открыть модель сохраненную в репозитории при помощи coArchi, вы сможете только используя это расширение.

Некоторые функции coArchi находятся в стадии разработки и постоянно улучшаются. На текущий момент coArchi версии 0.8.1 имеет ограниченную поддержку специализаций и образов добавленных в Archi 4.9.

ℹ️ Обратите внимание, что для работы с репозиторием по SSH средствами плагина coArchi — работают только RSA ключи в формате PEM, о чем написано в разделе вики. Также вам не удастся использовать oauth2 токен (у меня не вышло), к примеру в случае активной двухфакторной аутентификации. Судя по всему проблема связана с JGit используемым в проекте, разработчики плагина пока не дали ответа на это замечание.

Как видим, всё же имеются некоторые трудности в настройке окружения, на этапе установки coArchi и клонирования модели зачастую менеджер сдается и просто просит скриншот модели у её авторов.

Интерфейс командной строки

Помимо графического интерфейса, Archi также имеет интерфейс командной строки. Подробную справку о работе с ним вы можете найти в вики проекта.

К примеру для вывода справки с доступными аргументами выполните:

Образ контейнера Archi

Получив сведения о том, что у Archi есть CLI, функция экспорта и возможна совместная работа в git репозитории, мы имеем все основания попытаться упаковать всё это в образ контейнера, для дальнейшего использования в пайплайне.


Поскольку некоторые библиотеки зависят от наличия драйвера дисплея, для запуска CLI в Linux, нам потребуется установить определенные библиотеки, такие как gtk3 и xvfb. В связи с этим и размер образа становиться заметно больше.

Итоговый Dockerfile доступен в репозитории:

А для удобства работы со всеми аргументами командной строки и реализации возможности доступа к репозиторию модели с любыми стандартными проколами и методами аутентификации git, был реализован bash сценарий запуска entrypoint.sh:

В скрипте реализованы переменные окружения для управления ключевыми параметрами клонирования модели и создания отчета, что упростит применение образа в CI пайплайнах.

Клонирование репозитория выполняется привычной утилитой git, а уже после передается Archi как модель. Так мы обходим ограничения самого coArchi.

Выполнена обвязка для исполнения задания в GitHub Actions с созданием отдельной ветки используя git subtree и дальнейшей публикацией в GitHub Pages.

Выполнена обвязка для более простого запуска заданий в GitLab CI

ℹ️ Git subtree выбран не спроста. Как альтернативный вариант в GitHub Pages можно опубликовать файлы из отдельного каталога текущей ветки, к примеру /docs , но в таком случае у нас в основной рабочей ветке появляются лишние автоматические "шумные" коммиты, а вместе с ними и растет размер индекса этой ветки, помимо этого, при ответвлении и слиянии правок у нас появляются конфликты в сгенерированных отчетах, которые просто так не решаются через интерфейс Archi.

Образы контейнера доступны в репозиториях:

Пайплайн

Для демонстрации работы был создан отдельный проект на GitHub и GitLab с примером модели ArchiMetal взятой из официального репозитория archimate и сохраненной при помощи coArchi.

При запуске контейнера в среде GitHub Action или GitLab CI в HTML отчет также будут добавлены ссылки на другие отчеты включенные для генерации.

Дополнительный ссылки на файлы отчетов

Дополнительный ссылки на файлы отчетов

GitLab пайплайн

Для генерации отчета и публикации его в GitLab Pages необходимо создать файл .gitlab-ci.yml в корне проекта вашей coArchi модели, примерно с таким содержимым:

После фиксации изменений в репозитории, у вас должен успешно выполнится пайплайн (пример), а модель опубликоваться в виде web-страницы (пример) в вашем GitLab Pages.

GitHub пайплайн

Для GitHub был реализован GitHub Action - Deploy Archi Report, который опубликует вашу модель на GitHub Pages из отдельной ветки gh-pages . Чтобы воспользоваться им вам достаточно создать файл в каталоге .github/workflows к примеру .github/workflows/main.yml с таким содержимым:

Зафиксировав изменения в репозитории, у вас должен успешно выполнится пайплайн (пример). После первого запуска вам также понадобится указать из какой ветки следует публиковать отчет, по умолчанию это gh-pages . Перейдите в настройки репозитория, в разделе Pages укажите исходную ветку gh-pages и используйте корневой каталог для поиска файлов, примените эти настройки.

Настройки публикации в GitHub Pages

Настройки публикации в GitHub Pages

После этого, публикация будет выполнятся из указанной вами ветки (пример) в вашем GitHub Pages.

На этом всё

Благодарю за ваше время и внимание! Успешных вам пайплайнов и актуальных моделей.

курсы по ArchiMate Archi, обучение ArchiMate Archi, курсы по бизнес-аналиизу, обучение бизнес-аналитиков, анализ, бизнес-процессы, моделирование, TOGAF, ArchiMate, Archi

Недавно мы говорили про архитектуру предприятия и фреймворк TOGAF для ее проектирования. В продолжение этой темы, сегодня рассмотрим, как этот архитектурный подход реализуется на практике в виде программного инструментария, который бизнес-аналитик может использовать для комплексного описания корпоративной деятельности. Читайте далее, что такое ArchiMate, Archi и как это связано с TOGAF.

Что такое ArchiMate и при чем здесь Archi

TOGAF является открытой концепцией, которая может быть использована практически любым предприятием и программным продуктом [1]. При этом наиболее точным соответствием концепциям TOGAF отличается язык архитектурного моделирования ArchiMate, выделяя для описания корпоративной деятельности следующие уровни [2]:

  1. уровень бизнеса (business) с элементами для описания структуры, поведения и информации об объектах, имеющих непосредственное отношение к людям, бизнес-процессам и продуктам, а также взаимоотношениях между ними.
  2. уровень программного обеспечения (application), описывающий структуру и поведение приложений, используемых предприятием для своевременной и целенаправленной обработки корпоративных данных.
  3. уровень аппаратного обеспечения (technology), который содержит элементы для описания структуры и поведения корпоративного ИТ-комплекса – узлы кластера, мультифункциональные устройства, сети передачи данных, инфраструктурные сервисы и системное программное обеспечение.

На каждом уровне ArchiMate существуют поведенческие и структурные элементы, причем последние могут быть активными или пассивными. Все они связываются друг с другом отношениями, которые могут быть структурными, динамическими или зависимостями. Также для более полного описания на каждый из уровней могут быть добавлены элементы, описывающие мотивацию, стратегию, реализацию или миграцию [3].

ArchiMate, Archi

Прикладная реализация языка ArchiMate выполнена в виде кроссплатформенного бесплатного продукта Archi, о преимуществах и недостатках которого мы поговорим далее.

7 главных достоинств Archi

С точки зрения практического использования Archi в профессиональной деятельности бизнес-аналитика, его ключевыми плюсами считаются следующие:

Управление архитектурой предприятия (EAM / Enterprise architecture management)

Методологический фреймворк TOGAF

    веб-версия в виде файла. ( альтернативная ссылка) . Небольшая обзорная статья, рассказывающая о самой-самой сути.
  • Обучающий курс по архитектурному фреймворку TOGAF на русском языке, теория и практика (Александр Кварцхава, 2021).
    15 видеолекций (по 05..30 минут) на тему TOGAF, сервисно-ориентированной архитектуры, совместного использования Archimate и TOGAF, управления изменениями архитектуры и т.п.
    Автор последовательно проходит по всем фазам Архитектурного Цикла.
  • Курс по корпоративной архитектуре (Александр Кварцхава, 2019), описывающий принципы построения архитектуры уровня небольшого предприятия:

Идеальный архитектурный цикл:

  1. подготовить и согласовать со всеми причастными сторонами архитектурное видение
  2. разработать структуру сервисов уровня бизнес-архитектуры
  3. разработать структуру бизнес-процессов и бизнес-функций
  4. разработать структуру бизнес-ролей, связанных с процессами
  5. разработать организационную структуру, связанную со структурой бизнес-ролей
  6. разработать модель данных компании
  7. разработать архитектуру корпоративной информационной системы
  8. разработать технологическую архитектуру
  9. выбрать конкретные решения для всех уровней архитектуры
  10. разработать пакеты работ
  11. реализовать проект
  12. провести аудит: убедиться в достижении целей, какой ценой, какие были совершены ошибки.
  • ( бесплатное ) Archi - most-popular Archimate modelling tool
    Простой, понятный, быстрый инструмент.
  • ( платное , есть trial на 30 дней) Enterprise Architect ( и могут установить EA под WINE).
    В высшей степени могущественный инструмент. Преимущества - версионирование, мощная трассировка, работа с разрывами (gap), репозиторий с записью в БД.
    Полезные статьи, связанные с этим ПО:
      (ГК ЛАНИТ). (Райффайзенбанк).

    Разновидности архитекторов

    1. Корпоративный архитектор (Enterprise architect) -- занимается всеми уровнями архитектуры предприятия (Enterprise architecture) и архитектурным надзором. В подчинении архитекторы по направлениям/уровням.
    2. Менеджер по стратегии -- занимается разработкой карты сбалансированных показателей (BSC, balanced scorecard) и декомпозицией стратегии предприятия на подцели.
    3. Бизнес-архитектор (Business architect) -- занимается бизнес-архитектурой (Business architecture), т.е. разработкой элементов бизнес-процессов (совместно с Бизнес-аналитиками).
    4. IT-архитектор -- занимается архитектурой данных (Data), архитектурой приложений (Application) и технологической архитектурой (Technology).
    5. Архитектор решений (Solution architect) -- занимается архитектурой данных и архитектурой приложений в ключе проектирования интеграционного взаимодействия ИТ-систем в рамках проекта.
    6. Системный архитектор (Software architect) -- занимается архитектурой конкретного приложения.

    Базовые знания для архитектора:

    Какие возможности должны быть у Архитектора в рамках Предприятия

    1. доступ к описанию Бизнес-процессов Предприятия
    2. доступ к описанию ИТ-систем Предприятия, их Интерфейсов, компонентов
    3. доступ к описанию Технологического слоя (возможно, CMDB )
    4. доступ к использованию с рабочего места бесплатного ПО Archi И платного ПО Enterprise Architect ИЛИ платного ПО Enterprise-версии Modelio: Modelio BA, Modelio SA, Modelio SD.
    5. максимально оперативно и безотказно получать информацию от Аналитиков, Разработчиков, Тестировщиков, консультантов, методологов, бизнес-подразделений, других Архитекторов для максимально быстрого пополнения знаний об архитектуре AS IS.

    Что поступает Архитектору на вход

    1. Архитектору предприятия (Enterprise architect) и Бизнес-архитектору (Business architect):
      • Стратегические цели Предприятия и Сбалансированная карта показателей;
      • IT-стратегия Предприятия;
      • описание текущей (AS IS) Бизнес-архитектуры и IT-архитектуры;
      • Бюджет;
    2. Архитектору решений (Solution architect):
      • описание текущей (AS IS) Бизнес-архитектуры и IT-архитектуры;
      • Имеющееся архитектурное описание Бизнес-процессов AS IS;
      • Имеющееся архитектурное описание уровней Application, Component AS IS эксплуатируемых ИС;
      • Бизнес-требования и Проектная концепция к доработке/внедрению ИС.
      • Бюджет проекта;

    Что Архитектор делает и производит

    1. (Бизнес-архитектор) моделирование архитектуры Бизнес-процессов As Is и To Be;
    2. моделирование IT-архитектуры As Is и To Be, реализующей необходимые Бизнес-процессы;
    3. совместно с Бизнес-аналитиком (Методологом) -- консультация по Ограничениям, заранее отсеивая безумные варианты реализации бизнес-идеи;
    4. совместно с Заказчиком, Бизнес-аналитиком (Методологом), Ключевым пользователем -- обсуждение/уточнение возможных Use Cases;
    5. совместно с Системным аналитиком -- определение границ изменяемой/разрабатываемой ИС и контекста её работы;
    6. принимать решения по изменению структуры и поведения конкретных ИС, обеспечивающих основные и вспомогательные Бизнес-процессы Предприятия;
    7. составление Проектного решения (Solution Design)
    8. поддержка архитектурного репозитория в актуальном состоянии
    9. самообучение: 4+ часов в неделю на ознакомление со смежными/новыми технологиями и практиками

    Если кратко, то
    Корпоративная Архитектура / Архитектура Предприятия / Enterprise Architecture = совокупность структур, которые образуют компанию.
    Т.е. все три строчки:

    Объекты работ Работы (действия) Исполнители
    объекты деятельности процессы/практики люди слой Деятельности (business layer) - Архитектура бизнес-процессов
    данные функциональность программы слой Приложений (application layer) - Архитектура IT-решения
    информобъекты функциональность оборудование слой Технологический (technology/component layer) - Технологическая архитектура

    Архитектура Систем должна отвечать на вопрос "Как должны быть связаны между собой Системы и Компоненты инфраструктуры, чтобы обеспечить непрерывность бизнес-процессов?".

    Полный архитектурный цикл TOGAF можно уложить в слои Archimate 3:

    Пример отображения трёх архитектурных слоёв на языке Archimate

    Слой "Мотивация"

    Archimate (Архимейт) = язык архитектурного описания корпоративных и инженерных систем (моделирования архитектуры Предприятия). ArchiMate предназначен для высокоуровневого моделирования и анализа различных областей предприятия и взаимосвязей между ними.
    Он не фокусируется на деталях реализации и не заменяет UML, BPMN или ERD, а дополняет их. В Archimate меньше возможностей по детализации, чем в этих языках моделирования, но он позволяет связать описания различных областей и разработать интегрированное представление организации.

      на сайте wiki системной инженерии. (Анатолий Левенчук, 2011) (Андрей Рубенчик, 2015)
    • Лекции. Основы языка моделирования архитектуры предприятия ArchiMate. Автор: Андрей Рубенчик. 2016.
    • Видеолекции (04..20 мин каждая) по Archimate. Автор: Александр Кварцхава. 2018.

    Gap -- разрыв между необходимым (целевым, желаемым) состоянием системы/архитектуры и существующим (текущим) состоянием.
    Gap-анализ выполняется на этапах составления целевых Бизнес-архитектуры, ИТ-архитектуры, Технологической архитектуры.
    Его результаты требуются для выработки возможных решений в рамках имеющихся ресурных возможностей для будущего перехода к целевому состоянию.

    1. Архитектор должен быть снабжён очень серьёзными полномочиями, в противном случае всю дальнейшую работу будет ждать саботаж.
      В больших компаниях всегда есть некомпетентные и ленивые работники, есть завистники, есть желающие перехватить власть и/или бюджет, любители использовать чужой успех для личного карьерного роста, да и просто противники изменений.
      Спектр возможных негативных последствий - от личных трагедий до потерь миллионов денежных знаков Предприятия.
    2. Опросив руководителей высшего уровня, определить, что является мотивацией (Motivation) к последующим изменениям в Предприятии.
      • Опросить наиболее важных стейкхолдеров (от генерального директора до линейных руководителей) о существующих проблемах.
      • Зафиксировать озвученные проблемы (Driver), по каждой дать оценку (Assessment), являющую собой причину проблемы, определить цель (Goal) как решение проблемы, и требования (Requirement), которые должны привести к цели.
      • Могут (и будут) быть зафиксированы заведомо известные ограничения (Constraint), встающие на пути к цели.
      Результат - нечто подобное:

    • составить представление о текущей архитектуре (baseline architecture) Предприятия (или вверенного вам его участка, например, производство), а именно о, последовательно:
    • Бизнес-архитектуре:
      • отражена структура Предприятия;
      • отражены связи Акторов (действующих лиц - структурных подразделений, их начальников и т.п.) и Ролей (Business Role)
      • отражены связи Ролей и Бизнес-функций (Business Function) или Бизнес-процессов (Business Process)
      • выстроены в цепочки Бизнес-процессы, отражена их связь с Подпроцессами (бизнес-операциями)
      • отражены связи Бизнес-операций/Бизнес-процессов с Бизнес-объектами (Business Object) и с Продуктом (Product)
      • отражены связи Бизнес-операций/Бизнес-процессов (Business Process) И Бизнес-ролей (Business Role) с Положениями/Регламентами/Стандартами (Contracts), описывающими как именно выполняются работы, в какой последовательности, при каких условиях и т.п.

      Сервис-ориентированная архитектура = стиль проектирования Предприятия либо ПО, в котором компоненты Системы связаны отношениями Потребитель-Обслуживающий, когда один компонент предоставляет сервис другому.

      Сервис = это польза, которую Система предоставляет своему окружению, скрывая при этом внутренние операции. Для внешних систем Сервис предоставляет определённую ценность, что и является мотивацией существования Сервиса.
      Сервисы бывают внешние и внутренние. Внешние связывают различные архитектурные слои, внутренние -- элементы одного слоя.
      Доступ к Сервисам осуществляется через Интерфейсы.
      В контексте ПО, Сервисы предоставляют API и/или UI для взаимодействия с ними.

      Интерфейс = зона доступа Сервиса для внешнего окружения.

      Ключевая логика сервис-ориентированной архитектуры и умозрительный пример:

      Ключевая логика все корпоративной архитектуры
      Умозрительный пример

      1. Интеграция на уровне отображения, интеграция через человека.
        Бывает, что специалист в процессе выполнения обязанностей на рабочей станции использует UI нескольких систем (HTML-страница, десктопное приложение, физический интерфейс), и для того чтобы что-то ввести в одну систему, он ищет нужное значение в другой системе. Такие случаи, кстати, отличные кандидаты на автоматизацию интеграции.
      2. Интеграция на уровне приложений.
        1. прямые вызовы точка-точка по шаблону request-reply (запрос-ответ) или one-way (отправка в одну сторону). Обычно это реализуется посредством REST API или RPC-взаимодействие.
        2. обмен через слой среднего уровня.
          Например, через message brokers (системы управления очередями) типа RabbitMQ и Kafka
          ИЛИ при посредстве КСШ (ESB)
        3. комбинации перечисленного (например, service mesh с их маршрутизацией)

        Что требуется для разработки интеграционного решения

        1. Список АС участников интеграции
        2. Операции и функции, которые выполняют АС как часть взаимодействия
        3. Бизнес-объекты, участвующие во взаимодействии, их атрибуты
        4. Интеграционные потоки
        5. Задачи по преобразованию данных
        6. Типы взаимодействия: только ли запрос или запрос-ответ, синхронность/асинхронность, индивидульное или пакетное
        7. Технические интерфейсы и протокол
        8. Требования безопасности интеграции (аутентификация и авторизация, обеспечение конфиденциальности, правила доступа к данным).
        9. Нефункциональные требования:
          • последовательность реализации (пп.1-7)
          • безопасность(п.8)
          • доступность и надёжность (уровень доступности %, окна обслуживания, время на восстановление, ожидаемое время между сбоями)
          • обработка ошибок (типы ошибок технические/бизнесовые, стратегия повтора доставки данных, правила логирования, корректировка данных после ошибок)

        При проектировании взаимодействия Сервисов между собой в контексте исполнения бизнес-процессов, есть два подхода:

        Оркестрация

        Оркестрация = императивное управление бизнес-процессом из единого центра (обычно это какой-то отдельный Сервис), который согласно алгоритму вызывает исполнителей, проводя бизнес-процесс от начала до конца.
        Языки/нотации: BPMN, BPEL.

        1. AAA: BBB, смотри какая Великая Задача, работай над ней
        2. AAA: CCC, держи Задачу, надо обработать напильником
        3. AAA: DDD, доделай Задачу
        4. AAA тискает готовую Задачу, довольный уходит

        In orchestration, a central process takes control over the involved web services and coordinates the execution of different operations on the web services involved in the operation. The involved SOA services do not know (and do not need to know) that they are part of a composition or a higher business process. Only the central coordinator of the orchestration knows this, so the orchestration is centralized with explicit definitions of operations and the order of invocation of SOA services.

        Хореография

        Хореография = чистый событив, без единого центра управления процессом, все Сервисы настроены на работу по реакциям на события и/или по расписанию, зная при наступлении каких условий что они должны выполнять.
        В качестве единого места хранения информации по прогрессу бизнес-процесса можно сделать отдельный Сервис, в который все исполнители будут "отчитываться".
        Языки/нотации: BPMN, WS-CDL, ebXML BPSS.

        Choreography on the other hand does not rely on a central coordinator. Rather, each SOA service involved in the choreography knows exactly when to execute its operations (based on defined trigger criteria) and whom to interact with. Choreography is a collaborative effort focused on exchange of messages. All participants of the choreography need to be aware of the business process, operations to execute, messages to exchange, and the timing of message exchanges.

        Читайте также: