ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

ハードウェア構成と、それを実現するJavaのフレームワーク、要素技術のまとめ

前のブログで、


 一方、フレームワークは、そういうのがあるかというと、
  クライアントーサーバーで行う場合、
     サーバー側で画面をつくる      サーブレット,JSPまたはStruts
     クライアント側で画面をつくる    JavaScript、VBScript、アプレット
  など、考え方はある。。。けど、これもまとまってない。

 そのうちまとめるかも。。


と書いたので、JAVAにおいて、ハードウェア構成と、それを実現するフレームワークの対応をまとめてみました。なお、以下のものは、一般論で、これ以外にも、フレームワークとして成り立つものはあります。




■■ スタンドアロンの場合
 GUIを使わないなら、なにも悩むことはない。フレームワークを使わず、好きにかける。
 GUIを使う場合、AWT,SWING,eclipseのSWTとか、使うGUIにより書き方変わる


■■ クライアントサーバーの場合

(1)クライアント側に画面表示する
   (1-1)サーバーで画面を作成する
        ・サーブレットを利用する
        ・Strutsを利用する
        ・JSPを利用(併用)する

   (1-2)クライアントで画面を作成する
        ・java Scriptで行う
        ・appletで行う(特に図形表示など)

(2)クライアント側に画面表示をしない(GUIを利用しない)
    ・RMI
    ・EJB
    ・Webサービス
    ・CORBA(InterstageのCBS,CBMなども含む)


■■ P2Pの場合
・JXTAというのがあるらしいが、使ったことがない。


■■ すべての場合に
・ソケットでポートを空けて通信
 コネクションをつなぎっぱなしにしたいとき便利
 基本的になんでもできる。




 実際には、いくつかを組み合わせて使います。たとえば、StrutsとJava Scriptを利用したり。

 また、サーブレットを利用するけど、サーブレットでは画面表示を行わないで(textでデータを受け渡しして)、クライアント側でSWINGなどを使って画面を書いて表示することなどもあります
 たとえば、いくつかの支店の在庫を問い合わせる場合、各支店のスレッドを発生させ、在庫チェックすると、サーバーで多くのスレッドが発生し、処理が遅くなるので、クライアントでスレッドを発生させ、GUI表示するケースなどがあります。