Zope

S Vikipedije, slobodne enciklopedije
Zope
Veb-adresawww.zope.org
KomercijalnostNe
Dostupan naEngleski
Trenutni statusAktivan

Zope je društveni projekat sastavljen od aplikacionog servera besplatnog i otvorenog koda, objektno-orijentisanog napisanog u Pajton programskom jeziku. Zope je skraćeno od "Z Object Publishing Environment", i bio je prvi sistem koji je koristio sada već popularnu metodologiju objavljivanja objekta za internet.[1][2] Zope je prepoznat kao presudna aplikacija Pajtona, aplikaciju koja je pomogla da Pajton postane prepoznat.[3][4]

U proteklih nekoliko godina, Zope zajednica je stvorila još nekoliko dodatnih veb frejmvorkova sa različitim ciljevima i principima, ali sa deljenjem filozofije, ljudi, i izvornog koda. Zope 2 je i dalje najrasprostranjeniji od ovih frejmvorkova, najviše zahvaljujući Plone sistemu upravljanja, koji je pokrenut pod Zope 2. BlueBream (ranije nazvan Zope 3) je manje rasprostranjen ali se nalazi iza nekoliko velikih sajtova, uključujući Launchpad. Grok je pokrenut kao frejmvork koji je bio više prijateljski nastrojen prema programeru, "Zope 3 za ljude iz kamenog doba", i u 2009. Pyramid (ex BFG) je postao popularan u okviru Zope zajednice kao minimalistički frejmvork baziran na Zope principima.

Istorija[uredi | uredi izvor]

Zope korporacija je osnovana tokom 1995. u Frederiksburg, Virdžinija pod imenom Digital Creations, kao zajedničko ulaganje sa InfiNet. Kompanija je napravila poverljiv reklamni endžin za internet. Tokom 1997, kompanija je postala privatna u nezavisnom vlasništvu. Softverski inženjeri kompanije su vođeni od strane CTO Džim Fultona. PythonLabs, autori Pajtona, su postali deo kompanije tokom rane 2000. Pajton osnivač Gvido van Rosum je napustio kompaniju Corp tokom 2003.[5]

Ono što je danas poznato kao Zope 2 je nastalo spajanjem tri odvojena proizvoda – Bobo, Document Template, i BoboPOS – u Principia aplikacioni server. Po nalogu njenog najvećeg investitora, Optikaliti Ventures, Principia je ponovo objavljen kao slobodan softver pod nazivom Zope 1998. Bobo, a samim tim Zope, bio je prvo izdavačko rešenje veb objekta.[2]

U novembru 2004. godine, Zope 3 je pušten. Zope 3 je kompletan prepis koji čuva samo originalni ZODB objekat baze podataka. Direktno je namenjen za preduzeća razvoja veb aplikacija pomoću najnovije razvojne paradigme. Zope 3, međutim, nije kompatibilan sa Zope 2, tako da ne možete pokrenuti Zope 2 aplikacije na Zope 3. Prvobitno je trebalo da se uvede unazad kompatibilni sloj, tako da će Zope 2 softver ići na Zope 3. Umesto modula poznat kao Five, predstavio je nove Zope 3 paradigme u Zope 2, iako puna kompatibilnost nije ni tada moguće na taj način.

Postojanje dva nekompatibilna Veb frejmvorka nazvanih Zope je napravilo dosta konfuzije. Kao odgovor, u januaru 2010, Zope 3 je preimenovan u "BlueBream".[6][7] "Zope" i "blue bream" su imena vrsta ribe, špicer.

Zope Fondacija[uredi | uredi izvor]

Zope Fondacija je organizacija koja promoviše razvoj Zope platformi podržavajući zajednice da razvijaju i održavaju odgovarajuće softverske komponente. Zajednica uključuje softver otvorenog koda, dokumentaciju i saradnika veb infrastrukture, kao i poslovnih i organizacionih potrošača softverske platforme. Ona upravlja zope.org sajtovima, infrastrukturu za kolaboraciju nad otvorenim kodom.

Zope 2
Zope menadžment interfejs u Veb pretraživaču.
Zope menadžment interfejs u Veb pretraživaču.
Programer(i)Zope Korporacija
Prvo izdanje1998.
Stabilno izdanje
2.13.23 / 29.06.2015.
Napisan uPajton
Operativni sistemCross-platform
TipVeb
LicencaZope Public License
Veb-sajtzope2.zope.org

Zope 2[uredi | uredi izvor]

Zope sajt se obično sastoji od objekata u Zope Bazi Podataka Objekata, ne od datoteka na fajl sistemu, kao što je uobičajeno u većini veb servera. Ovo omogućava korisnicima da iskoriste prednosti objekta tehnologija, kao što je enkapsulacija. Zope mapira linkove za objekte koje koriste zaštitnu hijerarhiju takvih objekata; postupci su smatrani da budu sadržani u njihovim objektima takođe. Podaci se mogu čuvati u drugim bazama podataka, ili na fajl sistemu, ali ZODB je najčešći rešenje.

Zope obezbeđuje dva mehanizma za HTML templejting: Document Template Markup Language (DTML) i Zope Page Templates (ZPT). DTML je jezik baziran na tagovanju koji dozvoljava implementaciju jednostavnog skriptinga u šablonima. DTML ima odredbe za promenljivo uključivanje, uslovljavanje, i petlji. Ali, DTML ima velike mane: DTML tagovi smenjivanjem sa HTML prave nevalidna HTML dokumenta, a and nemarno uključivanje logike u šablone rezultuje se veoma nečitljivim kodom. ZPT je tehnologija koja popravlja ove probleme. ZPT šabloni mogu biti ili veoma dobro napisana XML dokumenta ili HTML dokumenta. ZPT nudi veoma organičeni set alatki za uslovno uključivanje i ponavljanje XML elemenata. Shodno tome, šabloni su obično prilično jednostavni, sa najvećom logikom implementiranom u Pajton kodu. Jedna glavna prednost šablona ZPT je ta što mogu biti promenjeni u najvišim grafičkim HTML editorima. ZPT takođe nudi direktnu podršku za internacionalizaciju.

Zope 2 je sklon Plone cistemu upravljanja, kao i ERP5 sistem otvorenog koda ERP.

BlueBream[uredi | uredi izvor]

BlueBream
Programer(i)Zope Korporacija
Prvo izdanje2004.
Stabilno izdanje
1.0 / 18.01.2011.
Napisan uPajton
Operativni sistemCross-platform
TipVeb
LicencaZope Public License
Veb-sajtbluebream.zope.org

BlueBream je prepiska od strane Zope programera Zope 2 veb aplikacionog servera. Bio je napisan pod imenom "Zope 3", ali postojanje dva nekompatibilna frejmvorkova sa istim imenom je napravilo dosta konfuzije, i Zope 3 je preimenovan u "BlueBream" tokom januara 2010.[8][9] BlueBream je distribuiran pod licencom Zope Public License[10] i time je besplatan.

Zope 2 se pokazao kao koristan frejmvork za razvoj Veb aplikacija, ali njegovo korišćenje je pokazalo nekoliko ograničenja. Da spomenemo par, pravljenje Zope 2 proizvoda uključuje kopiranje dosta boilerplate koda – "magičnog" koda – koji prosto mora da bude tu, i ugrađeni interfejs menadžmenta je komplikovan za podešavanje ili zamenjivanje. Zope 3 je prepiska softvera koji pokušava da popravi ova uskraćivanja a da pritom zadrži sve prednosti Zope-a koje su ga učinili popularnim. BlueBream je baziran na komponentno orijentisano programiranje koje čini da bude jednostavno mešanje softverskih komponenti sa različitih izvora napisanih u Pajtonu. Iako originalno osmišljen kao zamena za Zope 2, Zope Arhitektura Komponente je umesto toga vraćena na Zope 2, počevši sa Zope 2.8. Mnoge Zope platforme kao što je Plone prolaze kroz isti tip deo-po-deo prepiske. Prvo produkcijsko izdavanje novog softvera, Zope X3 3.0.0, je izdat 6. novembra, 2004.

Istorija[uredi | uredi izvor]

Zope 3 projekat je započet u februaru 2001. kao pokušaj da se napravi nova verzija Zope-a kao skoro potpunu prepisku, sa ciljem da se zadrže sve uspešne funkcije od Zope 2 sa ispravljanjem nekoliko njegovih uskraćenja. Cilj je bio da se napravi platforma za veb aplikacije koja bi bila više prijateljski nastrojena prema programerima nego što je Zope 2. Projekat je započet sa pravljenjem komponentno orijentisanim programiranjem Komponentno orijentisano programiranje, koji dozvoljava pravljenje koda u male jedinice sa introspektabilnim interfejsom. Interfejsi su podržani paketom interfejsa imajući za cilj dovođenje funkcionalnosti eksplicitno izjašenjnih interfejsova u Pajton jeziku. Prvo produkcijsko izdavanje ovog softvera, Zope X3, je izdat 6. novembra, 2004. U januaru 2010. Zope 3 je preimenovan u BlueBream.[8]

Tehnologija[uredi | uredi izvor]

Cilj projekta je da omogući programerima da koriste Zope da razotkriju proizvoljne Pajton objekte kao model objekata na internetu bez potrebe da ovi objekti ispunjavaju posebne zahteve ponašanja. U Zope 2 je bilo mnogo zahteva ponašanja kako bi se omogućilo da učestvuju predmeti u frejmvorku, što je rezultiralo velikom količinom miksin osnovnih klasa i specijalnih atributa. BlueBream koristi Model / pregled arhitekturu, razdvajanjem prezentacinog koda sa problemom koda domena. Pogledi i modeli su zajedno povezani sa arhitekturom komponente.

Biblioteke u osnovi BlueBream su evoluirale u zbirku korisnih biblioteka za razvoj veb aplikacija, a ne u jedan, monolitni aplikativni server. BlueBream uključuje posebne pakete za interfejs, arhitekturu komponenti, HTTP server, izdavača, Zope objekta baza podataka (ZODB), Zope Šabloni Stranica, I18N, bezbednosnu politika, i tako dalje. Komponenta arhitektura se koristi da zalepite sve ovo zajedno. Komponenta arhitektura je podešena pomoću ZCML (Zope Configuration Markup Language), što je jezik XML baziranog jezika konfiguracionog fajla.

Zope 3 projekat je praktikovao sprintove nad proizvodnjom sotvera otvorenog koda.[11] Sprintovi su intenzivne sesije programiranja kada programeri, često iz različitih zemalja, se sakupe u jednu prostoriju i rade zajedno nekoliko dana ili čak nedelja. Tokom sprintova, korišćeno je dosta metoda od razvoja agilnog softvera, kao što su parno programiranje i razvoj testiranjem. Pored cilja za razvojem softvera, sprintovi su takođe korisni za geografski razdvojene programere da se upoznaju i da privuku nove ljude u projekat. Takođe služe kao način na koji učesnici mogu da nauče jedan od drugog.

BlueBream je smatran stabilnim frejmvorkom, korišćen nad proizvodnjom projekata širom sveta, najviše primećenog na Launchpad.

Zope Alatka[uredi | uredi izvor]

Kao rezultat razvoja Zope 3 / BlueBream, sada postoji dosta nezavisnih Pajton paketa korišćenih i programiranih kao deo BlueBream-a, i iako mnogi od njih je moguće koristiti van BlueBream-a, mnogi takođe ne. Zope Alatka (ZTK) projekat je započet da bi se razjasnilo koje pakete je moguće koristiti van BlueBream-a, i da se unapredi ponovno korišćenje tih paketa. Time Zope Alatka je baza za Zope frejmvorkove. Zope 2.12 je prvo izdanje veb frejmvorka koji koristi Zope Alatku, i Grok i BlueBream su planirani da imaju izdavanje bazirano na ZTK tokom 2010.

Grok[uredi | uredi izvor]

Tokom 2006. Grok projekat je započet od strane mnogobrojnih Zope 3 programera koji su hteli da Zope 3 tehnologiju učine više agilnom u korišćenju i više dostupnom novim programerima. Grok je od tad dobijao regularna izdavanja i njegova glavna tehnologija (Martian, grokcore.component) takođe viđa poboljšanje u drugim Zope 3 i Zope 2 baziranim projektima.

Zope Šabloni Stranica[uredi | uredi izvor]

Kao što je prethodno napomenuto, Zope Šabloni Stranica same po sebi su XHTML dokumenti, što znači da mogu biti pregledani i promenjeni korišćenjem normalnih HTML editora ili XHTML alatkama (velika prednost u poređenju sa drugim šablonima jezika korišćenim za veb aplikacije). Šabloni takođe mogu biti provereni za XHTML usklađenost tako da možete biti prilično sigurni da će se automatski proširiti u tačan XHTML.

Kakogod, ovi šabloni stranica nisu namenjeni da budu izrađeni kao takvi. Umesto toga, dodati su im naknadni elementi i atributi u specijalnim XML znacima (pogledajte ispod). Ova dodatna informacija se koristi da se opiše kako bi trebalo da šablon stranice ultimativno bude obrađena.

Evo nekoliko prostih primera. Da se uslovno uključi određeni element, kao što je div element, jednostavno dodati tal:condition atribut na element kao što sledi:

<div tal:condition="...">
  ...
</div>

Da kontrolišete šta se pojavljuje u elementu, koristite tal:content atribut ovako:

<h1><span tal:content="..."/></h1>
...

Konačno, da unesete ili zamenite vrednosti atributa, koristite tal:attributes atribut kao ispod. Možete koristiti Pajton da promenite href tokom pokretanja programa.

<a href="" tal:attributes="href python:'http://someurl.com/%s'%someobject">...</a>

Ovo je veoma površno objašnjenje Zope Šablona Stranica. Ponašanje Zope Šablona Stranica je skoro potpuno objašnjeno šablonskim jezikom, fiksiranom na TAL, TALES, i METAL specifikacije:

  • Template Attribute Language (TAL),
  • Template Attribute Language Expression Syntax (TALES),
  • Macro Expansion Template Attribute Language (METAL).

Važni softver koji koristi Zope[uredi | uredi izvor]

SchoolTool je sistem informisanja studenata otvorenog koda koji koristi Zope.

Vidi još[uredi | uredi izvor]

Reference[uredi | uredi izvor]

  1. ^ Lerner, Reuven M. „At the Forge - Assessing Ruby on Rails”. Linux Journal. Pristupljeno 26. 3. 2010. „Zope also pioneered the idea of object publishing, in which a URL describes the method that should be called on a particular object. 
  2. ^ a b Philip J Eby (11. 12. 2003). „Comment on "Lisp and Productivity". Joel on Software. Arhivirano iz originala 18. 02. 2009. g. Pristupljeno 26. 3. 2010. „In 1997, Jim Fulton (the CTO at Zope Corp) developed a technique he called "Object Publishing", and implemented in a library called the Python Object Publisher (aka Bobo). The object publishing metaphor is found in many Python toolkits today; in other languages it's found only in crippled form, at best. 
  3. ^ Lutz, Mark (2006). „18: Advanced Internet Topics”. Programming Python (3 izd.). O'Reilly Media. Pristupljeno 27. 3. 2010. „The use of Zope has spread so quickly that many Pythonistas have looked to it as a Python Killer Application - a system so good that it naturally pushes Python into the development spotlight. 
  4. ^ Udell, Jon (2000). „Zope Is Python's Killer App.”. BYTE. Arhivirano iz originala 2. 3. 2000. g. Pristupljeno 4. 6. 2011. 
  5. ^ Guido van Rossum Leaves Zope.com
  6. ^ „BlueBream documentation”. Arhivirano iz originala 22. 01. 2010. g. Pristupljeno 17. 1. 2010. 
  7. ^ „Zope Foundation Board of Directors meeting 2010-10-14”. Arhivirano iz originala 21. 01. 2010. g. Pristupljeno 17. 1. 2010. 
  8. ^ a b „veza”. Arhivirano iz originala 22. 01. 2010. g. Pristupljeno 11. 11. 2015. 
  9. ^ „Arhivirana kopija”. Arhivirano iz originala 21. 01. 2010. g. Pristupljeno 11. 11. 2015. 
  10. ^ „FAQ - General 5: What is the license of Zope 3?”. Arhivirano iz originala 22. 08. 2009. g. Pristupljeno 11. 11. 2015. „Zope 3 is licensed under Zope Public License, Version 2.1 (ZPL). 
  11. ^ „Arhivirana kopija”. Arhivirano iz originala 14. 08. 2012. g. Pristupljeno 11. 11. 2015. 

Spoljašnje veze[uredi | uredi izvor]