Web Server Gateway Interface(WSGI,Rack,PSGI)
Java屋さんが、他言語でのWebアプリケーション開発する際に押さえておくと良い仕様をメモ。
多くのWebアプリケーションフレームワークが存在して、使用可能なWebサーバを制限したりその逆があるのは
よろしくないのでWebサーバとフレームワーク間で統一されたインターフェース仕様が必要となります。
まさに Web Server Gateway Interface です。
Python WSGI
WSGI(Web Server Gateway Interface)は、Python向けの統一されたインターフェース仕様
WSGI supported web frameworks
Django, Pylons, TurboGears, CherryPy, web.py, web2.py, Zope3, ...
Ruby Rack
Rack supported web frameworks
Mack, Maveric, Merb, Ruby on Rails, Waves, ...
Java Servlet
Javaの場合は、Servlet仕様があるのでアプリケーションサーバを変えても通常プログラムを変更するが無いので
Web Server Gateway Interfaceのようなものを意識することは、ほとんど無いですね。
Servlet2.4(JSR-154 Final), Servlet2.5(JSR-154 Maintenance), Servlet3.0(JSR-315)