Palm Programmer's Laboratory
Introduction to Conduit Development601/2
この章では、Palm OS プラットフォームのためのソフトウェア開発についてと、コンジットが Palm OS でどのように機能するのかを説明します。
この章には以下の節があります。
基本操作 ^TOP^
デスクトップ コンピュータに接続される Palm ハンドヘルドを使って、以下の操作を実行することができます。
- ハンドヘルドに保存されているデータとデスクトップ コンピュータに保存されているデータの同期をとる。
- ハンドヘルドに保存されているデータのバックアップをデスクトップ コンピュータにとる。
- デスクトップ コンピュータに保存されたハンドヘルド アプリケーション データベースを(訳者補足: ハンドヘルドに)インストールする。
ハンドヘルドの特徴は、ハンドヘルドのプロセッサはたいていのデスクトップ コンピュータのプロセッサよりも非常に遅いということです。このため、PalmSource(訳者注: 現 ACCESS)は開発者に、プロセッサに負荷が集中するようなタスクはデスクトップ コンピュータに任せるような Palm ハンドヘルド用のアプリケーションを書くように推奨しています。特に、ハンドヘルドは以下のようなアプリケーションを実行することを意図しています。
- ポータブル データ入力
- ポータブル データ閲覧
- リモート処理
以下の操作を実行するアプリケーションは、デスクトップ コンピュータのプロセッサ能力のほうが適しています。
- 大量のデータ 入力
- データのバックアップ
- 印刷
- コンフィグレーション
- データ保存
コンポーネントの相互関係 ^TOP^
図 2.1 は Palm OS プラットフォームのコンポーネント間の関係を簡単に示しています。
HotSync マネージャは、ハンドヘルドとの通信を管理するデスクトップ アプリケーションです。このアプリケーションについては、第 5 章「HotSync マネージャの紹介」で説明します。HotSync マネージャは、ハンドヘルドとのバイトの実際の送信と受信を扱うために同期マネージャ API と呼ばれる通信 API を使用します。このことは、HotSync マネージャと同期マネージャ API を接続タイプに依存しなくします。
通常の通信接続タイプは以下のものを含みます。
- シリアル ケーブルによる直接接続
- 赤外線接続
- モデム接続
- ネットワーク接続
ソフトウェア コンポーネント ^TOP^
以下に示すのは、デスクトップとハンドヘルドとのデータの同期を可能にする Palm OS プラットフォームのコンポーネントとなるソフトウェアです。
- デスクトップ アプリケーション これは、あなたまたは他の開発者によって開発されるもので、デスクトップ コンピュータ上で実行され、ハンドヘルドとのデータの送受信を操作します。
- Palm OS アプリケーション これは Palm ハンドヘルド上で実行されるために開発されます。これらはハンドヘルド アプリケーションとも呼ばれます。
- HotSync マネージャ アプリケーションはデスクトップ コンピュータ上で実行され、ハンドヘルドと通信します。ユーザが HotSync ボタンを押すと、HotSync マネージャが起動してユーザのデスクトップ コンピュータ上に適切にインストール、コンフィグレーションされたコンジットを呼び出します。
- HotSync クライアントは、ユーザが HotSync ボタンを押したとき、ハンドヘルド上で起動されます。このハンドヘルド アプリケーションは HotSync マネージャを起動し同期マネージャのハンドヘルド上のデータベースにアクセスするという要求に応答します。
- コンジットは HotSync マネージャに接続するモジュールです。HotSync マネージャは、ハンドヘルドとデスクトップの両方でデータの読み書きを行うたびにコンジットを呼び出します。Conduit Development Kit を使ってコンジットを作成します。一般に、デーストップ アプリケーションとデータを共有するハンドヘルド アプリケーションを開発するとき、ハンドヘルドとデスクトップ間のデータの同期を行うコンジットも開発します。
- 同期マネージャ API' は、コンジットがハンドヘルドと通信するために使用するプログラム的なインターフェイスを提供します。この通信 API は、コンジットがハンドヘルドとデスクトップ間の接続タイプに依存しないでいることを可能にします。
- Notifiers(訳者注: 通知(notifications)をする機能)は、デスクトップ コンピュータ上のプログラムに HotSync マネージャが実行されていることを知らせるために、HotSync マネージャによって呼び出されます。通知機能(原文: notifier)は、デスクトップ アプリケーションにコンジットがデスクトップ データを変更していることを知らせるために作成される Windows DLL です。この機能は、アプリケーションとその関連コンジットの両方が同時にデータを変更しないことを、保証します。通知機能は HotSync マネージャの Windows バージョンによってのみ呼び出されるということに注意してください。
図 2.2 はこれらのコンポーネントのプロセス フローを示します。
図 2.2 Palm OS プラットフォーム プロセス フロー
デスクトップ アプリケーション ^TOP^
デスクトップ アプリケーションは、ハンドヘルド アプリケーションとのデータ共有か、ハンドヘルド上で実行されるデータ エントリ コンポーネントの保持かを行う標準的なデスクトップ コンピュータ アプリケーションです。例えば、Palm OS Desktop ソフトウェアは、予定表、アドレス帳、メモ帳、To Do のデータをビルト-イン ハンドヘルド アプリケーションと共有します。
ハンドヘルド アプリケーション ^TOP^
ハンドヘルド アプリケーションは、ビルト-イン アプリケーションまたはハンドヘルド上にインストールされたサード パーティのプログラムです。
開発者は、Palm OS Software Development Kit (SDK) と一緒に出荷される文書の中で説明されている開発環境を使って、Palm ハンドヘルドのためのアプリケーションを作成します。
HotSync マネージャ ^TOP^
HotSync マネージャは、デスクトップ コンピュータ上のハンドヘルドとの同期を監督します。HotSync マネージャはユーザのコンピュータ上でバックグランドで実行され、1 つまたはそれよりも多い通信ポートに同期を開始するための信号が来ないか監視します。HotSync マネージャが信号を受け取ると、HotSync マネージャは同期プロセスを開始し、ユーザのデスクトップ コンピュータ上にインストールされたコンジットを呼び出します。
- NOTE
- HotSync マネージャは、ハンドヘルドから信号を受信したときにのみ開始します。PalmSource(訳者注: 現 ACCESS)はデスクトップから HotSync 操作を開始するいかなる手段もサポートしません。
HotSync 操作の間、各コンジットはそれぞれの同期操作を実行します。操作全体があまりに長い時間をとらないことを保証するため、各コンジットが可能な限り素早くタスクを実行することが Palm OS プラットフォームの哲学(原文: philosophy)の基礎となっています。
HotSync マネージャについての更なる情報は、第 5 章「HotSync マネージャの紹介」を参照してください。
HotSync クライアント ^TOP^
HotSync クライアントはハンドヘルド上のビルト-イン Palm OS アプリケーションであり、ユーザが HotSync ボタンを押したときに開始されます。クライアントはデスクトップ コンピュータ上の HotSync マネージャを開始します。HotSync マネージャは、同期操作のプロパティをセット アップするために、HotSync クライアントと通信します。HotSync クライアントでユーザは接続タイプ(ローカルかモデムか)とプロパティ(直接シリアルか、赤外線か、モデムか、など)を選択します。HotSync 操作の間、HotSync クライアントは、HotSync マネージャのハンドヘルド上のデータベースにアクセスするという要求に応答します。
コンジット ^TOP^
コンジットは、特定の種類のデータをハンドヘルドとデスクトップ コンピュータ間で伝送する HotSync マネージャのためのプラグ-イン モジュールです。各コンジットはユーザの相互作用を要求すべきではありません。
- 重要
- コンジットは、ユーザが HotSync ボタンを押せばあとは何もせずにデータの同期がとられるように、ユーザの相互作用無しで操作すべきです。これは、リモートで(例えば、ネットワークを通じて)同期を行っているためにデスクトップ コンピュータを操作することができないユーザにとっては特に重要なことです。
いくつかのハンドヘルド アプリケーションは、デスクトップ コンピュータと共有することができるデータを作成、または、使用します。例えば、ビルト-イン予定表アプリケーションは予定表データをユーザのデスクトップ コンピュータ上で実行されている Palm OS Desktop ソフトウェアと交換します。
他のハンドヘルド アプリケーションは、デスクトップ コンピュータ上にバックアップされるデータを作成します。バックアップ コンジットはデータをハンドヘルドからユーザのデスクトップ コンピュータにコピーします。
Notifiers ^TOP^
訳者注: 通知(notifications)をする機能
デスクトップ コンピュータ上のアプリケーションとその関連コンジットの両方がユーザ データを変更できるとき、HotSync マネージャは、両方が同時にデータを変更しないことを保証するために、通知機能を使用します。HotSync マネージャはデスクトップ アプリケーションのためのメッセージを持つ通知機能を呼び出し、その通知機能はアプリケーションを呼び出してそのアプリケーションが理解できるフォーマットのメッセージを渡します。コンジット開発者は、デスクトップ アプリケーションと通信するために通知機能を作成します。通知機能についての更なる情報は、C/C++ Sync Suite Companion の中の第 8 章「デスクトップ通知機能の作成」?を参照してください。
Conduit Development Kit ^TOP^
開発者がコンジットを作成することを可能にするため、PalmSource 社(訳者注: 現 ACCESS 社)は Windows のための Conduit Development Kit (CDK) を提供します。CDK は以下の Sync Suite を持ちます。
- C/C++ Sync Suite -- C API-ベース コンジット を作成するために使用される Windows のための CDK のコンポーネント。API, C++ Generic Conduit Framework, C ライブラリ, サンプル, 文書, ユーティリティを含みます。
- COM Sync Suite -- COM-ベース コンジット を作成するために使用される Windows のための CDK のコンポーネント。COM オブジェクト モデル(HotSync マネージャが作成したコンジットを呼び出すことができるようにするための COM インターフェイスを含みます), サンプル, 文書, ユーティリティ, エンド ユーザのコンピュータ上で要求される COM 同期コンポーネントを配置するための COM 同期インストーラを含みます。
これらの Sync Suite を使って、Palm OS を実行させるすべてのハンドヘルドのためのコンジットを開発することができます。詳細は、Introduction to Conduit Development の第 1 章 「Palm OS CDK の新機能」を参照してください。