2010年4月21日水曜日

有限会社ファイブセクトとCGI

有限会社ファイブセクト



有限会社ファイブセクトはホームーページにこんな言葉を載せていました。
「使いやすいサイトにするためには、ユーザー・インターフェイスを充実させることが大切です。ファイブセクトでは、お客様のニーズにあわせフォームメールや掲示板といった基本的なCGIのプログラムから、メール配信システム、データベースといった大規模なプログラミングの設計・構築を行っております。」
有限会社ファイブセクトはユーザー・インターフェイスを重要視しているんですね。
ところで、この中に出てくる「CGI」って何でしょうか?
ちょっと気になったので調べてみました。

Common Gateway Interface (コモン・ゲートウェイ・インタフェース、CGI)は、ウェブサーバ上でユーザプログラムを動作させるための仕組み。現存する多くのウェブサーバプログラムはCGIの機能を利用することができる。

ウェブサーバプログラムの機能の主体は、あらかじめ用意された情報を利用者(クライアント)の要求に応じて送り返すことである。そのためサーバプログラム単体では情報をその場で動的に生成してクライアントに送信するような仕組みを作ることはできなかった。 そこでサーバプログラムから他のプログラムを呼び出し、その処理結果をクライアントに送信する方法が考案された。それを実現するためのサーバプログラムと外部プログラムとの連携法の取り決めがCGIである。

CGIは環境変数や標準入出力の扱える実行環境からであればプログラミング言語の別を問わず幅広く利用できるが、実行速度やテキスト処理の容易さなどの兼ね合いによりPerlが使われることが多かった。近年では、Perlに加えてPython、Rubyなども広く使われている。

代表的なアプリケーションには、電子掲示板、アクセスカウンタ、WikiやBlogシステムなどがある。

近年では、Webサーバのプロセスとしてインタプリタを常駐させておくことにより、CGIからプログラムを呼び出すオーバヘッドを減らし、パフォーマンスを向上させたJava Servletやmod perl、mod php、FastCGIなどの実装も出現している。

うーん、難しい説明ですね。
有限会社ファイブセクトの方に今度聞いてみたいです。