WSGI / Rack / PSGI てなんぞKatsuji Ishikawa <katsuji.ishikawa@gmail.com>
menu• Web アプリケーションの実行環境• WSGI について• Rack について• PSGI について• Hello World サンプル
Web アプリケーションの実行環境• 注: Python, Ruby, Perl における主なもの• CGI• FastCGI• SpeedyCGI (Perl)• mod_言語名 (python, ruby, perl)• mod_snake...
WSGI• WSGI 以前• Python では色々な Web アプリケーションフレームワーク(以下 WAF )が作られていた• http://wiki.python.org/moin/WebFrameworks• WAF を選ぶ = 利用でき...
WSGI• WAF <=> Web サーバをつなぐ共通のインタフェースを定義しよう!• これが WSGI (PEP 333)• http://www.python.org/dev/peps/pep-0333/• Python Web Serve...
WSGI• WSGI 以降• WAF, Web サーバ共に WSGI に対応すればおk• 使いたいWAF, Web サーバが使える• WSGI 対応してれば他のサーバへ変更も容易• WSGI =「仕様」、wsgiref =「リファレンス実装」(...
WSGIWebサーバ WAFDjangoTurboGearsPyramidFlaskBottleweb.pyApachenginxCherokeelighttpd
お断り• 前の図は http://gihyo.jp/dev/serial/01/perl-hackers-hub/000101 を真似ました
Rack• Ruby には WSGI 相当のものがなかった• 実行環境どうしよう• Mongrel ? FastCGI ? Passenger ?• 2007年ごろ: WSGI のようなのつくっちゃおう => Rack• Rack: a Rub...
PSGI• Perl にも WSGI / Rack 相当のものがなかった• 実行環境どうしよう• mod_perl ? fastcgi ? speedycgi ?• 2009年: WSGI / Rack のようなのつくっちゃおう => PSGI...
参考URL• WSGIとPythonでスマートなWebアプリケーション開発を 第1回 WSGIの概要• http://gihyo.jp/dev/feature/01/wsgi/0001?page=1• Ruby Freaks Lounge 第2...
Hello World サンプル
Upcoming SlideShare
Loading in...5
×

WSGI / Rack / PSGI てなんぞ

2,384

Published on

社内自グループでの勉強会で使用。 WSGI, Rack, PSGI を聞いたことのない人向けの紹介。

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,384
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
1
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

WSGI / Rack / PSGI てなんぞ

  1. 1. WSGI / Rack / PSGI てなんぞKatsuji Ishikawa <katsuji.ishikawa@gmail.com>
  2. 2. menu• Web アプリケーションの実行環境• WSGI について• Rack について• PSGI について• Hello World サンプル
  3. 3. Web アプリケーションの実行環境• 注: Python, Ruby, Perl における主なもの• CGI• FastCGI• SpeedyCGI (Perl)• mod_言語名 (python, ruby, perl)• mod_snake (Python)• WSGI / Rack / PSGI• ・・・などなど
  4. 4. WSGI• WSGI 以前• Python では色々な Web アプリケーションフレームワーク(以下 WAF )が作られていた• http://wiki.python.org/moin/WebFrameworks• WAF を選ぶ = 利用できる Web サーバが決まってしまう、またその逆も
  5. 5. WSGI• WAF <=> Web サーバをつなぐ共通のインタフェースを定義しよう!• これが WSGI (PEP 333)• http://www.python.org/dev/peps/pep-0333/• Python Web Server Gateway Interface
  6. 6. WSGI• WSGI 以降• WAF, Web サーバ共に WSGI に対応すればおk• 使いたいWAF, Web サーバが使える• WSGI 対応してれば他のサーバへ変更も容易• WSGI =「仕様」、wsgiref =「リファレンス実装」(Python 2.5 から標準添付)• http://docs.python.org/2/library/wsgiref.html
  7. 7. WSGIWebサーバ WAFDjangoTurboGearsPyramidFlaskBottleweb.pyApachenginxCherokeelighttpd
  8. 8. お断り• 前の図は http://gihyo.jp/dev/serial/01/perl-hackers-hub/000101 を真似ました
  9. 9. Rack• Ruby には WSGI 相当のものがなかった• 実行環境どうしよう• Mongrel ? FastCGI ? Passenger ?• 2007年ごろ: WSGI のようなのつくっちゃおう => Rack• Rack: a Ruby Webserver Interface• http://rack.github.io/• Rack =「仕様」&「実装」
  10. 10. PSGI• Perl にも WSGI / Rack 相当のものがなかった• 実行環境どうしよう• mod_perl ? fastcgi ? speedycgi ?• 2009年: WSGI / Rack のようなのつくっちゃおう => PSGI• PSGI/Plack• http://plackperl.org/• PSGI =「仕様」、Plack =「(リファレンス)実装」
  11. 11. 参考URL• WSGIとPythonでスマートなWebアプリケーション開発を 第1回 WSGIの概要• http://gihyo.jp/dev/feature/01/wsgi/0001?page=1• Ruby Freaks Lounge 第23回 Rackとは何か(1)Rackの生まれた背景• http://gihyo.jp/dev/serial/01/ruby/0023• Perl Hackers Hub 第1回 PSGI/Plack―フレームワークとサーバをつなぐエンジン (1)• http://gihyo.jp/dev/serial/01/perl-hackers-hub/000101
  12. 12. Hello World サンプル
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×