ITpro Special PHPの開発にWindowsという新たな選択肢

ITpro Special PHPの開発にWindowsという新たな選択肢

これまで“LAMP(Linux+Apache+MySQL+PHP)”といった表現に見られるように,LinuxやApacheをベースとしたシステム用の実装技術として固定的に捉えられてきたPHP。あまり知られていないが実は,Windows ServerやIIS(Internet Information Services)といったプラットフォームにPHPを適用した“WAMP(Windows+Apache+MySQL+PHP)”さらには“WIMP(Windows+IIS+MySQL+PHP)”といった環境も現実的な選択肢となっている。これからのPHP開発環境について,PHP関連書籍を数多く執筆している山田祥寛氏に話を聞いた。
山田祥寛氏

 近年,オープンソース・ソフトウエア(OSS)ベースのWebシステム開発用スクリプト言語として大きな注目を集めているPHP。動的なWebサイトの開発を目的として登場したが,今やPHPはサーバー・サイドのWebアプリケーション開発の世界において確固たる地位を築いている。その特長は何と言っても,開発の“取っつきやすさ”にあるといえるだろう。

 例えば,主要なWeb開発言語であるJavaやASP.NETでは,ごく単純な文字列を表示しようとするだけでも,ディレクティブやコントロール,プロパティ,イベントハンドラといったものを理解しなければならず,その点はハードルが高いといえる。「もちろん,JavaやASP.NETにおけるそうした実装上の制約は,例えば基幹システムなどで求められる,アプリケーションの拡張性や再利用性を確保するうえで不可欠なものです。またそれらの概念を理解すれば非常に使いやすいフレームワークが提供されているというのも事実です。これに対してPHPの利点は,あくまでもそうした難解な概念を習得することなく,手軽にスクリプトを記述してそれをHTMLに埋め込むだけで必要な処理を実装することができるという簡便さにあります」と山田祥寛氏は説明する。

 PHPは,特に中小規模のWebサイトの構築に数多く用いられており,一般のプログラマだけでなく,例えばデザイナといった人たちにも,広くWebアプリケーション開発への門戸を開いてきた経緯がある。その後1998年に登場したPHP3では,新たにオブジェクト指向が導入されたほか,2004年リリースの現行バージョンPHP5に至るまで言語仕様,パフォーマンスの改善,フレームワークの拡充などが順次進められてきており,昨今では大規模システムに適用されている事例も増えてきている。


山田祥寛氏

 PHPによるWebシステム開発というと,いわゆる“LAMP”(Linux+Apache+MySQL+PHP)といった言葉に代表されるように,LinuxやApacheといったプラットフォームを前提としたものとの認識が一般的だった。これに対して実は既に,Windows ServerやIIS(Internet Information Services)をプラットフォームとするシステムにおいても,PHPによるアプリケーション開発が可能となっているのだが,こうした事実は意外なほど知られていない。

 マイクロソフトでは,近年のWebシステム開発におけるPHPの受容の広がりを見据え,PHPの開発・配布・運用ソリューションの提供で知られるZend Technologies(国内ではゼンド・ジャパン)との間でアライアンスを締結するなど,Windows Server/IIS上でのPHPのサポート強化に向けた取り組みを,積極的に展開している。

 これにより,LAMPならぬ“WAMP”(Windows+ Apache+MySQL+PHP),さらには“WIMP”(Windows +IIS+MySQL+PHP)といった環境も現実のものとなっている。特にIISに関しては,以前からサポートされてきたInternet Server API(ISAPI)経由でのPHPサポートに加え,プロセスをメモリー上に永続化させることで,パフォーマンスを大幅に向上させる「FastCGI」がサポートされている。さらに,IIS 6.0からはこのFastCGIをIIS上で動作させるためのモジュール「FastCGI Extension for IIS6.0」をダウンロードして,システムに適用できる。さらに最新版のIIS 7では,同モジュールが標準装備されているのだ。

 「FastCGIの実装によって汎用的で,パフォーマンス,信頼性に優れたプラットフォームが実現されました。このためIIS上でPHPを利用するという方法もきわめて現実的なポテンシャルを持つ選択肢になったと言えます。もはや“PHP=Linux/Apache”という固定観念は捨て去るべきでしょう」と山田氏は強調する。

 また開発環境についても,マイクロソフトの「Microsoft Visual Studio」上で,PHPの開発をサポートするためのアドインモジュールが,サードベンダー各社から提供されている。さらに,マイクロソフトがWebサイトデザインツールとして提供する「Expression Web」の最新バージョンであるExpression Web2では,新たにPHPをサポートした。このように,Windows Server/IISプラットフォームをターゲットとしたシステムを,PHPで実現するためのツールも急速に整ってきている状況である。

 WAMP,WIMPといった選択が可能になっているという事実は,開発ベンダーにとっても,ユーザーにとっても大きなメリットをもたらす。PHPに関する高度なスキルを持った開発ベンダーなら,そのアドバンテージを,より広範なプラットフォームやユーザーシステムにおいて活かせるだろう。また,Windows Server/IISによるシステムを運用,もしくは計画しているユーザーにとっては,PHPの強みを活かしたより迅速なシステム構築が可能になるというメリットもある。


Linuxと遜色ないパフォーマンス

 このような技術/製品面でのPHPに関する取り組み強化と並行して,マイクロソフトは,Windows Server/IIS上でのPHPによるシステム開発に関わる各種情報やノウハウの,開発者やユーザーへの提供も強力に推進している。例えばその一環として,同社では「PHP on IIS」(http://www.microsoft.com/japan/opensource/php/)というWebサイトを立ち上げた。このサイトでは,WIMP環境の開発者に向けた最新ニュースやセミナーの案内をはじめ,開発に関する各種ガイドラインやノウハウの提供などを行っている。

 「これまで,IISベースのシステム開発において,一般にPHPが選択肢にならなかったという背景には,情報が不足していたということも重要な要因です。要するに,IISでPHPが使えることを知らない開発者が多いというのが実情です」と山田氏は語る。

 ちなみに,このPHP on IISには,実際のユーザーシステムにおいて,LAMP環境とWIMP環境のパフォーマンスを比較したベンチマークテストの結果なども掲載されている。WIMP環境がLAMP環境に対してパフォーマンスの点でも何ら遜色がないことを,データで示している点も興味深い。

 今後,Webを中核とした企業システムには,パフォーマンスや可用性,拡張性,あるいはセキュリティといった様々な局面で,さらに厳しい要件が課されていくことになる。そうしたなかで,ベストなユーザー・エクスペリエンスは,決して一律なものではなく,個々のシステムやユーザーごとに違ったものとなるはずだ。

 「多種多様なシステムを実現するための開発環境も,1つにこだわる必要はないと思います。そのような意味からも,WAMPやWIMPといったものがシステム構築の有力な候補となり,実装技術やプラットフォームの組み合わせや選択肢がどんどん広がるというのは,開発ベンダーやユーザーにとって大いに歓迎すべきことだと言えます」と山田氏は強調する。

マイクロソフトが提供するWindowsでのPHP活用サイト「PHP on IIS」

マイクロソフト株式会社

マイクロソフト株式会社
所在地:〒151-8583 東京都渋谷区代々木2-2-1 小田急サザンタワー
URL:http://www.microsoft.com/japan/

INDEX INDEX Webアプリケーションを手軽に開発できるPHP INDEX “LAMP”に加え“WAMP”,そして“WIMP”へと広がる選択肢 INDEX 開発に関わる各種情報,ノウハウの提供も強力に推進
マイクロソフト オフィシャルサイト PHPonIIS オープン記念キャンペーン実施中!