TOP設計・移行・活用> 開発時のポイント
IdbA
IdbAで構築する生産性が高いリッチクライアント

第2回:リッチクライアントとIdbA
著者:サイオ  菅野 正樹、柏 貴光   2005/9/27
前のページ  1  2  3  4
開発時のポイント

   開発に際して、アプリケーションをオートコンポーネントとして実装する段階で機能をどのように分割するかを決めることになりますが、この時に考慮すべき点がいくつかあります。
分割の粒度

   論理的に分割できるからといってあまり細かくしてしまうと、それらの組み合せなどの管理が大変になります。一方、複数の機能を1つにまとめてしまうと後で部分的なカスタマイズが大変になります。これらのバランスを見ながら作成する必要があります。


基本的な構成

   オートコンポーネントの種類の項目で触れたように、それぞれ固有のデータや性質を持ったアイコン形式の物と、それらを取りまとめて操作をするためのウィンドウ形式の物があります。アプリケーションは、これらの組み合せで作成するのが最も一般的です。ウィンドウ形式の物が複数あり、それぞれ別の操作や表示を担当させることもできます。


オートコンポーネント間のやりとり

   オートコンポーネント同士のやりとりの手段には、前述のようにInterfaceのメソッド直接呼び出し、プロパティによる値の参照や変更と変更をトリガとしたイベント・アクションの呼び出しがあります。特有な機能で、複雑な受け渡しをする場合はInterfaceがよいでしょう。

   比較的単純な場合はプロパティを利用します。プロパティになっていると、他の組織が提供する、独立して開発されたオートコンポーネントからもアクセスしやすくなります。また、アクションとして提供しておくとそれを直接UIに反映させるのが簡単になります。


データの保存方法

   データの保存方法としては、基本的にIdbAシリアライズを利用して自動的に状態保存を行うという方法を利用します。オートコンポーネント自身にストリームを読み書きする機能を実装し、タイミングはIdbAに任せることになります。この時にオートコンポーネントのバージョン間の互換性に注意が必要です。(上位)互換性がないと、実装を更新した時のIdbAの状態復帰が失敗してしまいます。


   オンメモリで置きたくないデータは、IdbAが割り当てた作業領域にファイルとして置きます。大規模なデータでDBMSを利用するような時はJDBCを使うなど、一般的なJavaのプログラミングと同様になります。


外部との通信方式

   前述の通り、J2SEでできる通信方法はそのままIdbA上でも使えます。HTTPであればプロキシのサポートがあり、さらにHTMLであれば簡易ライブラリがあります。XML化したインスタンス送受信の機能を通信目的で使うこともでき、この場合はオートコンポーネント自身をデータとしてやり取りすることになります。


開発環境の選択

   任意のJ2SE開発環境で開発できますが、IdbA R1.5にてEclipse(2.x)のプラグインを提供されています。Eclipseを利用すると、簡易的なオートコンポーネントのプロジェクト作成機能や情報ファイルの編集機能を提供するプラグインを利用できます。Eclipse 3.x対応は次期バージョンでの対応が予定されています。


IdbAの今後

   ユーザの利便性を大幅に向上させる「リッチクライアント」、そしてサーバには一切手を加えずクライアント環境で「SOA」。これら2つをあわせた「クライアント型SOA」のプラットフォームとしてIdbAは部分的にバージョンアップを行っています。

   また、開発者の利便性を向上させるために、GUIアプリケーション開発の生産性を向上させるGUIサポートやクラス設計の負荷を軽減するためのテンプレートの提供、さらにはSOAPやFTPなどの通信機能の強化が予定されています。

前のページ  1  2  3  4


株式会社サイオ 安田 知弘
著者プロフィール
株式会社サイオ  菅野 正樹
同社の設立に参加し、1998年より現職に就任。代表取締役社長の安田とは1985年より株式会社ワイエス及び同社のプロジェクトを共にし、安田のソフトウェア構想の具現化に尽力する。東京都生まれ。


株式会社サイオ 安田 知弘
著者プロフィール
株式会社サイオ  柏 貴光
大阪の大学を卒業後、SI企業に入社。SEとしてオープン系システムの設計、開発から導入までを幅広く行う。2005年4月にサイオへ入社し、IdbAの可能性を世に広めるためライセンシング事業の立ち上げに尽力する。IdbA製品企画を担当する傍ら、同社のメールサービス「SCIO RHYTHM」の編集長も手がける。また、Linuxコンソーシアム運営委員メンバーとして広報を兼任、同コンソーシアムが発行するメールマガジンの編集長を担当。


INDEX
第2回:リッチクライアントとIdbA
  現状のシステムが抱える問題
  IdbAの特徴
  オートコンポーネントの種類とコンポーネント間の連携
開発時のポイント