Loading
|
@IT > Master of IP Network > Mobile Connection > PDA上のデータベースをSQLで操作する |
Palmで利用するエンタープライズシステムの開発(2) PDA上のデータベースをSQL文で操作する 株式会社テクノアート 大田黒和臣 2001/12/6
前回(「PDA対応の企業システムを開発するポイント」)は、PDAを企業内システムの一部として利用する際の概要を紹介した。今回からは、ミドルウェアとPDA上のRDBを利用した具体的なシステムの構築とプログラミング方法を紹介していく。 ミドルウェアとしては、前回も少し触れたがIBMの「DB2 Everyplace」を取り上げる。
DB2 Everyplaceは、ミドルウェアとPDA上で動作するデータベースを総称したものとして述べてきたが、厳密にはミドルウェア部分を「同期サーバ(SyncServer)」、PDA上のデータベースを「Everyplace」と定義している。 同期サーバは、上位(ソース)データベース(以降、ソースデータベースと略)とEveryplaceのレプリケーション(複製)を行うもので、稼働条件として「DB2 UDB」が必須である。DB2 UDBは、差分交換やデータの重複、セキュリティなどを管理するために利用されている。 同期サーバのコアモジュールはServletであり、Servlet Engine上で動作する。推奨はWebSphereであるが、ほかのServlet Engineでも動作するハズである。 ソースデータベースは、前バージョンまでDB2 UDBが基本であったが、現行のバージョンではJDBCが利用できるデータベースをすべてカバーするものとなっている。ソースデータベースがDB2UDBの場合、同期サーバをソースデータベース上に構築することも可能だ。
■DB2 Everyplaceはマルチプラットフォーム対応 DB2 Everyplaceは、以下のプラットフォームを用意しており、環境と用途に合わせて選定できるようになっている。現状は、Windows 2000/NT版の同期サーバが一番安定しているようである。
■DB2 Everyplaceには2つのエディションがある DB2 Everyplaceには、PDAデバイスで動作するデータベースのEveryplaceのみの「データベース・エディション」と、同期サーバを含んだ「エンタープライズ・エディション」の2つのエディションが用意されている。ビジネス向けには、エンタープライズ・エディションを使用することになる(個人ユースのスタンドアロン環境では、データベース・エディションを使用してもよいが、前回の説明で述べたとおり効果が薄い)。 Everyplaceのアプリケーションを容易に開発できるIDE(統合開発環境)「モバイル・アプリケーション・ビルダー(MAB)」も用意されている。これについては、現在フリーでダウンロード可能であり、本連載では触れないので各自触ってもらいたい(DB2 Everyplace最新バージョン評価版ダウンロードサイトから入手可能)。
DB2 Everyplaceがどのようなものか、実際にインストールを行ってみることにする。実務で使う場合はライセンスを購入するべきだが、製品版と変わらない「DB2 Everyplace最新バージョン評価版」がWebから入手できるので、こちらを利用するのも良いだろう。ライセンスは十分読んでほしい。
〈構築する環境〉 ■DB2 UDBエンタープライズ・エディションのインストール手順 エンタープライズ・エディションのインストール手順を順に説明する。 (1)DB2 UDBのインストール
(2)DB2 Everyplaceのインストール (3)同期サーバのインストール
サンプルアプリケーションもインストールされるが、これについては本連載では説明しない。基本を理解していただいた後に解析してみると面白いと思う。インストールそのものについては、画面の指示で間違えたり、迷うような部分はないと思う。 ■Palmデバイスへのインストール まず、同期サーバのインストールを行ったマシンに、HotSyncができる環境を構築する必要がある。 次に、スタートメニューのプログラムの中から「DB2 Everyplace」を選び、「モバイルデバイスへのインストール」を行うことで、EveryplaceのコアモジュールとなるPRCファイルが用意される。HotSyncを行って、デバイスにアプリケーションがインストールされたことを確認しよう。
■Palmデバイスへインストールされたモジュール Palmデバイスの「db2e」カテゴリには、以下のアプリケーションアイコンが確認できる。
「DB2eImport」は、PC上で用意されているツールを使い、DB2 UDBのDDLファイルとCSVファイルからPDBファイルを作成し、そのPDBファイルをEveryplaceのデータベースにインポートするツールだ。機能的には便利ではあるが、筆者が試した範囲では出来があまり良くなく、テスト程度でしか使用できないのが残念である。 「IBM Sync」は、同期サーバとレプリケーションを取る際に使用するアプリケーションであり、同期サーバと接続するためのユーザー・パスワードおよびサーバの設定などが行える。また、データのグループ単位(管理者にてグルーピング)でレプリケーション動作の指定も行える。 レプリケーション動作には次の種類があり、レプリケーション中の障害による中断などを十分考慮した作りになっていることがうかがえる。
レプリケーションの開始・終了および設定などはAPIが用意されているので、開発を行うアプリケーションから制御することも可能である。
「QBE」は、「Query By Example」の略で、言葉からすると検索テストを行うだけのアプリケーションに思われるが、実は優れものである。Everyplaceデータベースのテーブル/レコードの確認ができ、データの修正も可能である。さらにCLP(SQLステートメント・コマンドライン)からSQLステートメントを直接実行できる。
QBEの基本構成は、テーブルを選択してレコード一覧、レコード内容の確認修正が行える部分と、CLPによるSQLステートメント実行部分の2つとなっている。
図7と図8では、テーブルを選択し該当するレコードの一覧が表示され、さらに図9では選択したレコードの詳細が表示されることが確認できる。レコードの詳細では、値を変更することも可能である。また、データのフィルタリングを行い、その確認も容易だ(図10)。
それでは、実際にCLPにてSQLステートメントを入力してみよう。
図11は、M_WAREというテーブルに対して、SELECT文を実行し、結果を表示した画面である。ここでは、SELECTだけではなく、INSERT/UPDATE/DELETEなどのすべてのSQLステートメントが利用可能だ。 また、ここで使用可能なSQLステートメントは、開発するアプリケーションからも使用することができるため、開発前の簡単な確認には十分といえる。 Everyplaceは、結合照会であるカルテシアン積が利用可能であり、リレーションを張ることも容易だ。例えば、次のような構文が成り立つのである。
さらに、プリペアドステートメントとパラメータマーカーが使用できるため、効率よいデータアクセスが可能となっている(ただし、QBEではパラメータマーカーに値をセットすることはできない)。
「CREATE TABLE」なども使用できるので、
といったステートメントの操作を実行して、理解を深めていただきたい。 ◇ 今回は、DB2 Eeveryplaceの概要とQBEによる簡単なデータベース操作ついて説明した。次回は、実際にアプリケーションを作ってみる予定だ。
|
|
|
Copyright © ITmedia, Inc. All Rights Reserved.
|