TOP設計・移行・活用> Rimlessって?
IdbA
IdbAで構築する生産性が高いリッチクライアント

第1回:Rimless Computingとは?
著者:サイオ  安田 知弘   2005/8/18
1   2  3  次のページ
Rimlessって?

   お手元にIT用語辞書があれば、引いてみてください。おそらく「Rimless Computing」という用語は掲載されていないと思います。Rim(=枠)less(=なし)のComputingとは、サイオが提唱する「機能の枠のない、または供給元の枠のないソフトウェアの動作環境」のことを指します。

   新しいソフトウェアの動作環境がRimlessというのですから、反対に従来のソフトウェアの動作環境はRimmed(枠に囲まれた)であったと考えています。

   Rimmedだったということは具体的にはこうです。従来のソフトウェアですと、データ(計算根拠や計算結果など)のやり取りはソフトウェアとその外界との間で行いますが、ソフトウェアを構成する機能自体のやり取りは行いません(行えません)。ですから、その必要が生じたときには、旧ソフトウェアを捨てて、新ソフトウェアを再インストールします(しなければなりません)。

   また、そのソフトウェアのアップグレードを行うのは、元々のソフトウェアのベンダーです。どんなに良い追加機能でも、他のベンダーでは供給できないのです。

   つまり従来のソフトウェアは、その構成機能を外界とやり取りすることや他者の参加を阻む(了見の狭い)枠に囲まれている(Rimmed)と考えられるのです。


枠にとらわれない

   ここまで読まれて、「そんなことはない、すでに例外がある」と思われた方も少し我慢して読み進めてください。それら例外と我々のRimless Computingの違いがおわかりいただけると思います。

   Rimless Computing環境は、複数のソフトウェアの構成機能(ソフトウェア部品)を結合し、1つのソフトウェアとして構成します。結果、了見の狭い枠(=Rim)は取り払われ、ソフトウェアを構成する機能は外界とやり取りできます。それも動的に、つまり「ソフトウェアの動作時に」です。

   更に、複数のベンダーが1人(1社)のユーザに対して、同時に個別の機能が提供できるのです。もちろん、両者にある程度の秩序は必要です。

   Rimless Computingの効能をこう書いてしまうと、単なるソフトウェア・メンテナンスのしくみに思えてしまいますが、Rimless Computingが拓く可能性はそんな小さなものではありません。

   詳細は後述しますが、その前に「そんなことはない、すでに例外がある」と思われた方に、次の章を用意しました。


ソフトウェアの部品化および差分配信との違い

   「そんなことはない、すでに例外がある」と思われた方は、以下のようにおっしゃるでしょう。

   「新ソフトウェアを再インストールします」に対する既存の実現例として、Windowsやワクチンソフトのネットワークを通じたアップデートがある。「どんなに良い追加機能でも、他のベンダーが供給できない」に対する既存の実現例として、Internet ExplorerなどのPlugInがある。

   では、これらの実現例とRimless Computing環境で実現されるサービスとの違いについて説明します。


Rimmedなソフトウェアの改訂

   ネットワークを通じてソフトウェアのアップデートを行うためには、ソフトウェアを部品化して製造し、交換・変更・追加が生じたソフトウェア部品をネットワークで配信すればよい。つまりは現在のRimmedなソフトウェアの利用環境では、差分配信をすればよいと考えます。では、次の例を考えてみてください。簡単に説明するため、ユーザの利用しているソフトウェアは次の3つのソフトウェア部品から成り立つとします。

Rimmedなソフトウェアの改訂
図1:Rimmedなソフトウェアの改訂
(画像をクリックすると別ウィンドウに拡大図を表示します)

入力部:Get Keyboard Data
キーボードからのデータを受け付ける
メイン部:Process Data
収集したデータを何らかのアルゴリズムで処理する
表示部:Display Data
メイン部の処理結果をCRTに表示する
受信部:Receive Data
ネットワークからデータを受け付ける
新メイン部:New Process Data
キーボードおよびネットワークから収集したデータを何らかのアルゴリズムで処理する

表1:Rimmedなソフトウェアの改訂

   この例では、メイン部は入力部からデータを受け取ればよいこと、データの表示は出力部に依頼すればよいことを「当然の了解事項」として作成されています。

   ユーザのソフトウェア利用環境が変化し、データはネットワークからも入力されることになりました。このソフトウェアに改訂が必要なりますが、どのように改訂されるでしょうか。まず、受信部を新しく作成する必要があります。また、従来のメイン部は受信部より製造が古く、当然ながら受信部の存在を知りません。よってメイン部も改訂の必要があり、新メイン部とする必要があります。

   新メイン部は、入力部および受信部からデータを受け取ればよいこと、データの表示は出力部に依頼すればよいことを「新しい当然の了解事項」として作成しなおされます。

   そして、新メイン部は(旧)メイン部の交換用として、受信部は追加用として、差分配信されるのです。

1   2  3  次のページ


株式会社サイオ 安田 知弘
著者プロフィール
株式会社サイオ  安田 知弘
サイオのファウンダーとして1993年11月より代表取締役社長に就任。1980年より株式会社東海クリエイト(現株式会社クレオ)のシステム開発プロジェクトに参加し、当時トップシェアとなった日本電気PC-8801(8bit)用日本語ワードプロセッサ「ユーカラ」や統合型ビジネスソフト「ビジコンポ」の設計・開発を行う傍ら、東海クリエイトの関連会社であった株式会社ワイエス(後、株式会社クレオアールアンドディに商号変更)の経営にも参画。サイオ設立後、次世代エンドユーザーコンピューティングモデルRimlessComputing」を考案し、「RimlessComputing」をベースにした「IdbA」を設計開発し、現在に至る。現在、東京理科大学内ベンチャー企業「株式会社エクサ」の非常勤役員を兼任。


INDEX
第1回:Rimless Computingとは?
Rimlessって?
  Rimlessなソフトウェアの改訂
  IdbAの実装とプログラミング