Zope(Web Application Server)-Wikipedia

before-content-x4

ZOPE o buject p ublishing nvironment )は、オープンソーステキストを使用してプログラミング言語Pythonに記述されたオブジェクト指向の無料Webアプリケーションサーバーです。 Zopeは、Webアプリケーションの実装のためのプラットフォームを表しており、コンテンツをWebサイトのデザインから分離するように準備されているため、ダイナミックWebサイトの作成に非常に適しています。 Zopeのソースコードは、1998年のオープンソースアプリケーション全体である1996年のパートにありました。

after-content-x4

1995年、フレデリックスバーグ(バージニア州)のデジタルクリエーションは、いくつかの毎日の新聞の合併の合弁事業として設立されました。
最初の従業員はポール・エヴェリットとボブ・ペイジでした。ジム・フルトンなどの他の従業員は非常に迅速に追加されました。 1997年5月、デイリー新聞コンソーシアムのデジタルクリエーションが登場し、パートナーのポール・エヴァリットとボブ・ペイジが名前、ソフトウェア、従業員を獲得しました。

当時、一部の企業はすでに無料の製品Boboを使用してデジタル作成の外で作業していました。そのうちの1人はHadar Pedhazurでした。彼は当時、投資家になりたいという願いでデジタル作品にも来ました。ただし、Hadarはデジタル作成の将来をサービスプロバイダーとして見ていたため、会話は成功しませんでしたが、Paul EverittとBob PageはPrincipia Application Serverを含む製品を独自のアプリケーションとして販売したいと考えていました。しかし、1年後、成功が期待どおりに設定されなかった後、ハダールはデジタル作成のために再び登場し、Zopeと呼ばれる製品に製品を束ねてフリーソフトウェアとして公開するサービス会社になることが合意されました。

Zope 3は2004年11月にリリースされました。ほぼ完全に新品で、元のZODBオブジェクトデータベースと「ZPTテンプレートエンジン」のみが含まれています。 2010年1月17日、Zope 3は「Bluebream」と改名され、Zope 2への境界線を説明しました。

ブルーブリームでカットが作られました。 Zope 2にとどまる代わりに、内部構造を根本的に修正することを決定しました。イノベーションには、コンポーネントアーキテクチャが含まれます。副作用は、多くのコンポーネントがZope以外でも使用できることです。 Zope 2とBlueBreamの両方が現在、並行して積極的に開発されています。

バージョン2.13の後、Zope 2の直接開発はZope 4と呼ばれていました。Zope4はPython 3と互換性があり、2019年5月10日にリリースされました。 [初め]

拡張性 [ 編集 | ソーステキストを編集します ]

Zopeの機能は、多数の自由に利用可能な拡張機能で使用できます。 製品 (英語: 製品 )、ニーズに適応する、例えばB。:

after-content-x4

これらの拡張機能は、ファイルシステム内の別のディレクトリに保存され、ディレクトリを削除してZopeから再起動して、残留物なしで削除できます。 PythonまたはCで書かれたライブラリの統合など、Pythonプログラミング言語の全範囲が利用可能です。

製品は、現在非常に大規模なユーザーコミュニティによって開発および維持されています。

オブジェクトデータベース [ 編集 | ソーステキストを編集します ]

Zopeの多くのプロパティの基礎は、オブジェクトデータベースZODBであり、動的に変数のコンテンツが保存されます(追加のリレーショナルデータベースから来ない限り)。 ZODBには、階層ツリー内のすべての既存のオブジェクトが含まれており、取得の基礎を形成します。

それは非常にパフォーマンスがあり、Zopeとは独立して使用することもできます。

取得 [ 編集 | ソーステキストを編集します ]

特徴的な概念は、取得の概念、つまり含まれるオブジェクトの継承です。このようにして、プロパティと方法は、サブツリー全体に「継承」できます。これは、「Zope Bordics」で実現された動的なインターネットプレゼントの最も重要な基盤です。

開発言語 [ 編集 | ソーステキストを編集します ]

Zopeは、ドキュメントテンプレートマークアップ言語(DTML)、プログラミング言語Python、および開発言語に関するZopeページテンプレート(ZPT)を提供しています。 DTMLは依然として非常に頻繁に使用されていますが、現在はZope環境では時代遅れと見なされています。 PythonとZPTを使用すると、表現とプログラムのロジックのより良い分離が可能になるため、DTMLよりも好ましいです。

たとえば、Pythonプログラムは、内部Pythonスクリプト(Script(Python))として保存したり、外部メソッド(外部メソッド)として統合したりできます。
内部PythonスクリプトはZodoDBオブジェクトデータベースに保存されており、セキュリティ上の理由でその機能が制限されています。たとえば、ファイルシステムへのアクセスがブロックされ、オブジェクトデータベースに許可されます。
一方、外部メソッドはファイルシステムにあり、Zopeオブジェクトを介して統合されています。これらの方法にアクセス制限はありません。

安全 [ 編集 | ソーステキストを編集します ]

Zopeには、いわゆる役割(英語の役割)に基づいたセキュリティフレームワークがあり、正確な規定を可能にします。 誰がどこにいるのか 5月。個々のオブジェクトごとに、どのタイプのアクセスに必要な役割が必要かを決定できます。これらの役割は、zを与えるために、個々のユーザーにローカルで割り当てることもできます。 B.特定のサブツリーでのみアクセスを付与します。

さらに、Webユーザーは、Classic Sc​​ripting Languages(PHP、Perlなど)のように、サーバーのファイルシステムではなく、別の仮想環境では機能しません。開発者が希望する場合にのみ、これから抜け出すことができます。このシステムは、サーバーに保存されている他の情報へのアクセスを防ぐため、一般的な攻撃パターンを損ないます。

http-server [ 編集 | ソーステキストを編集します ]

ZopeにはWebサーバーが含まれています ZSERVER 、Pythonで書かれたMedusaサーバーの拡張バージョン。別のWebサーバーは必須ではありませんが、たとえばApache Webサーバーと一緒にZopeを操作するために使用できます。

バージョン2.13から、ZopeはWSGIで操作することもできます。

スケーラビリティ [ 編集 | ソーステキストを編集します ]

Zopeは、ソフトウェア側のマルチスレッドが可能です。ただし、いくつかのプロセッサでのZOPEインスタンスの負荷分布は、Pythonインタープリターのグローバルロックによって防止されます。 「Zope Enterprise Objects」(ZEO)の助けを借りて、いくつかのサーバーが同じデータベースにアクセスする可能性があります。このような分散システムは、いくつかのプロセッサを使用できます。

移植性 [ 編集 | ソーステキストを編集します ]

Zopeはほぼ完全にPythonで書かれています。 Cで批判的なシステムパーツが少数しか書かれていません。原則として、PythonインタープリターとCコンパイラを備えたすべてのプラットフォームでシステム全体を実行できます。

Linux、Windows、BSD、Mac OS X、Solarisの場合、一時的なパッケージが提供されます。パッケージにはZopeとPythonが含まれています。

利用規約 [ 編集 | ソーステキストを編集します ]

(さらに)公開の条件はいわゆるものです Zopeパブリックライセンス (で略された zpl ) 説明された、 [2] 他の開発者(atなど)からも MINGW-W64 ピピ [3] with)使用。

2004年には、2010年1月17日以来、最初にZope 3という名前で新しいZopeがリリースされました。 [4] 開発者がZope 3という名前を、Zope 2に対するさらなる開発と境界の障害として見つけた後。 [5]

Zope 2は、Webアプリケーションの有用なフレームワークとしての地位を確立していますが、1つまたは他のアイデアは時間の経過とともに弱点を示しました。 Zopeは当時優れていましたが、Zopeの強みの1つでした。ただし、Javaフレームワークスプリングなどの新しいテクノロジーは、拡大する他のオプションを示しています。拡張機能は、Zopeベースのクラスを拡張することでZopeにのみ統合できるため、Zopeに密接にリンクされており、Zope統合には多くのコードが必要でした。 Zope 3は、これに代わるものとしてコンポーネントモデルを導入しましたが、これはもはや必要ありません。

別のアイデアは、Webインターフェイス上でアプリケーションを開発することでした。彼らの利点は、Webブラウザですぐに変更をテストし、効果的になることです。ただし、不利な点は、バージョン管理システムとソーステキストの強力なエディターのはるかに難しい統合です。さらに、Webインターフェイスを介した開発のセキュリティメカニズムにより、多くのPythonモジュールを簡単に使用できないようになります。
BlueBreamでは、Webインターフェイスを介してプログラムロジックを直接記述できなくなりました。プログラムロジックは、Zopeと結合しなくなり、Zope以外の独立したプログラムとして実行される可能性があるため、単純にテストできます。

合計で、この変更により、開発者はZopeにあまり集中しないようにします。過去には、これは多くの開発者に投入されていました。

最初の安定版は、2004年11月6日に公開されました(その後、Zope 3という名前で)。現在のバージョンはBlueBream 1.0A0で、Zope 3.4.1に対応しています。

グロック [ 編集 | ソーステキストを編集します ]

BlueBream(以前のZope 3)は、XMLファイルの形式であまりにも多くの構成が必要であると多くのZope開発者から批判されています。 BlueBreamでは、XMLファイルを介して多くの構成と変更できます。これを行うには、構成ファイルで明示的に指定する必要があります。これに応じて、一部の開発者は持っています グロック Bluebreamに置く開発されました。

Grokはそれをリードします ドライ – トップマキシムとしての原理。 ドライ 「自分自身を繰り返さないで」の略です(英語の 「自分を繰り返さないで」 )。これは、すべてを1回定義する必要があることを意味します。構成がケースの90%で同じである場合、これを明示的に構成する必要はありません。だからあなたはできる グロック 行XML構成で動作する複雑なWebアプリケーションを作成します。

Zopeのよく知られたアプリケーションは、コンテンツ管理システムのploneです。同様に、プログラムはそうします SchoolTool Zope 3とShuttleworth Foundationによって開発され、ソフトウェア開発プラットフォームLaunchPadはZopeに基づいています。

Zopeに基づいたややあまり知られていないオープンソースCMSはZMSであり、開発者は元々、主に医学での使用などの研究運用のために開発されていましたが、現在は非常に広範な分布が見つかりました。その特別な機能は、特にMultimedia Publishingのスキルなど、ユーザーにフレンドリーなユーザーインターフェイスにあります。

GNU General Public Licenseの下にある組合コンテンツ管理システムUnion.cmsは、あまり知られていません。ユナイテッドサービスユニオンVer.diに代わって開発され、2003年に独自のCMSハイパー波に取って代わりました。 2010年3月16日以来、DGBのWebサイトは、Union.cmsのさらなる開発にも基づいており、したがってZopeに基づいています。

  1. Zopeリリースの履歴。 2019年5月14日にアクセス
  2. tldrlegal.com/license/zope-public-license-2.0-(Zpl-2.0) (英語) – 2015年7月10日に公開
  3. pypi.org/project/zope/#license (英語)
  4. Die Zope-Dev Mailing-Listを電子メールで送信します 、Baiju M(2010年1月17日アクセス)
  5. Zope Devメーリングリストのメールディスカッション (2010年1月17日にアクセス)
after-content-x4