prev                   head                          next

3−2 処理の流れ
 
 本システムの大まな流れをサーバ・クライアント間のデータの流れに沿ってまとめ
 ました。表現はクライアントから見た動きになっています。

  利用者がが本システムのURLにアクセスする。
  サーバより、クラスをダウンロード、アプレット起動し、初期化処理
  
1)初期交渉 
    バージョン、データ種別のサーバとの交渉、セッションIDの取得
  
2)実行データの取得
    質問・回答データのサーバよりの取得、質問実施画面の作成
  をおこないます。
  以降このアプレットはここで取得したセッションIDで管理されます。

  利用者が回答者情報を記入し、送信キーを押下する。
  
3)ユーザデータの送信
    ユーザ情報をサーバに送信し、サーバ側でDBに書きこまれます。

   利用者が全質問に答え、ボタンを押下
  
4)回答結果の送信、スコアデータの取得
    クライアントより回答結果が送信され、サーバは回答DBに書きこみスコア
    を集計します。上位5位までのスコア値、リゾート名と最高スコアのリゾー
    トの説明文をクライアントに返します。
  クライアントはその情報を表示します。

 メソッドフロー

  init()
    |
    +beforの表示
    |
    +addListener gogo() 開始ボタン
    |
    +addListenr bgo() 進むボタン
    |
    +addListener bback() 戻るボタン

  gogo()
    |
    +conn() 初期交渉(post1.cgi)
    |
    +init_set() 実行環境設定
    | |
    | +getqa() 質問・回答情報のサーバからの取得 (post2-1.cgi)
    | |      
    | +makqg() 質問・回答画面作成
    |
    +hyozi() カレント画面の入れ替え表示


  bgo() 画面を前進させる処理
    |
    +goact() カレントな画面に付随する前進処理
    |
    + hyozi() カレント画面の入れ替え表示


  bback() 画面を後退させる処理
    |
    +bback() カレントな画面に付随する後退時の処理
    |
    +hyozi() カレント画面の入れ替え表示


  Base.goact() 入力チェックおよび基本情報の送信
    |
    + sendbase() 基本情報のサーバへの送信 (post2-2.cgi)


  QAG.goact() 入力データチェックおよび基本情報の送信 
    |
    ◇−+ 次画面がKekkaか?
      |
      + Yes
        |
        +sendget() 回答結果を送信し、候補情報を得る (post3.cgi)



 クライアントからのデータ渡し、サーバ側の処理起動はすべてサーバCGIの起動
で実現されていて。処理毎に接続は切断されるので、各処理間のつながりをもたせ
るために、1)の処理でサーバ側でセッションIDを発行し、アプレットはその値を
保持しています。サーバ側CGI起動時にそのセッションIDを逐次送信し、処理間
の同期をとります。

prev                   head                          next