.. _introdev: Introduction ============ PyAMS application used the Pyramid framework and Zope architecture, most of functionality of PyAMS are build on this base. What is Pyramid? ---------------- Pyramid is an open source Python web application framework. It is designed to make creating web applications easier. What is Zope? ------------- Zope is a free and open-source, object-oriented web application server written in the Python programming language. The term ZOPE is an acronym for “Z Object Publishing Environment” (the Z doesn’t really mean anything in particular). However, nowadays ZOPE is simply written as Zope. It has three distinct audiences. This guide is intended to document Zope for the second audience, Developers, as defined above. If you fit more into the “user” audience defined above, you’ll probably want to start by reading The Zope Book . Throughout this guide, it is assumed that you know how to program in the Python programming language. Most of the examples in this guide will be in Python. There are a number of great resources and books for learning Python; the best online resource is the python.org web site and many books can be found on the shelves of your local bookstore. 1.2. Organization of the book This book describes Zope’s services to the developer from a hands on, example-oriented standpoint. This book is not a complete reference to the Zope API, but rather a practical guide to applying Zope’s services to develop and deploy your own web applications. This book covers the following topics: .. glossary:: Components and Interfaces Zope use a component-centric development model. This chapter describes the component model in Zope and how Zope components are described through interfaces. Object Publishing Developing applications for Zope involves more than just creating a component, that component must be publishable on the web. This chapter describes publication, and how your components need to be designed to be published. Zope Products New Zope components are distributed and installed in packages called “Products”. This chapter explains Products in detail. Persistent Components Zope provides a built-in, transparent Python object database called ZODB. This chapter describes how to create persistent components, and how they work in conjunction with the ZODB. Acquisition Zope relies heavily on a dynamic technique called acquisition. This chapter explores acquisition thoroughly. Security When your component is used by many different people through the web, security becomes a big concern. This chapter describes Zope’s security API and how you can use it to make security assertions about your object. Debugging and Testing Zope has built in debugging and testing support. This chapter describes these facilities and how you can debug and test your components.