ZOPE - csus.edu

Download Report

Transcript ZOPE - csus.edu

ZOPE
By: Mukesh Lal
Advisor: Dr. Chung E. Wang
Second Reader: Dr. Gopal Rao
Department of Computer Science
California State University, Sacramento
Agenda
Introduction to ZOPE
ZOPE Concept and Architecture
ZOPE Management Interface
Python, DTML and ZSQL
Student-Class Information Management System
SCIMS Workspace and Objects
Conclusion
Introduction to ZOPE
ZOPE (Z Object Publishing Environment) is a framework
for developing web applications
It is highly "object-oriented" web development platform
It facilitates in building dynamic web applications
Motivation: Why ZOPE instead of another Application
Server?
- Zope Application server can help create web applications at
lesser cost and at faster rate
- Zope allows developers to create web applications using only a
web browser
ZOPE Concept and Architecture
Zope’s primary duty is to “publish” the objects you
create
Zope separates a URL (e.g.http://www.zope.org: 8080
/Resources?batch_start=100) into its component "host",
"port" "path" and "query string" portions
Zope locates the object in its object database
corresponding to the “path” (/Resources)
Zope executes the object using “query string”
(?batch_start=100) as a source of parameters and returns
the value
ZOPE Architecture
ZOPE Management Interface (ZMI)
ZMI is a management and development environment
that allows you to control Zope, manipulate Zope
Objects and develop web applications
Navigator Frame
Workspace Frame
Python, DTML and ZSQL Methods
Python is interpreted, interactive, object-oriented
programming language
DTML is a templating facility which supports creation of
dynamic web pages
<p>How many monkeys are there?</p>
<dtml-if expr="monkeys > monkey_limit">
<p>There are too many monkeys!</p>
</dtml-if>
ZSQL Methods are Zope objects that execute SQL code
through a Database Connection
select * from employees
where emp_id=<dtml-sqlvar emp_id type=int>
Student-Class Info Management System
SCIMS is a web application that is developed in ZOPE
It will facilitate a faculty member in maintaining student
scores, grades and information about various classes
Faculty can allow the grader to have login access to this
system with limited privileges
Selected information can be published for Read-Only
access to students and other users
With little knowledge of DTML and ZSQL, faculty can
modify the system to fit needs
SCIMS Workspace and Objects
Conclusion
Problems/Complications:
- installing Zope server behind Apache
- connecting with RDBMS
- non-detailed debugger
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
and many others
ZOPE can be extended using the interpreted Python
Scripting language