DIOWave
Visual Storage
DIOWave Next Generation -- CLR (.NET) Client Project
ホーム / CLR (.NET) Client Project 英語 | 日本語
* 新着情報
  • 開始 2005 02/09

DIOWave は当初、Java で書かれた専用クライアントを使うシステムとして開発されました。なぜなら、JavaScript を使ってマウス操作に追従して画像を更新できることを知らなかったからです。なので、当初は高機能な Java クライアントと画像処理ができず単に表示するだけの Web クライアントの二本立てにする予定でした。しかし、実験の結果、JavaScript で十分にインタラクティブな画像操作が可能であることが分かったため、開発の主力は Web クライアントになり、Java クライアントは放置されてしまいました。そのうち、Java クライアントに対応するサーバ側のモジュール(ISAPI) は互換性の問題で動作しなくなり、Java クライアントはお蔵入りとなりました。

しかし、最近は PACS メーカがリリースする Web クライアントは性能や機能が充実してきたため、DIOWave の Web クライアントは相対的には機能面ではもう「おもちゃ」と言われても仕方がないレベルになり、レスポンスでの優位性も殆ど失われてきてしまいました。また、高機能なフリー(オープンソースという意味ではない。ソースが開示されていないものが多い)の DICOM ビュワーも普及してきたため、DIOWave のユーザからは特に計測機能の不足のクレームを受けるようになりました。

DIOWave のクライアントの機能面、特に計測機能の実現が求められているわけですが、これを Web ブラウザ(プラグイン等無し)で実現するのは困難です(全く不可能というわけではないですが)。そこで、以前の専用クライアントと Web クライアントの二本立て(Web は HTML と XUL があるから3本立て?)を復活させようというわけです。

ということで、このページで CLR (.NET) クライアントの開発状況の報告をしたいと思います。また、プロジェクトへの参加も歓迎します。

CLR (.NET) クライアントを作る上で関連する技術について概観します。

まず、なぜ Java ではなく CLR (Common Language Runtime) なのか?一番の理由は DirectX を活用したかったからです。

DirectX は Microsoft Windows 上で動作する、ゲームなどの高性能マルチメディア・アプリケ―ションを実現するためのデバイス・ドライバとAPIのフレームワークです。DirectX を使えばグラフィック・ボードの各種の機能にかなりダイレクトにアクセスすることができ、3Dはもちろん2Dでも描画性能のアップが期待できます。また操作デバイスとしてゲーム・パッドなども活用できます。

当初、DirectX は COM ベースの API のみ提供されいましたが、CLR ベースの API が DirectX 9 から提供されるようになりました。これで無理に C++ を使う必要もなくなりました(VBは論外)。

CLR 自身は仕様が公開されており、GNU プロジェクトの一つとして dotgnu があり、他の OS 上での実装が進められています。なので CLR=Windows 専用というわけではありません。もっとも DirectX まで移植されるとは考えにくいので、DIOWave の CLR クライアントは Windows 専用ということになってしまいます。