Component Architecture

Welcome to the Zope Component Architecture wiki page. This page is created to provide information about Zope Component Architecture. Here you can see an introduction, installation instructions and articles. There is also a list of projects using Zope Component Architecture.

Introduction

Zope component architecture is about how to create reusable components, but not reusable components itself. You can see many packages built on top of Zope component architecture in Python Package Index also in Zope subversion repository .

A component is a reusable object with introspectable interfaces. Also components are cohesive and decoupled objects. A component provides an interface implemented in a class. It doesn't matter how a component is implemented, the important part is that it complies with its interface contracts. An interface is an object that describes how you work with a particular component. Using Zope component architecture we can spread the complexity of systems over multiple cooperating components. Zope component architecture help us to create two basic kinds of components, adapters and utilities.

Installation

The zope.component package represents the core of Zope Component Architecture. Together with the zope.interface package, it provides facilities for defining, registering and looking up components. You will be required to install a few dependency packages also. The zope.component package and it's dependencies are available in egg format from Python Package Index (PyPI).

You can install zope.component and it's dependencies using easy_install, provided you have internet connection. To install zope.component you can enter this command:

easy_install zope.component

This command will download zope.component and it's dependencies from PyPI and install it in your Python path.

If this will not work for you, you can install zope.component and it's dependencies offline after downloading the packages from PyPI. You can install packages in the order given below. For Windows, you can download binary packages of zope.interface and zope.proxy.

  1. zope.interface
  2. zope.proxy
  3. zope.deferredimport
  4. zope.event
  5. zope.deprecation
  6. zope.component

Only three of these packages are directly related to component architecture: zope.interface, zope.event and zope.component .

Projects

Here is a list of projects using Zope Component Architecture:

  1. Zope 3
  2. Zope 2
  3. Plone
  4. Creative Commons Publisher (Desktop)
  5. Gaphor (Desktop UML Tool)
  6. Silva
  7. Grok
  8. Sample Inventory
  9. SchoolTool
  10. EvoGrid (Genetic Algorithms Framework)
  11. Launchpad (Proprietary)
  12. (If you know any project using Zope Component Architecture, please add here)

There are two other major projects using zope.interface package:

  1. Twisted (Network/Web)
  2. Kiwi (Desktop)



( 92 subscribers )