Chat (Lingr.com)
Informaiton
Daily
Column
- MySQL日本語の旅(5/1)
- アクセス向上秘伝(5/9)
- 一風変ったHaskellλ門(6/13)
- SICP Answer Book (5/31) 問題3.26追加
Zope Solution
Extra
アーカイブ
OSS案内所
Site Info
関連リンク
なぜZopeなのか:Zopeのビジネスメリットについて
Zopeは技術的に興味深いだけでなく、ビジネス上もさまざまな実際的メリットがあります。
ここではそれらのメリットを、Zopeの持ついくつかの側面に分けて、ざっとご紹介します。
- 無償のメリット
- オープンソースのメリット
- Webアプリケーションサーバのメリット
- Pythonのメリット
- Zopeのメリット
- スピード&フレキシビリティ
無償のメリット
まず、Zopeは無償です。
Zopeだけでなく、LinuxやApacheなどのオープンソース・ソフトウェアはたいてい無償ですが、この無償であることのメリットは、言うまでもなくきわめて大きいでしょう。
特にZopeの場合、「Webアプリケーションサーバなのに無償」ということが大きいのです。
WebLogicやWebSphere、ColdFusionといったWebアプリケーションサーバは、たいてい100万円以上します。これをいくつも購入する大企業もあると聞きますが、そんなことは普通なかなかできないでしょう。
Zopeはいくつ使っても無償ですし、ダウンロードの際に個人情報の入力などもいっさい求められません。
なにしろ無償なので、評価版やベーシック版、エンタープライズ版、といった区分けも一切なく、最新ヴァージョンに全ての機能が投入されています。
オープンソースのメリット
オープンソース・ソフトウェアはたいてい無償ですが、「オープンソース」という言葉それ自体は、ソースコード(プログラム)がオープン(中身を見ることができる)であることを意味します。
オープンソースであれば、何か困ったことが起きたときに、その原因をつきとめやすくなり、それを自分で直してしまうこともできます。
また、オープンソースは大きな教育的効果をもっています。それはまさに「生きた教科書」であり、プログラマはそのソースコードを見て、ソフトウェアの書き方を学びます。
そして、よりビジネス的な観点から見たオープンソースのメリットのひとつは、「開発がオープンな状態で進むため、精力的な開発者やテスターが集まりやすく、開発・改良が早く進む」ということでしょう。
成功しているオープンソース・ソフトウェアのプロジェクトでは、商用ソフトウェア・ベンダーが追いつけないほどのスピードで、開発やヴァージョンアップが進みます。また、バグやセキュリティホールが見つかりやすく、改善されやすいのも特徴です。
商用ソフトウェアを利用した場合、バグやセキュリティホールの改善、ヴァージョンアップなどはすべてそのソフトウェアのベンダー任せです。バグはベンダーの対応を待つしかなく、独自のカスタマイズなどは通常不可能です。大きなヴァージョンアップには、たいてい費用がかかります。
オープンソースの場合、それを扱うのに多少の技術がいりますが、そこさえクリアすれば、大きなメリットを享受できます。商用ソフトウェアを買う値段で、オープンソースに詳しい技術者を雇ってしまえる場合も少なくありません。
最近、コンピュータウイルスによる被害が多数報道されていますが、有名なオープンソース・ソフトウェアは商用ソフトウェアに比べて一般に信頼度が高く、こういう場合でも被害を受けにくいといえます。
Zopeの開発はsvn.zope.orgにてオープンソース・スタイルでおこなわれており、誰でもソースを見たり、ダウンロードすることができます。
Webアプリケーションサーバのメリット
「Webアプリケーションサーバ」とは、大ざっぱにいえば、ダイナミックなWebサイト(Webアプリケーション)の開発・実働のための便利な枠組みを提供するソフトウェアです。
従来、ダイナミックなWebサイトの定番といえばCGIでしたが、その後PHPやASP、JSPなどの埋め込み型言語が主流になってきました。
そして最近、これらの埋め込み型言語よりも高度な枠組みを備えた、Webアプリケーションサーバが注目されるようになってきたのです。
とはいえ、かつてのCGIなどに比べると、Webアプリケーションサーバの普及度はまだまだです。その原因は、中身が難しいというだけでなく、やはり高価で手が出ないことも大きいでしょう。
無償のZopeであれば、すぐにWebアプリケーションサーバの威力を体験できます。
Pythonのメリット
Pythonは、オブジェクト指向のスクリプト言語で、コンパイル不要のインタプリタ言語です。ZopeはこのPythonで書かれています。
かつてはPerlがスクリプト言語の代名詞的な存在で、CGIなどは皆Perlで書いたものでした。しかし最近は、欧米の技術者向けサイトなどでは「Perl、Python、PHP」が決まり文句のように言われるようになり、Pythonが主流スクリプト言語のひとつに浮上しています。
オープンソース・ムーヴメントのバイブル「伽藍とバザール」で知られるエリック・レイモンドなど、スクリプト言語としてPythonを推薦する人は多く、Pythonの書籍も多数販売されています。
日本でも「日本Pythonユーザ会」がメーリングリストの運用、さまざまなイベントの開催、有志でのドキュメント日本語翻訳など、開発者支援を積極的に行っています。欧米で作られたスクリプト言語は日本語の資料が少ないと思われるかもしれませんが、Python標準のドキュメントはほぼすべて日本語に翻訳されており、初心者でもすぐプログラミングを始められる環境が整っています。
Pythonは手軽なスクリプト言語であると同時に、Javaと同様の本格的なオブジェクト指向言語でもあります。Zopeのような大きくかつ強力なソフトウェアを書くことができ、またそれを容易に拡張できるということが、Pythonの威力を証明しています。
Zopeはしばしば、「Pythonのキラーアプリケーション」と言われます。つまり、「ZopeのおかげでPythonを知った」「ZopeをやりたくてPythonに手を出した」といった人が出てくるほど、Zopeは代表的なPythonアプリケーションだということです。
いっぽうZopeにとっても、Pythonで書かれ、Pythonで拡張できるということが大きな強みになっており、これは「PythonはZopeの秘密兵器」であると言われています。
Pythonはそれ自体、Zopeとはまったく独立のもので、Pythonのコアチームおよびコミュニティによって開発が進んでいます。
しかし、ZopeはPythonの上に成り立っているので、Pythonの進化、発展をZopeはすべて享受できます。Zopeは、Zope自体の開発に加え、Pythonの開発によっても前進するわけです。
これら両方が活発なオープンソース・コミュニティに支えられているということが、Zopeにとって二重の強みになっていると言えるでしょう。
Zopeのメリット
以上のようなメリットに加えて、Zope独自のメリットとしては、
- 導入が容易
- ブラウザだけで開発、管理
- クロスプラットフォーム
- 短期開発に強い
などがあります。
ZopeはどこにでもあるWindowsマシン1台で動き、自前でWebサーバと簡易データベースを持っているので、スタートの敷居がたいへん低いです。これ以上かんたんな導入は考えにくいほどです。
さらに、すべてをブラウザだけで管理できるということで、抜群の操作性を発揮します。ブラウザのフォームでソースを書き換えて、すぐにそれを実行できるので、編集->実行のターンアラウンド(行ったり来たり)がきわめて高速です。
そして、Pythonのおかげで、Zopeはクロスプラットフォーム環境です。Windowsが入ったノートPCと、会社のLinuxマシンの両方に Zopeをいれておいて、両方で開発を進めるといったことができます。ZopeはWebプラットフォームであり、Zopeの中にいるかぎり、OSを意識することはありません。
こうした特性から、Zopeは短期開発に強く、「とにかくモノをつくりたい」といった場合に大きな威力を発揮します。そして、開発されたWebアプリケーション(Webサイト)の移植性がきわめて高いのも特徴です。
スピード&フレキシビリティ
無償でオープンソース、短期開発可能といったメリットを持つZopeは、さまざまな可能性をひらいてくれます。
システムやソリューションの開発は、必ずしも最初から仕様が万全だったり、予算がふんだんにあるというわけではありません。
- 予算が少ない
- 時間がない
- 仕様が決まっていない
- とりあえず動くモノがないと予算が下りない
といったことはよくありますが、こうした場合でも、Zopeであれば「なんとかなる」ことがけっこうあります。
まず小規模のプロトタイプから始めて、実際にモノを作りながら仕様を決めていくといった方法が、Zopeなら可能になります。
最近、「エクストリーム・プログラミング(XP)」というソフトウェア開発手法が話題になっています。XPでは、短いサイクルで少しずつ目に見える成果を出しながら、それを顧客と共有し、ひんぱんな仕様変更にも対応していく、といったフレキシブルな側面が重視されています。
開発と実行結果の確認がともにWebブラウザ上で高速かつシームレスにおこなえるZopeは、きわめてXP的なプラットフォームといえます。
- スピード(短期開発)
- フレキシビリティ(仕様に対する柔軟性)
の2つが要求される場合、Zopeはそれに応えられるポテンシャルを備えています。