アカウント名:
パスワード:
Zopeはパフォーマンスに関わる箇所はCで書かれていますが、それ以外は全てPythonで書かれており、Pythonで拡張する事もできます。[Zope Japan]
JavaやRubyは今のところ使えませんけど、Perlはサポートしてます。
アプリケーションサーバといえばJava系のやつを想像すると思いますが、Zopeのコンセプトはそれらとかなり違います。Java系アプリケーションサーバが「Webアプリケーション構築環境」だとすれば、Zopeは「Webサイト構築環境」とゆう感じです。もちろんアプリケーションも作れるのですが、むしろグループでコンテンツを共同管理しながらWebサイトを運営するための環境と言った方が適切かと思います。
Zope上で動くアプリケーションにZWikiってのはありますが、Zope自体はもっと汎用的な環境です。
Zopeの管理画面でHTMLや画像などのコンテンツはあたかも普通のファイルシステムのように表示されるんですが、実はこれらすべて、ZODBというオブジェクトデータベース上のオブジェクトなんです。
個々のオブジェクトにプロパティやメソッドを設定することが可能で、たとえば「どこそこの階層にあるオブジェクトのdateプロパティを調べて、その値がこれ以上だったらnameプロパティを表示する」などのオブジェクト操作か簡単に書けてしまいます。 ディレクトリ階層のように見せているのは、実はZopeの名前空間でもあり、クラスや継承、逆継承(?)acquisitionなどをサポートしてます。
Zope管理画面上のフォルダってのは、クラスみたいにして使えるんです。各フォルダ階層にいくらでも自由にメソッドを追加できます。たとえばフォルダFooにメソッドBarを追加するとFoo.Barでメソッドにアクセスできます。ZClassってのもまた別にありますけど。
実はこのWebブラウザから使う管理用プログラム自体がZopeで書かれているってのがZopeの毛深いところです。
ちなみにコンテンツのアップロードには普通のFTPやWebDAVも使えます。
追加情報。Perlプログラマ向けの解説がIBM developerWorks Japanにあります。
Perl/CGIプログラマーのためのZope 好奇心旺盛な皆さんのための最初の探検
訳の変なところについてはこちらを参照してください。
SOAPとかXML-RPCをZopeはサポートしているので、これを使って適材適所って感じで行ければいいなぁなんて思ってます。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日々是ハック也 -- あるハードコアバイナリアン
RubyやJavaには対応しないの? (スコア:1)
rm -rf /bin/laden
Re:RubyやJavaには対応しないの? (スコア:3, 参考になる)
JavaやRubyは今のところ使えませんけど、Perlはサポートしてます。
アプリケーションサーバといえばJava系のやつを想像すると思いますが、Zopeのコンセプトはそれらとかなり違います。Java系アプリケーションサーバが「Webアプリケーション構築環境」だとすれば、Zopeは「Webサイト構築環境」とゆう感じです。もちろんアプリケーションも作れるのですが、むしろグループでコンテンツを共同管理しながらWebサイトを運営するための環境と言った方が適切かと思います。
Re:RubyやJavaには対応しないの? (スコア:1)
>しろグループでコンテンツを共同管理しながらWebサイトを運営するための環境と言った方が適切か
とするとやっぱりWikiに近いんでしょうか?(^^;
オブジェクト・パブリッシング・システムなんです (スコア:2, 参考になる)
Zope上で動くアプリケーションにZWikiってのはありますが、Zope自体はもっと汎用的な環境です。
Zopeの管理画面でHTMLや画像などのコンテンツはあたかも普通のファイルシステムのように表示されるんですが、実はこれらすべて、ZODBというオブジェクトデータベース上のオブジェクトなんです。
個々のオブジェクトにプロパティやメソッドを設定することが可能で、たとえば「どこそこの階層にあるオブジェクトのdateプロパティを調べて、その値がこれ以上だったらnameプロパティを表示する」などのオブジェクト操作か簡単に書けてしまいます。 ディレクトリ階層のように見せているのは、実はZopeの名前空間でもあり、クラスや継承、逆継承(?)acquisitionなどをサポートしてます。
Re:オブジェクト・パブリッシング・システムなんです (スコア:1)
とすると、仕事で数年前からいじってる某OODBシステムと似てるなあ。
#ちょうど最近そいつをJavaバインディングしてwwwアプリ化したりしてる(^^;
>オブジェクトにプロパティやメソッドを設定することが可能
オブジェクトは個々に決まってますから切らせて頂きました。
それはwwwブラウザからオブジェクトにメソッドを書いて与える事も出来る、のですか?
#だったら仕事の奴より偉いかも(^^;;;;;
Re:オブジェクト・パブリッシング・システムなんです (スコア:2, 参考になる)
Zope管理画面上のフォルダってのは、クラスみたいにして使えるんです。各フォルダ階層にいくらでも自由にメソッドを追加できます。たとえばフォルダFooにメソッドBarを追加するとFoo.Barでメソッドにアクセスできます。ZClassってのもまた別にありますけど。
実はこのWebブラウザから使う管理用プログラム自体がZopeで書かれているってのがZopeの毛深いところです。
ちなみにコンテンツのアップロードには普通のFTPやWebDAVも使えます。
Perl/CGIプログラマーのためのZope (スコア:1)
追加情報。Perlプログラマ向けの解説がIBM developerWorks Japanにあります。
Perl/CGIプログラマーのためのZope 好奇心旺盛な皆さんのための最初の探検
訳の変なところについてはこちらを参照してください。
Re:RubyやJavaには対応しないの? (スコア:2)
他の方の発言にもありますがそういう意味ではみんなでWebサイトを一緒に管理していくような感じですね。
オープンソースという事からも、「自分たちで作っていく」と言うことの他に「今あるモノを共有する」という姿勢というか方向性が強いのだと思います。ですので、利用可能な言語を多くすることよりもプロダクトを沢山開発することの方が幸せになれるという事じゃないでしょうか。
Zopeはそれなりのマシンパワーが要求されるのが個人的には辛い・・
職業としてのプログラマ
Re:RubyやJavaには対応しないの? (スコア:1)
SOAPとかXML-RPCをZopeはサポートしているので、これを使って適材適所って感じで行ければいいなぁなんて思ってます。