SlideShare une entreprise Scribd logo
Some Dope On Zope
An introduction to the Zope
application server.
Kiran Jonnalagadda <jace@pobox.com>
Based on the presentation by Tim Wilson <wilson@visi.com>
What is Zope?

Zope is an open source application server
written in Python that features a transactional
rd
object database, distributed control, lots of 3
party products, a search engine, and a growing
community of users and developers.
History of Zope
In November 1998, Digital Creations combined
Bobo, an open source Web-object toolkit, and
Principia, a commercial Web-application
platform.
DC's venture capital firm encouraged them to
open source their software and Zope was born.
DC has since renamed themselves to Zope
Corporation.
Architecture
Zope has a component architecture:
❑

ZServer

❑

Zope Core

❑

Object Database (ZODB)

❑

RDBMS Integration

❑

Zope Products

❑

ZClasses
ZServer
❑

Supports HTTP, FTP, WebDAV, XMLRPC, FastCGI and PCGI

❑

Plays well with others (Apache, Squid)

ZServer does not make a great static content
delivery system. Proxies therefore make a
world of a difference. Zope internally supports
caching of expensive SQL queries and heavily
dynamic content.
Zope Core
Zope has a built-in
❑

Search engine

❑

Flexible security layer

❑

Membership

❑

Dynamic Text Markup Language (DTML)
example: <dtml-var foo>
Object Database
The Zope Object Database (ZODB):
❑

Behaves like a file system

❑

Supports:
❑
❑

Undos

❑

❑

Transactions
Private Versions

Scales well with fail-over support using
ZEO
RDBMS Integration
Zope supports connections to:
❑

Oracle

❑

Sybase

❑

ODBC

❑

Solid

❑

MySQL

❑

PostgreSQL
Zope Plugins
Zope is extended in two main ways:
❑

Add-on Python Products
❑
❑

Powerful, take full advantage of Python

❑

❑

Created in the file system
Very distributable

ZClasses
❑

New object type created through the Web

❑

Requires no programming
Zope Advantages
I prefer Zope over other systems because:
❑

I don't have to create all the content

❑

Users can't nuke the rest of the site

❑

Easy workflow (using CMF)

❑

Acquisition makes it easy to propagate
changes

❑

Versions make it possible to experiment on
a live site
Zope Disadvantages
Zope isn't a cure-all because:
❑

It really helps to grok Python and OOP

❑

Most managers still haven't heard of it
''What if you get hit by a bus?''

❑

The dynamic functionality is a massive
overhead for simple sites

❑

It's not easy!
Acknowledgments
❑

This presentation was originally created by
Tim Wilson <wilson@visi.com> who has
graciously given me permission to reuse
his slides. The original presentation was
created using vim and latex.

❑

Most of the details listed on these slides are
taken from www.zope.org and
www.zope.com.
Questions?

The Indian Zope and Python User Group has
a mailing list at
http://groups.yahoo.com/group/izpug.

Contenu connexe

Tendances

Deploying your application on open stack using bosh presentation
Deploying your application on open stack using bosh presentationDeploying your application on open stack using bosh presentation
Deploying your application on open stack using bosh presentation
capouch
 

Tendances (19)

Maksym Khamrovskyi, Kostiantyn Averin "Octopus: on the way to deployment bril...
Maksym Khamrovskyi, Kostiantyn Averin "Octopus: on the way to deployment bril...Maksym Khamrovskyi, Kostiantyn Averin "Octopus: on the way to deployment bril...
Maksym Khamrovskyi, Kostiantyn Averin "Octopus: on the way to deployment bril...
 
Social Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and DominoSocial Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and Domino
 
Deploying your application on open stack using bosh presentation
Deploying your application on open stack using bosh presentationDeploying your application on open stack using bosh presentation
Deploying your application on open stack using bosh presentation
 
Untangling spring week10
Untangling spring week10Untangling spring week10
Untangling spring week10
 
NCompass Live: Nebraska Libraries on the Web
NCompass Live: Nebraska Libraries on the Web NCompass Live: Nebraska Libraries on the Web
NCompass Live: Nebraska Libraries on the Web
 
Untangling - fall2017 - week 8
Untangling - fall2017 - week 8Untangling - fall2017 - week 8
Untangling - fall2017 - week 8
 
Untangling spring week9
Untangling spring week9Untangling spring week9
Untangling spring week9
 
Introducing CrossWorlds for IBM Domino
Introducing CrossWorlds for IBM DominoIntroducing CrossWorlds for IBM Domino
Introducing CrossWorlds for IBM Domino
 
A Gentle Introduction to Functions-as-a-Service
A Gentle Introduction to Functions-as-a-ServiceA Gentle Introduction to Functions-as-a-Service
A Gentle Introduction to Functions-as-a-Service
 
Server Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.jsServer Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.js
 
Experiences from Building the Fastest OSGi Container on the Planet - Jaroslav...
Experiences from Building the Fastest OSGi Container on the Planet - Jaroslav...Experiences from Building the Fastest OSGi Container on the Planet - Jaroslav...
Experiences from Building the Fastest OSGi Container on the Planet - Jaroslav...
 
JS Fest 2018. Александр Скачков. WebAssembly vs JavaScript
JS Fest 2018. Александр Скачков. WebAssembly vs JavaScriptJS Fest 2018. Александр Скачков. WebAssembly vs JavaScript
JS Fest 2018. Александр Скачков. WebAssembly vs JavaScript
 
Untangling - fall2017 - week 9
Untangling - fall2017 - week 9Untangling - fall2017 - week 9
Untangling - fall2017 - week 9
 
Building a Node.JS accelerator for your headless Drupal backend - DrupalCamp ...
Building a Node.JS accelerator for your headless Drupal backend - DrupalCamp ...Building a Node.JS accelerator for your headless Drupal backend - DrupalCamp ...
Building a Node.JS accelerator for your headless Drupal backend - DrupalCamp ...
 
The shift to the edge
The shift to the edgeThe shift to the edge
The shift to the edge
 
Comunicando nuestras apps con el mundo exterior
Comunicando nuestras apps con el mundo exteriorComunicando nuestras apps con el mundo exterior
Comunicando nuestras apps con el mundo exterior
 
Azkaban
AzkabanAzkaban
Azkaban
 
SFJS 6-19-2012
SFJS 6-19-2012SFJS 6-19-2012
SFJS 6-19-2012
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 

Similaire à Some dope on Zope (Jan 2002, Bangalore LUG)

MOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITEMOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITE
Vishal Mittal
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
서버개발자의 프론트엔드 맛보기
서버개발자의 프론트엔드 맛보기서버개발자의 프론트엔드 맛보기
서버개발자의 프론트엔드 맛보기
JongYoon Lim
 
Transitioning Groupon to Node.js - EmpireJS 2014
Transitioning Groupon to Node.js - EmpireJS 2014Transitioning Groupon to Node.js - EmpireJS 2014
Transitioning Groupon to Node.js - EmpireJS 2014
Sean McCullough
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
catherinewall
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
Pierre Joye
 
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyFast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Kyle Drake
 

Similaire à Some dope on Zope (Jan 2002, Bangalore LUG) (20)

IBM Z for the Digital Enterprise - Zowe overview
IBM Z for the Digital Enterprise - Zowe overviewIBM Z for the Digital Enterprise - Zowe overview
IBM Z for the Digital Enterprise - Zowe overview
 
MOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITEMOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITE
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
 
2020 oct zowe quarterly webinar series
2020 oct zowe quarterly webinar series2020 oct zowe quarterly webinar series
2020 oct zowe quarterly webinar series
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
서버개발자의 프론트엔드 맛보기
서버개발자의 프론트엔드 맛보기서버개발자의 프론트엔드 맛보기
서버개발자의 프론트엔드 맛보기
 
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
 
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
 
Dean4j@Njug5
Dean4j@Njug5Dean4j@Njug5
Dean4j@Njug5
 
IBM and Node.js - Old Doge, New Tricks
IBM and Node.js - Old Doge, New TricksIBM and Node.js - Old Doge, New Tricks
IBM and Node.js - Old Doge, New Tricks
 
Transitioning Groupon to Node.js - EmpireJS 2014
Transitioning Groupon to Node.js - EmpireJS 2014Transitioning Groupon to Node.js - EmpireJS 2014
Transitioning Groupon to Node.js - EmpireJS 2014
 
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developers
3978   Why is Java so different... A Session for Cobol/PLI/Assembler Developers3978   Why is Java so different... A Session for Cobol/PLI/Assembler Developers
3978 Why is Java so different... A Session for Cobol/PLI/Assembler Developers
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
 
Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with Couchbase
 
Introduction to node.js by jiban
Introduction to node.js by jibanIntroduction to node.js by jiban
Introduction to node.js by jiban
 
001. Introduction about React
001. Introduction about React001. Introduction about React
001. Introduction about React
 
Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014
 
NodeJS and what is actually does
NodeJS and what is actually doesNodeJS and what is actually does
NodeJS and what is actually does
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyFast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
 

Plus de Kiran Jonnalagadda

Plus de Kiran Jonnalagadda (17)

AirJaldi photo rout (April 2008)
AirJaldi photo rout (April 2008)AirJaldi photo rout (April 2008)
AirJaldi photo rout (April 2008)
 
The medium without the message (April 2008)
The medium without the message (April 2008)The medium without the message (April 2008)
The medium without the message (April 2008)
 
Understanding technology in e-governance (December 2007)
Understanding technology in e-governance (December 2007)Understanding technology in e-governance (December 2007)
Understanding technology in e-governance (December 2007)
 
Namma service cash tracking system (January 2007)
Namma service cash tracking system (January 2007)Namma service cash tracking system (January 2007)
Namma service cash tracking system (January 2007)
 
What ails the Sarai Reader List? (August 2005)
What ails the Sarai Reader List? (August 2005)What ails the Sarai Reader List? (August 2005)
What ails the Sarai Reader List? (August 2005)
 
On blogging as a career (June 2005)
On blogging as a career (June 2005)On blogging as a career (June 2005)
On blogging as a career (June 2005)
 
Python's dynamic nature (rough slides, November 2004)
Python's dynamic nature (rough slides, November 2004)Python's dynamic nature (rough slides, November 2004)
Python's dynamic nature (rough slides, November 2004)
 
Python and Zope: An introduction (May 2004)
Python and Zope: An introduction (May 2004)Python and Zope: An introduction (May 2004)
Python and Zope: An introduction (May 2004)
 
Human database relations (March 2004)
Human database relations (March 2004)Human database relations (March 2004)
Human database relations (March 2004)
 
The technology of the Human Protein Reference Database (draft, 2003)
The technology of the Human Protein Reference Database (draft, 2003)The technology of the Human Protein Reference Database (draft, 2003)
The technology of the Human Protein Reference Database (draft, 2003)
 
Introduction to Plone (November 2003)
Introduction to Plone (November 2003)Introduction to Plone (November 2003)
Introduction to Plone (November 2003)
 
ZODB, the Zope Object Database (May 2003)
ZODB, the Zope Object Database (May 2003)ZODB, the Zope Object Database (May 2003)
ZODB, the Zope Object Database (May 2003)
 
XML-RPC and SOAP (April 2003)
XML-RPC and SOAP (April 2003)XML-RPC and SOAP (April 2003)
XML-RPC and SOAP (April 2003)
 
User Management with LastUser
User Management with LastUserUser Management with LastUser
User Management with LastUser
 
Sustainability and bit-rot
Sustainability and bit-rotSustainability and bit-rot
Sustainability and bit-rot
 
e-Governance in Karnataka: An introduction
e-Governance in Karnataka: An introductione-Governance in Karnataka: An introduction
e-Governance in Karnataka: An introduction
 
Cyberpunk Sci-Fi
Cyberpunk Sci-FiCyberpunk Sci-Fi
Cyberpunk Sci-Fi
 

Dernier

Dernier (20)

"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Enterprise Security Monitoring, And Log Management.
Enterprise Security Monitoring, And Log Management.Enterprise Security Monitoring, And Log Management.
Enterprise Security Monitoring, And Log Management.
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Intelligent Gimbal FINAL PAPER Engineering.pdf
Intelligent Gimbal FINAL PAPER Engineering.pdfIntelligent Gimbal FINAL PAPER Engineering.pdf
Intelligent Gimbal FINAL PAPER Engineering.pdf
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Transforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UXTransforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UX
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 

Some dope on Zope (Jan 2002, Bangalore LUG)

  • 1. Some Dope On Zope An introduction to the Zope application server. Kiran Jonnalagadda <jace@pobox.com> Based on the presentation by Tim Wilson <wilson@visi.com>
  • 2. What is Zope? Zope is an open source application server written in Python that features a transactional rd object database, distributed control, lots of 3 party products, a search engine, and a growing community of users and developers.
  • 3. History of Zope In November 1998, Digital Creations combined Bobo, an open source Web-object toolkit, and Principia, a commercial Web-application platform. DC's venture capital firm encouraged them to open source their software and Zope was born. DC has since renamed themselves to Zope Corporation.
  • 4. Architecture Zope has a component architecture: ❑ ZServer ❑ Zope Core ❑ Object Database (ZODB) ❑ RDBMS Integration ❑ Zope Products ❑ ZClasses
  • 5. ZServer ❑ Supports HTTP, FTP, WebDAV, XMLRPC, FastCGI and PCGI ❑ Plays well with others (Apache, Squid) ZServer does not make a great static content delivery system. Proxies therefore make a world of a difference. Zope internally supports caching of expensive SQL queries and heavily dynamic content.
  • 6. Zope Core Zope has a built-in ❑ Search engine ❑ Flexible security layer ❑ Membership ❑ Dynamic Text Markup Language (DTML) example: <dtml-var foo>
  • 7. Object Database The Zope Object Database (ZODB): ❑ Behaves like a file system ❑ Supports: ❑ ❑ Undos ❑ ❑ Transactions Private Versions Scales well with fail-over support using ZEO
  • 8. RDBMS Integration Zope supports connections to: ❑ Oracle ❑ Sybase ❑ ODBC ❑ Solid ❑ MySQL ❑ PostgreSQL
  • 9. Zope Plugins Zope is extended in two main ways: ❑ Add-on Python Products ❑ ❑ Powerful, take full advantage of Python ❑ ❑ Created in the file system Very distributable ZClasses ❑ New object type created through the Web ❑ Requires no programming
  • 10. Zope Advantages I prefer Zope over other systems because: ❑ I don't have to create all the content ❑ Users can't nuke the rest of the site ❑ Easy workflow (using CMF) ❑ Acquisition makes it easy to propagate changes ❑ Versions make it possible to experiment on a live site
  • 11. Zope Disadvantages Zope isn't a cure-all because: ❑ It really helps to grok Python and OOP ❑ Most managers still haven't heard of it ''What if you get hit by a bus?'' ❑ The dynamic functionality is a massive overhead for simple sites ❑ It's not easy!
  • 12. Acknowledgments ❑ This presentation was originally created by Tim Wilson <wilson@visi.com> who has graciously given me permission to reuse his slides. The original presentation was created using vim and latex. ❑ Most of the details listed on these slides are taken from www.zope.org and www.zope.com.
  • 13. Questions? The Indian Zope and Python User Group has a mailing list at http://groups.yahoo.com/group/izpug.