ホーム > Magic xpa > 旧Magicバージョン > 連載 Magic V10リッチクライアント

サイト内検索

連載 Magic V10リッチクライアント

第5回 APGでリッチクライアントタスクを作成する

さて、これでリッチクライアントアプリケーションを作成する準備はすべて整ったことになります。では早速、Magic eDeveloper V10のAPG機能を用いて、簡単なリッチクライアントタスクを作成してみることにしましょう。

丹田 昌信 (プロフィール

動作環境の再確認

はじめに、前号までに設定した動作環境の内容をもう一度、確認しておきます。ここでは、サーバ環境も含めて、1台のパソコンですべて賄うものとします。使用するパソコンはWindows XP Professionalです。

  1. Java JRE(Java実行環境)のバージョン1.4以上がインストールされていること。
  2. Webサーバ(Internet Information Service)がインストールされ、サービスとして稼動していること。
  3. SQLServer 2005 Expressがインストールされ、サービスとして稼動していること。

プロジェクトの作成

以上を確認したら、Magic eDeveloper V10を起動し、適当なプロジェクト名を付けてアプリケーションをオープンします。ここでは、プロジェクト名を「SampleApp」とします(画面1)。

画面 1 SampleAppプロジェクトを作成
画面 1 SampleAppプロジェクトを作成

データソースの定義

プロジェクトをオープンしたら、簡単なデータソースを定義します。データリポジトリを開いて新しい行を作成し、データソース名を「県庁所在地」、データベースを「SQLServer」とします(画面2)。

画面 2 データソースの定義
画面 2 データソースの定義

「県名」と「都市名」という2つのカラムを定義し、いずれも型は「U=Unicode」、書式は「10」とします(画面3)。

画面 3 カラムをUnicodeで定義
画面 3 カラムをUnicodeで定義

インデックスを適当に、「県名」として作成します(画面4)。

画面 4 インデックスの定義
画面 4 インデックスの定義

テーブルの作成とレコードの登録

続いて、プルダウンメニューの「オプション」から「APG」を選択するか、あるいはCtrl+Gを押してAPGを起動します(画面5)。

画面 5 データリポジトリからAPGを起動
画面 5 データリポジトリからAPGを起動

データリポジトリからのAPGではリッチクライアントタスクは作成できませんので、ここではひとまず、「E=実行」モードでSQLServer側にテーブルを作成し、適当なレコードを数件登録しておきます(画面6)。

画面 6 適当なレコードを数件登録
画面 6 適当なレコードを数件登録

APGでリッチクライアントタスクを作成

プログラムリポジトリを開き、新しい行を作成して、プルダウンメニューの「オプション」から「APG」を選択するか、あるいはCtrl+Gを押してAPGを起動します(画面7)。

画面 7 プログラムリポジトリからAPGを起動
画面 7 プログラムリポジトリからAPGを起動

「オプション」欄で「C=リッチクライアント」を選択し、メインソースを「県庁所在地」とします(画面8)。

画面 8 APGで「C=リッチクライアント」を選択
画面 8 APGで「C=リッチクライアント」を選択

OKを押して、APGダイアログを閉じます。これで、リッチクライアントタスクがプログラムリポジトリに登録されました(画面9)。

画面 9 リッチクライアントタスクの完成
画面 9 リッチクライアントタスクの完成

リッチクライアントタスクの実行

では、実行してみることにしましょう。プルダウンメニューの「オプション」から「構文チェック」を選択するか、あるいはF8キーを押して、プログラムをチェックします。文法的なエラーがなければ、ステータス行に「プログラムは正常です。」と表示されます(画面10)。

画面 10 プログラムの構文チェック
画面 10 プログラムの構文チェック

プルダウンメニューの「デバッグ」から「実行」を選択するか、あるいはF7キーを押してリッチクライアントタスクを実行します。エラーがなければ画面11のようにSDIインターフェースのリッチクライアントタスクが、Javaネイティブアプリケーションとして起動されます。

画面 11 SDIインターフェースのリッチクライアントタスク
画面 11 SDIインターフェースのリッチクライアントタスク

起動されたウィンドウをよく見ると、スクロールバーの表示形式等がWindowsのウィンドウとは若干異なっており、これがJavaアプリケーションであることが理解できます。

また、カラムの型にUnicodeを使用していますので、Magicの動作環境テーブルのコードページ設定にかかわらず、日本語が正常に表示されていることが分かります。

ちなみに、ここでCtrl+Mキーを押せば、通常のオンラインタスク同様、APGの初期モードである「Q=照会」モードから「M=修正」モードに切り替わることも確認できます(画面12)。

画面 12 Ctrl+Mキーで修正モードに変更
画面 12 Ctrl+Mキーで修正モードに変更

アプリケーションサーバの稼動確認

このとき、Magic開発版のウィンドウはデバッグ実行モードになっており(画面13)、さらにもうひとつのウィンドウが開いて、Magicアプリケーションサーバが起動されたことが確認できます(画面14)。

画面 13 開発版のデバッグ実行モード
画面 13 開発版のデバッグ実行モード
画面 14 Magicアプリケーションサーバの稼動
画面 14 Magicアプリケーションサーバの稼動

つまり、プログラムリポジトリからリッチクライアントタスクを起動したことによって、合計3つのウィンドウが開かれた状態になっていることが確認できます。これは、1台のパソコン上でMagicアプリケーションサーバを兼任していることの表れです。

実際の運用環境上では、画面14のウィンドウはMagicアプリケーションサーバ側でバックグラウンドタスクとして稼動することになります。

リッチクライアントタスクを終了するには、ウィンドウの「×」ボタンを押すか、またはESCキーを押します。リッチクライアントタスクのウィンドウが閉じると同時に、アプリケーションサーバのウィンドウも閉じられ、Magic開発版のウィンドウは開発モードに戻ります(画面15)

画面 15 リッチクライアントタスクの終了
画面 15 リッチクライアントタスクの終了

以上が、プログラムリポジトリからリッチクライアントタスクを起動したときの実行例です。これまでのオンラインタスクとほぼ同様のスタイルでアプリケーションの開発が行えることが理解できたかと思います。

オンラインタスクの場合と異なるのは、タスクの実行時にMagicアプリケーションサーバが起動された点と、リッチクライアントタスクのウィンドウがJavaネイティブアプリケーションのSDIウィンドウとしてオープンされた点です。

実際の運用環境上では、MagicアプリケーションサーバはWindowsサーバ等のサーバ上で実行され、Webサーバを介して、リッチクライアントとの間でリクエストの送受信が行われることになります。

以上が、プログラムリポジトリからデバッグモードでリッチクライアントタスクを実行した場合の例です。

次回は、プログラムリポジトリに登録されたリッチクライアントタスクを、インターネット上からリモート操作でどのように実行させるのかを解説します。

(以上、2008年1月1日号)