Слой бизнеса, слой приложений и слой технологий каждый делится на три типа концепций: пассивная структура, поведение и активная структура. Элементы пассивной структуры записываются и читаются элементами активной структуры. Элементы поведения описывают транзакции между активными и пассивными элементами структуры, а также между самими активными элементами структуры. Примерами элементов пассивной структуры являются контракты, объекты данных и продукты. Участники, роли, коллаборации и другие элементы представляют активную структуру. Функции, процессы и события являются примерами элементов поведения. В следующей статье рассматриваются концепции слоя приложений. Слой приложений поддерживает слой бизнеса через сервисы приложений, которые реализуются (программными) компонентами приложений.
Концепции компонентов приложений
Компонент приложения определяется как модульная, развертываемая и заменяемая часть программной системы, которая инкапсулирует свое поведение и данные и предоставляет их через набор интерфейсов. Имя компонента приложения лучше всего быть существительным.

Связи между компонентами приложений, функциями, интерфейсами и коллаборациями
- Компонент приложения выполняет одну или несколько функций приложения.
- Он инкапсулирует свое содержимое: его функциональность может быть доступна только через набор интерфейсов приложений.
- Компоненты приложений, участвующие в коллаборации, соединены через коллаборации приложений.
Пример компонента приложения
На диаграмме ArchiMate это выглядит следующим образом:

- Финансовое приложение моделируется как компонент приложения, состоящий из двух подкомпонентов: один для бухгалтерского учета, а другой — для выставления счетов.
- Каждый из них предоставляет сервисы приложений среде.
- Эти сервисы доступны через общий интерфейс приложения бухгалтерского учета и выставления счетов, который является частью финансового приложения.
Концепции коллабораций приложений
Коллаборация приложений определяется как совокупность двух или более компонентов приложений, которые работают вместе для выполнения коллективного поведения. Коллаборация приложений является элементом активной структуры. Имя коллаборации приложений лучше всего быть существительным.

Коллаборация приложений определяет, какие компоненты участвуют в выполнении определенных задач. Это специализация компонента, который агрегирует два или более (участвующих в коллаборации) компонента приложений и обладает следующими характеристиками:
- Коллаборации приложений обычно моделируют логические или временные коллаборации компонентов приложений и не существуют как отдельные сущности в организации.
- Коллаборативное поведение может быть назначено одному или нескольким взаимодействиям приложений или бизнес-взаимодействиям, которые моделируют соответствующее поведение.
- Интерфейс приложения может использоваться коллаборацией приложений, или коллаборация приложений может состоять из интерфейса приложения.
Пример коллаборации приложений
Диаграмма ArchiMate показана ниже:

- Два компонента участвуют в управлении транзакциями: компонент бухгалтерского учета и компонент выставления счетов.
- Эта коллаборация выполняет взаимодействие приложения «Управление транзакциями».
Концепции интерфейсов приложений
Интерфейс приложения определяется как точка доступа, где сервисы приложений становятся доступными пользователям или другим компонентам приложений. Имя интерфейса приложения лучше всего быть существительным.

Пример интерфейса приложения
Диаграмма ArchiMate ниже показывает интерфейс приложения, предоставляемый для обмена данными транзакций, а также компонент выставления счетов, который требует такого интерфейса.

- Интерфейс приложения определяет, как другие компоненты могут получить доступ к функциональности компонента (предоставленный интерфейс).
- Интерфейсы приложений предоставляют сервисы приложений среде.
- Один и тот же сервис приложения может быть доступен через различные интерфейсы.
Концепции поведения
Функция приложения
Элемент поведения, который группирует автоматизированное поведение, которое может быть выполнено компонентом приложения.

Взаимодействие приложения
Элемент поведения, описывающий поведение взаимодействия приложения.

Сервис приложения
Сервис, который предоставляет автоматизированное поведение.

Концепции функции приложения
Функция приложения описывает внутреннее поведение компонента приложения. Она определяется как элемент поведения, который группирует автоматизированное поведение, которое может быть выполнено компонентом приложения. Название функции приложения лучше всего является глаголом, оканчивающимся на «-ing»; например, «Accounting».

Если поведение функции приложения является внешним, это достигается с помощью одного или нескольких сервисов. Функция приложения может реализовывать один или несколько сервисов приложения. Функции приложения абстрагируются от своей реализации. Указывается только необходимое поведение с следующими характеристиками:
- Функция приложения может использовать сервисы приложения и инфраструктурные сервисы других функций приложения.
- Функция приложения может обращаться к объектам данных.
- Компонент приложения может быть назначен функции приложения (то есть компонент приложения выполняет функцию приложения).
Пример функции приложения
Диаграмма ArchiMate показана ниже:

- Внутреннее поведение компонента финансового приложения моделируется как функция приложения, состоящая из двух подфункций: Accounting и Billing.
- Эти функции приложения реализуют сервисы приложения, предоставляемые пользователям приложения.
Концепции взаимодействия приложения
Взаимодействие приложения определяется как элемент поведения, описывающий поведение взаимодействия приложения. Название взаимодействия приложения лучше всего является глаголом.

- Взаимодействие приложения описывает совокупное поведение, выполняемое компонентами, участвующими в взаимодействии приложения (структурная концепция).
- Взаимодействие приложения (структурная концепция) может быть назначено взаимодействию приложения.
- Взаимодействие приложения может реализовывать сервисы приложения.
- Взаимодействие приложения может использовать сервисы приложения и инфраструктурные сервисы (внешне).
- Взаимодействие приложения может обращаться к объектам данных.
Пример взаимодействия приложения
Диаграмма ArchiMate показана ниже:

- Компонент бухгалтерского учета и компонент выставления счетов в финансовой системе взаимодействуют, образуя взаимодействие, называемоеУправление финансовыми операциями.
- Это моделируется как взаимодействие приложения, назначенное взаимодействию между двумя компонентами.
Понятия служб приложений
Служба приложения предоставляет функциональность компонента своему окружению и определяется как служба, предоставляющая автоматизированное поведение. С точки зрения окружения, служба приложения должна быть значимой. Название службы приложения лучше всего является глаголом, оканчивающимся на «-ing»; например, «Обработка транзакций». Также можно использовать названия, в которых явно присутствует слово «служба».

- Служба приложения может использоваться бизнес-процессами, бизнес-функциями, бизнес-взаимодействиями или функциями приложения.
- Функция приложения может реализовать службу приложения.
- Интерфейс приложения может быть назначен службе приложения.
- Служба приложения может обращаться к объектам данных.
Пример службы приложения
Диаграмма ArchiMate показана ниже:

Иллюстрация
- Служба обработки транзакций (приложение-к-приложению) реализуется функцией бухгалтерского учета, а другие компоненты могут получить к ней доступ через интерфейс программирования приложений (API) обработки транзакций.
- Эта служба используется функцией выставления счетов, выполняемой компонентом выставления счетов.
- Функция выставления счетов приложения предоставляет функцию (приложение-к-бизнесу), называемую Создание счета, которая может использоваться для поддержки бизнес-процессов и доступна для ролей бизнеса через экран выставления счетов как интерфейс приложения к бизнесу.
Понятия пассивной структуры
Объект данных
Пассивный элемент, пригодный для автоматической обработки.

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

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

Другие ресурсы ArchiMate: