とうとうApache James もnetty ベースになったようです。
こんな感じのメールだけで、
あっさりと、Apache MINAからNettyに変わってしまっています。
改めて、Nettyもそうですが、ソフトウェアって少人数でつくられているんだなーと実感してしまいます。

さて、Apache Jamesとはなんぞやと思っている人の方が多いとは思いますが、Apache James とはメール関連のJavaベースのサーバです。
今の2.x バージョンまでは主にSMTPサーバ(とPOP3)だったイメージなのですが、3.x からはIMAPサーバにもなるようです。

実は単に現行のサーバの代替として使うだけならば実はJamesを使う必要はあまりないと思います。
postfix dovecot の方がいいです。
さらに情報も少ないので・・・

じゃあ、何でいいの?
という話ですが、これが、メールサーバのフレームワークだからです。
Postfix,dovecotがApache Httpdサーバだとすれば、TomcatがApache Jamesなわけです。

例えば、メールを受信したときにある条件で、添付ファイルを取り出しあるフォルダに保存なんてのを作る時に、
Mailet という、まあ、Sevletみたいに記述ができるのです。

でも、そんなのMaildir を定期的にみて、中身をパースすればできるよね。そんなおおげさな仕組み用意しなくても・・・
と私もおもいましたし、大抵そうします。
File ベースのMailet もどきフレームワークなんて2 ,3 日あればつくれますし、
ここでのプロジェクトのmime4jやそれに似たライブラリはそこら中にあります。
(私のairxmailでもmimeメッセージのパースぐらい出来ます。)

なのでいろいろと設計の手本としてはみますが、実際には使いませんでした。

でも、3.xで、ちょっと考え方がかわる気がします。
IMAPサーバになることができるので、これは使えそうです。
クライアントソフトが特定できないものをサービスとして提供するのは、非常に大変ですから・・・

James のメールボックスコンテナを変更できるので、
ここを自作すれば、メールっぽい情報をIMAPなどのプロトコルを通じて配信できるはずです。

IMAPのいいところはサーバでの管理が基本ですから、あのGmailでのラベル(タグ)が、フォルダとして機能するみたいなことが出来るわけです。
なので、例えば、tracなんかのチケット情報をメーラでみることだって可能なわけで、
終了フォルダに移動して、チケットをクローズみたいにだってできる訳です。
WEBからのお問い合わせだって、メール配信せずにメーラまでとどけられます。

メーラは基本的にローカルにキャッシュして読みますので、
サーバに常時接続していなくても情報を読めます。
ファーストXXXXみたいにデータセンター(?)側にWEBサービスがあっても、
手元に「まったくなにもないよー、全然わからん!」みたいにならないはずです。

このあたりの緩やかな集中管理というのでしょうか・・・
それが実現できると思います。

だだ、難点はJames はフレームワークとして大きすぎます。
まあ、通常のメールサーバでも運用してみればわかるのですが、かなり大変です。
そこで、出てくる需要もフレームワークに取り込んでいるので、とにかくでかいのです
まあ、servlet エンジンだけを使いたいのに、j2ee フレームワークとして分離出来ないイメージです。

分離できないのは、作り手の問題ではなく分離の仕方がわからない使い手側の問題のような気もしますが、
そこまでがわかるようになっていないとは思います。
(英語力の問題もあるとは思いますが・・・)

ただ、そのような情報が日本語で存在するようなサービスでは無いことは事実です。
なので、私としては、Nettyベースになったことがうれしい訳です。

これで、プロセスの流れとモデルの関係がわかりやすくなりますから・・・・

お仕事のご依頼・相談を承ります
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら

Leave a Reply

お仕事のご依頼・相談
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら
ソフトウェア&ライブラリ




ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
執筆書籍
本、雑誌等

WEB記事:CodeZine
執筆記事はこちら
カレンダー
2012年6月
« 5月   7月 »
 123
45678910
11121314151617
18192021222324
252627282930  

カスタム検索
RSS
Add to Google < !–adsense–>
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ