EGL 生成およびデプロイメントの概要
EGL ソース・コードを書き込んでテストした後、ターゲット・プラットフォーム用に Java™、JavaScript、または COBOL コードを生成します。
- 『ワークベンチ・バッチ・インターフェースからの生成』
- 『Ant スクリプトによる生成』
または、『EGL ソフトウェア開発キット (SDK) を使用した生成』で説明されているように、EGL ソフトウェア開発キット (SDK) で生成できます。
Rich UI アプリケーションまたは Web サービス (オプション) を生成した後で、EGL デプロイメントと呼ばれるワークベンチ固有のステップを実行します。最後に、EGL 準備と呼ばれるステップが必要になる場合があります。例えば、COBOL コードをリモート・プラットフォームにデプロイする場合です。
以下のセクションでは、全体のプロセスの概要を示します。
EGL の開発およびデバッグ
最も効率的な練習は、コードを開発およびデバッグしてから、出力の生成とデプロイを明示的に指示することです。ただし、EGL の作業を開始するときに、ワークベンチのデフォルトの設定を受け入れて、プロセスの各側面が自動的に発生するようにすることができます。
コーディングは開発時に発生し、デバッグはデバッグ時に発生します。
EGL コンパイル
ワークベンチで EGL ソース・コードを開発するとき、 インターフェースは変更に対応します。例えば、EGL エディターは、無効な関数を書き込むとエラーをシグナル通知します。エラーを修正すると、 この関数の名前はすぐに「アウトライン」ビューに表示されます。
ワークベンチは、EGL エディター内で エラーをシグナル通知したり、別のビューに突然データを表示したりするコードに、 どのように応答するのでしょうか。このような振る舞いは、 非表示 EGL コンパイルによって可能です。これにより、ソース・コードは EGL 生成プログラムへの入力として後で使用できる種類の内部フォーマットに変換されます。
各コンパイルで、ソース・コードが構文上および意味上正しいかどうかが検証されます。 検証により、ワークベンチはエラーに応答できます。 この検証ではターゲット・プラットフォーム固有のエラーを キャッチすることはできません。
EGL コンパイラー は、ソース・コードをコンパイルするシステム・コードです。コンパイルはコンパイル時に発生しますが、ユーザーはプロセスのこの側面を制御しません。
EGL コンパイラーは、生成する出力を作成するための他のコードを呼び出します。
EGL ビルド
EGL ビルド は、 EGL ソース・コード・ファイルをコンパイルして、デバッグおよび生成に使用される 一連のファイルに出力を保存するプロセスです。ビルド・ファイルは中間表現 (IR) ファイル と呼ばれます。ファイル保存はビルド時に発生します。
ビルドの入力は、常に保存済み EGL ファイルです。
デフォルトでは、EGL ソース・コードを保存するごとに、 ワークベンチが EGL ビルドを実行します。デフォルトの動作を受け入れるには、メニュー・オプションのチェック・マークをそのままにしておきます。ビルドはインクリメンタルで、更新を必要とする IR ファイルのみが更新されるため、比較的高速です。
- を使用すると、特定のプロジェクトのインクリメンタル・ビルドを要求できます。
- を使用すると、ワークスペース内のすべてのプロジェクトのインクリメンタル・ビルドを要求できます。
メニュー・オプションをクリックしてどのプロジェクトをビルドするかを示した場合にも、EGL ビルドが実行されます。その場合、ワークベンチは既存の IR ファイルを直ちに除去し、すべての出力をビルドします。生成された出力が予期したとおりでない場合は、「クリーン」オプションを試してください。
ワークベンチのビルド設定が制御するのは EGL ビルドだけではありません。特に、EGL 生成コードやその他の Java ソース・コード (ファイル拡張子 .java) の変換、および Javaバイトコード (ファイル拡張子 .class) への出力の格納を行う、Java ビルドを制御します。次のセクションで、この詳細を再度説明します。
EGL 生成
EGL 生成 は、IR ファイルを受け入れ、ターゲット・プラットフォームに固有の出力を生成するプロセスです。生成には、生成でターゲット・プラットフォームに適切な入力が使用されることを 確実にするための検証ステップが含まれています。この検証ステップは、EGL 生成プログラムの ほとんどのメッセージのソースです。
生成の前に、特定のプラットフォームに対して出力を生成するための規則をユーザーが提供します。規則は、出力の生成方法、および後続のデプロイメントに対する出力のビルド方法に影響する XML 定義である、ビルド・パーツ 内にあります。
最も重要なビルド・パーツは、ビルド記述子 です。 そのパーツは、ターゲット・プラットフォームを識別し、必要に応じてその他のビルド・パーツを参照します。
- 対話式の開発環境でビルドが発生すると、ワークベンチは常にデバッガー用の出力を生成します。デバッグ出力が自動的に生成されるという事実により、満足できるコードが得られるまで生成とデプロイのプロセスのその他の側面を無視できます。
- 最終的に実稼働環境にインストールされる出力を生成するときに、いくつかのオプションが適用されます。これらのオプションを参照するには、をクリックし、をクリックすることにより表示されるペインを確認します。
- 最初のチェック・ボックスは、「必要な場合は、出力を生成する前にビルドを起動します」です。この設定は、明示的に生成ステップを要求する場合に意味があります。このチェック・ボックスを選択する (デフォルト) と、IR ファイルから出力を生成する前に IR ファイルが最新であることがワークベンチによって確認されます。
次の理由で、デフォルトの設定値をお勧めします。出力を生成する前にワークベンチが IR ファイルを更新しないと、出力がユーザーのロジックの前のバージョンに基づいている可能性があります。
- 「ビルド時に生成 (Generate on build)」の下に、COBOL、Java、および JavaScript 用のチェック・ボックスがあります。チェック・ボックスを選択して、IR ファイルが更新されると必ず生成が発生するようにします。
この設定は、以下のいずれの場合にも意味があります。
- が有効であるときに、EGL ファイルを保存する。
- が有効でないときに、またはをクリックする。
- をクリックする。
「書き込み、ビルド、およびデバッグを繰り返し行い、明示的な生成はプロセスの後半に残しておく」という、推奨されるプロセスで問題ない場合は、それらのチェック・ボックスをクリアできます。
デフォルトでは、Java または JavaScript の場合はビルド時の生成が発生します。この設定により、EGL の前のバージョンの動作が継続されます。
COBOL の場合は自動生成は指定されません。これは、ほとんどの場合、生成ステップの効果が COBOL の場合は大きくなるためです。生成ステップでは、通常、その後の準備のために COBOL コードが別のマシンに転送され、そのステップには特に時間がかかります。
- 「生成モード (Generation mode)」には、Java および JavaScript の生成に代わる、以下の 2 つの代替方法があります。
- メイン・パーツとその関連パーツの生成。
COBOL の生成にはこのオプションのみが有効です。
- パーツ別の生成。
詳しくは、『生成モード』を参照してください。
- メイン・パーツとその関連パーツの生成。
- 最初のチェック・ボックスは、「必要な場合は、出力を生成する前にビルドを起動します」です。この設定は、明示的に生成ステップを要求する場合に意味があります。このチェック・ボックスを選択する (デフォルト) と、IR ファイルから出力を生成する前に IR ファイルが最新であることがワークベンチによって確認されます。
生成への基本入力は、生成されるパーツが含まれている EGL ソース・ファイルです。 別の入力は、EGL デプロイメント記述子です。これは、サービスのデプロイ、Rich UI アプリケーションのデプロイ、およびサービスのアクセスの詳細を提供するファイルです。ただし、EGL デプロイメント記述子は、生成中ではなく後のステップで使用される場合があります。次のセクションで詳しく説明します。
- ウィザードを使用して生成。 このメニュー・オプションには、生成されるパーツのリストが示され、使用するデフォルトのビルド記述子が表示されます。 ウィザードを使用してビルド記述子を変更することができます。また、ターゲット・システムや、その他の頻繁に変更されるビルド記述子オプションを変更することもできます。
- 生成。 このオプションは、生成プロセスを開始し、ファイル、パッケージ、フォルダー、 プロジェクト、またはワークベンチ全体に指定したデフォルトのビルド記述子が使用されます。
その 2 番目のオプションに対するショートカットは、CTRL-G のクリックです。 生成可能なパーツが入ったファイルで作業している場合 (現時点で生成モードである場合)、または生成可能なデプロイメント記述子で作業している場合は、ショートカットを使用できます。
Java コードの生成後、メニュー・オプションが有効である場合は、Java ビルドが自動的に発生します。 生成される出力内に未解決の参照があるときに発生するエラーを回避するために、自動的なビルドは、Java ファイルを保存するたびではなく、生成ステップが実行された後でのみ発生します。
EGL 生成プログラム は、ソース・コードを生成するシステム・コードです。EGL 生成プログラムは、生成時に動作します。
EGL デプロイメント
- EGL デプロイメント記述子の設定に従って出力を生成する。
- 前に生成された出力を移動する (特に、EGL 生成の JavaScript または Web サービス)。
デプロイメント・ステップは、Rich UI アプリケーションの場合に必要です。 利点は効率です。デプロイメント・ステップを使用すると、コードの生成後、出力が簡単な変更でさまざまなデプロイメント・ターゲットにプッシュされます。ビルド記述子オプションを変更してからすべての出力を再生成するのではありません。プロジェクト自体に、サーバー・タイプおよび JEE レベルに関する詳細 (それ以外の場合にはビルド記述子で指定される詳細) が含まれています。
Rich UI に固有のデプロイメント詳細については、『Rich UI デプロイメントの概要』を参照してください。
EGL 生成 SOAP サービスおよび EGL REST-RPC サービスの場合、デプロイメント・ステップはオプションです。Rich UI アプリケーションについて示された利点は、それらの Web サービスの場合に有効です (特に、サービスが JEE 準拠アプリケーション・サーバーで実行される場合)。ただし、CICS® 用に Web サービスをデプロイする場合、主な利点は一貫性です。その他の Web サービスの場合に使用可能であるプロセスと同じプロセスを使用して出力を生成できます。
EGL サービスなどのその他の EGL 生成出力を生成および準備するときは、デプロイメント・ステップは存在しません。
- EGL 生成 Rich UI アプリケーションの場合、および Java 生成のみを含む Web サービスの場合、デプロイメント・ターゲットはユーザーが明示的に指定するプロジェクトです。
- EGL 生成 COBOL SOAP サービスの場合、ビルド記述子を参照することによりデプロイメント・ターゲットを指定します。
- z/OS® CICS で実行される COBOL SOAP サービスの場合、genDirectory オプションでターゲット・ディレクトリーを識別し、追加の設定で後続の処理を制御します。詳しくは、『CICS での Web サービスの生成およびデプロイ』を参照してください。
- IBM® i で実行される COBOL SOAP サービスの場合、ビルド記述子内の genProject オプションで Java コンポーネントのターゲット・プロジェクトを識別します。 詳しくは、『IBM i 上への COBOL SOAP サービスのデプロイに関する特別な考慮事項』を参照してください。
生成される出力およびランタイム・アーキテクチャーの概要については、『EGL での SOA サポート』を参照してください。
デプロイメント・ステップを実行するには、次のようにします。デプロイメント記述子またはそれを含むプロジェクトを右クリックしてから、「デプロイ」オプションをクリックします。
- EGL の以前のバージョンの場合と同様に、デプロイメント記述子を生成します。開発プロジェクトを生成することにより、間接的にデプロイメント記述子を生成できます。
- 前述したように、ビルド記述子オプションは後続の処理を制御します。
EGL デプロイヤーは、内部デプロイメント時にその処理を行います。資料では、外部デプロイメント時を参照する場合があります。これは、後続のステージで、デプロイ可能出力が実稼働環境にインストールされる場合です。
EGL 準備
EGL 準備は、EGL 生成の Java コードまたは COBOL コードのコンパイルまたは変換を行うプロセスです。EGL 生成の JavaScript は準備されません。
- Java コードのコンパイルの制御
- ターゲット・プラットフォームでの COBOL コードのコンパイルまたは処理。 処理には、バインド・ステップとリンク・エディット・ステップが含まれる場合があります。
EGL 準備は準備時に発生します。 詳しくは、『生成された Java 出力または COBOL 出力の準備』を参照してください。