Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF Úvod do aplikačního serveru Zope SLT2001 Skalský dvůr, 15.-18. února.

Podobné prezentace


Prezentace na téma: "Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF Úvod do aplikačního serveru Zope SLT2001 Skalský dvůr, 15.-18. února."— Transkript prezentace:

1 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF Úvod do aplikačního serveru Zope SLT2001 Skalský dvůr, února 2001 Michal Mühlpachr

2 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 2 Co je to Zope ? Přední Open Source aplikační server, specializovaný na interaktivní obsah (správa obsahu, portály) Web, ftp, WebDAV, XML-RPC server Hypertext procesor - DTML ORB (Object-Request Broker) Objektový transakční databázový server Integrační server - provázání s RDBMS Autorizační server - správa práv Prostý SQL relační databázový server

3 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 3 Kde se vzal, z čeho je ? Digital Creations Inc. –Zkušenosti v oblasti aplikačních serverů Zope je akuálně zralý produkt –Business model s Open Source a venture kapitálem Založen na Pythonu - „executable pseudo-code“ –Zvládnutelný kód ~88k řádků Python, ~45k řádků C (PHP4 kód ~150K řádků C) –Nedodává se na 2CD, distribuce cca 10MB –Dříve BOBO, Object Publisher

4 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 4 Podobné produkty Allaire Cold Fusion PHP - Hypertext Preprocessor JSP - Java Server Pages RoXen Challenger Microsoft IIS ASP - Active Server Pages

5 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 5 Proč je Open Source důležitý ? Udržení kontroly. –Aktuálnost a relevatnost webové Internet prezentace jsou klíčové pro Váš úspěch. –Bohužel, nejdůležitější pro dodavatele technologických řešení je jeho byznys plán, ne Váš byznys plán. –Právo opravit, modifikovat, doplňovat, distribuovat, zdrojový kód. Zope je zdarma. –Finanční prostředky lze investovat přímo pro řešení místo do licencí SW.

6 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 6 Výhody 1/2 Jednoduchost, podpora standardů Modulární architektura Mocný objektový model Vše přes web, integrovaná ODB Řád převažuje nad chaosem Srozumitelné URLs Integrace s externími daty, aplikacemi Flexibilní vyhledávání Rozšiřitelná bezpečnost

7 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 7 Výhody 2/2 Separace rolí Delegace zodpovědnosti / pravomocí Integrované prostředí Skutečné web objekty Komunita nadšenců –Mail listy cca 100 zpráv denně Škálovatelnost –rychlé proniknutí do technologie –vhoné pro jednoduché i složité řešení –možnost oddělení aplikace a ODB –na běžném HW 1M hit/den

8 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 8 Architektura Zope

9 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 9 Architektura: Python Interpretovaný, interaktivní, objektově orientovaný, high-level programovací jazyk Flexibilní, jednoduchý, mocný Škálovatelnost –zvládá jednoduché i komplikované problémy –příjemný jak pro začátečníky tak pro experty Snadná údržba a čitelnost kódu Rozšiřitelnost, balíčky, moduly, knihovny –C API - moduly, SWIG –Snadno použitelný z jiných prostředí (C, Java,...)

10 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 10 Architektura: ZServer Asynchronní multiprotokolový server –PCGI, FastCGI –HTTP, XML-RPC (brzy SOAP), WebDAV –FTP –Monitor klient (Python interface) Založen na Meduse (Sam Rushing) Podobná architektura jako dva nejvýkonnější web servery: thttpd a Zeus

11 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 11 Architektura: ZPublisher Převod URL na objekty a metody - HTTP ORB –Umožňuje znovupoužitelné objekty, které se prezentují prostřednictvím různých metod Zajišťuje jednoduchý URL design: –http://www.firma.cz/Obchod/Zaměstnanci raději než: –http://www.firma.cz/cgi-bin/zaměstnanci.cgi?oddělení=obchod nebo –http://www.firma.cz/cgi-bin/aplikace.cgi ?id=123456?dotaz=zaměstnanci?oddělení=obchod Předávání proměnných –Vývojář se nemusí starat o low level HTTP

12 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 12 Architektura: Framework Poskytuje integrované prostředí pro design web prezentací a skripty vložené v HTML (Dokumentové šablony / DTML) Základní třídy objektů –soubor, adresář, DTML metoda, DTML dokument, obrázek –SQL metody, Z Search Interface, Z Catalog, Version Rozšiřování novými třídami (ZClasses) Zabudovaná správa autorizací (přístupových práv), napojení na různé systémy pro správu identit, identifikací a autentizací uživatelů

13 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 13 Zope management model Zope je designován pro správu pomocí webu Jen málo operací (např. přidávání produktů) vyžaduje přístup k file systému Obsah není „rozeset“ po file systému Dvoupanelové UI podobně jako Windows Explorer, HTML 3.2 s JavaScriptem Dostupný na: Cut, Copy, Paste, Rename, Export, Import

14 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 14 Integrované prostředí - správa

15 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 15 Jednoduché DTML Editace index_html objektu

16 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 16 Komplikovanější DTML

17 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 17 Objekt Objekt - data, kód Zope obsahuje základní třídy objektů –kontejnerové - např. adresář –prosté - např. soubor Atributy Instance Objektová perzistence - automat. aktivace Z Class Python Class

18 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 18 Atributy objektu Vytvoření atributu contact_ Accounting adresáře

19 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 19 Dědičnost a získávání Přirozené (geny - DNA) / výchova (různé chování v závislosti na prostředí) Získávání od předků - hierarchie instancí (chování objektu v závislosti na umístění) objekt je v objektu … Dědění v rámci hierarchie tříd (funkcionalita objektu) - objekt je kategorie...

20 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 20 ZODB Ve své třetí major verzi (ZODBv3) Transparentní správa cache API, dotazovací jazyk Plně transakční databáze s distribuovaným commit, dvoufázový commit –ZEO (Zope Enterprise Option) –Transakce ODB integrovány s RDBMS Subtransakce –Transakci nad mnoha objekty lze rozdělit na menší části (zapisovat do FS po částech) Verze (long running transactions) Úplné undo

21 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 21 Verze Umožňují připravovat změny na produkčním webu a přitom privátně Novou podobu prezentace / aplikace není potřeba připravovat odděleně Uvedení nové verze prezentace / aplikace jen commitem verze Potvrzování změn po částech, možnost návratu

22 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 22 Mnohaúrovňové Undo Dostupné všechny transakce od poslední komprimace objektové databáze Undo neohrožuje objektovou integritu

23 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 23 Vyhledávání v ODB Kde jsem použil tento atribut ? Co bylo modifikováno od včerejška ?

24 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 24 ZSQL Metody Realizují vyspělou integraci s relačními daty Dynamické generování dotazů Transparetní caching výsledků Výsledky SQL dotazu jsou objekty, mají funkcionalitu Nezávislé na konkrétním DB Engine Integrovány s hlavními DB technologiemi

25 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 25 Architektura SQL integrace RDBMS konektivita RDBMS obsah je integrován s obsahem adresářů Separace správce obsahu a DB administrátora RDBMS Z SQL Method Oracle (native) Database Adapter Oracle (ODBC) Database Adapter IPC/RPC Other Zope Server XML/RPC Client Zope Framework http/https httpd Web browser SQL Results

26 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 26 Příklad ZSQL Metody Jednoduchý příklad SELECT * FROM employees WHERE ssn = sqlMakeLoanPayment UPDATE account SET balance = balance - UPDATE loan SET balance = balance -

27 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 27 Bezpečnost Robustní řešení bezpečnosti Rozdíl mezi uživateli, rolemi a právy Uživatelé mohou mít role i v lokálním kontextu s granularitou na úrovni objektů. Hierarchie uživatelů Správce obsahu, vývojář aplikační logika, správce relační DB SQL metody, administrátor aplikační server

28 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 28 Práva a role

29 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 29 Rozšiřitelnost Zope je modularizován na produkty –SessionManager, SQLSession, FSSession –Zcatalog, Ultraseek DA –ZGadflyDA, ZPyGreSQLDA, ZOracleDA,... –LDAPAdapter, UserFolder –COMObject, XML Document, ZCalendar –MIMETools, Portal Toolkit –WorldPilot ZClasses Externí Python metody

30 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 30 Distribuce Binární –Linux tar.gz, RPM, Debian deb –Solaris Sparc –Microsoft Win32 Zdrojová –Na jakoukoli platformu, kde je instalovaný Python Dokumentace - Zope Guides –Document Template Markup Language Reference DTML –Administrator's Guide, Content Manager's Guide, SQL Methods User's Guide –Zope How-Tos, Zope Tips –Developer Documentation (UML Models, ZClasses, External Methods, ZODB,ZPublisher, Acquisition, Zope Products, DOM, WebDAV, XML-RPC,...)

31 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 31 Budoucnost Produkty ZODB –ZEO Zope Enterprise Option, OQL –Auditing, Nové metody úložiště ODB –Optimalizace, Zamykání, Cross database –Řešení konfliktů na aplikační úrovni Integrované prostředí - Mozilla –XUL - Extensible User-Interface Language –RDF - Resource Description Framework Python 2.0 – internacionalizace Integrace s Perlem

32 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 32 XUL

33 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 33 RDF

34 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 34 Odkazy 1/6 Zope - Open Source Application Server –http://www.zope.org/ Digital Creations Inc. –http://www.digicool.com/ Zope Weekly News –http://www.zope.org/Members/MikeP/ZWN/ Zope Solution Providers –http://www.zope.org/Resources/ZSP How-To: Getting Started With Zope –http://www.zope.org/Members/klm/GettingStarted –http://weblogs.userland.com/zopeNewbies/faq Zope Mailing Lists –http://www.zope.org/Resources/MailingLists

35 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 35 Odkazy 2/6 Python - interpreted, interactive, object-oriented high- level programming language –http://www.python.org/ A Perl Hacker in the Land of Python –http://www.byte.com/feature/BYT S0001 Jon Udell: Internet/Web solutions –http://udell.roninhouse.com/ Midgard - Application Server Suite –http://www.midgard-project.org/ PHP - Hypertext Preprocessor –http://www.php.net/ JSP - Java Server Pages –http://java.sun.com/products/jsp/

36 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 36 Odkazy 3/6 DTML - Document Template Markup Language –http://www.zope.org/Documentation/Guides/DTML CFML - Cold Fusion Markup Language –http://www.coldfusion.com/handlers/index.cfm?ID=13381 RXML - RoXen Macro Language –http://www.roxen.com/ ASP - Active Server Pages –http://msdn.microsoft.com/workshop/server/ –http://support.microsoft.com/support/default.asp?SD=SO&PR =asp&RLD=22 –http://www.activescripting.org/ FastCGI - Fast Common Gateway Interface –http://www.fastcgi.com/

37 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 37 Odkazy 4/6 XML - Extensible Markup Language –http://www.w3.org/XML/ –http://www.xml.org/ –http://www.xml.com/ XMLRPC XML Remote Procedure Call –http://www.xmlrpc.com/ WebDAV - Web-based Distributed Authoring and Versioning –http://www.webdav.org/ –http://www.ics.uci.edu/~ejw/authoring/ –http://webdav.zope.org/ SOAP - Simple Object Access Protocol –IETF draft-box-http-soap-01.txt –http://www.develop.com/soap/

38 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 38 Odkazy 5/6 XUL - Extensible User-Interface Language –http://www.mozilla.org/xpfe/ –http://www3.sympatico.ca/ndeakin/mozilla/xultu/ –http://zvon.vscht.cz/HTMLonly/MozillaTutorial/General/book.h tml RDF - Resource Description Framework –http://www.w3.org/RDF/ DOM - Document Object Model –http://www.w3.org/DOM/ Java Script - ECMA Script –http://www.ecma.ch/ECMA1/STAND/ECMA-262.HTM

39 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF 39 Odkazy 6/6 LDAP - Lightweight Directory Access Protocol –http://www.directoryforum.org/ –http://www.openldap.org/ –http://www.innosoft.com/ldapworld/ –http://www.kingsmountain.com/ldapRoadmap.shtm l –http://developer.netscape.com/tech/directory/ DSML - Directory Services Markup Language –http://www.dsml.org/

40 Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF Diskuze Dotazy ? Komentáře ? Michal Mühlpachr D ěkuji za pozornost


Stáhnout ppt "Free presentation redistribution and/or modification under terms of GNU GPL v2 by FSF Úvod do aplikačního serveru Zope SLT2001 Skalský dvůr, 15.-18. února."

Podobné prezentace


Reklamy Google