- PR -

リッチクライアント技術は使える?使えない?

投稿者投稿内容
ふうた
大ベテラン
会議室デビュー日: 2001/08/23
投稿数: 198
お住まい・勤務地: 岡山
投稿日時: 2003-07-28 00:57
補足です。

プログラムとデータの分離について考えておく必要があると思います。Webシステムにおいては、Webブラウザに対してHTML文書、Acrobat Readerに対してPDF文書といった具合です。

Webシステムでは、ここでいうプログラムはクライアント環境に既にセットアップされており、それを使わせることにより配布コストが軽減されます。もし、クライアントにこれらのプログラムがセットアップされていなくても、クライアントは一度セットアップすればそのWebシステムを利用できます。また、これらのプログラムの配布に関しては、Webシステムの管理者は(基本的には)管理する必要がありません。プログラムをアップデートするかどうかも利用者の判断に任せられます。

一方、C/Sシステム(クラサバ)では、システムを利用するために必要なプログラムはシステム管理者の責任において配布が必要となります。もし、システム利用者が10人ならシステム管理者がそのクライアントにプログラムをセットアップすることも可能でしょう。しかし、1000人・10000人となった場合はどうでしょう?セットアップを利用者に任せたとしても、クライアントプログラムが正常にインストールできないとクレームが来るかもしれません。サーバプログラムのアップデートに伴い、クライアントプログラムのアップデートが必要になってしまった場合、すべてのクライアントがプログラムをアップデートしてくれると期待できるでしょうか?(「動かなくなったんだけど」とクレームがくるのは目に見えています。)



また、プログラムとデータの分離という意味においては、Javaアプレットはあくまでデータであり、それに対するプログラムはJVMということになります。Javaアプレットがデータであるということは、JavaアプレットはそのWebシステムにアクセスするごとにダウンロードされて実行されるということです。もし、Javaアプレットでサーバと通信する処理を記述していたとしても、Javaアプレットが毎回ダウンロードされることにより、サーバプログラムとの不整合はおきなくなります。


もちろん、Webシステムも理想の形ではなく、当然課題もあります。
・プログラムとデータの不整合
 ご存知の通り、同じHTMLでもWebブラウザ(バージョン)によって、動作しなかったり、動作しても動きが違うということがあります。クライアントプログラム(のバージョン)に左右されないよう如何にデータを作成するかということを、Webシステム管理者は考えておく必要があります。Java Plug-inはデータ側で動作するプログラムを指定することでこの不整合を防ごうとしているのですが、そんなに理想的な動きはできていないようです。
・プログラムの汎用性とデータの軽量化
 プログラムが汎用的であるというのは理想的ではありますが、一方でこれはデータの肥大化を意味します。Webブラウザだけでできることは限られてしまいますが、クライアントにダウンロードさせるデータはHTML(+画像など)だけとなります。Javaアプレットは、(ブラウザに比べると)いろいろできてしまいますが、データ(Javaアプレットのクラス)のサイズは大きくなってしまう傾向にあり、結果としてWebシステムのレスポンスを低下させてしまいます。
 
 
Webブラウザだけでできることには限りがあるので、リッチクライアントという考えが出てきていますが、これらのことを考慮して利用しないとC/Sシステムに逆戻りしてしまうということになってしまいます。
個人的には、これらのプログラムはある程度特化してしまい、利用目的ごとに選択するプログラムを決めるのがよいかなと思います。そうすることによりデータの肥大化も防げるのではないかと思います。



[ メッセージ編集済み 編集者: ふうた 編集日時 2003-07-28 00:59 ]
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-07-28 09:54
引用:

LEDさんの書き込み (2003-07-27 17:16) より:
Webシステムは配布コストが軽減されるんですか?


だってクライアントには何も配布しませんよね。
Shane
大ベテラン
会議室デビュー日: 2003/06/06
投稿数: 132
お住まい・勤務地: Vancouver, BC
投稿日時: 2003-07-28 11:10
引用:

ふうたさんの書き込み (2003-07-26 14:27) より:
引用:

Shinさんの書き込み (2003-07-25 14:48) より:

Windowsのユーザであれば比較する必要もなく
VB/VCを選択すればいいのではないかと思うんですが。。。



ここに関しては、なぜ昨今C/SシステムからWebシステムに移行されているか考えてもらえれば明らかだと思います。数人で使うだけのシステムであればVB/VCで開発したほうが簡単だと思いますが、大人数で使用する場合(インターネットなど不特定多数に人に使わせる場合)、運用を考えるとクライアントにプログラムを配布するコストが馬鹿にならなくなります。Webシステムは、クライアントにブラウザを使わせることにより、この配布コストを軽減し、システムのアップデートもサーバ側だけで可能となります。




Windowsの事は詳しくないんですが、ActiveXコンポーネントなどは
AppletみたくWEBでユーザに配布できるのではないでしょうか?
そうなると配布コストはかかりませんよね?
MUSE
常連さん
会議室デビュー日: 2003/04/06
投稿数: 42
投稿日時: 2003-07-28 11:32
私は仕事でJavaを使用していますが、時々、思うことがあります。
例えば、Javaに関してほとんど知識のないある企業のお客様が10000人いたとして、Java Runtime Environmentをどのような方法で配布するのがベストなのか?ということです。
みなさんは、どのような方法がベストだとお考えですか?
びしばし
大ベテラン
会議室デビュー日: 2002/03/13
投稿数: 181
投稿日時: 2003-07-28 13:33
引用:

LEDさんの書き込み (2003-07-28 11:32) より:
私は仕事でJavaを使用していますが、時々、思うことがあります。
例えば、Javaに関してほとんど知識のないある企業のお客様が10000人いたとして、Java Runtime Environmentをどのような方法で配布するのがベストなのか?ということです。
みなさんは、どのような方法がベストだとお考えですか?



すべてのケースにおいてのベストな解はあり得ないと思います。すぐに思いつくのは下記のようなものですが、どちらも長所短所があります。

1. JREのインストーラが自動起動するようなCDを焼いて配布(各自にJREを配布しても同様)。
2. http://java.sun.com/getjava/ にアクセスして所定の操作をしてもらう。
3. その他。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-07-28 13:54
引用:

LEDさんの書き込み (2003-07-28 11:32) より:
私は仕事でJavaを使用していますが、時々、思うことがあります。
例えば、Javaに関してほとんど知識のないある企業のお客様が10000人いたとして、Java Runtime Environmentをどのような方法で配布するのがベストなのか?ということです。
みなさんは、どのような方法がベストだとお考えですか?


 Appletの場合なら、Appletタグではなく
IE:OBJECTtタグ
Netscape:EMBEDタグ
を使用すればプラグインがなければダウンロードを促すようにできます。

 アプリケーションなら、
びしばしさんが回答しているように
引用:

1. JREのインストーラが自動起動するようなCDを焼いて配布(各自にJREを配布しても同様)。
2. http://java.sun.com/getjava/ にアクセスして所定の操作をしてもらう。


しかないのではないでしょうか。
Shane
大ベテラン
会議室デビュー日: 2003/06/06
投稿数: 132
お住まい・勤務地: Vancouver, BC
投稿日時: 2003-07-28 15:47
タイムリーなんですが、以下で Swing でできそうにない事を質問してます。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5478&forum=12&4

どなたかわかる方いらっしゃったらレスいただけると助かります。
七味唐辛子
ぬし
会議室デビュー日: 2001/12/25
投稿数: 660
投稿日時: 2003-07-28 15:52
「リッチクライアント技術は使える?使えない? 」と どのような関連性があるのでしょうか


[ メッセージ編集済み 編集者: 七味唐辛子 編集日時 2003-07-28 15:53 ]

スキルアップ/キャリアアップ(JOB@IT)