ビジネス層、アプリケーション層、テクノロジー層はそれぞれ、受動的構造、行動、能動的構造の3種類の概念に分けられます。受動的構造要素は能動的構造要素によって書き込まれ、読み取られます。行動要素は能動的構造要素と受動的構造要素の間の取引、および能動的構造要素同士の間の取引を記述します。受動的構造要素の例には、契約、データオブジェクト、製品が含まれます。参加者、役割、協働、その他の要素は能動的構造を表します。関数、プロセス、イベントは行動構造要素の例です。以下の記事ではアプリケーション層の概念について説明します。アプリケーション層は、(ソフトウェア)アプリケーションコンポーネントによって実現されるアプリケーションサービスを通じて、ビジネス層を支援します。
アプリケーションコンポーネントの概念
アプリケーションコンポーネントは、ソフトウェアシステムのモジュール化、デプロイ可能、交換可能な部分として定義され、その行動とデータをカプセル化し、一連のインターフェースを通じて公開します。アプリケーションコンポーネントの名前は名詞が最も適しています。

アプリケーションコンポーネント、関数、インターフェース、協働の間の関係
- アプリケーションコンポーネントは、1つ以上のアプリケーション関数を実行します。
- その内容をカプセル化しています。その機能は、アプリケーションインターフェースのセットを通じてのみアクセスできます。
- 協働するアプリケーションコンポーネントは、アプリケーション協働を通じて接続されています。
アプリケーションコンポーネントの例
アーキマテ図では、以下の通り表示されます:

- ファイナンシャルアプリケーションは、会計用と請求用の2つのサブコンポーネントから構成されるアプリケーションコンポーネントとしてモデル化されています。
- それぞれが環境に対してアプリケーションサービスを提供します。
- これらのサービスは、ファイナンシャルアプリケーションの一部である共有の会計および請求アプリケーションインターフェースを介してアクセス可能です。
アプリケーション協働の概念
アプリケーション協働は、集団的な行動を実行するために協働する2つ以上のアプリケーションコンポーネントの集合として定義されます。アプリケーション協働は能動的構造要素です。アプリケーション協働の名前は名詞が最も適しています。

アプリケーション協働は、特定のタスクを実行するために協働するコンポーネントを指定します。2つ以上の(協働する)アプリケーションコンポーネントを集約するコンポーネントの特殊化であり、以下の特徴を持ちます:
- アプリケーション協働は、通常、アプリケーションコンポーネントの論理的または一時的な協働をモデル化し、企業内に独立した実体として存在しません。
- 協働行動は、関連する行動をモデル化する1つ以上のアプリケーションインタラクションまたはビジネスインタラクションに割り当てられます。
- アプリケーションインターフェースはアプリケーション協働によって使用されたり、アプリケーション協働がアプリケーションインターフェースで構成されたりします。
アプリケーション協働の例
アーキマテ図は以下の通りです:

- 2つのコンポーネントが取引管理において協働しています:会計コンポーネントと請求コンポーネント。
- この協働はアプリケーションインタラクション「取引を管理する」を実行します。
アプリケーションインターフェースの概念
アプリケーションインターフェースは、アプリケーションサービスがユーザーまたは他のアプリケーションコンポーネントに提供されるアクセスポイントとして定義されます。アプリケーションインターフェースの名前は名詞が最も適しています。

アプリケーションインターフェースの例
以下のアーキマテ図は、取引データの交換に使用されるアプリケーションインターフェースと、そのようなインターフェースを必要とする請求コンポーネントを示しています。

- アプリケーションインターフェースは、他のコンポーネントがコンポーネントの機能にアクセスする方法(提供されたインターフェース)を指定します。
- アプリケーションインターフェースは、アプリケーションサービスを環境に公開します。
- 同じアプリケーションサービスは、異なるインターフェースを通じて公開される可能性があります。
振る舞いの概念
アプリケーション機能
アプリケーションコンポーネントが実行可能な自動化された振る舞いをグループ化する振る舞い要素。

アプリケーション相互作用
アプリケーション協働の振る舞いを記述する振る舞い要素。

アプリケーションサービス
自動化された振る舞いを公開するサービス。

アプリケーション機能の概念
アプリケーション機能は、アプリケーションコンポーネントの内部振る舞いを記述する。これは、アプリケーションコンポーネントが実行可能な自動化された振る舞いをグループ化する振る舞い要素として定義される。アプリケーション機能の名前は、「-ing」で終わる動詞が望ましい。たとえば、「Accounting(会計)」。

アプリケーション機能の振る舞いが外部から可視である場合、これは1つ以上のサービスを通じて実現される。アプリケーション機能は1つ以上のアプリケーションサービスを実現できる。アプリケーション機能はその実現から抽象化される。必要な振る舞みのみが指定され、以下の特徴を持つ。
- アプリケーション機能は、他のアプリケーション機能のアプリケーションサービスおよびインフラストラクチャサービスを使用できる。
- アプリケーション機能はデータオブジェクトにアクセスできる。
- アプリケーションコンポーネントはアプリケーション機能に割り当てられる(つまり、アプリケーションコンポーネントがアプリケーション機能を実行する)。
アプリケーション機能の例
以下のアーキマテ図に示す。

- 財務アプリケーションコンポーネントの内部振る舞いは、2つのサブ機能(会計および請求)からなるアプリケーション機能としてモデル化される。
- これらのアプリケーション機能は、アプリケーションユーザーに提供されるアプリケーションサービスを実現する。
アプリケーション相互作用の概念
アプリケーション相互作用は、アプリケーション協働の振る舞いを記述する振る舞い要素として定義される。アプリケーション相互作用の名前は、動詞が望ましい。

- アプリケーション相互作用は、アプリケーション協働に参加するコンポーネントが実行する集団的な振る舞いを記述する(構造的概念)。
- アプリケーション協働(構造的概念)はアプリケーション相互作用に割り当てられる。
- アプリケーション相互作用はアプリケーションサービスを実現できる。
- アプリケーション相互作用はアプリケーションサービスおよびインフラストラクチャサービス(外部から)を使用できる。
- アプリケーション相互作用はデータオブジェクトにアクセスできる。
アプリケーション相互作用の例
以下のアーキマテ図に示す。

- 財務システム内の会計コンポーネントと請求コンポーネントが協働して、「財務取引の管理.
- これは、2つのコンポーネント間の協働に割り当てられたアプリケーション相互作用としてモデル化される。
アプリケーションサービスの概念
アプリケーションサービスは、コンポーネントの機能をその環境に対して公開するものであり、自動化された振る舞いを公開するサービスとして定義される。環境の視点から見ると、アプリケーションサービスは意味を持つべきである。アプリケーションサービスの名前は、「-ing」で終わる動詞が望ましい。たとえば「トランザクション処理」。また、「サービス」という語を明示的に含む名前も使用可能である。

- アプリケーションサービスは、ビジネスプロセス、ビジネス機能、ビジネスインタラクション、またはアプリケーション機能によって使用できる。
- アプリケーション機能は、アプリケーションサービスを実現できる。
- アプリケーションインターフェースは、アプリケーションサービスに割り当てられる。
- アプリケーションサービスはデータオブジェクトにアクセスできる。
アプリケーションサービスの例
以下のアーキマテ図に示す。

図示
- トランザクション処理(アプリケーション間)サービスは、会計アプリケーション機能によって実現され、他のコンポーネントはトランザクション処理アプリケーションプログラミングインターフェース(API)を通じてアクセスできる。
- このサービスは、請求コンポーネントによって実行される請求アプリケーション機能によって使用される。
- 請求アプリケーション機能は、ビジネスプロセスを支援するために使用できる「請求書作成」という(アプリケーション対ビジネス)機能を提供し、請求画面を通じてビジネスロールがアプリケーション対ビジネスインターフェースとしてアクセス可能である。
受動的構造の概念
データオブジェクト
自動処理に適した受動的要素。

データオブジェクトの概念
データオブジェクトは、アプリケーション機能、アプリケーションインタラクション、またはアプリケーションサービスによってアクセス可能な自動処理に適した受動的要素として定義される。データオブジェクトはビジネスオブジェクトを実現でき、またアーティファクトによって実現されることもできる。データオブジェクトは、他のデータオブジェクトとの関連、特殊化、集約、または構成関係を持つことができる。データオブジェクトの名前は、名詞が望ましい。

データオブジェクトの例
以下のアーキマテ図は、2つのアプリケーション機能がアプリケーションサービスを介して協働し、取引データを含むデータオブジェクトを交換している様子を示している。

その他のアーキマテリソース: