Et kig værd
Zope er en udviklingsplatform for webapplikationer, og den udskiller sig ved at være gennemgribende objektorienteret. Zope er open source og et kig værd, selv om den ganske givet ikke er gearet til at løse alles problemer. Men den kan give et indblik i hvorledes sådan en sag er skruet sammen på indersiden, uanset om man allerede har et eksisterende produkt, eller har tænkt sig at anskaffe et.
Zope er skrevet i scriptingsproget Python, og findes både til Unix og Windows. Det er ganske simpelt at installere Zope til afprøvning. En binær version kan downloades fra Zopes hjemmeside, og under Windows er den lige så nem at installere som alle andre programmer. Zope indeholder sin egen webserver, og efter installationen kan systemet afprøves ved at indtaste adressen http://localhost:8080 i browseren.
Blandt de værktøjer Zope tilbyder, kan nævnes:
Zopes strukturering af ressourcer afspejler den måde, objekler anvendes ved webpublicering, og den er udviklet med henblik på det arbejdsflow, som benyttes i processen.
Objektorienteret styring
Zopes udviklere har benyttet en gennemført objektorienteret tilgang, og det afspejles tydeligt i produktet. Blandt de koncepter, Zope overtager fra objektorienteret programmering, er nedarvning. De objekter, som er defineret øverst i et hieraki, nedarves til alle underliggende objekter (websider).
På den måde kan udviklere skabe et hieraki af skabeloner, hvor hvert niveau i hierakiet nedarver objekter, som for eksempel menuer og logoer. Men objektmodellen strækker sig videre: Hvis et dataudtræk er defineret i en mappe, kan denne datakilde anvendes i alle underliggende mapper og sider i webhierakiet. Hvis datakilde senere ændres, skal denne øverste definition blot ændres.
Det samme gælder for elementer, der går igen på de underliggende sider, så som html-sidernes top- og bund-elementer.
Zope benytter sine egne scripting-tags, kaldet DTML (Document Template Markup Language), som udvikleren kan benytte. En vigtig pointe er, at DTML fungerer som "sikker scripting", hvilket vil sige, at en bruger ikke kan indsætte funktionalitet der kompromitterer sitets sikkerhed. På den måde kan administratoren give de forskellige brugere privilegier af variende grad, uden at skulle bekymre sig om sikkerhedsaspektet.
Zope byder på en browser-baseret administrationsgrænseflade, og man får en nem tilgang til websitets struktur.
På den måde bliver objekterne tvunget ind i en struktur, i modsætning til scripting-sprog som ASP og PHP, hvor den indlejrede sktruktur, som scriptet ligger i, helt er op til programmøren.
CMS i Zope
Zope har et modul til CMS (indholdsstyring), men inddata-mulighederne er temmelig rudimentære. Hvis man ikke ønsker at benytte Zopes scripting-sprog DTML, og det er jo forudsætningen, hvis almindelige brugere skal benytte CMS, så tilbyder Zopes CMS-modul kun et format kaldet Structured Text, hvor almindelig ascii-tekst kan konverteres til simpel HTML. Til gengæld kan Zope udvides med hjemmeudviklet funktionalitet, men det kræver selvfølgelig ressourcer til udvikling.
Zope giver et godt bud på, hvorledes man løser de mange komplekse elementer, der indgår i publiceringssystemer, men der hviler en lidt ingenør-agtig ånd over implementeringen.
Zope afspejler på godt og ondt styrkerne og problemerne ved applikationsserverløsninger, om det så handler om CMS eller noget andet. Man får en monolitisk applikation, som løser mange af de komplekse problemer, der er ved CMS. Ligesom mange andre applikationsserverløsninger bygger Zope på en modulariseret struktur, og det er et skridt på vejen, men det kræver stadig at udvikleren sætter sig ind i en bestemt arkitektur, og det nedsætter graden af fleksibilitet.
Forhåbentlig vil fremtiden bygge på enkelte komponenter, der kan sættes sammen ved hjælp af sprog-uafhængige standarder som SOAP og XML. Så kunne applikationsdele, som ikke har noget med hinanden at gøre, separeres, hvilket ville give større fleksibilitet, nemmere skræddersyning og bedre brugeroplevelser.