ftplet ってのもある
2008.10.10
小さいものはカワイイから、...let と付ける習慣があったりしますよね。
Applet -- Application の小さいもの
Servlet -- Service の小さいもの
Proglet -- Program の小さいもの
まあその他にも、doclet とか portlet とかいろいろあります...Java 周辺でこういう付け方が流行だった時がありますからね。その中で、
Apache の pure Java メールサーバである、James で、受け取ったメールに対して固有の業務処理(たとえば空メールを受け取ったら、DBにアカウントを追加しちゃうとかね)を好きなように書ける機能として、mailet というのがあります。以前私は James について詳しい説明を書いたことがありますが、実際ホント何でもできちゃいます!そのとき、比喩として
「お抱えの郵便係」をそっと郵政局に送り込んで、そいつにスペシャルなサービスをさせる
なんてイメージでこの mailet 機能を説明したことがあります。cron ジョブで POP して処理するよりも、ずっとモデルがすっきりしているでしょ....だって、メールを受け取ったらそのまま業務処理が動いちゃうんだもの。ホント、James って名前はダテじゃないですね。どうです、あなたの業務で?
で今回、ftp で処理しなければならないファイルを送りつけてくることになりました....あれ?
ftplet ってあるのかしら???
実はあります。やはり Apache の Mina プロジェクトにある Apache ftpServer では、mailet と同じような
というものがちゃんとあったりします。まあ、Apache ftpServer 自体、もともと James と似たような設計だったこともあって、そういうアイデアがやっぱりあったわけですね...コレ要するに、
イベントドリブンな ftp へのフック
みたいなもので、自分用の ftplet を実装してインストールし、設定ファイルに書いたら、
内緒でいろいろなこと
が ftpServer の中で出来ちゃうもののようです。Mailet みたいに、
メールの状態によってきめ細かく処理を分岐させていろいろする
というノリではなくて、
ftp コマンドに対応して、たとえば PUT コマンドが発行され処理の完了直後に、アップロードされた中身をチェックしてウィルス感染してないかチェックする(まあそれを実装すれば....)
なんてことができる、というタイプのものですね。ですから、James のややこしいパイプラインではなくてかなりシンプルです。ちょっと遊んでみよ。
けどこの ftpServer は昔は Avalon ベースの Phoenix で出来てたけども、最近は Spring ベースみたいです....Cocoon も Avalon 止めちゃったし、Avalon を引きずってるのは James くらいなのかなぁ....
投稿者 : 杉浦 こずえ | 投稿日時 : 2008.10.10 18:20
あすなろBLOGのトラックバック・コメントは承認制になっています。
すぐにブログに反映されませんので、ご了承ください。





