連載 Magic V10リッチクライアント
第3回 Magicリッチクライアントの開発環境
リッチクライアントはWebサーバ経由で動作するインターネットアプリケーションの一種です。したがって、Magicでリッチクライアント・アプリケーションを開発するには、従来のWebアプリケーション開発時と同じような開発環境を用意する必要があります。ここではリッチクライアントの開発環境を満たす要件についてまとめてみたいと思います。
丹田 昌信 (プロフィール)
ブラウザクライアントなり、マージ型Webアプリケーションなりを一度でも手掛けたことのある方ならお分かりかと思いますが、インターネットアプリケーションを開発するには、開発ツール以外にそれなりの開発・実行環境を整えておく必要があります。Magicでリッチクライアント・アプリケーションを作成するには、次のような要件が求められます。
- 開発マシンにJava JRE 1.4以降がインストールされていること(必須)。
- 開発マシンにWebサーバがインストールされていること(必須)。
- 開発マシンにSQL系のDBMSがインストールされていること(推奨)。
ここではこれらの要件にもとづいて、それぞれの環境の構築法についてまとめてみたいと思います。なお、従来のWebアプリケーション作成時に必要とされていたWebオーサリングツール(Microsoft FrontPage等)はほとんど必要ありません。また、Webブラウザも実行確認をするうえでは必要となることもありますが、開発途上ではほとんど必要とされません。
Java JREの環境構築
Java JRE(Java実行環境)の実装確認は前号で解説しましたので、ここでは省略します。すでにインストールされていればWindowsのコントロールパネル上にJavaのコントロールパネルアイコンが存在します。インストールされていなくても、リッチクライアントの開発過程で必要に応じてインストールすることができます。
Webサーバの環境構築
Webサーバをインストールするには、開発マシンにWebサーバを搭載したOS(Windows XP Professional等)がインストールされている必要があります。Webサーバは通常、オプションインストールとなっていますので、Magic本体のインストールに先立ち、Windows上であらかじめ環境を整えておく必要があります。WebサーバのインストールとMagicのインストールの順番を誤ると、Webサーバ上にエイリアス(仮想ディレクトリ)が作成されませんので注意が必要です。
Windows XP Professional上にWebサーバをインストールするには、Windowsコントールパネルの「プログラムの追加と削除」で「Windowsコポーネントの追加と削除」を選択します。そして、「インターネットインフォメーションサービス(IIS)」をインストールします(画面1)。
IISサービスの開始/停止操作は、Windows管理ツールの「インターネットインフォメーションサービス」もしくは、同管理ツールの「サービス」から行います(画面2、画面3)。
その後にMagic V10のリッチクライアント版をインストールすると、IIS(インターネットインフォメーションサービス)上に次の5つのエイリアスが登録されることが確認できます(画面4)。
- eDevBCCache
- eDevRCProjects
- eDevRCModules
- eDevRCCache
- eDevScripts
ここで「BC」はブラウザクライアントの頭文字を表し、「RC」はリッチクライアントの頭文字を表していますので、リッチクライアントに関連するエイリアスはeDevRCProjects、eDevRCModules、eDevRCCacheの3つであることが分かります。
また、それらの実パス(ローカルパス)はエイリアスのプロパティで確認することができます。たとえば、eDevRCCacheのローカルパスは、画面5のようにプロパティダイアログを開いて確認すると、「C:\Program Files\MSE\eDeveloper 10.1\RichClientCache」等であることが分かります。
なお、これらのエイリアス情報はMagic側の動作環境テーブルの設定と一致している必要がありますので、手動で設定を変更した場合は両者の設定が常に一致するように確認しておきます(画面6)。
次に、SQL系DBMSの導入についてまとめます。DBMSはSQLServerでもOracleでも、あるいはDB2 UDBでも構いませんが、ここではMagic V10に同梱されているSQLServer 2005 Expressを用いた環境設定を解説します。
SQLServerの環境構築
インターネットアプリケーションにおいては、トランザクションの適用が必須となります。インターネットを経由したアプリケーションである関係上、セッション障害やコミット漏れ等のトラブルをあらかじめ考慮したアプリケーションの設計が要求されるからです。
Magic V10リッチクライアントでは、DBMS側の物理トランザクション機能は使用せず、Magic独自の遅延トランザクションを用いてアプリケーションの構造を一元化します。これにより、DBMSに依存しないトランザクション処理でパフォーマンスの向上を図るとともに、アプリケーションの作成を簡素化します。
また、Magic V9からはDB SQL Where句以外にMagic SQL Where句が使用可能となっており、SQL構文を知らなくとも、Magicの定義式テーブル上で簡単にSQL Where句の定義が行えるようになっています。これを使用すれば、ISAM系DBでは成し得なかった高速絞り込み検索が実現され、回線を往来するデータ量も最小限に絞り込むことが可能となります。
これらのことを考慮すると、インターネットアプリケーションにおいてはSQL系のDBMSの使用が推奨されます。従ってここでは、Microsoft SQLServer 2005 Expressを使用した環境構築の例について解説したいと思います。
SQLServer 2005 Expressは、Magic V10のボーナスCD-ROMにも収められています。また、最新版を入手したい場合はMicrosoftのダウンロードサイトから無償で入手することもできます(画面7)。なお、この時にSQLServer用のGUI管理ツールであるSQLServer Management Studio Expressも忘れずにインストールしておくことをお勧めします(画面8)。
SQLServer 2005 Expressがインストールされると、Windowsのサービス一覧に関連サービスの稼動状況が表示されるようになります(画面9)。
この状態でWindowsのスタートメニューからGUI管理ツールであるSQLServer Management Studio Expressを起動すると、画面10のようにSQLServerへの接続画面が現われます。
このときに、SQLServerに対してMagicアプリケーションサーバからWindows認証が届かないような環境の場合は、接続認証がSQLServer認証でも通るように、SQLServer 2005のインストール時にオプション設定を行っておく必要があります(画面11)。
Magicアプリケーションサーバからは、SQLServer 2005への接続にWindows認証、もしくはSQLServer認証のいずれかの認証方式を用いてログインします。画面12はSQLServer認証を用いた場合の例です(画面12)。
SQLServerとその管理ツールの導入が完了したら、Magic側からデータ定義(旧テーブル定義)が行えるように、あらかじめSQLServer側に「データベース」を作成しておく必要があります(画面13)。
データベースの名称は任意ですが、ここで作成したデータベース名がMagic側のデータベーステーブルで用いられることになります(画面14)。
なお、MagicからSQLServerにアクセスするにはMagic側にSQLServer用のゲートウェイがインストールされている必要があり、Magic.iniにてゲートウェイのロード設定が行われている必要があります(画面15、画面16)。
ちなみに、ここまでの環境設定はMagic V10リッチクライアント版のリリースを待たなくとも可能ですので、現行バージョンのV10で事前に環境を整えておかれることをお勧めします。
次回は、SQLServerとUnicodeを用いたデータ定義(テーブル定義)について解説します。
(以上、2007年12月1日号)