EGL 生成プログラムは SOAP Web サービスまたは EGL REST Web サービスを作成できます。これにより、サービス・リクエスターとして機能するアプリケーションが、IBM® i プログラム rpgle、cbl、cblle、sqlrpgle、sqlcbl、および sqlcblle にアクセスできるようになります。
このトピックでは、IBM i プログラムに Web サービスとしてアクセスする手順を説明します。バックグラウンド情報については、
『IBM i プログラムに Web サービスとしてアクセスする: 概要』を参照してください。
開始する前に
- ワークスペースに、Web プロジェクトまたは一般プロジェクトが含まれている必要があります。これらのプロジェクトには、以下のデータが含まれます。
- IBM i プログラムを表す外部型
- Web サービスと IBM i プログラムの間で交換されるレコードのベースとして使用される構造化レコード・パーツ
- ワークスペースに、Rich UI アプリケーションが実行時に IBM i コードにアクセスするために使用するインターフェース・パーツと非構造化レコード・パーツを含める Rich UI プロジェクトが含まれている必要がある。
- ワークスペースが IBM i システムに接続されている。
接続を Remote Systems Explorer パースペクティブで使用できます。
注: ここで説明するウィザードでは、SOAP サービスにアクセスするためのインターフェース・パーツは作成しません。SOAP サービスにアクセスするインターフェース・パーツを作成するには、次のようにします。
- デプロイメント記述子を生成します。WSDL ファイルが作成され、WebContent/WEB-INF/wsdl ディレクトリーに配置されます。
- WSDL ファイルを右クリックし、を選択し、『SOAP サービスにアクセスするためのインターフェース・パーツの作成』で説明されている手順を実行します。
Rich UI プロジェクトにインターフェース・パーツを必ず含めてください。
外部タイプおよび構造化レコード・パーツの作成
- Remote Systems Explorer パースペクティブで、IBM i プログラム・ソースまたは既存の Program Call Markup Language (PCML) 定義に対するエントリーを右クリックします。
- を選択します。
- 2 つある「新規 EGL パーツ」ウィンドウのうち 1 番目のウィンドウが表示されます。ボックスの中央で、作成する外部型を選択します。ボックスの下部で、Web (SOAP) サービス、Web (REST) サービス、またはこの両方のいずれを作成するかを示すチェック・ボックスを 1 つ以上選択します。
- 「REST Web サービスの作成」を選択すると、Rich UI アプリケーションで使用するインターフェース・パーツと非構造化レコード・パーツを作成します。
- インターフェース・パーツとレコード・パーツが不要な場合は、「REST Web サービス用 EGL Rich UI インターフェースの作成」をクリアします。後で、REST サービスのインターフェース・パーツが必要になった場合は、外部型を右クリックし、を選択し、ウィザードの手順に従います。Rich UI プロジェクトにインターフェース・パーツを必ず含めてください。
- 「次へ」をクリックします。2 番目の「新規 EGL パーツ」ウィンドウが表示されます。
- 「ソース・フォルダー」フィールドに、外部タイプと構造化レコード・パーツを受け取るプロジェクトを指定します。
バックスラッシュ (¥) とソース・フォルダーも指定します。
- 「パッケージ」フィールドに、パッケージ名を指定します。必ずパッケージ名を指定してください。そうしないと、識別したプロジェクト内のパーツにその他のプロジェクトがアクセスできません。
- 「EGL ソース・ファイル名」フィールドに、ファイル名を指定します。
- 後続のフィールドで、特定の外部型の詳細を指定します。プログラムがサービス・プログラムであるかどうかを指定してください。
- 「ExternalType 名」フィールドに、外部タイプ自体に対して作成する名前を指定します。
- 「ホスト・プログラム名」フィールドに、リンク・エディットされたホスト・プログラムの名前を指定します。
- 「ホスト・プログラム・ライブラリー」フィールドに、リンク・エディットされたホスト・プログラムのライブラリー名を指定します。
- プログラムがサービス・プログラムの場合は、「サービス・プログラム」を選択します。それ以外の場合は、フィールドをクリアし、「ホスト・プログラム・タイプ」リストで適切な項目を選択します。このリストで、ホスト・プログラムが NATIVE (COBOL または RPG で作成されているプログラム) または EGL (EGL で作成されているプログラム) のいずれであるかを指定できます。
- 「entryPoint」フィールドで、サービス関数として公開するプログラム・ファンクションを選択します。すべての関数を選択するには「すべて選択」をクリックし、すべての関数を選択解除するには「選択をすべて解除」をクリックします。
- 同じ名前が付いた外部タイプのファイルを上書きするには、「既存ファイルの上書き」を選択します。既存のファイルを上書きしないようにするには、このチェック・ボックスをクリアします。
- 「次へ」をクリックします。
Web (REST) サービスの作成
Web (REST) サービスを作成している場合、「新規 EGL Web サービス」ウィンドウが表示されます。次のようにします。IBM i プログラムがステートフルかどうかの指定には、特に注意してください。
- 「ソース・フォルダー」フィールドが使用可能な場合は、Web プロジェクトまたは一般プロジェクトを、デプロイメント記述子が含まれているソース・フォルダーとともに指定します。REST サービスは、デプロイメント記述子生成時に作成される出力です。
- 「EGL デプロイメント記述子ファイル名」フィールドが使用可能な場合は、デプロイメント記述子ファイルの名前を指定します。
- 中央のボックスで、生成する各サービスについて、「enableGenerate」を選択します。
- REST サービスが既に生成されている場合は、デプロイメント記述子で、サービスを生成しないことを指定することにより、生成の時間を節約できます。ただし、デプロイメント記述子項目のいずれかの側面を変更する場合は、サービスを再生成する必要があります。
- REST サービスへのアクセスに使用するアドレスの低位修飾子を指定する「URI」フィールドを変更できます。
- 特定のサービスについて、最後のエントリーが IBM i プログラムがステートフルかどうかを反映していることを確認してください。エントリーの値を変更するには、そのエントリーをクリックします。
- デプロイメント記述子内の同じ名前の REST サービス・エントリーを上書きする場合は、「既存ファイルの上書き」を選択します。
既存の項目を上書きしないようにするには、このチェック・ボックスをクリアします。
- 最後のセクションで (使用可能な場合)、「追加」ボタンをクリックして、Web サービスから IBM i プログラムにアクセスするために使用するプロトコルを変更または追加します。「プロトコルの追加」ウィンドウが表示されます。プロトコル名と、『共用可能プロトコルのオプション』に示されている追加情報を指定します。
「新規 EGL Web サービス」ウィンドウに戻るには、「終了」をクリックします。
- 「次へ」をクリックしてウィザードでの処理を続行するか、または (可能な場合) 「終了」をクリックして作業を完了します。
インターフェース・パーツの作成
REST サービスにインターフェース・パーツとレコード・パーツを組み込むことを示した場合は、「新規 EGL インターフェース・パーツ」ウィンドウが表示されます。
- 「ソース・フォルダー」フィールドで、インターフェース・パーツを受け取る Rich UI プロジェクトを、ソース・フォルダーとともに指定します。
- 「パッケージ」フィールドに、パッケージ名を指定します。必ずパッケージ名を指定してください。そうしないと、識別したプロジェクト内のパーツにその他のプロジェクトがアクセスできません。
- 「EGL ソース・ファイル名」フィールドに、ファイル名を指定します。
- 後続のフィールドで、特定のインターフェース・パーツおよび関連レコード・パーツの詳細を指定します。
- 「インターフェース名」フィールドに、インターフェース・パーツ用に作成する名前を指定します。
- 「関数」領域で、そのインターフェース・パーツで表される各 IBM i 関数を識別します。ウィザードは、プリミティブ型ではない各パラメーターについて、非構造化レコード・パーツを作成します。
- 既存のファイルを上書きするには、「既存ファイルの上書き」を選択します。既存のファイルを上書きしないようにするには、このチェック・ボックスをクリアします。
Web (SOAP) サービスの作成
Web (SOAP) サービスを作成している場合、「新規 EGL Web サービス」ウィンドウが表示されます。
- 「ソース・フォルダー」フィールドが使用可能な場合は、Web プロジェクトまたは一般プロジェクトを、デプロイメント記述子が含まれているソース・フォルダーとともに指定します。Web サービスは、デプロイメント記述子生成時に作成される出力です。
- 「EGL デプロイメント記述子ファイル名」フィールドが使用可能な場合は、デプロイメント記述子ファイルの名前を指定します。
- 中央のボックスで、生成する各サービスについて、「enableGenerate」を選択します。Web サービスが既に生成されている場合は、デプロイメント記述子で、サービスを生成しないことを指定することにより、生成の時間を節約できます。ただし、デプロイメント記述子項目のいずれかの側面を変更する場合は、サービスを再生成する必要があります。
- デプロイメント記述子内の同じ名前の SOAP サービス・エントリーを上書きする場合は、「既存ファイルの上書き」を選択します。
既存の項目を上書きしないようにするには、このチェック・ボックスをクリアします。
- 最後のセクションで (使用可能な場合)、「追加」ボタンをクリックして、Web サービスから IBM i プログラムにアクセスするために使用するプロトコルを変更または追加します。「プロトコルの追加」ウィンドウが表示されます。「EGL 生成ガイド」の『サービス・リクエスターのデプロイメント記述子オプション』で指定されている追加情報とともに、プロトコル名を指定します。「新規 EGL Web サービス」ウィンドウに戻るには、「終了」をクリックします。
- 「終了」をクリックして、ウィザードでの作業を完了します。