| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
対応というか、プリミティブなデータ型としてRSS2.0を使うことにした。
今までは、namazuのCGIを直接使って検索結果をブラウザに送っていた。
これからは、namazuのCGIはRSS2.0を出力するものとし、ASP.NETでこれをフックしてHTMLに整形し、ブラウザに送るようになる予定。namazuのCGIをにょろにょろと弄くって、RSS2.0を吐かせるところまではできた。
なぜこんな変更をするのかだが、利点はいくつもある。先ず第一に、やはりblogを対象とした検索エンジンであるので、RSSリーダとの親和性を考え、RSSを出す機能は必要だろうということがある。現在提供されているblog検索エンジンはRSSの出力に対応しているものが多い。実際にRSSで検索結果を受け取るというのがどれだけ使われているのかはよく分からないが、個人的には自分のblog名の検索結果をRSSリーダに登録するという使い方をしており、重宝している。自分のblogがどこかで取り上げられれば、トラックバックを送ってもらっていなくても補足できるというわけで、なかなか便利だ。RSSリーダというアプリケーションがこれから普及していくであろうことも考え、RSSに対応しておくことが望ましいだろう。
また、間に一段噛ますことによって、表現の自由度が格段に上がる。もしあなたがnamazuを使ったことがあるならご存じのとおり、namazuのCGIは表現の自由度が低く、検索結果のHTMLをいくつものファイルに分割して記述するため、メンテナンス性も悪い。これをそのまま使うのはあまり面白くない。ASP.NETを間に挟むことによって、ASP.NETの表現力や、優秀で使い慣れた.NET Frameworkを使うことができる。
SQL Serverとの連携が容易になるというのも大きい。もぶろげっとはバックエンドにMicrosoftのSQL Serverを使っている。namazuのCGIはpureなC言語で書かれており、これに手を加えてSQL Serverとやりとりをさせようとすると非常に面倒でやりたくない。.NET FrameworkにはDBを容易に扱うためのクラス群が用意されており、これを使うことでSQL Serverのデータを検索結果に反映させることが容易になる。
問題は検索結果の出力に時間が掛かるようになることで、どれくらいになるかは作ってみないとちょっと分からないが、これがコンスタントに1秒を超えるようなら考えなくてはならないかもしれない。プロセス間通信のやり方やサーバのチューニングなどをうまくやれば、そんなに処理速度が大きくなることはないとおもうのだけど、どうだろう。ASP.NETを使うとなると、環境が完全に Windows + IIS に固定されるというのも問題としてはある。これまでの構成なら、サーバ部分だけを切り離して、Linux環境に置くと言うことも(やや手間は掛かるにしろ)可能だったのだが。なんというか、WebサーバにIISを使うと言ったらM2の森本さんあたりに「おまえIIS使うなんてばかじゃないの」的な反応をされたのがアレだ。IISもちゃんと使ってやればそんなに駄目ではないですよ、たぶん。
ASP.NETではなくphpを使うという選択肢もあったが、ASP.NETのほうが楽しそうだったのでASP.NETを使う方向で逝こうと思う。VS.NETの開発環境に飼い慣らされているのでそれを使いたいし。いずれにせよ、Webアプリケーション周りの知識はかなり貧しいので、適当に本を仕入れてお勉強したいところ。

