Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Zope 3 at Google App Engine

6.008 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie

Zope 3 at Google App Engine

  1. 1. Zope 3 at Google App Engine Mykola Kharechko © Quintagroup, 2009
  2. 2. Overview <ul><li>Google App Engine Features </li></ul><ul><li>Google App Engine Limitations </li></ul><ul><li>Zope 3 Limitations </li></ul><ul><li>Zope 3 refactored packages </li></ul><ul><li>Zope 3 disabled packages </li></ul><ul><li>datastorestorage for ZODB </li></ul><ul><li>Grok at GAE </li></ul><ul><li>Demo </li></ul><ul><li>Summary </li></ul>
  3. 3. Google App Engine Features <ul><li>Python Runtime Environment </li></ul><ul><li>WSGI Support </li></ul><ul><li>Datastore storage </li></ul>
  4. 4. Google App Engine Limitations <ul><li>Read only file system </li></ul><ul><li>Reduced Standard Library </li></ul><ul><li>No C extensions </li></ul><ul><li>No zipimport (py_zipimport instead) </li></ul><ul><li>Quotas </li></ul><ul><ul><li>Timeout (30 sec) </li></ul></ul>
  5. 5. Zope 3 Limitations <ul><li>Long startup (CPU, timeout, disk-io, ZCML, ZODB connection) </li></ul><ul><li>Some packages are written in C </li></ul><ul><li>No ZODB storage for Datastore </li></ul><ul><li>zope.configuration don't support zipped eggs </li></ul>
  6. 6. Zope 3 Refactored packages <ul><li>RestrictedPython (remove “from compiler import *” ) </li></ul><ul><li>persistent (rewrote to python) </li></ul><ul><li>BTrees (rewrote only thus classes with is used by zope.catalog, ZODB) </li></ul>
  7. 7. Zope 3 Refactored packages <ul><li>zope.app.container (rewrote ContainedProxyBase from С) </li></ul><ul><li>zope.app.form (os.path.exists/isfile corrected) </li></ul><ul><li>zope.app.onlinehelp (os.path.exists/isfile corrected) </li></ul><ul><li>zope.app.pagetemplate (rcompile replaced to compile) </li></ul>
  8. 8. Zope 3 Refactored packages <ul><li>zope.app.publisher (@@SelectedManagementView GAE supports redirects only to absolute URLS ) </li></ul><ul><li>zope.component (optimization refactoring) </li></ul><ul><li>zope.configuration (“open” replaced to “zi_open” – now eggs can be zipped) </li></ul><ul><li>zope.documenttemplate (rcompile to compile) </li></ul><ul><li>zope.i18n (os.path corrected) </li></ul>
  9. 9. Zope 3 Refactored packages <ul><li>zope.interface (optimization changes) </li></ul><ul><li>zope.session (now sessions is storing in RAM ) </li></ul><ul><li>zope.pagetemplate (open to zi_open) </li></ul><ul><li>zope.proxy (from C to python) </li></ul><ul><li>zope.security (rcompile to compile, from c to python) </li></ul><ul><li>zope.hookable (from C to python) </li></ul>
  10. 10. Zope 3 disabled packages <ul><li>zope.app.applicationcontrol </li></ul><ul><li>zope.sendmail </li></ul><ul><li>zope.rdb </li></ul>
  11. 11. datastorestorage for ZODB <ul><li>No versions </li></ul><ul><li>No UNDO </li></ul><ul><li>Datastore transactions synchronized with ZODB tranasactions </li></ul>
  12. 12. Grok at GAE <ul><li>setuptools dependency (slower then one zip) </li></ul><ul><li>Eat more memory then zope 3 </li></ul><ul><li>slow “martian” package </li></ul>
  13. 13. Demo <ul><li>http://zope3.gae.quintagroup.com/ </li></ul><ul><li>http://worldcookery.gae.quintagroup.com/ </li></ul><ul><li>http://grok-adder.gae.quintagroup.com/ </li></ul>
  14. 14. Summary <ul><li>Workable zope 3 at GAE </li></ul><ul><li>Opportunity to run any zope3-based application at GAE </li></ul>
  15. 15. Links <ul><li>http://projects.quintagroup.com/gae </li></ul><ul><li>http://svn.quintagroup.com/gae </li></ul>

×