リンク

お知らせ

2008/11/15
新しいリリースを出しました。Snow Leopardで動きが微妙な箇所をともかくクリアし、Snow Leopard完全対応です。
2008/5/3
新しいリリースを出しました。/var/mailディレクトリにメールが行ってしまっても定期タスクで復活できるようにしました。
2009/4/26
サイトをリニューアルしました。ただし、リンク切れしている箇所があちらこちらにあるかと思いますが、しばらくの間はお許しください。理由などはblogに記載しました。
2008/4/16
新しいリリースを出しました。小幅な修正のみです。
2008/10/19
新しいリリースを出しました。機能的には変わりません。
2008/6/16
.Macのグループの利用は凍結し、OME blogでの開発者および利用者のコミュニケーションをさせていただくことにしました。
2007/12/9
添付ファイルとしてフォルダを指定すれば、自動的に圧縮して添付して送信するようになりました。
2007/10/26
Quick Lookプラグインが追加されました。Leopard発売と同時に、OMEはその新機能に対応します。
2007/10/7
Cocoa-JavaのアプリケーションがいくつかありましたがそれらをObjective-Cで作り、JavaがCocoaを使う場面をなくしました。
2007/9/3
6月くらいのリリースからだと思われますが、Spotlightプラグインが正しくしませんでしたが、このリリースにより正しく動作するようになりました。インストーラを改善しました。
2007/7/15
イレギュラーなメールの処理や、添付ファイルを中心としたさまざまなバグ修正を行ったバージョンをリリースしました。
2007/6/3
メール参照機能をアップデートなどしたリリースを公開しました。
2007/5/13
バグ修正を中心としたリリースを出しました。
2007/4/21
「OMEメール参照」をアップデートしWebKitベースにしました。表示内容のカスタマイズがより容易になりました。
2007/1/2
Universal Binary版のリリースを行いました。また、フレームワークベースに移行するなど内容にかなり手を入れました。

 このテキストは、日刊デジタルクリエイターズに寄稿したものです。


■Workforce of a Freelance(9)
ネットワークホームを見据えてみよう

 2005/2/4配信号/新居雅行


 電子メールのやりとりは「メールソフト」で作業するものというのが当たり前になっているが、筆者らが開発しているメールソフトの「オープンメール環境(OME)」も、当初はもちろん、「メールクライアント」を作るのが目的であった。しかしながら、ネットワーク利用が進むとまた違う方向性も見えてくる。もっとも、実はそれは大昔のメールの環境にとても似ている点がちょっとおもしろいところだろう。

●ネットワークOSのネットワークホーム

 Mac OS Xを使っている人は、「ホームフォルダ」というものが何かはもう容易に理解できると思う。マルチユーザOSで、1つの資源(ハードディスク)を複数のユーザが問題なく使うために、要は個室を用意しているのがホームフォルダである。もっとも、Windowsしか知らない人にとっては理解しにくい概念ではあるが、UNIXではおなじみの概念である。

 Mac OS X ServerとMac OS Xを使うことで、ユーザごとのホームフォルダを、ファイルサーバ上に確保することができる。以前のバージョンからできることではあるが、Panther ServerになってLDAPをしっかりサポートすることが可能となり実用度が増した機能でもあると言えるだろう。こうした機能を実現するのに、必ずしもMac OS X Serverは必要ないとは言うものの、Mac OS X Serverを使えば、GUIの管理ツールで簡単に実現できる。キーになる技術はOpen Directory 2、つまりディレクトリサービスだ。このネットワークサービスを使って、アカウントをサーバで一元管理し、ホームフォルダをファイルサーバで運用することができる。

 ホームフォルダがネットワーク上にあるということの一つの大きなメリットは、ネットワーク内のどのMac OS Xからログインをしても、ファイルサーバ上の同一の公開ボリュームにホームがあることだ。あるコンピュータで、「書類」フォルダに保存したファイルは、別のコンピュータにログインしても「書類」フォルダにきちんと見えている。どのクライアントからも同じ環境を実現できる。もっとも、ハードディスクではなくEthernetの向こうにファイルを保存することになり、遅いのじゃないかと思うかもしれないが、確かにガリガリとディスク処理をするとなるとそれなりに遅いことは気になる。あまりに巨大なファイルを開いて頻繁に保存するのであれば、あまりお勧めはできないが、メールやWeb、文書作成といった事務作業くらいではそんなに重くはならない。もっとも、これはネットワークトラフィックが少ない環境だからかもしれないが、いずれにしても、ネットワークの性能は今時そんなやわではないのだ。

●ネットワークホームとメールソフト

 たとえば、Mac OS Xの純粋メールソフトのMail.appは、ログインしているユーザのホームフォルダ内にあるLibrary以下のある場所にメールボックスをいくつかのファイルで構成している。だから、ネットワークホームで運用すると、メール自体は使っているマシンではなく、サーバ上に溜め込まれる。それでも、IMAPだのPOPだのと、通信をして、その結果をまたファイルサーバと通信をして保存することになっているのだが、まあ、今時のネットワークではさほど大きなデータのやり取りとも言えないだろう。

 それでは、OMEではどうだろうか。もちろん、普通に使えば、Mail.appと同様になるが、そうやって運用しながら、ふと頭をもたげた使い方がある。OMEは1メールを1ファイルに保存するのであるが、受信したメールを保存するフォルダは、もちろん、ホームの中にある。クライアントで見えているそのホーム内のOMEのフォルダ(そのトップは「OMEルート」と呼んでいる)は、実はサーバにあるわけである。

 となると、メールを受信してメールをファイルにする作業は、別にクライアントのMac OS Xでやる必要はなく、サーバ上でできればいいわけだ。つまり、ログインをしなくても、メールボックスから、サーバがせっせとメールを取ってきて、サーバにある自分のホーム内にあるOMEルートにメールを溜め込んでくれることになる。

 ちなみに、ちょっとテクニカルな説明になるが、ユーザmsykのホームは、/Users/msykが一般的なパスである。これが、ネットワークホームだと、「/Network/Servers/サーバ名/Users/msyk」などとなる。「/Network/Servers/サーバ名」のところに、自動的にファイルサーバがつながっていて、そのパスはクライアントから見れば、ファイルサーバの中身になる。

 ところで、Mac OS Xを普通に使っていて、「ネットワーク」の中身を不可解に思った人もいるかもしれない。Serversの下に、自分自身のホスト名で、ハードディスクのルートが見えているのにお気づきだろうか。クライアントで「/Network/Servers/サーバ名/Users/msyk」はサーバの方にあるが、サーバにとっては、「/Network/Servers/サーバ名/Users/msyk」で、実はローカルのハードディスクの、ユーザmsykのホームをしっかりポイントしている。なかなかうまくできている。

●UNIXの原点に戻った?

 いずれにしても、クライアントに取ってのホームはサーバにとってのホームにもきちんとなる仕組みになってる。ならば、いつもクライアントで使っているアカウントで、サーバ上で、メールをダウンロードするソフトを稼働させることに、まったく問題はないことになる。つまり、~msykはクライアントもサーバも同じ場所を指すのである。動くソフトにとってはおおむねどちらでも同じことになる。

 OMEの処理はほとんどがバックグランドでできるので、そうなるとUNIX的解決方法で、cronを使ってメールのダウンロードを一定時間ごとにさせるという手法が使える。未読メールはあるフォルダにエイリアスを作っているが、AFPでマウントする限りはサーバで作ったエイリアスも、クライアント側でも正しくエイリアスとして機能している。

 ちなみに、メールの送信は、わざわざサーバにさせる必然性は、手書きして送信する上ではないので、それはクライアントでログインしているときに、クライアント側で送信プロセスを起動して行っている。

 実はこうしたサーバでメールを受信するというやり方は、昔のUNIXのやり方である。昔は「クライアント」というものが滅多に使われず、端末からサーバに接続する使い方だった時代、ホームはサーバにあり、メールはホーム内に保存された。SMTPで送られるメールはホームにダイレクトに蓄積されるのが基本的な動作である。

 つまり、OMEのように、データとしてのメールファイル群と、それを扱うアプリケーション群が分離したことで、結果的には原点に帰ったと言えるかもしれない。しかしながら、昔はそうした環境でより良くメールをやりとりするために、mhのような仕組みが作られ、エディタのemacs上で今のメールソフト並みの機能を実現していたのである。そして、現在は、昔のような端末しか使えないという状況ではなく、極めて高機能なクライアントOSが使える。それでも、昔からのネットワークホームという仕組みを導入することで、原点回帰するのはUNIXの思想の豊満さを感じる。

●モバイルからの問題もあるけれど

 ただ、若干の問題があるとすると、常にネットワークログインができるとは限らないことだ。たとえば、PowerBookでモバイルするときはどうするか? 離れたところにいながら、ネットワークログインをするのはちょっと難しい。管理がぐっと大変になるし、ファイアウォールなどの経路の問題で実はダメってこともある。実は、単にホームフォルダを「サーバへ接続」でマウントして、OMEのルートにあるファイルが見えればそれでメールは読めるのだが、オンラインでないと基本的にはリアルタイムには読めないので、現状では念のため、PowerBook専用のメールアドレスに適当に転送をして、PowerBookはローカルでOMEを動かしているという状況である。ほんとうのユビキタスとは、決してアクセスポイントをばらまくことではなく、インフラからソフトウエアの利用までを巻き込んだ非常に広い範囲のスローガンであるとも言えるだろう。

 Mac OS X Serverの機能を知っている人は「モバイルアカウント」はどうなのかと思うところだろう。もちろん、PowerBookはモバイルアカウントにしているが、OMEルートを同期するとかはしていない。それぞれ受信する方が、今のところは「軽い」気がする。ある意味、ちょろちょろやってくるメールは、ちょろちょろとダウンロードするのがいいみたいなのだ。 それでも、通常は自分のデスクで仕事をするのなら、ネットワークホームは便利だし、サーバに仕事をさせておくという使い方が、ネットワークっぽくていいんじゃないかと思う。そして、自分のデスク以外でも、自宅ならどこでも自分の作業環境が開いて作業できる。リビングで軽くメールをチェックするというのを、ちょっと重量感のあるポータブル機をいちいち持ち歩かなくても、そこにあるデスクトップ機でできるのである。そして、メールは常に自分のホームのOMEルートに随時溜め込んでくれているというわけである。


 【にい・まさゆき】msyk@msyk.net

 トレーナー、コンサルタント、デベロッパー、そしてライターと、あれこれこなすフリーランス。久しぶりに書籍が出る。いろいろワケありで、書いたのは半年ほど前なのだが、丸1冊の校正紙を受け取るのも懐かしい感覚だ。昔はそれを広げる机のスペースがあったはずなのに、なくなっていることに気付き、思わずキッチンテーブルワーカーになっていた。