目次 Edit

 
 

関連 Edit

 
 

検索:フレームワーク 検索:Webアプリケーション

 

フレームワーク/Webアプリケーション Edit

思い付き Edit

実装 Edit

サーバー側キャッシュ Edit

同じクエリーを受けた場合、キャッシュしておいたHTMLを返せばいい。
何を同じだと見なすかはキャッシュの有効期限[?]に。

エラーページにクエリーを Edit

エラーページには送られてきたURLクエリーを載せる。
再送信できるように。

さらに、コピペで保存できるように。

エラーページへのURLを示す。
ページ内のテキストで。
このときのURLはエラーページのものではないからブラウザーのアドレス欄には出ない。ページ内のテキストでやる必要有り。

再送するには再送ボタンかエラーページに再アクセスして再送ボタン。

やること Edit

  • 入力
    入力からセッションデータ保存まで。
  • アプリケーション呼び出し
    エントリーポイントは1つでいい。
  • 出力
    出力するHTMLを受けて、
    代替文字列の置き換え(セッションデータに置き換える)まで。
  • エラー処理
  • ファイルのオブジェクト化
    ファイルはFlyweightであるべき。

競合問題 Edit

複数のファイルをロックするため、WikiEngineの冒頭で必要なファイル全てにロックをかけられるかどうか知りたい。
FlyweightFactoryが一度呼び出されるだけで複数のFileを生成できると便利。
Fileを生成してしまっていい。ロック済みのFileが要求通りに返せたことが分かればいい。
要求が1つでも叶えられなかったらFileを全て破棄。

確実にロックするため、ブロッキングモードでロック試行する。
そのため、FlyweightFactoryではロック数を参考にして、ロック処理をするかどうか判断。

1プロセスが1トランザクションのようなもの。
アトミックに。

設計 Edit

図1 Edit

クラス図 Webアプリフレームワーク1.png

コード Edit

プロトタイピング[?]の実装。

擬似言語 Edit

[CGIから呼ばれて…]

  1. URLクエリーを得る。
  2. POSTされたデータを得る。
  3. クッキーを得る。
  4. セッションデータを復元する。
    1. クッキーにあるセッションIDを得る。
      セッションIDを使って、ファイルからセッションデータを復元する。
  5. セッションデータを更新する。
    URLクエリー、POSTされたデータ、クッキーをセッションデータに格納。
  6. フレームワーク/WikiEngineを呼ぶ。
  7. セッションデータをファイルに保存する。
    ファイル名はセッションIDによる。
  8. 出力にクッキーを付加。
  9. 出力。

Perl Edit

code*:357