Skip to content.
Logo tecnoteca

Portale Tecnoteca.it

Logo tecnoteca

Vai al sito aziendale Tecnoteca.com


 

Concetti e architettura

1.  Zope è una piattaforma
Zope sgrava lo sviluppatore da gran parte dei dettagli onerosi tipici dello sviluppo di un’applicazione Web, come la persistenza dei dati, l’integrità ed il controllo degli accessi, permettendo quindi di concentrarsi sul problema in sè.
L’utilizzo degli strumenti messi a disposizione, inoltre, è reso molto più veloce rispetto ad altri linguaggi o piattaforme.
Zope consente di scrivere la logica dell’applicazione web in linguaggio Python e fornisce il supporto aggiuntivo per il linguaggio Perl.
Zope offre anche due soluzioni alternative che permettono di strutturare il testo XML e HTML: il Document Template Markup Language (DTML), e le ZPT (Zope Page Templates, modelli di pagina).

2.  Zope è orientato agli oggetti
A differenza dei comuni sistemi Web basati su file, come ASP o PHP, Zope è una piattaforma di sviluppo fortemente “orientata agli oggetti”. L’orientamento ad oggetti è un concetto condiviso da molti linguaggi di programmazione, compreso Python con il quale Zope è implementato.  

3.  Gestione via web (TTW, Through-The-Web)
Per creare e manipolare gli oggetti Zope si accede via browser all’interfaccia di gestione (Zope Management Interface).
La gestione e lo sviluppo dell’applicazione possono essere fatti completamente via Web, attraverso il solo browser.
La Zope Management Interface (ZMI) fornisce una vista del sistema ad oggetti simile al “gestione risorse” di Microsoft Windows.
Con l’interfaccia di gestione uno sviluppatore può creare e modificare oggetti Zope o anche definire nuovi tipi di oggetti, senza che sia necessario accedere al file system del server web.

4.  Sicurezza
Gli oggetti in Zope forniscono un insieme molto più ricco di gestione dei permessi rispetto ad un sistema basato sui file.
I permessi variano in base alle caratteristiche dell’oggetto. Questo rende possibile implementare un accurato controllo degli accessi.
Ad esempio, è possibile impostare un controllo d’accesso tale che i responsabili dei contenuti possano usare gli oggetti “SQL Method”, ma non possano nè cambiarli nè visualizzarne il sorgente.
E' possibile impostare restrizioni tali che un utente può solo creare un certo tipo di oggetti, ad esempio “Folder” e “DTML Document”, ma non “SQL Methods” o altri tipi.

5.  Persistenza nativa degli oggetti e transazioni
Gli oggetti Zope sono memorizzati in un database ad oggetti ad alte prestazioni conosciuto come ZODB (Zope Object Database, Base di Dati degli Oggetti di Zope).
Ciascuna richiesta Web è gestita dal database ad oggetti come una singola transazione. Se nell' applicazione si verifica un errore a causa di una richiesta tutte le modifiche fatte durante la richiesta saranno automaticamente annullate.
Il database ad oggetti fornisce un ripristino a più livelli, dando la possibilità all’amministratore del sito di annullare le modifiche effettuate con un semplice click. L’ambiente Zope rende tutti gli aspetti della persistenza e delle transazioni completamente trasparenti allo sviluppatore.
I database relazionali utilizzabili con Zope possono agganciarsi al sistema di transazioni.

6.  Zope è estendibile
Zope è altamente estendibile e gli utenti esperti possono creare nuovi tipi di oggetti, sia scrivendo Zope add-ons in Python che costruendoli completamente attraverso l’interfacciaWeb.
Zope fornisce molti strumenti utili agli sviluppatori, compreso un insieme robusto di classi framework che si prendono cura degli aspetti tipici dell’implementazione di nuovi
oggetti Zope.
Sono disponibili molti Zope add-on che permettono la gestione di argomenti di discussione sul Web, desktop data publishing, strumenti XML ed integrazione con e-commerce.
Molti di questi sono stati scritti da contributori molto attivi della comunità Zope, ed in gran parte sono open source.

7.  Componenti fondamentali di Zope
Zope è costituito da molti componenti che lavorano insieme per  costruire un’applicazione web.
I componenti fondamentali di Zope sono mostrati nella figura, e spiegati di seguito.
  • Zserver
    Zope è distribuito con un web server integrato che fornisce i contenuti per tutti gli utenti. Questo web server fornisce contenuti anche via FTP, WebDAV, and XML-RPC (servizio web per la chiamata di procedure da remoto).
  • Web Server
    Zope funziona con IIS, Apache e tutti gli altri web server che supportano la Common Gateway Interface (CGI).
  • Zope Core
    E' il meccanismo che coordina tutto, gestendo l’interfaccia web ed il database ad oggetti.
  • Object Database
    Database ad oggetti di Zope.
  • Relational Database
    E' possibile usare altri database relazionali come Oracle, PostgreSQL, Sybase, MySQL ed altri.
  • File System
    Zope può naturalmente utilizzare documenti ed altri file memorizzati sul filesystem.
  • ZClasses
    Zope consente agli amministratori del sito di aggiungere nuovi tipi di oggetto attraverso l’interfaccia Web.
    Questi tipi di oggetto sono denominati Zclasses.
  • Products
    L’aggiunta di nuovi tipi di oggetto è possibile anche attraverso l’installazione di “Prodotti” nel filesystem del server di Zope.


Tesi di Laurea:
"Sviluppo funzionalità gis su portale Zope"
di Marco Celotti


- Università degli studi di Udine -
-  Facoltà di Scienze Matematiche Fisiche e Naturali  -
- Dicembre 2004 -


Slide Tesi.ppt


Video Tesi.zip  [913 KB formato AVI]