---
schema_version: "1"
id: 8761d8c10c328aa952a22628a80a1e9ae827228b36921cf4cf13378f03c71faa
title: MuleSoft Accelerator の共通サービス
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/accelerators-home/common-services.md
canonical_url: https://docs.mulesoft.com/jp/accelerators-home/common-services
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 55fbd6ed23b27da8713b84bebe40751544ec4a61210d76e939cf7e94268ccbbc
description: MuleSoft Documentation Site
latest: true
---
# MuleSoft Accelerator の共通サービス

MuleSoft Accelerator は、ここでは「共通サービス」と呼ばれる多数の共通コンポーネントを利用します。これらのサービスを次に示します。

- [共通スケジューラー](#共通スケジューラー)​ - 統合スケジュール
- [通知サービス](#通知サービス)​ - 通知を送信
- [セキュリティサービス](#セキュリティサービス)​ - API セキュリティポリシー

通知サービスとスケジューラーサービスは、独立したアプリケーションとして設定およびインストールできます。通知サービスは、選択された通知対象に応じて複数のアプリケーションで構成されます。API Manager を使用して 1 つ以上のセキュリティポリシーを適用できます。

## [](#共通スケジューラー)共通スケジューラー

共通スケジューラーサービスは、スケジュールを実行し、API コールを実行する省略可能なコンポーネントです。共通スケジューラーサービスを使用する利点は、すべてのインテグレーションレベルのスケジュールを 1 か所で管理できることです。スケジューラーサービスのしくみの概要を次に示します。

![accel-scheduling-service-diagram.png](https://www.mulesoft.com/ext/solutions/images/accel-scheduling-service-diagram.png)

このサービスは、対象デプロイメントプラットフォームに応じて 2 つの異なる方法で構築されます。Anypoint Platform は、スケジュールを処理するときに、CloudHub にデプロイされたアプリケーションに運用上の利点をもたらします。

### [](#ワークフローの概要)ワークフローの概要

スケジューラープロセスのワークフローの概要を以下に示します。

1. 定義済みのスケジュールがトリガーされます。スケジュールには、​SCHEDULE\_TYPE​ や WATERMARK など、最後の実行に関する豊富な情報があります。
2. スケジュールサービスは、このイベント用に設定されたジョブをコールし、スケジュールの状況を現在のタイムスタンプで「TRIGGERED」に更新します。トリガー ID とコールバック URL が生成されます。
3. プロセスが完了すると、コールバック URL を介してスケジュール状況サービスへのコールバックが実行され、実行状況が報告されます。

サービス設定についての詳細は、​[「使用開始」](https://docs.mulesoft.com/jp/accelerators-home/getting-started)​ガイドおよびサービス自体の実装テンプレートを参照してください。

## [](#通知サービス)通知サービス

このソリューションでは、省略可能な通知プロセス API が提供されます。この API は、通知イベントをコンシュームし、SMS、メール、または Slack 経由で、これらのサービスに固有のシステム API を介して個人またはグループに通知を送信します。設計の概要を以下に示します。

![accel-notification-service-diagram.png](https://www.mulesoft.com/ext/solutions/images/accel-notification-service-diagram.png)

ご覧のとおり、API はコール元のアプリケーションをブロックいないように、受信要求をキューに直接オフロードします。

### [](#ワークフローの概要-2)ワークフローの概要

通知プロセスのワークフローの概要を以下に示します。

1. モジュールが通知プロセス API をコールし、次の情報を提供します。
    
    - `NOTIFICATION\_TYPE`​  — メール、SMS、Slack のいずれか
    - `NOTIFICATION\_ADDRESS`​ — 宛先アドレス/番号
    - `NOTIFICATION\_MESSAGE`​ — 通知メッセージのテキスト
2. API はダウンストリーム処理のためにメッセージをキューに配置し、すぐに成功応答を返します。
3. キューサブスクライバーはメッセージを受信し、​`NOTIFICATION\_TYPE`​ に基づいて適切なシステム API に転送します。
4. システム API はメッセージを同期的に処理し、バックエンドサービスにポストします。

サービス設定についての詳細は、​[「使用開始」](https://docs.mulesoft.com/jp/accelerators-home/getting-started)​ガイドおよび個々の RAML 仕様と個々のサービス自体の実装テンプレートを参照してください。

## [](#セキュリティサービス)セキュリティサービス

ほとんどの API は、セキュアな通信のためにデフォルトで HTTPS プロトコルを使用します。ソリューションによって提供される API は、API Manager で​`クライアント ID 適用`​ポリシーを適用することによって保護することもできます。​`基本認証`​ポリシーもサポートされています。

### [](#cloudhub-ロードバランサーと-https)CloudHub ロードバランサーと HTTPS

API エンドポイントを公開したり、他の API をコールしたりするアプリケーションは、HTTPS プロトコル経由でそれらを実行します。デプロイメントを簡素化するために、リスナーは ​`accelerator-common-core`​ ライブラリによって提供される自己署名証明書を使用します。このアプローチは、対象デプロイメントリージョンで共有 CloudHub ロードバランサーを使用する場合には正常に機能しますが、専用ロードバランサーで実行されている場合は通常、証明書を置き換える必要があります。

### [](#api-manager-ポリシーを適用する方法)API Manager ポリシーを適用する方法

このセクションでは、デプロイされた API の​`クライアント ID 適用`​ポリシーを有効にする手順について説明します。

**続行するには、組織の Anypoint サブスクリプションに API Manager が含まれている必要があります。**

#### [](#管理-api-インスタンスの作成)管理 API インスタンスの作成

管理 API インスタンスを作成する最も簡単な方法は、既存の Exchange アセットを使用することです。手順は次のとおりです。

1. API RAML Definition (API RAML 定義) アセットを MuleSoft Exchange からダウンロードし、独自の Exchange インスタンスにアップロードします。必ず正しいビジネスグループを選択してください。
2. API Manager で、同じビジネスグループを選択し、対象環境を選択します。​`[Manage API (API を管理)]`​ ボタンをクリックし、​`[Manage API from Exchange (Exchange から API を管理)]`​ オプションを選択します。
3. `[API Name (API 参照名)]`​ 項目に、管理する API の名前を入力し始めます。アセットタイプとバージョン項目に自動的に値が入力されます。
4. `[Mule version (Mule バージョン)]`​ オプションまでスクロールダウンし、有効にします。​`[Implementation URI (実装 URI)]`​ 項目のコンテンツをクリアします。
5. 後で API を見つけやすくするため、​`[Advanced options (詳細オプション)]`​ セクションを展開し、​`[Label (表示ラベル)]`​ 項目に API の完全な表示名 (​`「Accelerator Jira Experience API (アクセラレーター Jira エクスペリエンス API)」`​など) を入力します。
6. `[Save (保存)]`​ をクリックして API インスタンスを作成します。概要ページで、​`[Autodiscovery (自動検出)]`​ 表示ラベルの下にある ​`API ID`​ 値をコピーします。

#### [](#api-へのアクセス権の要求)API へのアクセス権の要求

Exchange で API アセットを見つけ、アセットページの右上隅にあるメニュー (「3 つのドット」メニュー内にある場合があります) から ​`[Request access (アクセス権の要求)]`​ オプションを選択します。前に作成した API を選択し、使用するアプリケーションを選択 (必要に応じて作成) します。 **必ずクライアント ID とクライアントシークレットの値をコピーしてください。**

ローカルの Maven ​`settings.xml`​ ファイル (アクセラレーターデプロイメント専用に設定したファイル) で、上記でコピーした値を使用して、対象デプロイメントプロファイル (​`CloudHub-DEV`​ など) の ​`accelerator-api.client-id`​ プロパティと ​`accelerator-api.client-id`​ プロパティの値を設定します。

セキュリティを強化するには、API コンシューマーごとに個別のアプリケーションを作成します。API 間のコールの場合、各クライアント ID/シークレットのペアをデプロイメントプロファイルに追加し、コンシュームする API の ​`pom.xml`​ ファイル内のプロパティ名参照を更新する必要があります。

### [](#アプリケーションでの-api-manager-のサポートの有効化)アプリケーションでの API Manager のサポートの有効化

各アプリケーションには、実装している API ID に対応する設定要素が含まれている必要があります。アクセラレーターアプリケーションには、このサポートがすでに含まれています。次のように更新するだけです。

1. 実装プロジェクトで、​`src/main/mule`​ フォルダー内にある ​`global.xml`​ ファイルを開きます。
2. エディターが開いたら、​`[Configuration XML (設定 XML)]`​ タブを選択して XML ソースを表示します。
3. `api-gateway:autodiscovery`​ 要素を見つけてコメントを解除します。値はそのままにしておきます。
4. `src/main/resources/config`​ フォルダー内にある対象デプロイメント環境を表すプロパティファイル (​`config-dev.yaml`​ など) で、​`autodiscoveryID`​ プロパティを見つけて、上記の ​`API ID`​ 値からコピーした値に設定します。必ず二重引用符を保持してください (これはすべての YAML 設定プロパティに適用されます)。
5. 更新されたアプリケーションをデプロイし、ログファイルを監視します。​`「Your application is started (アプリケーションが起動しました)」`​というメッセージの直前に、次のようなメッセージが表示されます。
    
    API ApiKey{id='16422525'} is now unblocked (available).
6. API Manager の API インスタンスの状況が「Available (使用可能)」と表示されていることを確認します。

#### [](#ポリシーの適用)ポリシーの適用

次の手順では、​`クライアント ID 適用ポリシー`​を特定の API に適用する方法について説明します。

1. API Manager で、ポリシーを適用する API を見つけ、バージョンの表示ラベルをクリックして API 設定ページを表示します。
2. 左側のナビゲーションメニューから ​`[Policies (ポリシー)]`​ 項目を選択し、​`[Apply New Policy (新しいポリシーを適用)]`​ ボタンをクリックします。
3. 最新バージョンの​`クライアント ID 適用`​ポリシーを選択し、​`[Configure Policy (ポリシーを設定)]`​ をクリックします。
4. ポリシーの設定ページで、​`[Credentials origin (ログイン情報の取得元)]`​ 設定の ​`[HTTP Basic Authentication Header (HTTP 基本認証ヘッダー)]`​ オプションを選択します。
5. `[Apply (適用)]`​ ボタンをクリックしてポリシーを作成し、API に適用します。

しばらくしてからポリシーが有効になります。

### [](#自動ポリシー)自動ポリシー

すべての API にポリシーを適用する簡単な方法は、自動ポリシーとしてデプロイすることです。既存のアプリケーションは更新され、新しいデプロイメントではポリシーが自動的に取得されます。ポリシー自体を設定する手順は同じです。

## [](#関連情報)関連情報

- [API Template Project (API テンプレートプロジェクト)](https://anypoint.mulesoft.com/exchange/org.mule.examples/accelerator-mulesoft-api-template-src/)​ は、新しい API 仕様の実装を迅速に作成できる汎用実装テンプレートです。
- [Maven Archetype Plugin (Maven アーキタイププラグイン)](https://anypoint.mulesoft.com/exchange/org.mule.examples/accelerator-mulesoft-api-archetype-src/)​ は、開発者が新しい API の開発を開始するのに役立つ、アクセラレーターのベストプラクティスを使用して事前に構築された Maven アーキタイプです。
- [「使用開始」](https://docs.mulesoft.com/jp/accelerators-home/getting-started)​ガイドには、これらのサービスの設定と使用に関する詳細情報が記載されています。機能の観点からのこれらのサービスについての詳細は、左側のナビゲーションページを参照してください。
- [MuleSoft Accelerators](https://docs.mulesoft.com/jp/accelerators-home/)​ メインページ。