AppServerはWSGI等にインスパイアされたPHP製のWebアプリケーションサーバ。

AppServerはPHP製のオープンソース・ソフトウェア。PHPはWebサイトの開発でおそらく最も利用されているプログラミング言語だろう。10年前ならともかく、今では企業の基幹システムでさえ利用されるようになっている。Apache + mod_phpという組み合わせが一般的だ。


デモ画面

それをデファクトと受け止めるのは良いが、それ以外の選択をなくしてしまうのは発展性がない。Apache以外、例えばnginxで動かす場合や他のWebサーバを想定するならば依存関係がない方が良い。それを実現するのがAppServerだ。

AppServerはRubyでいうRack、PythonでいうWSGIにインスパイアされて開発が行われている。APIを通じてWebアプリケーションとWebサーバをつないでくれる。アプリケーションサーバ化することで、リソースの初期読み込み、データベース接続の共有化によってレスポンスが高速化するメリットがあるとのことだ。

AppServerを立ち上げるためには幾つかのPHP機能拡張をインストールする必要がある。まだ実験段階ではあるもののファイルのアップロードやGET/POSTの取得はできている。WebSocketやゲームのように単純にレスポンスを返すだけのサーバが求められるようになっている現在、注目しておきたい技術と言えそうだ。

MOONGIFTはこう見る

なぜPHPでアプリケーションサーバ、という雰囲気もあるが、それはPHPの利用法がApache + mod_phpで行われるものに限定して考えてしまうからだろう。PHPはWeb向け言語ではあるが、Webサーバと切り離せばもっと活用できる幅が広がるだろう。

WSGIのような汎用的な仕組みがあるからこそPythonも実践的に使えるようになっている。Rackも同様だ。PHPの可能性を広げ、さらに面白さを感じるためにもAppServerのような試みは必須と言えそうだ。

indeyets/appserver-in-php - GitHub