Zope 3 at Google App Engine

download Zope 3 at Google App Engine

If you can't read please download the document

description

Introduction to Google App Engine Features and Limitations. Zope 3 Limitations and refactored packages, disabled packages, datastorestorage for ZODB. Grok at GAE.

Transcript of Zope 3 at Google App Engine

  • 1. Zope 3 at Google App Engine Mykola Kharechko Quintagroup, 2009

2. Overview

  • Google App Engine Features
  • Google App Engine Limitations
  • Zope 3 Limitations
  • Zope 3 refactored packages
  • Zope 3 disabled packages
  • datastorestorage for ZODB
  • Grok at GAE
  • Demo
  • Summary

3. Google App Engine Features

  • Python Runtime Environment
  • WSGI Support
  • Datastore storage

4. Google AppEngine Limitations

  • Read only file system
  • Reduced Standard Library
  • No C extensions
  • No zipimport (py_zipimport instead)
  • Quotas
    • Timeout (30 sec)

5. Zope 3 Limitations

  • Long startup (CPU, timeout, disk-io, ZCML, ZODB connection)
  • Some packages are written in C
  • No ZODB storage for Datastore
  • zope.configuration don't support zipped eggs

6. Zope 3 Refactored packages

  • RestrictedPython (remove from compiler import * )
  • persistent (rewrote to python)
  • BTrees (rewrote only thus classes with is used by zope.catalog, ZODB)

7. Zope 3 Refactored packages

  • zope.app.container (rewrote ContainedProxyBase from )
  • zope.app.form (os.path.exists/isfile corrected)
  • zope.app.onlinehelp (os.path.exists/isfile corrected)
  • zope.app.pagetemplate (rcompile replaced to compile)

8. Zope 3 Refactored packages

  • zope.app.publisher (@@SelectedManagementView GAE supports redirects only to absolute URLS )
  • zope.component (optimization refactoring)
  • zope.configuration (open replaced to zi_open now eggs can be zipped)
  • zope.documenttemplate (rcompile to compile)
  • zope.i18n (os.path corrected)

9. Zope 3 Refactored packages

  • zope.interface (optimization changes)
  • zope.session (now sessions is storing in RAM )
  • zope.pagetemplate (open to zi_open)
  • zope.proxy (from C to python)
  • zope.security (rcompile to compile, from c to python)
  • zope.hookable (from C to python)

10. Zope 3 disabled packages

  • zope.app.applicationcontrol
  • zope.sendmail
  • zope.rdb

11. datastorestorage for ZODB

  • No versions
  • No UNDO
  • Datastore transactions synchronized with ZODB tranasactions

12. Grok at GAE

  • setuptools dependency (slower then one zip)
  • Eat more memory then zope 3
  • slow martian package

13. Demo

  • http://zope3.gae.quintagroup.com/
  • http://worldcookery.gae.quintagroup.com/
  • http://grok-adder.gae.quintagroup.com/

14. Summary

  • Workable zope 3 at GAE
  • Opportunity to run any zope3-based application at GAE

15. Links

  • http://projects.quintagroup.com/gae
  • http://svn.quintagroup.com/gae