連載 Magic V10リッチクライアント
第5回 APGでリッチクライアントタスクを作成する
さて、これでリッチクライアントアプリケーションを作成する準備はすべて整ったことになります。では早速、Magic eDeveloper V10のAPG機能を用いて、簡単なリッチクライアントタスクを作成してみることにしましょう。
丹田 昌信 (プロフィール)
動作環境の再確認
はじめに、前号までに設定した動作環境の内容をもう一度、確認しておきます。ここでは、サーバ環境も含めて、1台のパソコンですべて賄うものとします。使用するパソコンはWindows XP Professionalです。
- Java JRE(Java実行環境)のバージョン1.4以上がインストールされていること。
- Webサーバ(Internet Information Service)がインストールされ、サービスとして稼動していること。
- SQLServer 2005 Expressがインストールされ、サービスとして稼動していること。
プロジェクトの作成
以上を確認したら、Magic eDeveloper V10を起動し、適当なプロジェクト名を付けてアプリケーションをオープンします。ここでは、プロジェクト名を「SampleApp」とします(画面1)。
データソースの定義
プロジェクトをオープンしたら、簡単なデータソースを定義します。データリポジトリを開いて新しい行を作成し、データソース名を「県庁所在地」、データベースを「SQLServer」とします(画面2)。
「県名」と「都市名」という2つのカラムを定義し、いずれも型は「U=Unicode」、書式は「10」とします(画面3)。
インデックスを適当に、「県名」として作成します(画面4)。
テーブルの作成とレコードの登録
続いて、プルダウンメニューの「オプション」から「APG」を選択するか、あるいはCtrl+Gを押してAPGを起動します(画面5)。
データリポジトリからのAPGではリッチクライアントタスクは作成できませんので、ここではひとまず、「E=実行」モードでSQLServer側にテーブルを作成し、適当なレコードを数件登録しておきます(画面6)。
APGでリッチクライアントタスクを作成
プログラムリポジトリを開き、新しい行を作成して、プルダウンメニューの「オプション」から「APG」を選択するか、あるいはCtrl+Gを押してAPGを起動します(画面7)。
「オプション」欄で「C=リッチクライアント」を選択し、メインソースを「県庁所在地」とします(画面8)。
OKを押して、APGダイアログを閉じます。これで、リッチクライアントタスクがプログラムリポジトリに登録されました(画面9)。
リッチクライアントタスクの実行
では、実行してみることにしましょう。プルダウンメニューの「オプション」から「構文チェック」を選択するか、あるいはF8キーを押して、プログラムをチェックします。文法的なエラーがなければ、ステータス行に「プログラムは正常です。」と表示されます(画面10)。
プルダウンメニューの「デバッグ」から「実行」を選択するか、あるいはF7キーを押してリッチクライアントタスクを実行します。エラーがなければ画面11のようにSDIインターフェースのリッチクライアントタスクが、Javaネイティブアプリケーションとして起動されます。
起動されたウィンドウをよく見ると、スクロールバーの表示形式等がWindowsのウィンドウとは若干異なっており、これがJavaアプリケーションであることが理解できます。
また、カラムの型にUnicodeを使用していますので、Magicの動作環境テーブルのコードページ設定にかかわらず、日本語が正常に表示されていることが分かります。
ちなみに、ここでCtrl+Mキーを押せば、通常のオンラインタスク同様、APGの初期モードである「Q=照会」モードから「M=修正」モードに切り替わることも確認できます(画面12)。
アプリケーションサーバの稼動確認
このとき、Magic開発版のウィンドウはデバッグ実行モードになっており(画面13)、さらにもうひとつのウィンドウが開いて、Magicアプリケーションサーバが起動されたことが確認できます(画面14)。
つまり、プログラムリポジトリからリッチクライアントタスクを起動したことによって、合計3つのウィンドウが開かれた状態になっていることが確認できます。これは、1台のパソコン上でMagicアプリケーションサーバを兼任していることの表れです。
実際の運用環境上では、画面14のウィンドウはMagicアプリケーションサーバ側でバックグラウンドタスクとして稼動することになります。
リッチクライアントタスクを終了するには、ウィンドウの「×」ボタンを押すか、またはESCキーを押します。リッチクライアントタスクのウィンドウが閉じると同時に、アプリケーションサーバのウィンドウも閉じられ、Magic開発版のウィンドウは開発モードに戻ります(画面15)。
以上が、プログラムリポジトリからリッチクライアントタスクを起動したときの実行例です。これまでのオンラインタスクとほぼ同様のスタイルでアプリケーションの開発が行えることが理解できたかと思います。
オンラインタスクの場合と異なるのは、タスクの実行時にMagicアプリケーションサーバが起動された点と、リッチクライアントタスクのウィンドウがJavaネイティブアプリケーションのSDIウィンドウとしてオープンされた点です。
実際の運用環境上では、MagicアプリケーションサーバはWindowsサーバ等のサーバ上で実行され、Webサーバを介して、リッチクライアントとの間でリクエストの送受信が行われることになります。
以上が、プログラムリポジトリからデバッグモードでリッチクライアントタスクを実行した場合の例です。
次回は、プログラムリポジトリに登録されたリッチクライアントタスクを、インターネット上からリモート操作でどのように実行させるのかを解説します。
(以上、2008年1月1日号)