zope by: mukesh lal advisor: dr. chung e. wang second reader: dr. gopal rao department of computer...

10
ZOPE ZOPE By: Mukesh Lal By: Mukesh Lal Advisor: Dr. Chung E. Advisor: Dr. Chung E. Wang Wang Second Reader: Dr. Gopal Second Reader: Dr. Gopal Rao Rao

Upload: ferdinand-chambers

Post on 01-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ZOPE By: Mukesh Lal Advisor: Dr. Chung E. Wang Second Reader: Dr. Gopal Rao Department of Computer Science California State University, Sacramento

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

Page 2: ZOPE By: Mukesh Lal Advisor: Dr. Chung E. Wang Second Reader: Dr. Gopal Rao Department of Computer Science California 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

Page 3: ZOPE By: Mukesh Lal Advisor: Dr. Chung E. Wang Second Reader: Dr. Gopal Rao Department of Computer Science California State University, Sacramento

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

Page 4: ZOPE By: Mukesh Lal Advisor: Dr. Chung E. Wang Second Reader: Dr. Gopal Rao Department of Computer Science California State University, Sacramento

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

Page 5: ZOPE By: Mukesh Lal Advisor: Dr. Chung E. Wang Second Reader: Dr. Gopal Rao Department of Computer Science California State University, Sacramento

ZOPE Architecture

Page 6: ZOPE By: Mukesh Lal Advisor: Dr. Chung E. Wang Second Reader: Dr. Gopal Rao Department of Computer Science California State University, Sacramento

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

Page 7: ZOPE By: Mukesh Lal Advisor: Dr. Chung E. Wang Second Reader: Dr. Gopal Rao Department of Computer Science California State University, Sacramento

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>

Page 8: ZOPE By: Mukesh Lal Advisor: Dr. Chung E. Wang Second Reader: Dr. Gopal Rao Department of Computer Science California State University, Sacramento

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

Page 9: ZOPE By: Mukesh Lal Advisor: Dr. Chung E. Wang Second Reader: Dr. Gopal Rao Department of Computer Science California State University, Sacramento

SCIMS Workspace and ObjectsSCIMS Workspace and Objects

Page 10: ZOPE By: Mukesh Lal Advisor: Dr. Chung E. Wang Second Reader: Dr. Gopal Rao Department of Computer Science California State University, Sacramento

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