PHPでweblogUpdates.ping その3: 設計
weblogUpdates.pingの仕様は大体理解したので、次はアプリケーションの設計に移ります。どうやらXML-RPCの部分は既製品のモジュールが使えそうなので、プログラム自体のサイズはそう大きくはならないでしょうが、全体を大雑把にどう分けるのか、という部分は考えておきたいと思います。
モジュールとその機能
- Ping受信モジュール: weblogUpdates.pingを受信して、応答する部分。
- Ping情報保存・管理モジュール: 受け取った情報をディスクなりDBなりに保存して、古い物の破棄あるいはアーカイブをする部分。
- HTML出力モジュール: 保存されたPing情報を解釈して、適切なHTMLを生成する部分。
実装に関する備考
- Ping情報は、最新n件だけ保存するようにして、古い物から破棄する予定なので、情報を保存しておく媒体にわざわざDBを使わなくてもファイルで十分だと思う。
- ファイルに書き込む書式は、XMLを使おうかとも思ったが、何も5行3列の情報をわざわざXMLにエンコードして、それをまたデコードしなくても、と思ったので今回はパス。デリミタで区切った独自書式に決定。
- 最終的にトップページにどういった形で表示するか、という部分で2方式考えついた。一つはpingを受信するごとに静的なindex.htmを生成するやり方で、もう一つはトップページをリクエストの度に動的に生成するやり方。今の所I/Oがボトルネックになるほどのアクセスはないし、汎用性やメンテナンス性が高い方が良いので後者を採用。
TrackBack
TrackBack URL for this entry:
http://www.ppmz.com/cgi-bin/mt/mt-tb.cgi/53