EGL Rich UI の作業の開始

このトピックでは、EGL Rich UI を使用してアプリケーションの開発を 開始する方法を説明します。

Rich UI 機能の使用可能化

既存のワークスペースで 作業しているときは、Rich UI 機能を使用可能に設定してください。
  • 「ウィンドウ」>「設定」とクリックします。「設定」ダイアログ・ボックスが表示されます。
  • 「一般」を展開して「機能」をクリックします。 「機能」ページが、表示されます。
  • 「拡張」をクリックする。 「拡張機能 (Advanced Capabilities)」ダイアログが、表示されます。
  • 「EGL Rich UI」をクリックして、「OK」をクリックします。
  • 「適用」をクリックして変更を保存します。 「設定」ダイアログ・ボックスが引き続き表示されます。 または、「OK」をクリックすることで、変更内容を保存してページを終了 するか、「キャンセル」をクリックすることで、変更を取り消してダイアログ・ボックスを終了します。

EGL ファイルに対するデフォルトとしての Rich UI エディターの設定

新規プロジェクトを作成する場合、EGL では開くファイルの種類に対応した正しいエディターが自動的に選択されます。つまり、Rich UI ハンドラーは EGL Rich UI エディターで開かれます。ただし、プロジェクトをワークスペースにインポートする場合は、EGL は標準 EGL ソース・エディターですべての .egl ファイルを開きます。.egl 拡張子が付いたファイルに対して常に EGL Rich UI エディターを使用するように EGL を設定できます。
  1. 「ウィンドウ」>「設定」とクリックします。「設定」ダイアログ・ボックスが表示されます。
  2. 「一般」および「エディター」を展開し、「ファイルの関連付け」をクリックします。「ファイルの関連付け」ダイアログが表示されます。
  3. 「ファイル・タイプ」セクションで、「.egl」をクリックします。
  4. 「関連付けられたエディター (Associated editors)」セクションで、「EGL Rich UI エディター」をクリックし、右側で、「デフォルト」をクリックします。
  5. 「OK」をクリックします。

Rich UI サンプルへのアクセス

Rich UI サンプルを使用して、 このテクノロジーを探索します。
  1. 「ヘルプ」->「サンプル」をクリックします。「ヘルプ」ダイアログ・ボックスが表示されます。
  2. 「サンプル」「テクノロジーのサンプル」を展開します。
  3. 「Rich UI テクニカル・サンプル (Rich UI technical sample)」をクリックします。
  4. ワークベンチに com.ibm.egl.rui プロジェクトがまだ含まれていない場合は、このプロジェクトのエントリーをクリックします。
  5. エントリーをクリックして、サンプルをインポートします。
  6. ワークベンチ・プロジェクト・エクスプローラーで、プロジェクト 「com.ibm.egl.rui.samples」、 ファイル「EGL Source」、パッケージ「contents」を展開します。
  7. 以前に Rich UI エディターを EGL ファイル用のデフォルトに設定した場合は、「contents.egl」をダブルクリックします。それ以外の場合は、「contents.egl」を右クリックし、「アプリケーションから開く」 > 「EGL Rich UI エディター」を選択します。
  8. エディターの下部の「プレビュー」タブを選択します。
  9. スクリーン内の指示に従い、表示されている選択肢を試行してください。

最初の Rich UI プロジェクトの作成

Rich UI サンプル・プロジェクトを使用せずに作業するには、以下のようにします。
  1. 「ファイル」->「新規」->「プロジェクト」をクリックします。新規プロジェクト・ウィザードが表示されます。
  2. 「EGL」を展開し、「EGL プロジェクト」をクリックしてから「次へ」をクリックします。「新規 EGL プロジェクト」ページが表示されます。
  3. プロジェクト名を入力し、「Rich UI プロジェクト」を選択します。 通常は、「完了」をクリックすることで作業を完了しますが、 追加のオプションを検討する場合は、続行してください。
    1. 「次へ」をクリックすると、「EGL プロジェクト」 ページが表示されます。
    2. 現在のワークスペースを保存するディレクトリーにプロジェクトを含めるには、「プロジェクトのデフォルトのロケーションを使用」チェック・ボックスを選択します。 その他の場合は、チェック・ボックスをクリアし、「参照」機構を使用して別のディレクトリーを指定します。
    3. EGL デプロイメント記述子を使用すると、アプリケーションがリモート・サービスに 柔軟な方法でアクセスできます。この結果、構成時に、インストーラーによってサービス・アクセスの 詳細を変更できます。記述子を組み込むことによるオーバーヘッドはわずかであるため、 どのような意図の場合であっても、「EGL デプロイメント記述子の作成」チェック・ボックスを選択することをお勧めします。 「次へ」をクリックします。「EGL 設定」ページが表示されます。
    4. 「プロジェクト」タブに、ワークスペース内に存在する他の全プロジェクトがリストされます。プロジェクトの EGL ビルド・パスに追加する各プロジェクトの横にあるチェック・ボックスをクリックします。
    5. プロジェクトの配置順序を変更するか、いずれかのプロジェクトをエクスポートするには、 「順序およびエクスポート」タブをクリックし、次のようにします。(i) ビルド・パスの順序におけるプロジェクトの位置を変更するには、プロジェクトを選択し、「上へ」ボタンおよび「下へ」ボタンをクリックします。(ii) プロジェクトをエクスポートするには、関連するチェック・ボックスを選択します。(iii) すべてのプロジェクトを一度に処理するには、「すべて選択」ボタンまたは「選択をすべて解除」ボタンをクリックします。
    6. 「終了」をクリックします。

EGL についての一般情報の確認

EGL Cafe は、EGL を含む製品に関する情報を提供します。

     http://www.ibm.com/rational/eglcafe

EGL の簡潔な紹介については、『Enterprise Web 2.0 with EGL』を参照してください。

     http://www.mc-store.com/5107.html

EGL プログラマー・ガイド」で、(Rich UI に特化した トピックに加え) 以下のトピックを参照してください。
  • Eclipse IDE での EGL の使用
  • EGL プロジェクトの概要』から『プロパティー』まで
    • データ・パーツ関連では、書式グループと ArrayDictionary に関する記述を無視してください。
    • ロジック・パーツ関連では、Rich UI ハンドラー以外のハンドラーに関する記述とプログラムに関する 記述を無視してください。
    • ビルド記述子とデプロイメント記述子に関する以外のビルド・パーツは無視してください。
  • コンテンツ・アシスト
  • EGL ファイルおよび EGL パーツの検索
  • EGL エディターでの設定の変更』の特に以下のトピック
    • EGL エディターの折りたたみにおける設定の変更
    • EGL エディターの import ステートメント編成の設定
    • ソース・スタイルの設定の変更
    • コード・テンプレートを使用可能/使用不可にする
  • EGL デバッガー・コマンド
  • EGL デバッガーの設定の変更
EGL 言語解説書」を参照するときは、以下の主題に関する記述を除外 してください。
  • ファイルおよびデータベース・アクセスに関連する forEachget などの文および関連する例外レコード。 Rich UI で作業するときは、そのようなアクセスはすべて呼び出されたサービスに よって処理されます。
  • プログラムに関連する文である transfer および call
  • ユーザー・インターフェース。
  • BasicRecord と ExceptionRecord 以外のレコード・ステレオタイプ。
  • Java™または COBOL の処理に固有の詳細。具体的には、 J2EE、CICS®、 IMS™、および z/OS® バッチに関連する詳細。
  • VisualAge® Generator または Informix® 4GL との互換性。
  • システム・ライブラリーの ConsoleLib、ConverseLib、DliLib、J2eeLib、JavaLib、LobLib、 PortalLib SqlLib、VgLib、および VgVar。
EGL 生成ガイド」で、(Rich UI に特化した トピックに加え) 以下のトピックを参照してください。
  • EGL 生成の紹介
  • ビルド記述子パーツ

互換性の問題の検討

主に以下のような互換性の問題があります。

  • ファイル、データベース、およびプリンターのアクセスは、サービス・アクセスによってのみ サポートされ、Rich UI アプリケーション・コードによる直接のサポートありません。ただし、Rich UI では、非構造化レコード・パーツ であるステレオタイプ SQLRecord (およびステレオタイプ BasicRecord と ExceptionRecord) を サポートします。サポートされないのは、レコード・パーツ・プロパティー の containerContextDependenti4glItemsNullable、 および textLiteralDefaultIsString です。
  • レポート作成は直接サポートされません。
  • 関数の多重定義はサポートされません。
  • 次の出力の生成はサポートされません。プログラム、フォーム、書式グループ、データ・テーブル、サービス、または Javaまたは COBOL に固有のこの他の出力。
  • call ステートメントの 1 バージョンはサポートされますが、サービスを呼び出すのみです。
  • exit ステートメントでサポートされるバリエーションは、exit forexit ifexit while、および exit case のみです。
  • addcloseconversecontinuedeletedisplayexecuteforEachforwardgetfreeSQLgoTomoveopenopenUIprepareprintreplaceset、 および transfer はサポートされません。
  • サポートされるデータ型は、ANY、BIGINT、BIN (ただし、小数点以下の桁を含まない場合に限る)、Boolean、DataItem、DATE、DECIMAL、Delegate、Dictionary、FLOAT、INT、NUM、NUMBER、SMALLFLOAT、SMALLINT、STRING (ただし、サイズ制限を含まない場合に限る)、TIME、TIMESTAMP、NUM、MONEY、サービス・パーツ、インターフェース・パーツ、外部型 (ステレオタイプ JavaScript)、サポートされるデータ型による配列、 および非構造化の基本、例外、および SQL レコード・パーツです。
  • サポートされないデータ型は、ArrayDictionary、BIN (小数点以下の桁数を含むもの)、BLOB、CHAR、CLOB、DataTable、DBCHAR、HEX、INTERVAL、MBCHAR、NUMC、STRING (サイズ制限を含むもの)、PACF、UNICODE、構造化されたレコード・パーツと、コンソール UI、レポート、テキスト UI、および Web トランザクションのテクノロジーに固有のパーツです。
  • システム・ライブラリーの ConsoleLib、ConverseLib、DliLib、DliVar、J2eeLib、JavaLib、LobLib、PortalLib ReportLib、SqlLib、VgLib、および VgVar はサポートされません。
  • dateTimeLib 関数の intervalValue() および intervalValueWithPattern() はサポートされません。
  • mathLib 関数の assign() はサポートされません。 また、前述のデータ型制限により mathLib 関数の absmaxminprecision、および round のサポートが制限されます。
  • StrLib 定数 nullFill はサポートされません。
  • strLib 関数の byteLen()charAsInt()defaultMoneyForm()defaultNumericFormat(), formatNumber()getNextToken()getTokenCount()intAsChar()intAsUnicode()setBlankTerminator()setNullTerminator()、および unicodeAsInt() はサポートされません。また、前述のデータ型制限により mathLib 関数の getNextToken() および indexOf() のサポートが制限されます。
  • サポートされる sysLib 関数は、conditionAsInt()writeStdError()、 および writeStdOut() のみです。
  • サポートされる sysVar 変数は、sysVar.systemType のみです。
  • データ型 CHAR、DBCHAR、および MBCHAR のリテラルはサポートされません。
  • 3 つのビット単位演算子 (&|、および Xor) はサポートされません。in 演算子もサポートされません。
  • is 演算子および not 演算子のバリエーションのうち、サポートされるのは、sysVar.systemType の使用と、blanksnumeric のレコード固有テストのみです。
  • Rich UI コードでは、ANY 型の変数と値変数を比較できません。
    // サポートなし
    if (myAny == 1)
       ;
    end
  • EGL デバッガー使用時の詳細は、『Rich UI のデバッグ』で説明されているように、少し異なります。
  • EGL 全体で、プロパティーは変数を参照できます (theProperty = theVariable)。参照個所の後のコードで変数が宣言されている場合も含みます。Rich UI も同様に動作しますが、次の例外があります。Widget 型 (拡張機能を目的として使用される汎用型) のウィジェットは、そのウィジェットが参照される前に宣言する必要があります。
  • ウィジェットは、EGL 参照変数です。ウィジェットを静的に宣言する (new 演算子を使用しない) ときは、次の例に示すように、必ず値の設定ブロック ({}) を指定してください。
    myButton Button{};