Zope
Zope è una piattaforma che permette a sviluppatori con differenti livelli di competenza di costruire applicazioni web. Piattaforme di questo tipo sono spesso chiamate server per applicazioni web, o a volte solamente server per applicazioni. Zope è quindi un server per applicazioni web, così come prodotti concorrenti come BEA WebLogic, Macromedia ColdFusion e (in alcune estensioni) Vignette StoryServer.
Table of contents |
2 Caratteristiche di Zope 3 A chi è destinato Zope 4 Che cosa non è Zope 5 Supporto a Zope 6 Risorse esterne |
Storia di Zope
Nel 1996 Jim Fulton (l'attuale CTO di Zope Corporation, i distributori di Zope) venne selezionato per tenere un corso sulla programmazione CGI, malgrado non ne sapesse molto a riguardo. La programmazione CGI o Common Gateway Interface è un modello di sviluppo web comunemente utilizzato che permette agli sviluppatori di costruire siti web dinamici. Jim ha studiato tutta la documentazione esistente sui CGI durante il tragitto ma al ritorno dal corso, Jim valutò che gli ambienti di programmazione basati su CGI non erano di suo gradimento. Il cuore di Zope venne scritto in seguito a queste considerazioni sull'aereo durante il volo di ritorno.
Zope Corporation (nota come Digital Creations) rilasciò tre pacchetti software open source per supportare la pubblicazione web, Bobo, Document Template e BoboPOS. Questi tre pacchetti vennero scritti in un linguaggio chiamato Python, e rispettivamente offrivano uno strumento per la pubblicazione su web, il templating del testo e un database ad oggetti. Digital Creations ha sviluppato un server di applicazioni web commerciale basato su questi loro tre componenti open source. Il prodotto venne chiamato Principia. Nel Novembre del 1998, l'investitore Hadar Pedhazur convinse la Digital Creations a rendere open source Principia. Questi componenti si sono evoluti negli attuali componenti base di Zope.
L'acronimo "Zope" sta per Z Object Publishing Environment (ambiente Z per la pubblicazione di oggetti"); la "Z" non significa nulla in particolare. La maggior parte di Zope è scritta nel linguaggio di scripting Python, ed in C nei frammenti di codice critici per le prestazioni.
È da notare che la ZPL è stata certificata come aderente a OSD da Open Source Initiative ed è elencata come conforme alla GPL dalla Free Software Fundation.
Zope è una piattaforma inclusiva. Viene fornito con tutti i componenti necessari per cominciare lo sviluppo di una applicazione. Non occorrono altre licenze per software aggiuntivo di supporto a Zope (ad esempio un database server relazionale) per sviluppare applicazioni. Questo inoltre rende l'installazione di Zope molto semplice.
Zope permette ed incoraggia gli sviluppatori a pacchettizzare e di distribuire applicazioni pronte per l'uso. Grazie a ciò, Zope è corredato da un'ampia varietà di servizi integrati e di prodotti aggiuntivi per un utilizzo immediato. La maggior parte di questi componenti, come Zope stesso, sono gratuiti ed open source. La popolarità di Zope ha favorito la formazione di una grossa comunità di sviluppatori di applicazioni.
Le applicazioni create in Zope possono scalare quasi linearmente utilizzando la soluzione di clustering Zope Enterprise Objects (ZEO) che Zope mette a disposizione. Utilizzando ZEO, è possibile frammentare una applicazione Zope distribuendola su molti computer senza dover modificare pesantemente il codice dell'applicazione.
Zope permette agli sviluppatori di creare applicazioni web utilizzando solamente un browser web. I browser Internet Explorer, Mozilla, Netscape, OmniWeb, Konqueror e Opera sono tutti riconosciuti come in grado di visualizzare e manipolare l'ambiente di sviluppo di Zope (la Zope Management Interface, anche nota come ZMI). Zope inoltre consente agli sviluppatori di delegare in modo sicuro i compiti di sviluppo ad altri sviluppatori "attraverso il web" utilizzando un'interfaccia comune.
Zope fornisce una piattaforma dalla sicurezza estensibile e granulare. È possibile integrare semplicemente Zope con diversi sistemi di autenticazione ed autorizzazione come, LDAP, Windows NT e RADIUS simultaneamente, utilizzando modelli esistenti.
Zope consente a gruppi di sviluppatori di collaborare. Gli ambienti collaborativi richiedono strumenti che lascino lavorare gli utenti senza interferire gli uni con gli altri, quindi Zope ha la funzionalita di Undo, supporta le Versioni, la History ed altri strumenti che aiutano le diverse parti a lavorare in modo sicuro assieme permettendo il ripristino dagli errori.
Zope gira sui più diffusi sistemi operativi per microcomputer: Linux, Windows NT/2000/XP, Solaris, FreeBSD, NetBSD, OpenBSD e Mac OS X. Zope funziona anche su Windows 98/ME (consigliato in questa configurazione solo per scopi di sviluppo).
Zope può essere esteso utilizzando il linguaggio di scripting Python. Python è diffuso, di semplice apprendimento e agevola lo sviluppo rapido. Sono disponibili molte librerie per Python che possono essere utilizzate nella creazione di un'applicazione.
Tuttavia, i Prodotti gratuitamente disponibili costruiti sulla base di Zope offrono questo tipo di servizi. Esistono centinaia di prodotti disponibile tra i quali prodotti per il logging web, per la gestione dei contenuti e per il commercio elettronico.
Zope non è uno strumento di disegno visuale. Strumenti come Macromedia Dreamweaver o Adobe GoLive permettono ai disegnatori di creare l'aspetto grafico. Potete utilizzare questi programmi per gestire siti web basati su Zope, ma Zope non è in grado di rimpiazzarli. Potete modificare il contenuto "attraverso il web" usando Zope, ma le limitazioni poste dagli attuali browser impediscono a Zope di offrire gli strumenti per compiere questo tipo di lavoro così bene come possono invece fare strumenti dedicati alla creazione della presentazione grafica. Caratteristiche di Zope
Zope è distribuito con una licenza open source, la Zope Public License o ZPL. I termini della licenza ZPL stipulano che è possibile avere e modificare il codice sorgente di Zope. A chi è destinato Zope
Organizzare il processo di sviluppo per siti a larga scala può essere un compito difficile. Spesso impegna molte persone a lavorare assieme per creare, strutturare e manutenere applicazioni web.
Tra i ruoli sopra elencati, Zope è maggiormente indicato agli sviluppatori di componenti, agli sviluppatori del sito e ai disegnatori del sito. Questi tre gruppi di persone possono collaborare nella produzione di una applicazione usando i servizi nativi di Zope e i Prodotti di Zope di terze parti. Produrranno applicazioni utili agli organizzatori dei contenuti e ai consumatori sotto la guida degli architetti dell'informazione. Gli amministratori struttureranno e cureranno l'applicazione dopo che è stata creata. Che cosa non è Zope
Zope è un ambiente per la costruzione di applicazioni web che i programmatori con diversi livelli di esperienza possono usare per creare applicazioni basate sul web. Non è in sè una applicazione pronta per l'utilizzo "a scatola chiusa" adatta ad ogni tipo di sviluppo di applicazione. Per esempio, Zope non è un'applicazione di weblog, un sistema per la gestione dei contenuti o un negozio elettronico(e-shop).