Zope

Embed Size (px)

Citation preview

PowerPoint Presentation

So Paulo, Maio, 2001

Hiperlgica, sites automticosAv. Brig. Faria Lima, 628 cj. 61So Paulo SP 05426-000(55 11) 3816 7785

www.hiper.com.br

Zope

Ricardo [email protected]

O que Zope?

Web Server

Content Manager

Application Server

Open Source

Multi-Plataforma

Interopervel

Web Server

Zope tem servidores HTTP, FTP integrados

Funciona em conjunto com Apache e Squid (FastCGI e pCGI)

Controle de acesso integrado

Compatvel com WebDAV

Content Manager

Gerenciador de contedo via web

Undos

Versioning

Integrado ao controle de acesso

Application Server

Mltiplas opes de programao

DTML

Python

Perl

Java (futuramente)

Incentiva e d suporte separao clara entre lgica e apresentao (ao contrrio de ASP, JSP, PHP, Perl...)

Application Server

Todo o ambiente orientado a objetos: Desenvolvedor extende e especializa objetos que j existem no Zope ou cria novos, que podem tambm ser extendidos

Praticamente todo o trabalho pode ser feito apenas com um browser

Application Server

Vantagens nicas:

Aquisio: mecanismo de herana posicional

Todos os objetos do Zope so automaticamente persistidos e versionados

Um programador pode fazer Undo da execuo de um programa que alterou objetos no Zope

Persistncia automtica pode ser feita em file system, BDs relacionais, etc

Open Source

Zope open-source: isso garante independncia em relao ao fabricante e plataforma

Bug-fixes mais rpidos

Evoluo mais dinmica novos conceitos so incorporados mais rapidamente

Multi-plataforma

Zope roda em quase qualquer sistema operacional:

Linux

Solaris

*BSD

IRIX

Windows 9x, NT, Me, 2000

DTML

Sintaxe simples





Incentivo separao entre apresentao e lgica: funcionarios pode ser o resultado de uma query ou um mtodo que retorna uma lista

DTML

Pouco mais de 20 tags:

Var: pede aos objetos que se renderizem

If/elif/else: insero/execuo condicional

In: iterao

Try/except: tratamento de excesses

With, Let: manipulao do namespace

Call: invocao de mtodo

Aquisio Contextual

Benefcio: Templates sensveis ao contexto

Atributos (e mtodos so adquiridos do contexto de invocao)

Ortogonal em relao herana tradicional

Python

Linguagem de altssimo nvel (VHLL)

Byte-compilada e multi-plataforma como Java

Compilao automtica (.py.pyc)

Herana mltipla e introspeco

Tratamento voluntrio de excesses

Sintaxe simples e limpa

Integrao com bibliotecas em cdigo nativo sem perda de performance

BDs Relacionais

Objetos do tipo connection e query

Controle de caching e pooling automticos

Conexo com Oracle, MySQL, PostgreSQL e ODBC

Integrao

Aderncia a padres:

FTP,

DAV,

XML-RPC,

SOAP

Digresso

Cenrio de processamento distribudo em que cliente Java manipula objetos em servidor Zope (exemplo contido no Zope Book) usando XML-RPC

Acessando com Java

try {XmlRpcClient server = new XmlRpcClient("http://www.zopezoo.org/");Vector employees = (Vector) server.execute("JanitorialDepartment.personnel");int num = employees.size();for (int i = 0; i < num; i++) {Vector args = new Vector(employees.subList(i, i+1));server.execute("fireEmployee", args);}} catch (XmlRpcException ex) {ex.printStackTrace();} catch (IOException ioex) {ex.printStackTrace();}

Acessando com Python

from xmlrpclib import Serverserver = Server('http://www.zopezoo.org/')for employeeID in server.JanitorialDepartment.personnel():server.fireEmployee(employee)

Bons livros sobre Zope

Zope Book

Disponvel para download em http://www.zope.org/Members/michel/ZB e em verso impressa em junho

Zope Developers Guide

Disponvel para download em http://www.zope.org/Documentation/ZDG e futuramente em verso impressa

Dvidas?

Para saber mais

www.hiper.com.brwww.zope.orgwww.digicool.com

[email protected], sites automticosAv. Brig. Faria Lima, 628 cj. 61So Paulo SP 05426-000(55 11) 3816 7785www.hiper.com.br