Bookmark and Share
Document Actions

Genesi di Zope 3
medio

Up one level
Zope 3: non una semplice riedizione del blasonato codice di Zope 2, bensì una sua completa riscrittura da zero.

Lo Zope noto, con una storia di oltre dieci anni alle spalle e milioni di installazioni all'attivo, è Zope 2, famoso, per alcuni "famigerato", per la sua predilezione per gli oggetti e per la sua versatilità.

Purtroppo, una delle pecche maggiormente additate dai suoi detrattori è la ripida curva di apprendimento che Zope richiede in cambio della potenza che mette a disposizione degli sviluppatori, difficoltà motivata tra l'altro dalla complessa gerarchia di oggetti che ne implementano i servizi e le funzionalità.

Pur apprezzandone tutti i pregi, anche i fautori di Zope ne comprendono i limiti che hanno accompagnato le scelte tecniche operate durante la progettazione del sistema, per questo, forti di tale esperienza, dagli inizi del 2001 si è intrapreso lo sviluppo di Zope 3: non una semplice riedizione del blasonato codice di Zope 2, bensi' una sua completa riscrittura da zero.

Genesi di Zope 3

Jim Fulton è il principale ispiratore delle tecnologie alla base di Zope, di cui viene ritenuto il papa da tutta la comunità sin dal 1998, anno del primo rilascio con licenza aperta.

Dopo vari anni di esperienza sul campo, durante i quali Zope è stato apprezzato e adottato da moltissime aziende e sviluppatori, finalmente si viene a generare una comunità stabile di "utenti", che portano casi d'uso sempre più variegati e loro possibili soluzioni, le quali a volte hanno bisogno di modificare il codice dell'application server stesso.

Tale esigenza di flessibilità viene facilmente gestita da Jim e dai suoi ingegneri in Digital Creation, l'azienda che ha creato e rilasciato Zope, quando si tratta di effettuare modifiche per i propri clienti, o quando si desidera incorporare patch nel sorgente di Zope. La facilità di gestione è legata al fatto che i casi d'uso primari di Digital Creation tendono a prevalere su quelli proposti dalla comunità, inoltre i tecnici sono molto specializzati e a proprio agio con la gerarchia di oggetti che implementa Zope. Tuttavia ci si rende conto che il modo di fare di Zope 2 in certi casi risulta eccessivamente rigido e quindi da rivedere.

Per questo, ma non solo, Jim impone in Digital Creation la sua idea di rinnovare il codice sorgente dell'application server, con l'obiettivo di migliorarne la flessibilità, mirando anche, se possibile, a renderne più semplice l'utilizzo agli sviluppatori.

Da quel momento cerca consenso nella comunità in via di formazione, e lo ottiene dopo aver esposto quelli che tuttora sono i cardini dell'architettura di Zope 3. Digital Creation si chiama fuori dall'onere di sviluppare in toto il nuovo Zope, come ancora avviene per il suo predecessore, ma lascia che Jim capitaneggi la comunità, che dal 2001 investe energie nel nuovo framework, perseguendo i validissimi risultati che stiamo per vedere insieme.

Zope 3 può essere considerato un framework di sviluppo orientato al web scritto in Python, ottenuto dai suoi sviluppatori a partire da tutta la loro esperienza con Zope 2 e con gli altri framework, basati su Python e non, che nel frattempo si sono diffusi.

Zope 3 eredita elementi fondamentali da Zope 2, come ZODB, il database a oggetti che rende la persistenza degli oggetti un gioco da ragazzi, e ne introduce altri altrettanto fondamentali e fondanti, quali il Component Framework, l'infrastruttura di gestione orientata ai componenti.

In sintesi, Z3 nasce con tutta la robustezza derivante dalle fondamenta di Zope 2, e con tutta la flessibilità mancante nel suo predecessore e garantita dalla nuova architettura a componenti.

 

by Maurizio Delmonte last modified 2009-01-22 13:32
Contributors: Maurizio Delmonte