Ανάπτυξη Υπηρεσιών Πληροφόρησης με την Χρήση ZOPE Νίκος Κορφιάτης

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
UNIX.
Advertisements

Τεχνολογίες Web Απαραίτητες γνώσεις για την υλοποίηση της άσκησης.
Δημιουργία Ιστοσελίδων σε HTML και FrontPage Πρόγραμμα Αναμόρφωσης Προπτυχιακών Σπουδών Κεντρικό Γραφείο Υποστήριξης Εκπαιδευτικού Έργου Αλέξανδρος Λεκατσάς.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP. Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να.
WORDPRESS. Self-Hosting Wordpress • Απαιτείται δικό μας domain, και δικιά μας Web Hosting Υπηρεσία (κατόπιν πληρωμής) • Το λογισμικό του Wordpress κατεβαίνει.
Διαδίκτυο Κίκα Χρυσοστόμου.
Να περιγράψετε τους 2 τρόπους οργάνωσης Ιστοσελίδων
• Php • Joomla • Joomla Module • Παρουσίαση του συστήματος μας.
5η Συνάντηση Εκπαιδευτικών Πληροφορικής στη Δυτική Μακεδονία Πτολεμαΐδα, 29 Σεπτ 2005 Δημιουργία Δυναμικών Ιστοσελίδων με PHP και Dreamweaver MX Στυλιάδης.
Δημιουργία ιστοσελίδων στο διαδίκτυο με Dreamweaver, PHP, MySQL και Apache ΠΛΗΡΟΦΟΡΙΚΗ Ι (Β ή Γ Λυκείου) ΜΑΘΗΜΑ ΕΝΔΙΑΦΕΡΟΝΤΟΣ(2ωρο) [Στην περίπτωση που.
Microsoft ISA (Internet Security and Acceleration) Server 2004.
Πανεπιστήμιο Αιγαίου Σχολή Επιστημών της Διοίκησης Τμήμα Μηχανικών Οικονομίας & Διοίκησης Computer applications in the modern enterprise Γ. Κούζας, PhD.
ΕΠΛ602 ΘΕΜΕΛΙΩΣΕΙΣ ΤΕΧΝΟΛΟΓΙΑΣ ΔΙΑΔΥΚΤΙΟΥ Ομάδα: Πολυχρόνης Μάριος – Κωνσταντίνου Κωνσταντίνος –
Εγκατάσταση & Διαχείριση
ΗΛΕΚΤΡΟΝΙΚΑ ΔΙΑΔΙΚΤΥΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ (Σ.Δ.Π.) ΚΑΤΑΝΟΗΣΗ & ΑΞΙΟΛΟΓΗΣΗ.
Συστήματα Διαχείρισης Βάσεων Δεδομένων Τίμος Σελλής, Καθηγητής ΕΜΠ, Διευθυντής ΙΠΣΥΠ, Ε.K. “Αθηνά”
Αντωνίου Δεσποιάνα Κωνστάμπεης Τιμόθεος Κυριάκου Παναγιώτης Χριστοφόρου Βάκης.
HAMSTER Κώστα Κωνσταντίνος Ματθαίου Γιώργος Σκιττίδου Ελένη Τορτούρη Κατερίνα Advance p2p network 1/7/20141ΕΠΛ Θεμελιώσεις Τεχνολογιών Διαδικτύου.
Βάσεις Δεδομένων 1 T.Manavis– N.Kyritsis.
Microsoft Exchange Server Τι είναι ο Exchange Ο Exchange Server χρησιμοποιείται για την παροχή υπηρεσίας ηλεκτρονικού ταχυδρομείου ( service).
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
Δ.Π.Θ. Συνδέοντας έγγραφα - 1 Συνδέοντας έγγραφα Μια σύνδεση στο Web (link) αποτελείται από δύο μέρη : Aυτό που βλέπουμε στη σελίδα και λέγεται άγκυρα.
ΠΡΟΤΥΠΑ ΜΑΘΗΣΙΑΚΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΠΑΡΟΥΣΙΑΣΗ ΚΑΙ ΔΙΔΑΚΤΙΚΑ ΟΦΕΛΗ Ενότητα 3.7 – Β’ Μέρος.
Web Services Υπηρεσίες διαδικτύου
1. Απαιτούμενο Υλικό και Υπηρεσίες 2. Απαιτούμενο Λογισμικό 3. Διάγραμμα Ροής Συστήματος 4. Βάση Δεδομένων 5. Ιστοσελίδες 5α. Χάρτης 5β. Εγγραφή νέου.
Resource Description Framework
Uniform Resource Locators (URLs) Ορισμός : URL (Uniform Resource Locator): Δείκτης σε μία πηγή πληροφοριών του Παγκοσμίου Ιστού (World Wide Web) Στη Java,
Στογιάννου Αθανασία 1Ι-ΙΝΠΟ internet Στογιάννου Αθανασία web designer 2013 web designer 2013.
Υπηρεσίες δικτύων επικοινωνίας
FEDORA Ένα Προηγμένο Σύστημα Διαχείρισης Ψηφιακής Βιβλιοθήκης Ανοικτού Κώδικα Γιώργος Πυρουνάκης Υπολογιστικό Κέντρο Βιβλιοθηκών ΕΚΠΑ δαίμων – Τεύχος 2.
Microsoft ASP.NET Browser Web 2.0 CSS JavaScript Server Client Clients Κατσιώτης Ιωάννης Οικονομικό Πανεπιστήμιο Αθηνών
> Καλπάκη Ελένη Καρυπίδης Φώτιος Α.Μ. : 2027 Α.Μ.: 1837 Επιβλέπων Καθηγητής Δρ. Σπυρίδων Α. Καζαρλής.
Παρουσίαση PocketBiz SmartPhone Κωνσταντίνος Τζαβάρας Sales Manager.
Σύγχρονοι Εξυπηρετητές του Ιστού Παραδείγματα και Συγκρίσεις Πληροφοριακά Συστήματα για Μάρκετινγκ & Δημοσκοπήσεις.
Αθήνα 16/1/2003 σελίδα 1 ημερομηνία: 10/1/2015 Σχεδιασμός Δικτυακής Πύλης Δρ. Μιχάλης Παρασκευάς Αναπληρωτής Διευθυντής Τομέα Δικτυακών Τεχνολογιών,
 WEB Server (Apache ή IIS )  PHP  Βάση δεδομένων My SQL ή άλλη  SMTP για αποστολή  Ιδανική σουίτα XAMPP από την διεύθυνση:
Open Source από την μεριά του ΙΤ provider Μάνος Μαργαρίτης CTO EXODUS AE.
Τμήμα Πληροφορικής Πανεπιστημίου Κύπρου ΕΠΛ 371 – Προγραμματισμός Συστημάτων Ονόματα: Αντώνης Μαυρής, Γιώργος Ματθαίου, Χρίστος Κυριάκου Ταυτότητες: ,
ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Π.Μ.Σ. ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΑΝΑΠΤΥΞΗ ΤΑΞΙΝΟΜΗΤΗ ΗΛΕΚΤΡΟΝΙΚΗΣ ΑΛΛΗΛΟΓΡΑΦΙΑΣ ΜΑΛΕΖΑ ΣΟΦΙΑ ΑΕΜ:765.
Ποιότητα Λογισμικού Ενότητα 9: Έλεγχος λειτουργιών με το Apache JMeter. Διδάσκων: Γεώργιος Κακαρόντζας, Καθηγητής Εφαρμογών. Τμήμα Μηχανικών Πληροφορικής,
PHP/MYSQL ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΟΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΜΗΧΑΝΗΣ ΤΥΡΟΛΟΓΟΥ ΓΛΥΚΕΡΙΑ ΑΜ 875 ΡΙΖΟΥ ΔΕΣΠΟΙΝΑ ΑΜ 816.
Google's Google App Engine and Google's Datastore API Andreas Manoli.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
RSS FEEDS Εισαγωγικά θέματα WWW ΠΑΝΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΠΜΣ:ΔΥΝΗΤΙΚΕΣ ΚΟΙΝΟΤΗΤΕΣ, ΚΟΙΝΩΝΙΟΨΥΧΟΛΟΓΙΕΣ ΠΡΟΣΕΓΓΙΣΕΙΣ ΚΑΙ ΤΕΧΝΙΚΕΣ ΕΦΑΡΜΟΓΕΣ ΕΞΑΜΗΝΟ: Α΄
Διαχείριση Εκπαιδευτικού Περιεχομένου
Network Inference Μπαλάφα Κασιανή - Αδριανή Πλασταρά Κατερίνα.
Επιλογή θέματος δικτυακού τόπου Σχεδίαση δικτυακού τόπου Συλλογή – ανάπτυξη – επεξεργασία παρεχόμενης πληροφορίας Υλοποίηση πολυμεσικής εφαρμογής στο περιβάλλον.
Οριζόντιο Έργο Υποστήριξης Σχολείων, Εκπαιδευτικών και Μαθητών στο Δρόμο για το ΨΗΦΙΑΚΟ ΣΧΟΛΕΙΟ, νέες υπηρεσίες Πανελλήνιου Σχολικού Δικτύου και Στήριξη.
University of Crete HY566-Semantic Web CS566 – Semantic Web Computer Science Department - UoC Heraklion 1 April, 2003 Παπαγγελής Μάνος, Κοφφινά Ιωάννα,
Εγκατασταση & ρυθμισεισ
Tomcat Θ. Βαρβαρίγου Καθηγήτρια ΕΜΠ Τηλ
Κεφάλαιο 11.1 Uniform Resource Locators (URLs). Ορισμός : URL (Uniform Resource Locator): Δείκτης σε μία πηγή πληροφοριών του Παγκοσμίου Ιστού (World.
Ε.Κ.Π.Α 1 Διάθεση αρχείων βίντεο στο Διαδίκτυο Δρ. Μιχάλης Γκατζώνης Κέντρο Λειτουργίας και Διαχείρισης Δικτύου Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών.
FEDORA ARCHITECTURE1 Αρχιτεκτονικές Ψηφιακών Βιβλιοθηκών FEDORA.
ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Τ.Ε. ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ.
Προγραμματιστικά Εργαλεία για το Διαδίκτυο Κατασκευή Ιστοσελίδων 3 ο Κεφάλαιο Βελώνης Γεώργιος – Καθηγητής Πληροφορικής ΠΕ20.
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΛΛΑΣ ΑΝΑΣΤΑΣΙΟΣ / ΦΕΒΡ ΚΕΦΑΛΑΙΟ 2 ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ.
Χάρης Κονδυλάκης Σχεδιασμός Ιστοχώρων 1. Παραδείγματα ιστοχώρων del.icio.us europa.eu lufthansa.aero cnn.tv.
Προγραμματισμός και Διαχείριση Επιχειρηματικών Πόρων - ERP Μάθημα 4: Τεχνολογική Υποδομή ERP.
ΖΑΚΑΛΚΑΣ ΑΝΑΣΤΑΣΙΟΣ Α.Ε.Μ.: 2481 ΣΟΥΛΟΥΓΚΑΣ ΔΗΜΗΤΡΙΟΣ Α.Ε.Μ.: 2132 Επιβλέπων Καθηγητής: κ. ΟΥΤΣΙΟΣ ΕΥΑΓΓΕΛΟΣ ΜΑΡΤΙΟΣ 2016 ΣΕΡΡΕΣ.
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ
Κεφάλαιο 6o. Επίπεδο εφαρμογής
Γιώργος Θάνος Παρασκευή 5 Δεκεμβρίου 2008
Υπηρεσίες του διαδικτύου
Πληροφοριακό σύστημα Πληροφοριακό Σύστημα μιας επιχείρησης/οργανισμού είναι ένα σύστημα που αποτελείται από ανθρώπους, διαδικασίες και εξοπλισμό (Υλικό,
ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΩΝ ΕΦΑΡΜΟΓΩΝ
Εισαγωγή στην υλοποίηση δικτυακού τόπου
Εφαρμογές ιστού και δημιουργία ιστοσελίδων
Μεταγράφημα παρουσίασης:

Ανάπτυξη Υπηρεσιών Πληροφόρησης με την Χρήση ZOPE Νίκος Κορφιάτης

Σκοπός και Πλαίσιο Παρουσίασης Να παρουσιάσει την πλατφόρμα Zope/CMF Να εξηγήσει την αντικειμενοστράφεια των web εφαρμογών και των Συστημάτων Διαχείρισης Περιεχομένου (CMS) Να καταγράψει τα W3C πρότυπα σύμφωνα με την διαχείριση περιεχομένου

Υπηρεσίες Πληροφόρησης Μια υπηρεσία πληροφόρησης σε μεγάλο abstract level είναι ένα website Ένας δικτυακός «κόμβος» στον οποίο εισέρχεται και εξέρχεται πληροφορία Πολυπλοκότητα Υπηρεσιών –Εξατομίκευση (Personalization) –Διαχείριση Εκδόσεων (Versioning) –Διαχείριση Ροής Εργασίας (Workflow)

Τι είναι ο ZOPE The “Z”, “Object Oriented Publishing Environment” Ένας application server γραμμένος σε python με μερικά «κρίσιμα» σημεία γραμμένα σε «C». Οι λειτουργίες που παρέχει μοιάζουν αρκετά με του JBOSS με την μόνη διαφορά ότι είναι επικεντρωμένες στην διαχείριση περιεχομένου. Ίσως η πιο αντικειμενοστραφής πλατφόρμα για ανάπτυξη web based εφαρμογών Παρέχει βασικές υπηρεσίες όπως: –Database integration –Template-based page production –User authentication, –Selective permissions –Object-oriented paradigm for the distribution of custom code (Python Packages known as Products) –Management of persistent objects and sessions

Πως μοιάζει ο ZOPE (?)

Αρχιτεκτονική του ZOPE Zope Core –ZServer Multithreaded Web Server Συνεργασία με όλα σχεδόν τα πρωτόκολλα Σημαντική η υποστήριξη του WebDAV (!) –ZODB Object database Λόγω Python η αντικειμενοστραφής τάση της πλατφόρμας θεωρείται δεδομένη

Αρχιτεκτονική του ZOPE (2) Zserver: Ο Zope περιέχει έναν δικό του web server o οποίος μπορεί να δώσει το περιεχόμενο μέσα από διάφορα πρωτοκόλλα όπως FTP, WebDAV & XML-RPC Web Server: Δίνεται η δυνατότητα να χρησιμοποιηθεί ένας άλλος web server (Apache, IIS) o οποίος πρέπει να υποστηρίζει CGI Zope Core: Είναι το κύριο σημείο της πλατφόρμας που ενώνει την κονσόλα διαχείρισης με τη βάση αντικειμένων Βάση Αντικειμένων: Διαχειρίζεται τα αντικείμενα με τα οποία γίνεται εργασία στο ZOPE Σχεσιακή βάση δεδομένων: Χρησιμεύει για την αποθήκευση πληροφορίας. Η επικοινωνία γίνεται μέσα από ειδικό adapter. (Oracle, PostgreSQL, Sybase, MySQL etc). Σύστημα αρχείων: Ο Zope μπορεί να δουλέψει και με αρχεία (πχ python scripts) τα οποία και είναι αποθηκευμένα κάπου στο σύστημα αρχείων ZClasses: Τύποι αντικειμένων που μπορούν να προστεθούν μέσα από την κονσόλα διαχείρισης Products: Αφορά νέους τύπους αντικειμένων που επεκτείνουν την λειτουργικότητα της πλατφόρμας. Στην ουσία ένα προϊόν είναι ένα σύνολο από ZClasses

Η Αντικειμενοστραφής Αρχιτεκτονική του WEB Το γενικό σκεπτικό γύρω από την αντικειμενοστραφή αρχιτεκτονική του Zope είναι ότι και ο ίδιος ο ιστός είναι ένα αντικειμενοστραφές σύνολο. Η URL σε μία πηγή του web είναι απλά ο δείκτης ενός αντικειμένου σε ένα σύνολο containers και το πρωτόκολλο HTTP μας παρέχει τη δυνατότητα να στείλουμε μηνύματα στο αντικείμενο και να λάβουμε την ανταπόκριση του. Η ίδια η δομή του Zope είναι ιεραρχική, κάτι που σημαίνει ότι ένα τυπικό website που είναι χτισμένο με zope αποτελείται από αντικείμενα τα οποία με την σειρά τους εμπεριέχουν άλλα αντικείμενα. Πχ η URL χρησιμοποιείται για να προσπελάσει το αντικείμενο index_html που εμπεριέχεται στο αντικείμενο research το οποίο με την σειρά του εμπεριέχεται στο αντικείμενο nkorf

Η Αντικειμενοστραφής Αρχιτεκτονική του ZOPE «Καθήκον» του ZOPE είναι να δημοσιεύει τα αντικείμενα που δημιουργούμε και να παρέχει την υποδομή για ανταλλαγή των μηνυμάτων μέσω του URL Πχ Έστω το τυπικό σενάριο στον Apache – Μορφή: protocol://host:port/path?querystring –Protocol: http –Host: –Port: 80(default) –Path: cgi-bin/mobi/mobi.cgi –Query String: action=load & session_id=1 Στον ΖΟPE έχουμε τον ίδιο διαχωρισμό τις ακολουθίας στα στοιχεία Protocol, Host, Port με την διαφορά ότι δεν υπάρχει file based path (!)

Η Αντικειμενοστραφής Αρχιτεκτονική του ZOPE(2) Η έννοια της διαδρομής (path) δεν υπάρχει στο ZOPE καθώς ο ΖOPE αποθηκεύει όλα τα αντικείμενα – (πχ nkorf, research, index_html) σε μία βάση αντικειμένων (ZopeDB, Object Database) Επιστροφή στο παράδειγμα: –Ο Zope εντοπίζει στην Object Database το αντικείμενο χρησιμοποιώντας ως query string το /cgi-bin/mobi (παρόμοια σύνταξη με το XPath). Θυμίζει κάπως ORB –Στην συνέχεια εκτελεί το αντικείμενο (mobi.cgi) μεταφέροντας του όλες τις παραμέτρους από το Query String που είχαμε πριν. Η συμπεριφορά του αντικειμένου μπορεί να αλλάξει δίνοντας διαφορετικές τιμές στις παραμέτρους του. –Το αποτέλεσμα τις εκτέλεσης του αντικειμένου μεταφέρεται μέσω του ZOPE στον Web Browser του χρήστη. Το αποτέλεσμα αυτό μπορεί να είναι είτε: Content Type/ html Application /Image Application / File –Application-zip file »Etc……

Η Αρχιτεκτονική μιας Καλής web Εφαρμογής (1) Πλήρως Συμβατή με W3C Accessibility Guidelines –Σημαίνει: Διαχωρισμός Περιεχομένου από Δομή Διαχωρισμός Περιεχομένου από Παρουσίαση Προσβάσιμες και κατανοητές URL – nference&sesion_id= asdf1 – Διαχωρισμός λογικών επιπέδων –Επίπεδο Δεδομένων –Επίπεδο Επεξεργασίας –Επίπεδο Παρουσίασης

Η Αρχιτεκτονική μιας Καλής web Εφαρμογής (2) Παρουσίαση –Ανεξάρτητη από web browser Αποφυγή JavaScript (όπου μπορεί να γίνει) Χρήση Stylesheets για έλεγχο της παρουσίασης –Παροχή Πληροφορίας πλοήγησης Αποφυγή «χαοτικών» δομών στα links –Εύχρηστη Δομή Αναζήτησης Ιεραρχική Δομή (Site Map) Υποδομή Αναζήτησης (πχ μέσω Google)

Η Αρχιτεκτονική μιας Καλής web Εφαρμογής (3) Ανάπτυξη –Διακριτοί ρόλοι Database Admin Programmer Designer –Συνεργασία Ο Programmer με τον Database Admin O Designer με τον Programmer –Πρέπει να διευκολύνεται η συνεργασία και ο καταμερισμός της εργασίας των παραπάνω ρόλων

Η πρόταση του ZOPE στον Διαχωρισμό Ρόλων Στον Zope τα πάντα είναι «αντικείμενα» –Μία μέθοδος του αντικειμένου είναι η SQL που θα εκτελεστεί στον Data Adapter. O Data Adapter με τα permissions κτλ έχει οριστεί από πριν στο ZOPE. Ο Database admin το μόνο που έχει να κάνει είναι να γράψει το transaction ή το query και να το “σερβίρει” στον Programmer –Σε δεύτερο βήμα o Programmer έχοντας ήδη τη μέθοδο που κάνει handle την SQL κάνει scripting για να παρουσιάσει τα δεδομένα ή να εκτελέσει μια αλγοριθμική διαδικασία –Ο Designer έχει από πριν φτιάξει ένα template χρησιμοποιώντας html και CSS το οποίο χρησιμοποιεί ο προγραμματιστής για να παρουσιάσει τα αποτελέσματα του query

H συμβατότητα του ZOPE με το W3CAA Όπως προαναφέραμε στον ZOPE δεν υπάρχει η έννοια του file-based path όπως για παράδειγμα υπάρχει στον Apache. Η διαδρομή δεν σημαίνει ότι στο root directory του server υπάρχει η δομή καταλόγου news/conferences To path είναι στην ουσία το query string δίνοντας έτσι μία ευπαρουσίαστη και κατανοητή url

H συμβατότητα του ZOPE με το W3CAA Ο Designer μπορεί να χρησιμοποιήσει CSS ώστε να ελέγχει καλύτερα την παρουσίαση του Site To Query String στην ZopeDB χρησιμοποιείται για παροχή πληροφορίας στη πλοήγηση του χρήστη Οι data adapters πού έρχονται μαζί με το zope υποστηρίζουν την εξαγωγή των δεδομένων σε XML RDF etc

Εγκατάσταση Για Windows υπάρχει Installer με κονσόλα διαχείρισης ως απλό process ή service για ΝΤ Port σε FreeBSD, rpm για linux καθώς και πακέτα για όλα τα κύρια λειτουργικά συστήματα Πανεύκολη εγκατάσταση – απαιτεί κάποιες ρυθμίσεις στα Permissions του UNIX

Συνεργασία με Apache και RDBMS Όπως προαναφέραμε ο ZOPE χρησιμοποιεί τον δικό του multithreaded web server για καλύτερο object persistence –Μπορεί άνετα να λειτουργήσει κάτω από τον Apache χρησιμοποιώντας είτε το mod_proxy είτε ως pcgi/cgi O ZOPE μπορεί να αποθηκεύσει τα δεδομένα του είτε στην δικιά του database είτε να συνεργαστεί άνετα μέσω των data adapters που διαθέτει με ένα σύστημα RDBMS όπως η MySQL

ΖOPE Templates Ένα XML namespace το οποίο χρησιμοποιείται για να διαχωρίσει την λογική από το περιεχόμενο Διευκολύνει την επαναχρησιμοποίηση ήδη υπαρχόντων αντικειμένων Επειδή ανήκουν στο ίδιο «namespace» δεν χρειάζεται η δήλωση τους κάθε φορά που δημιουργούμε ενα dtml page template Ενσωματωμένοι αλγόριθμοι cashing στο Zope διευκολύνουν το scalability της εφαρμογής μας

Πως μοιάζουν ? Presentation : Nikos Korfiatis ELTRUN Group ZOPE Presentation Presentation: Zope Presentation Nikos Korfiatis ELTRUN Group

Στο παράδειγμα : Μας έδωσε το τίτλο του αντικειμένου (δημιουργήσαμε ένα Folder με τίτλο Zope Presentation) : Predefined tags για html handling.

Ένα δεύτερο παράδειγμα Έστω ότι ένας «πελάτης» μας έχει μια βάση δεδομένων με προϊόντα τα οποία θέλει να παρουσιάσει στο web μέσω μιας ιστοσελίδας

Με mod_perl #!/usr/bin/perl use DBI; use CGI qw/:standard/; $query = new CGI; $order_number = $query->param('order_number'); $dbh = DBI->connect ("DBI:Oracle:MyDatabase"); $sth = DBI->prepare (<<"_QUERY_"); SELECT parts.part_id, description, price, order_number, quantity, shipped, customers.name, customers.address FROM parts, orders, customers WHERE parts.part_id = orders.part_id AND orders.customer_id = customers.customer_id AND orders.order_number = $order_number ORDER BY order_number _QUERY_ $sth->execute; print "Content-Type: text/html\n\n"; print <<_HEADER_; Order Number Quantity Shipped _HEADER_ while ($row = $sth->fetchrow_hashref) { print <<"_ROW_"; $$row{order_number} $$row{quantity} $$row{shipped} _ROW_ } print <<_FOOTER_; _FOOTER_ $sth->finish; $dbh->disconnect;

To ίδιο στο Zope Μέσω του administration interface δημιουργούμε ένα νέο object (ZSQL query object) Στο query object καλούμε μία μέθοδο η οποία μας εξάγει τα δεδομένα από την βάση καλώντας τον data adapter που έχουμε ορίσει από πριν στο ZOPE SELECT parts.part_id, description, price, order_number, quantity, shipped, customers.name, customers.address FROM parts, orders, customers WHERE parts.part_id = orders.part_id AND orders.customer_id = customers.customer_id AND orders.order_number = ORDER BY order_number

To ίδιο στο Zope (2) H παρουσίαση του περιεχομένου θα γίνει με την χρήση ενός template το οποίο και θα καλέσουμε να εμφανίσει τα αποτελέσματα που έκανε bind η μέθοδος μας Order Number Quantity Shipped

Βασικές Έννοιες Διαχείρισης Περιεχομένου Διαχείριση Δικαιωμάτων (State Management) –Ποιος έχει δικαίωμα να δημοσιεύσει τι και που ? –Review Process Διαχείριση ροής εργασίας (workflow) –Contributions and merging –Περιορισμοί και χρονικά περιθώρια Acquisition του περιεχομένου –Εύχρηστες φόρμες εισαγωγής και έλεγχος σωστής καταχώρησης

Βασικές Έννοιες Διαχείρισης Περιεχομένου (2) Μεταδεδομένα και υποστήριξη σημασιολογίας –Όσο το δυνατόν καλύτερη περιγραφή του περιεχομένου Παροχή δυνατότητας συγχρονισμού από άλλες πηγές –RSS/RDF feeds

The ZOPE CMF Το κύριο πλαίσιο διαχείρισης περιεχομένου που χρησιμοποιεί ο ZOPE Μια βιβλιοθήκη έτοιμων αντικειμένων τα οποία μπορούμε να ενσωματώσουμε στην εφαρμογή μας. Τέτοια αντικείμενα είναι wikicontent, callendar,localizer (!) etc Μια Component Based προσέγγιση στο «χτίσιμο» portals και υπηρεσιών πληροφόρησης

CMF Core Services MembershipServices (includes personalization) CatalogingServices (using Zope's ZCatalog) WorkflowServices (Permissions, State Management) BasicContentServices SiteDesignServices (Templates, Cashing) IntegrationServices DiscussionServices ArchivingServices SyndicationServices (RSS, RDF) RatingServices TestingServices

PLONE: A ZOPE Portal Application based on CMF

Εισαγωγή στο Plone/CMF To Plone έχει «κτιστεί» πάνω στο CMF δίνοντας ένα πλήρως λειτουργικό Content Management System Γενικά χαρακτηριστικά που κληρονομεί από το Zope –Διαχείριση Ροής Εργασίας –Αντικειμενοστραφής Εργασία με έγγραφα και πληροφορία –Products του Zope μπορούν να χρησιμοποιηθούν στο Plone

Διαχείριση Ροής Εργασίας Σε ένα πλήρες site πολλές φορές απαιτείται η συνεργασία πολλών ατόμων Στο “Plone” διευκολύνεται η συνεργασία μέσω ειδικά διαμορφωμένων δυνατοτήτων –Διαμόρφωση ρόλων –Είδη εγγράφων –Μεταδεδομένα

Διαχείριση Αντικειμένων Πρόσβαση σε όλα τα αντικείμενα του ZOPE

Διαχείριση Ιδιοτήτων

Add-ins (CMFBibliography)

Μεταδεδομένα

Και τα Nukes ? Nukes: Συστήματα Διαχείρισης περιεχομένου που αναπτύσσονται με PHP Προσεγγίζουν (προσπαθούν) την αντικειμενοστράφεια Αδυναμία ενιαίας πλατφόρμας (Application Server) Πρόβλημα στα πλαίσια ανάπτυξης Total Cost of Ownership πολύ μεγάλο....

Τέλος... Επικοινωνία Οικονομικό Πανεπιστήμιο Αθηνών, Electronic Trading Research Unit (ELTRUN) Sites