zope by: mukesh lal advisor: dr. chung e. wang second reader: dr. gopal rao department of computer...
TRANSCRIPT
ZOPEZOPE
By: Mukesh LalBy: Mukesh Lal
Advisor: Dr. Chung E. WangAdvisor: Dr. Chung E. Wang
Second Reader: Dr. Gopal RaoSecond Reader: Dr. Gopal Rao
Department of Computer ScienceDepartment of Computer Science
California State University, SacramentoCalifornia State University, Sacramento
AgendaAgenda
Introduction to ZOPEIntroduction to ZOPE
ZOPE Concept and ArchitectureZOPE Concept and Architecture
ZOPE Management InterfaceZOPE Management Interface
Python, DTML and ZSQLPython, DTML and ZSQL
Student-Class Information Management SystemStudent-Class Information Management System
SCIMS Workspace and Objects SCIMS Workspace and Objects
Conclusion Conclusion
Introduction to ZOPEIntroduction to ZOPE
ZOPE (Z Object Publishing Environment) is a framework ZOPE (Z Object Publishing Environment) is a framework for developing web applicationsfor developing web applications
It is highly "object-oriented" web development platformIt is highly "object-oriented" web development platform
It facilitates in building dynamic web applicationsIt facilitates in building dynamic web applications
Motivation: Why ZOPE instead of another Application Motivation: Why ZOPE instead of another Application Server?Server?
- Zope Application server can help create web applications at - Zope Application server can help create web applications at lesser cost and at faster ratelesser cost and at faster rate
- Zope allows developers to create web applications using only a - Zope allows developers to create web applications using only a web browserweb browser
ZOPE Concept and ArchitectureZOPE Concept and Architecture
Zope’s primary duty is to “publish” the objects you createZope’s primary duty is to “publish” the objects you create
Zope separates a URL (e.g.Zope separates a URL (e.g.http://www.zope.org: 8080 /Resources?batch_start=100)) into its component "into its component "hosthost", ", ""portport" "" "pathpath" and "" and "query stringquery string" portions" portions
Zope locates the object in its object database Zope locates the object in its object database corresponding to the “corresponding to the “pathpath” (” (/Resources))
Zope executes the object using “Zope executes the object using “query stringquery string” (” (?batch_start=100) as a source of parameters and returns the ) as a source of parameters and returns the valuevalue
ZOPE Architecture
ZOPE Management Interface (ZMI)ZOPE Management Interface (ZMI)
ZMI is a management and development environment ZMI is a management and development environment that allows you to control Zope, manipulate Zope that allows you to control Zope, manipulate Zope Objects and develop web applicationsObjects and develop web applications
Navigator FrameNavigator FrameWorkspace FrameWorkspace Frame
Python, DTML and ZSQL MethodsPython, DTML and ZSQL Methods
Python is interpreted, interactive, object-oriented Python is interpreted, interactive, object-oriented programming languageprogramming language
DTML is a templating facility which supports creation of DTML is a templating facility which supports creation of dynamic web pagesdynamic web pages
ZSQL Methods are Zope objects that execute SQL code ZSQL Methods are Zope objects that execute SQL code through a Database Connection through a Database Connection
<p>How many monkeys are there?</p> <dtml-if expr="monkeys > monkey_limit"> <p>There are too many monkeys!</p></dtml-if>
select * from employees where emp_id=<dtml-sqlvar emp_id type=int>
Student-Class Info Management SystemStudent-Class Info Management System
SCIMS is a web application that is developed in ZOPESCIMS is a web application that is developed in ZOPE
It will facilitate a faculty member in maintaining student It will facilitate a faculty member in maintaining student scores, grades and information about various classesscores, grades and information about various classes
Faculty can allow the grader to have login access to this Faculty can allow the grader to have login access to this system with limited privilegessystem with limited privileges
Selected information can be published for Read-Only Selected information can be published for Read-Only access to students and other usersaccess to students and other users
With little knowledge of DTML and ZSQL, faculty can With little knowledge of DTML and ZSQL, faculty can modify the system to fit needsmodify the system to fit needs
SCIMS Workspace and ObjectsSCIMS Workspace and Objects
ConclusionConclusion
Problems/Complications:Problems/Complications:- installing Zope server behind Apache- connecting with RDBMS - non-detailed debugger
Advantages:Advantages:- simple and easy to learn Python, DTML & ZSQL- friendly interface for creating objects and generating code
Zope users include Viacom, NASA, Boston.com, Red Hat Zope users include Viacom, NASA, Boston.com, Red Hat and many othersand many others
ZOPE can be extended using the interpreted Python ZOPE can be extended using the interpreted Python Scripting languageScripting language