

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

# アプローチ 1: スタンドアロン API を使用してデカップリングします。
<a name="api"></a>

この方法を使用する場合、共有 COBOL プログラム AB.1 を Java プログラムに変換することによって、スタンドアロン API をインスタンス化します。リファクタリング作業を最小限に抑えるために、 AWS パートナーが提供する自動リファクタリングツールを使用して ([「その他のリソース](resources.md)APIs を生成できます。一部のツールでは、Eclipse などの統合開発環境 (IDE) を使用して、選択されたプログラムから facade レイヤーを自動的に生成できます。

共有プログラムをスタンドアロンサービスとしてインスタンス化できる場合は、この方法をお勧めします。アプリケーション A と B の残りのコンポーネントは Java 全体にリファクタリングされ、クラウドに移行されます。アプリケーションを同じウェーブまたは異なるウェーブで移行できます。

## 同じウェーブでのアプリケーションの移行
<a name="api-same-wave"></a>

次の図では、アプリケーション A と B が同じウェーブに移行されるようにグループ化されています。

 ![\[Migrating mainframe applications that share programs: using an standalone API and a single migration wave\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/modernization-mainframe-decoupling-patterns/images/shared-1-same.png) 

スタンドアロン API を使用し、同じ Wave でアプリケーションを移行してコードをデカップリングしている場合は、次の手順に従います。

1. 両方のアプリケーションをそれぞれのプログラムでリファクタリングし、それらをクラウドに移行します。

1. 分析フェーズからの影響分析レポートを使用して、開発者とチームが共有プログラム AB.1 と呼ぶリファクタリングされたアプリケーションを特定できるようにします。共有プログラム AB.1 への内部プログラム呼び出しを、ネットワーク API 呼び出しと置き換えます。

1. 移行後、オンプレミスのメインフレームアプリケーションとそのコンポーネントを廃止します。

## さまざまなウェーブでのアプリケーションの移行
<a name="api-multi-wave"></a>

アプリケーションを同じ移行ウェーブにグループ化するには大きすぎる場合は、次の図に示すように複数のウェーブ中にアプリケーションを移行し、移行中にサービスの継続性を維持できます。このアプローチを用いて、アプリケーションをまとめてバンドルすることなく、段階的にアプリケーションを近代化できます。アプリケーションを別々の Wave に移行すると、メインフレームで大きなコードを変更することなく、アプリケーションがデカップリングされます。

 ![\[Migrating mainframe applications that share programs: using an standalone API and multiple migration waves\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/modernization-mainframe-decoupling-patterns/images/shared-1-diff.png) 

スタンドアロン API を使用し、異なるウェーブでアプリケーションを移行してコードをデカップリングしている場合は、次の手順に従います。

1. アプリケーション B がオンプレミスに常駐している間、（リファクタリング）アプリケーション A を関連するプログラムと共にクラウドに移行します。

1. アプリケーション A で、共有プログラム AB.1 の内部プログラム呼び出しを API 呼び出しに置き換えます。

1. アプリケーション B が引き続き動作できるように、プログラム AB.1 のコピーをメインフレームに保持します。

1. メインフレームでプログラム AB.1 の機能開発をフリーズします。この時点以降、すべての機能開発はクラウドのリファクタリングプログラム AB.1 で行われます。

1. アプリケーション A が正常に移行されたら、オンプレミスアプリケーションとそのコンポーネント (共有プログラムを除く) を廃止します。アプリケーション B とそのコンポーネント (共有プログラムを含む) は、引き続きオンプレミスに常駐し続けます。

1. 次の移行ウェーブセットでは、アプリケーション B とそのコンポーネントを移行します。移行されたリファクタリングプログラム AB.1 を呼び出して、アプリケーション B のリファクタリングの労力を減らすことができます。