動作原理を知る

Sekireiの中核は「DavServer」と名付けられたライブラリです。この名前の頭に付いた「Dav」とは何のことでしょう。

WebDAV」と呼ばれるプロトコルが存在します。これはかつて、Webサーバー上のファイルを操作するために、HTTPを拡張して策定されたプロトコルです。クライアント側にとって重要なことは、WindowsのエクスプローラーがこのWebDAVに対応しているという事実です。エクスプローラーがクライアントとしてWebDAVサーバーにアクセスできるのです。これはつまり、エクスプローラー上でサーバー上のファイルを操作できるということを意味します。DavServerの「Dav」は、この「WebDAV」の「DAV」を指します。そうです。DavServerはWebDAVサーバーなのです。

ただし、DavServer自体はデータソースを持たず、実際のファイルやフォルダは、データソースと直接やり取りできる「ブリッジ」から提供されます。DavServerはエクスプローラーとブリッジとを繋ぐ、単なるインターフェースに過ぎません。そしてこの小さなWebDAVサーバーへアクセスできるのは、DavServerが稼働しているコンピューター自身だけです。いわゆるループバックアドレス("localhost"や"127.0.0.1"など)以外でのアクセスは受け付けません。

DavServerが動作する理屈はこれだけです。ではSekireiは何をしているのでしょうか。Sekireiはウィンドウを持つGUIアプリケーションとして起動し、それは単なるクライアントの設定プログラムのように見えます。勿論(もちろん)、接続先のホスト名やユーザー名などを入力するための設定プログラムではありますが、それだけではエクスプローラーからサーバーへは接続できません。DavServerを起動しなければならないのです。しかし、Sekireiで接続情報のUNCをクリックすると、エクスプローラーが起動するのと引き換えに、Sekirei自身は終了してしまっているように見えます。起動したはずのDavServerは何処(どこ)へ行ってしまったのでしょうか。

実はSekireiは、終了する直前にもう一つ、別のプログラムを起動しています。これはウィンドウを持たないため見ることはできませんが、タスクマネージャーの「詳細」タブを開くと、"Kasasagi.Sekirei.Clients.exe"というプロセスが起動していることを確認できます。Sekireiの実体はこの"Kasasagi.Sekirei.Clients.exe"なのです。普段目にするSekireiは、設定し、起動するだけの、言わば起爆装置のようなものです。

しかし、この「起爆装置」にはもう一つ、極めて重要な仕事があります。スタートアッププログラムとして、ユーザーがWindowsにサインインした際に自動起動しているのです。そして必要に応じて、実体である"Kasasagi.Sekirei.Clients.exe"を起動した後、自身は終了します。ただし、ブリッジの設定がまだ一つも存在しなければ、実体を起動することも無く終了します。