EGL アプリケーションの開発

Enterprise Generation Language (EGL) は、ソフトウェア・テクノロジーではなく、 ビジネス上の問題に集中するために使用できるプログラミング言語です。 Rational® 開発環境では、 EGL ウィザードとその他のツールを使用すると、最小限の手間で複雑なアプリケーションを作成できます。

EGL アプリケーションを直接実行する代わりに、EGL コードを使用して各種プラットフォーム上で実行される Java™ または COBOL プログラムを生成します。

EGL をさまざまな方法で使用して、完全に対話式の Web ページおよびデータベース・サポートを持つ アプリケーションを作成できます。

EGL はサービス指向アーキテクチャー (SOA) をサポートしているため、広く分散している ドメインで再使用可能プログラムを作成したり、利用したりすることができます。EGL を使用することによって、アーキテクチャーに対して多層的なアプ ローチも可能になり、ユーザーのワークステーション (クライアント)、サー バー、お よび外部サービスの間で機能を分割することができます。 Java Server Pages (JSP) などの動的 Web ページと、任意の数の言語で作成された基礎となるプログラムの間で作業を分割することができます。

生成コード

EGL を使用して、次のようなタイプの生成済みコードを作成することができます。
  • Java プログラムは、サポートされるすべてのプラットフォームに対して生成できます。 この プログラムは、J2EE の外側、または以下の J2EE コンテナーのコンテキストの いずれかにデプロイすることができます。
    • J2EE アプリケーション・クライアント
    • J2EE Web アプリケーション
    • EJB コンテナー (この場合、EJB セッション Bean も生成します)

    EGL により生成された Java プログラムが非対話式である場合、EGL Web サービスでこのプログラムを呼び出せます。 この場合、プログラムは J2EE の内外に デプロイできます。また、CICS® バッチ・モードで実行するプログラムを EGL サービスまたは EGL Web サービスから呼び出すこともできます。

  • 非対話式 COBOL プログラムは、CICS for z/OS®、CICS の外にある z/OS バッチ・モード、または iSeries® で実行するように生成できます。同様に、COBOL プログラムは メッセージ処理プログラム (MPP) として、またはバッチ・メッセージ・プログラム (BMP) として IMS™ で 実行するように生成することもできます。

また、EGL を使用して、以下の特性を持つ Web アプリケーションを定義することができます。

この特殊な Web アプリケーションのサポートについて詳しくは、「EGL 言語解説書」内の『JSF ハンドラー・パーツ』を参照してください。

Web アプリケーションの開発にはハンドラー・パーツを使用することがベスト・プラクティスですが、 VGWebTransaction プログラムを更新することもできます。 EGL には、VisualAge® Generator プログラム・タイプのマイグレーションをサポートするために、このプログラム・タイプが含まれています。このプログラム・タイプにより、開発者は、あたかもコードが非 Web 環境で実行されているかのように Web アプリケーションを構築することができます。 パーツを使用してビルドされたほとんどのアプリケーションが制御を Web ページから Web ページへと転送するのに対して、 VGWebTransaction プログラムは、データを検索し、データを表示し、 ユーザー入力を受け入れ、データを後処理します。

VGWebTransaction プログラムはメインプログラムです (呼び出し先プログラムではありません) 。このプログラムが Windows 2000/NT/XP などの Java 環境用に生成された場合、プログラムは J2EE の 外部で実行されます。

また、EGL を使用して Java ラッパーを作成できます。 Java ラッパーの使用についての詳細は、このトピックの終わりにある関連トピックのリスト内でトピック『Java ラッパー』および『Java ラッパー・クラス』を参照してください。

サービス指向開発

サービス指向アーキテクチャー (SOA) の理念は、アプリケーション・プ ログラム・インターフェース (API) および共通関数のカスタム・ライブラリーの概 念 と似ており、これら 3 つはすべて、機能を再利用するために使用できます。 サービスは、広く分散したさまざまなドメインに存在する可能性があり ます。 SOA は、ローカル、またはインターネット経由のいずれかで、 これらの関数を見つけ、その呼び出しを行うための標準を定義します。

EGL は、サービス・プログラム・パーツとインターフェースを介してサービスの使用をサポートします。

多層アプリケーション

この他、EGL は、アプリケーション内のソフトウェア・タイプごとの分業を サポートします。アプリケーションは、一般にアーキテクチャーに多層式を取り入れており、 ユーザーのワークス テーション (クライアント)、サーバー、および外部サービスの間で機能を分割しています。 また、アプリケーションは Java Server Pages (JSP) などの動的 Web ページと、任意の数の言語で作成された基礎となるプログラムの間で機能を分割することができます。

多層構造は Model-View-Controller (MVC) 方式として 検討することができます。多層構造は、他のアーキテクチャー・スキームと同様に、アプリケーションの側面を概念的単位として検討する際に役に立ちます。 MVC はその最も単純な形式で、Web ページなどのユーザー・インターフェース (UI) からの入力を管理します。 MVC は、入力 (カスタマー番号など) を、 ビジネス上の課題 (カスタマー情報の保存や検索など) に対する解決策をモデル化するプログラムに渡します。 次に、このモデルは情報 (カスタマー・レコードなど) をビュー・コンポーネントに戻します(Web ページに戻ります) 。

Hello World プログラム

すぐに EGL の使用を開始するには、EGL「Hello World」チュートリアルを実行します。「Hello World」プログラムには、以下のようないくつかの目的があります。
  • 言語ツールの使用を開始できるようにする。
  • 言語の基本的概念を紹介する。
  • 物理的活動と新しい概念を関連付け、学習内容を忘れないようにする。

このチュートリアルにアクセスするには、『EGL による hello world プログラムの作成』を参照してください。


フィードバック