

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# MES でのマイクロサービスの統合アプローチの決定
<a name="integration"></a>

マイクロサービスベースの MES では、データ交換、情報共有、シームレスなオペレーションを確保するために、service-to-service通信が不可欠です。MES マイクロサービスは、特定のイベントまたは一定の間隔でデータを交換できます。たとえば、ユーザーは、本番稼働確認トランザクション中に本番稼働数量を提供する場合があります。このようなトランザクションは、ERP への情報の送信、マシンの実行時間のキャプチャ、製品に関する品質情報のキャプチャ、労働時間の報告など、バックグラウンドで複数のトランザクションを開始できます。さまざまなマイクロサービスがこれらのタスクを担当する可能性がありますが、1 つのイベントですべてのタスクが 1 つのマイクロサービスを通じて開始されます。

さらに、MES は外部システムと統合して、製造オペレーションの最適化、end-to-endデジタルスレッドの接続、プロセスの自動化を行います。マイクロサービスベースの MES を構築するときは、内部および外部サービスとの統合を処理する戦略を決定する必要があります。

次の機能パターンは、必要な通信のタイプに基づいて適切なテクノロジーを選択するためのガイドラインを提供します。

## 同期通信
<a name="integration-synchronous"></a>

同期通信パターンでは、呼び出し元のサービスはエンドポイントからレスポンスを受信するまでブロックされます。エンドポイントは通常、追加の処理のために他の サービスを呼び出すことができます。MES では、レイテンシーの影響を受けやすいトランザクションに同期通信が必要です。例えば、1 人のユーザーが注文に対してオペレーションを完了する継続的な生産ラインを考えてみましょう。次のユーザーは、次のオペレーションでその注文がすぐに届くことを期待します。このようなトランザクションの遅延は、製品のサイクルタイムとプラントパフォーマンス KPIs に悪影響を及ぼし、追加の待機時間やリソースの使用率の低下を引き起こす可能性があります。

![MES での同期通信](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/mes-on-aws/images/sync.png)


## 非同期通信
<a name="integration-asynchronous"></a>

この通信パターンでは、発信者はエンドポイントまたは別のサービスからの応答を待機しません。MES は、ビジネストランザクションに悪影響を及ぼさずにレイテンシーを許容できる場合、このパターンを採用します。 たとえば、ユーザーがマシンを使用してオペレーションを完了すると、そのマシンの実行時間をメンテナンスマイクロサービスに報告できます。実行時間を更新してもすぐにイベントが開始されたり、オペレーションの完了に影響を与えたりしないため、この通信は非同期にすることができます。

![MES での非同期通信](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/mes-on-aws/images/async.png)


## Pub/sub パターン
<a name="integration-pub-sub"></a>

publish-subscribe (pub/sub) パターンは、非同期通信をさらに拡張します。相互依存通信の管理は、MES が成熟し、マイクロサービスの数が増えるにつれて困難になる可能性があります。リッスンする必要がある新しいサービスを追加するたびに、発信者サービスを変更したくない場合があります。pub/sub パターンは、密接な結合なしで複数のマイクロサービス間の非同期通信を有効にすることでこれを解決します。このパターンでは、マイクロサービスはサブスクライバーマイクロサービスがリッスンできるチャネルにイベントメッセージを発行します。したがって、新しいサービスを追加するときは、公開サービスを変更せずにチャネルにサブスクライブします。たとえば、本稼働レポートやオペレーション完了トランザクションは、複数のログとトランザクション履歴レコードを更新する場合があります。マシン、労働、インベントリ、外部システムなどに新しいログ記録サービスを追加するたびにこれらのトランザクションを変更する代わりに、各新しいサービスを元のトランザクションのメッセージにサブスクライブし、個別に処理できます。

![MES での Pub/sub 通信](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/mes-on-aws/images/pub-sub.png)


## ハイブリッド通信
<a name="integration-hybrid"></a>

ハイブリッド通信パターンは、同期通信パターンと非同期通信パターンを組み合わせたものです。

AWS は、複数の[サーバーレスサービス](https://aws.amazon.com/serverless/)を提供しており、さまざまな方法で組み合わせて目的の通信パターンを生成できます。次の表は、目立つ AWS サービスとその主要な機能の一部を示しています。


| **AWS サービス** | **説明** | **パターンをサポート** | 
| --- |--- |--- |
| **同期** | **非同期** | **Pub/sub** | 
| --- |--- |--- |
| [Amazon API Gateway](https://aws.amazon.com/api-gateway/) | マイクロサービスが他のマイクロサービスからデータ、ビジネスロジック、または機能にアクセスできるようにします。  API Gateway は、3 つの通信パターンすべてに対して同時 API コールを受け入れて処理します。 | ✓ | ✓ | ✓ | 
| [AWS Lambda](https://aws.amazon.com/lambda/) | サーバーを管理することなくコードを実行するサーバーレスのイベント駆動型コンピューティング機能を提供します。企業は Lambda を使用して、データベースやストレージ AWS サービスなどの他のサービス間でデータを分離、処理、および渡すことができます。 | ✓ | ✓ | ✓ | 
| [Amazon Simple Notification Service (Amazon SNS)](https://aws.amazon.com/sns/) | application-to-application (A2A) および application-to-person (A2P) メッセージングをサポートします。A2A は、分散システム、マイクロサービス、サーバーレスアプリケーション間で高スループットのプッシュベースのメッセージングを提供します。A2P 機能を使用すると、SMS テキスト、プッシュ通知、E メールを使用してユーザーにメッセージを送信できます。 |   | ✓ | ✓ | 
| [Amazon Simple Queue Service](https://aws.amazon.com/sqs/) (Amazon SQS) | メッセージが失われたり、他のサービスを使用したりすることなく、任意のボリュームのソフトウェアコンポーネント間でメッセージを送受信できます。 |   | ✓ | ✓ | 
| [Amazon EventBridge](https://aws.amazon.com/eventbridge/) | コードを記述することなく、マイクロサービスまたはマイクロサービス内の AWS サービス内のデータの変更によって発生するイベントにリアルタイムでアクセスできます。その後、このイベントを受信、フィルタリング、変換、ルーティングし、ターゲットに配信できます。 |   | ✓ | ✓ | 
| [Amazon MQ](https://aws.amazon.com/amazon-mq/) | メッセージブローカーのセットアップ、操作、管理を合理化するマネージドメッセージブローカーサービス AWS。メッセージブローカーを使用すると、多くの場合、さまざまなプラットフォームで異なるプログラミング言語を使用するソフトウェアシステムが、情報を通信および交換できます。 |   |   | ✓ | 

詳細については、[「 規範ガイダンス」ウェブサイトの AWS 「サーバーレスサービスを使用したマイクロサービスの統合](https://docs.aws.amazon.com/prescriptive-guidance/latest/modernization-integrating-microservices/welcome.html)」を参照してください。 AWS 