Ultra Light 開発の概要

このマニュアルでは、Ultra Light テクノロジの概要について説明します。
Ultra Light テクノロジは、アプリケーションに最適化された業界初の超小型データベースを実現します。このデータベースは、モバイル・デバイス内にローカルで存在しながら、中央の統合データベース管理システムとデータを同期させることができます。Ultra Light テクノロジは、基本的にはモバイル・デバイスおよび組み込み型デバイス向けの配備オプションです。対象プラットフォームは、以下のとおりです。

.・Microsoft Windows CE オペレーティング・システム
.・MS-DOS

Ultra Light 開発プロセス

Ultra Light アプリケーションは、C/C++ および Embedded SQL で記述します。Embedded SQL 言語を使用すると、SQL 文に標準の C または C++ ソース・コードを混合させて使用できます。プリプロセッサが Embedded SQL のソース・ファイルを標準の C コードに変換し、Ultra Light アナライザ/ジェネレータというユーティリティがデータベースを C/C++ 形式で実装します。これらのユーティリティは、Adaptive Server Anywhere (SQL Anywhere) リファレンス・データベースに依存します。その後、すべての C/C++ コードを通常どおりにコンパイルし、作成されたオブジェクト・ファイルを特定の Ultra Light ランタイム・ライブラリとともにリンクして、ターゲット・プラットフォームにコピーする独立型の実行可能ファイルを生成します。以下の図は、Ultra Light 開発プロセスの全体像を示しています。

1. 統合データベースから開始します。統合データベースは、中央に位置するマスタ・データ・ストアです。Oracle、Microsoft SQL Server、Adaptive Server Enterprise、Adaptive Server Anywhere (SQL Anywhere) のいずれかのデータベースを統合データベースとして使用できます。統合データベースは、ユーザがデータを同期する対象となるデータベースであるため、同期スクリプトを格納する必要があります。同期スクリプトは、付属の SQL スクリプトを実行して作成する同期テーブルに格納されます。

2. Adaptive Server Anywhere (SQL Anywhere) リファレンス・データベースを作成します。通常、リファレンス・データベースと統合データベースは 2 つの別々のデータベースにします。ただし、Adaptive Server Anywhere (SQL Anywhere) データベースを使用する場合にのみ、1 つのデータベースが両方の役割を果たすことができます。リファレンス・データベースは統合データベースのサブセットであり、Ultra Light データベースで必要になるスキーマを格納します。スキーマとは、アプリケーションのカラムとテーブルおよびテーブル間の関係を定義するものです。リファレンス・データベースは、モデル・データベースともいえます。

3. Ultra Light 固有のテーブルおよび Java コードをリファレンス・データベースに追加します。そのためのスクリプトも用意されていますが、新しい Adaptive Server Anywhere (SQL Anywhere) データベースを作成する場合、この処理が自動的に行われます。既存の Adaptive Server Anywhere (SQL Anywhere) データベースをリファレンス・データベースとして使用する場合は、DBUPGRAD ユーティリティを使用してデータベースを変換します。

4. これで、Embedded SQL コードを記述する準備が整いました。通常、Embedded SQL ファイルは、拡張子 .SQC が付く一般的なテキスト・ファイルです。サンプルについては、Ultra Light サンプル・プログラムの custdb を参照してください。

5. Embedded SQL ファイルが複数ある場合、それぞれのファイルに対して Adaptive Server Anywhere (SQL Anywhere) SQL プリプロセッサを使用して前処理を実行する必要があります。それにより、C/C++ ソース・ファイルができあがります。すべてのソース・コード・ファイルをコンパイルする前に、Ultra Light データベースを作成します。これを行うには、Ultra Light ジェネレータ/アナライザを実行してもう一つの C/C++ ファイルを作成します。
Embedded SQL ファイルが 1 つだけの場合、SQL プリプロセッサがアナライザも実行するため、単一の C/C++ ソース・ファイルができあがります。

6. これで、ターゲット・プラットフォームのユーザ・インタフェースの記述と、すべてのソース・コードのコンパイルを行う準備が整いました。すべてのソース・ファイルのコンパイルが完了したら、すべてのオブジェクト・ファイルとプラットフォーム固有の Ultra Light ライブラリをリンクします。その結果、アプリケーション論理とデータベース論理を含むカスタム・データベース・アプリケーションができあがります。
これで、ハンドヘルド・デバイスに配備できます。

7. 最後に、ハンドヘルド・デバイスと統合データベース間でデータを同期するための同期スクリプトを記述します。

MobileLink 同期

Mobile Link 同期は、ハンドヘルド・デバイス上で稼働している Ultra Light データベース・アプリケーションのデータと統合データベースのデータを同期する機能です。
この機能は、主に以下の要素で構成されます。

.・同期論理
同期論理は、Ultra Light アプリケーションに組み込まれていて、自動的に有効になります。したがって、アプリケーションは、同期についてほとんど意識する必要がありません。Ultra Light ランタイムが、前回の同期以降に加えられた変更を記録します。ユーザは、Ultra Light アプリケーションと同期サーバ間の通信チャネルを用意する必要があります。HotSync、TCP/IP、ダイレクト・シリアル・ポート、無線通信のいずれかを通信チャネルとして使用できます。

・Mobile Link 同期サーバ
このサーバは、統合データベースと Ultra Light アプリケーション間のインタフェースを提供します。これは独立した構成要素であり、ODBC を使用して統合データベースに接続するため、特定のデータベース製品に縛られることがありません。

・同期スクリプト
スクリプトを記述することによって同期サーバのアクションを指示します。このスクリプトは、統合データベース内のテーブルに格納され、Mobile Link 同期サーバによって使用されます。