Επιστηµονική ραστηριότητα ΠΘ1: Τεχνική Υποστήριξη.



Σχετικά έγγραφα
Εργαστήριο #10 (Ε10) 1

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : / id ot.com /

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης

Hyper Text Markup Language (HTML) που σημαίνει γλώσσα σήμανσης υπερκειμένου.

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

ΥΠΗΡΕΣΙΑ «TAXISNET» - ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΤΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΔΗΛΩΣΕΩΝ ΓΙΑ ΤΟ ΤΜΗΜΑ ΕΣΩΤΕΡΙΚΩΝ ΠΡΟΣΟΔΩΝ ΚΑΙ ΤΗΝ ΥΠΗΡΕΣΙΑ ΦΟΡΟΥ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΤΟΥ

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Από τον κατάλογο Web επιλέγουμε το Page, οπότε στο κυρίως μέρος της οθόνης εμφανίζονται οι σελίδες τις οποίες έχουμε δικαίωμα να ενημερώσουμε.

Java & Java EE 1o Μέρος: Servlets και Java Server Pages. Κακαρόντζας Γεώργιος

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word

BibConvert μετατροπές LOM

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ. Τρίτη, 7 Φεβρουαρίου 2012

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Γαβαλάς αµιανός

HTTP API v1.6 SMSBOX.GR HTTP API v

Τι είναι ένα σύστημα διαχείρισης περιεχομένου; δυναμικό περιεχόμενο

Ο ΗΓΙΕΣ ΣΥΜΠΛΗΡΩΣΗΣ ΤΗΣ ΦΟΡΜΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ

Κεφάλαιο 4 HyperText Markup Language - HTML. Προγραμματιστικά εργαλεία για το διαδίκτυο Φίλιππος Κουτσάκας, Πολύγυρος 2013

XAMPP Apache MySQL PHP javascript xampp

Ref.: SLWS 1 5Copyright 2005 The European Computer Driving Licence Foundation Ltd Σελίδα 1 από 7

Στην τεχνολογία των CSS, οι κανόνες στυλ (style

<address>αδριανείου 2, Νέο Ψυχικό, 11525, Αθήνα</adderss> <address>

Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου. Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I

<a href=" στο κείμενο</a>.

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό,

Posting File. D i. tf key1 [position1 position2 ] D j tf key2... D l.. tf keyl

Αρχές Τεχνολογίας Λογισμικού

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο

Ανάπτυξη διαδικτυακών εφαρμογών με την Python Το εργαλείο Flask

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

ΑΣΠΑΙΤΕ. ΠΡΑΚΤΙΚΗ ΑΣΚΗΣΗ 4α. Υπερκείμενο και HTML. Ημερομηνία :... Τμήμα :... Ονοματεπώνυμο :...

Α ΛΥΚΕΙΟΥ - ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΪΟΣ 2019 ΕΝΔΕΙΚΤΙΚΕΣ ΕΡΩΤΗΣΕΙΣ ΚΑΤΑΝΟΗΣΗΣ

Εγκατάσταση. Εγκατάσταση του Wamp

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

Π17: Μορφοσυντακτικός και Σηµασιολογικός Σχολιαστής (λογισµικό)

ΑΣΚΗΣΗ. Συγκομιδή και δεικτοδότηση ιστοσελίδων

Εισαγωγή σε HTML και CSS. Παναγιώτης Τσαρχόπουλος

Οδηγίες Χρήσης της MySQL

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων)

1. O FrontPage Explorer

ΕΡΓΑΣΤΗΡΙΟ FRONT PAGE 3

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Μελέτη και Ανάπτυξη ενός Εργαλείου Υποβοήθησης στη Σχεδίαση µίας Βάσης εδοµένων Τύπου Graph από Τελικούς Χρήστες

Βασικές Έννοιες Web Εφαρμογών

μ μ «μ»

/software/web_tools/webapps/speller/.

Ο ΗΓΟΣ ΕΠΙΜΟΡΦΩΤΗ. ηµοτικό ιαδικτυακό Ραδιόφωνο και Τηλεόραση. Y4 ηµιουργία διαδικτυακής ραδιοφωνικής εκποµπής µε τα εργαλεία

ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ MOODLE

ΕΡΓΑΣΤΗΡΙΟ FRONT PAGE 2

Τεχνολογίες Διαδικτύου (Εξασκηθείτε στην HTML)

Κατανεμημένα Συστήματα

Στρατηγική ανάπτυξη δικτυακού κόμβου

Εφαρμογή Διαχείρισης Ψηφιακής Πληροφορίας ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε

Η γλώσσα HTML. Επιμέλεια: Δέγγλερη Σοφία

Εφαρµογή: Σύστηµα ιαχείρισης ιαδικτυακού Περίπτερου / Ιστοσελίδας στον διαδικτυακό τόπο kalliergea.gr

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Προηγμένα Πληροφοριακά Συστήματα. Ακαδημαϊκό Έτος

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ

ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ OPEN ECLASS

Ο ΗΓΙΕΣ ΓΙΑ ΤΗΝ ΥΠΟΒΟΛΗ ΑΙΤΗΣΗΣ ΕΓΓΡΑΦΗΣ ΣΤΟ ΜΗΤΡΩΟ ΑΞΙΟΛΟΓΗΤΩΝ ΕΡΓΩΝ Ι ΙΩΤΙΚΟΥ ΤΟΜΕΑ ΤΗΣ ΚΤΠ Α.Ε.

Προσοµοίωση λειτουργίας επικοινωνίας δεδοµένων (µόντεµ)

Ο ΗΓΟΣ ΕΠΙΜΟΡΦΩΤΗ. ηµοτικό ιαδικτυακό Ραδιόφωνο και Τηλεόραση. Y4 ηµιουργία διαδικτυακής ραδιοφωνικής εκποµπής µε το εργαλείο

Λευτέρης Κουμάκης ΠΟΛΥΜΕΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΣΤΗΝ ΥΓΕΙΑ

Σύντοµος Οδηγός Βοήθειας για τη Χρήση των Μαθηµάτων e-learning για το ΟΛΟΚΛΗΡΩΜΕΝΟ ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ

Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7

Εισαγωγή στην πληροφορική

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

6 Εισαγωγή στο Wordpress 3.x

Διάλεξη 3η HTML intermediate

ιαδικτυακές Εφαρµογές


TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

Σχεδιασμός Βάσεων Δεδομένων

Γιώργος Χρ. Μακρής. Σύγχρονες Γλώσσες Σήμανσης του Διαδικτύου. Αναπαράσταση Μαθηματικών κειμένων στο διαδίκτυο. Η Γλώσσα MathML

Π ΑΝΕΠΙΣΤΗΜΙΟ Π ΑΤΡΩΝ Π ΟΛΥΤΕΧΝΙΚΗ Σ ΧΟΛΗ Τ ΜΗΜΑ Μ ΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ Π ΛΗΡΟΦΟΡΙΚΗΣ Κ ΑΤΑΝΕΜΗΜΕΝΑ Σ ΥΣΤΗΜΑΤΑ ΙΙ

Διαδικτυακές Εφαρμογές Ενότητα 1: JPA

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

Αυτοματοποιημένη χαρτογραφία

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 1: Ορισμοί βασικών εννοιών: Μια πρώτη μοντελοποίηση. Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

Μονάδα Διασφάλισης Ποιότητας. ΜΟΔΙΠ Πανεπιστημίου Δυτικής Μακεδονίας. Κωδικός Πράξης ΟΠΣ: Επιχειρησιακό Πρόγραμμα:

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

ΣΥΝΘΕΣΗ ΨΗΦΙΑΚΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΥΛΙΚΟΥ ΧΗΜΕΙΑΣ ΑΞΙΟΠΟΙΩΝΤΑΣ ΔΙΑΔΙΚΤΥΑΚΕΣ ΜΙΚΡΟΕΦΑΡΜΟΓΕΣ (APPLETS)

2. Εισαγωγή Δεδομένων σε Σχεσιακή Βάση Δεδομένων

Joomla! with K2 - User Guide

Σχεδίαση και Ανάπτυξη Ιστότοπων

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, PIRCH 32 v0.92b

Transcript:

Επιστηµονική ραστηριότητα ΠΘ1: Τεχνική Υποστήριξη. Επεξεργασία υπάρχοντος υλικού του Κόµβου ΠΕΡΙΕΧΟΜΕΝΑ 1.Εισαγωγή-Ο υπάρχων κόµβος. 2 2. Σκοπός του προγράµµατος - Προδιαγραφές. 2 3. Τεχνολογία Υλοποίησης Περιγραφή βοηθητικής εφαρµογής 3 3 Η µετατροπή σε UTF-8 και XML. 4 4. Η επαναληπτική διαδικασία ανάκτησης πληροφορίας. 4 5. Το πρόγραµµα µαζικής ανάκτησης της πληροφορίας των ενοτήτων του κόµβου. 5 6. Περιγραφή αποτελεσµάτων ανάκτησης. 8 6.1 Λεξικό όρων. 8 6.2 Όλες οι υπόλοιπες ενότητες. 8 7. Συµπεράσµατα. 17 Ζήσης Κ. Τιάλιος Σελίδα 1 8/3/2007

1.Εισαγωγή-Ο υπάρχων κόµβος. Το Κέντρο Ελληνικής Γλώσσας διαθέτει ήδη διαδικτυακό τόπο για την υποστήριξη των διδασκόντων την ελληνική γλώσσα. Μια από τις βασικότερες πτυχές της υλοποίησης του νέου κόµβου για την ελληνική γλώσσα είναι η εκµετάλλευση του υπάρχοντος υλικού του κόµβου και των περιεχοµένων του τωρινού Ηλεκτρονικού Κόµβου. Ο νέος κόµβος θα χρησιµοποιεί ένα δυναµικό µοντέλο παρουσίασης όπου το περιεχόµενο των σελίδων που θα αποτελούν τον διαδυκτιακό τόπο θα προέρχεται από την βάση δεδοµένων που θα είναι συνδεδεµένη µε τον Web Server εξυπηρετητή του κόµβου. Η διατήρηση του περιεχοµένου σε βάση γίνεται για την διασυνδεση τους και µε τα υπόλοιπα υποσυστήµατα που πρόκειτε να υλοποιηθούν πέρα από το σύστηµα παρουσίασης. Ο υπάρχων κόµβος µε εξαίρεση την ενότητα των ηλεκτρονικών λεξικών χρησιµοποιει ένα στατικο µοντέλο παρουσίασης δηλαδή ένα σύνολο στατικών σελίδων HTML. Αυτές οι σελίδες είναι οργανωµένες στο συστηµα αρχείων σε φακέλους ανάλογα µε την ενότητα στην οποία ανήκουν. Η διασυνδεση µεταξύ τους που δίνει το σύστηµα πλοήγησης για τον χρήστη λειτουργεί µε τη λογική του υπερκειµένου. 2. Σκοπός του προγράµµατος - Προδιαγραφές. Για τις ενότητες οι οποίες ήταν ήδη οργανωµένες σε βάση δεδοµένων η εισαγωγή τους στη νέα βάση (MySQL) έγινε µε χρήση µεθόδων parsing και regular expressions της PHP. Για τις υπόλοιπες όµως ενότητες,που αποτελούν και το µεγαλύτερο όγκο του κόµβου, που αποτελούνται από στατικές ιστοσελίδες έπρεπε να αναπτυχθει ένα σύστηµα το οποίο θα επεξεργαζόταν τις υπαρχουσες ιστοσελίδες µε σκοπό την αποθήκευση του περιεχοµένου τους στη βάση. Τα προβλήµατα στα οποία έπρεπε να δώσει λύση αυτό το σύστηµα είναι: Να κρατήσει την διασύνδεση των κειµένων µεταξύ τους µεταφράζοντας την λογική του υπερκειµένου σε λογική βάσεων δεδοµένων. Να προσφέρει τις απαραίτητες πληροφορίες ώστε να γίνει εύκολη η περιήγηση στις ενότητες και υποενότητες του κόµβου. Τα Microsoft Word specific tags και presentation content. Την άσχηµα διαµορφωµένη HTML. Να κρατήσει µόνο τα κείµενα µε την µορφοποίηση τους. Ζήσης Κ. Τιάλιος Σελίδα 2 8/3/2007

Να δηµιουργήσει διακριτούς πίνακες στη βάση δεδοµένων που θα περιέχουν κείµενα διακριτών ενοτήτων και υποενοτήτων. Τα κείµενα που θα µπουν τελικά στη βάση δεδοµένων έπρεπε να είναι σε UNICODE κωδικοποίηση µιας και περιέχουν χαρακτήρες από διάφορες γλώσσες και αρχαία. Όλα τα παραπάνω αποτελούν και προδιαγραφές για τον κώδικα του συστήµατος. 3. Τεχνολογία Υλοποίησης Περιγραφή βοηθητικής εφαρµογής Για την υλοποίηση ενός τέτοιου συστήµατος επιλέχθηκε να χρησιµοποιηθεί µια γλώσσα αντικειµενοστραφούς προγραµµατισµού όπως είναι η JAVA έτσι ώστε να απαντηθούν τα παραπάνω προβλήµατα από χωριστές κλάσεις που συνεργάζονται µεταξύ τους. Οι κλάσεις αυτές θα πρέπει να εφαρµοστούν στο σύνολο των ιστοσελίδων του κόµβου ενώ σε ένα αριθµό ιστοσελίδων που ανήκουν στην ίδια ενότητα ή υποενότητα καθώς επίσης να µπορούν να επαναχρησιµοποιηθούν για κάθε ενότητα. Το σύστηµα που υλοποιήθηκε για να εξυπηρετήσει τους ανωτέρω σκοπούς αποτελείται από 13 διαφορετικές κλάσεις και χρησιµοποιεί 4 APIs. To JDK1.4 πέρα από τις βασικές λειτουργίες της Java πρόσφερε την υποδοµή για την µετατροπή σε UTF8 κωδικοποίηση, για την ανάλυση των περιεχοµένων φακέλων και υποφακέλων, καθώς την χρήση των regular expressions. To JTidy API που είναι ένα open source project της SourceForge χρησιµοποιήθηκε για τον καθαρισµό των ιστοσελίδων και την µετατροπή τους σε XML. Το DOM4J API χρησιµοποιήθηκε για την επεξεργασία των XML αρχείων και την υλοποίηση του XPATH. Χρησιµοποιώντας το XPATH έγινε δυνατό να κρατηθεί µόνο η πληροφορία που κρίθηκε χρήσιµο να κρατηθεί στη βάση δεδοµένων. Tέλος ο mysql-connector-java-3.0.9 χρησιµοποιήθηκε για την σύνδεση µε την MySQL. Στην περίπτωση που άλλη βάση δεδοµένων είχε επιλεγεί θα χρησιµοποιούσαµε τον ανάλογο connector. Στο παρακάτω σχήµα φαίνεται η λειτουργία του συστήµατος επεξεργασίας ιστοσελίδων. Ζήσης Κ. Τιάλιος Σελίδα 3 8/3/2007

UTFConverter Class TideupHTML The html files in UTF8 format DirectoryTree Class This System of classes convert htm files into UTF-8 Clean HTML transformed in XML These classes are applied to each xml file MySQL DBMS JDBC A Package consisted of 7 utility and working classes and 3 Java Beans classes Retreives the Data from the xml doc and transforms it to a Database Table structure using XPATH Xml Parser and DB inserter System Stores the retreived data of the files as a table field with the right structure Σχ.1 Σύστηµα HTML Fileparsing. 1 3 Η µετατροπή σε UTF-8 και XML. Όπως αναφέρθηκε στις προδιαγραφές τα κείµενα που θα πρέπει να µπουν τελικά στη βάση δεδοµένων θα πρέπει σε UNICODE (UTF-8) κωδικοποίηση µιας και περιέχουν χαρακτήρες από διάφορες γλώσσες και αρχαία. Έτσι τα αρχεία (HTML files) του κόµβου πριν αρχίσει η επεξεργασία τους θα πρέπει να µετατραπεί η κωδικοποίηση τους. Επίσης επειδή η δηµιουργία τους έγινε µε Microsoft Word έπρεπε να αφαιρεθούν τα Microsoft Word specific tags και presentation content. Τέλος για να µπορέσει να γίνει αποτελεσµατική επεξεργασία των σελίδων έπρεπε αυτές να µετατραπούν σε XML ώστε να χρησιµοποιηθεί το XPATH. Όλα τα παραπάνω γίνανε µε τέσσερις Java κλάσεις του συστήµατος µία για κάθε µία από τις παραπάνω απαιτήσεις και την κλάση DirectoryTree η οποία αναπτύχθηκε για την επαναληπτική ανάγνωση όλων αρχείων σε όλους τους φακέλου και υποφακέλους που αποτελούσαν τον υπάρχων κόµβο. Έτσι τελικά προέκυψε το σύνολο του κόµβου µε την ίδια οργάνωση αρχείων και στην θέση κάθε HTML σελίδας υπήρχε µια XML σε UTF-8 κωδικοποίηση. 4. Η επαναληπτική διαδικασία ανάκτησης πληροφορίας. Ζήσης Κ. Τιάλιος Σελίδα 4 8/3/2007

Τα βήµατα που ακολουθούνται για την δηµιουργία του κάθε πίνακα που αντιστοιχεί σε κάθε επιµέρους ενότητα ή υποενότητα του κόµβου είναι η εξής: 1)Κατανόηση των περιεχοµένων της ενότητας 2) ηµιουργία του πίνακα που στα πεδία του θα αποθηκευτούν όλα τα περιεχόµενα της ενότητας. 3)Μετατροπή των κλάσεων του συστήµατος που επεξεργάζονται τα XML αρχεία της ενότητας ώστε να µετασχηµατίσουν το XML αρχείο στη δοµή που έχει επιλεγεί για τον πίνακα της βάσης. Το τελευταίο βήµα γίνεται επαναληπτικά µε προσαρµογή των κλάσεων σύµφωνα µε τις παρατηρήσεις και τις ανάγκες του προγραµµατιστή που υλοποιεί το σύστηµα παρουσίασης και τα υπόλοιπα υποσυστήµατα που θα συνδεθούν µε την βάση δεδοµένων. Τελικώς αυτός ο τρόπος ανάκτησης χρησιµοποιήθηκε για τρεις υποενότητες γιατί βρέθηκε τρόπος συνολικής ανάκτησης του κόµβου ενώ από αυτές κρατήθηκε µόνο το λεξικό όρων διότι λόγω της δοµής του δεν θα µπορούσε να ανακτηθεί µε τον τρόπο µαζικής ανάκτησης. Βέβαια ο κώδικας και η πείρα που αποκτήθηκε αποτέλεσαν το βασικό κορµό του νέου συστήµατος µαζικής ανάκτησης. 5. Το πρόγραµµα µαζικής ανάκτησης της πληροφορίας των ενοτήτων του κόµβου. Κατόπιν προσεκτικής µελέτης συνολικών ιστοσελίδων που αποτελούν τον Κόµβο Ελληνικής Γλώσσας αποφασίστηκε ότι θα µπορούσε να δηµιουργηθεί ένα σύστηµα που να επεξεργαστεί όλες τις ενότητες και υποενότητες του κόµβου,εκτός του λεξικού όρων, και να οργανώσει το περιεχόµενο τους σε έναν πίνακα της βάσης δεδοµένων. Επίσης από την πείρα που αποκτήθηκε από την διαδικασία ανάκτησης κάθε υποενότητας του κόµβου αποφασίστηκε η τελική µορφή της πληροφορίας που πρέπει να κρατηθεί στη βάση καθώς και η οργάνωση της. Ό δικτυακός τόπος του Κέντρου Ελληνικής Γλώσσας αποτελείτο από ένα σύνολο στατικών σελίδων HTML που ενώνονταν µεταξύ τους µε τη λογική του υπερκειµένου. Αυτές οι σελίδες είναι οργανωµένες στο σύστηµα αρχείων σε φακέλους ανάλογα µε την ενότητα στην οποία ανήκουν. Με αυτό τον τρόπο προσφερόταν και ένας τρόπος περιήγησης στα περιεχόµενα του κόµβου στους επισκέπτες του. Ήταν σαφές λοιπόν πως το πρόγραµµα έπρεπε να χρησιµοποιήσει τα links των HTML σελίδων για να αναλύσει τα περιεχόµενα όλων των σελίδων που είναι ορατές στον επισκέπτη του κόµβου ικανοποιώντας συγχρόνως τις προδιαγραφές που θέσαµε για το αποτέλεσµα του συστήµατος ανάκτησης. Στις περισσότερες περιπτώσεις µία σελίδα όπως την βλέπει ο επισκέπτης στην τωρινή µορφή του κόµβου αποτελείται ουσιαστικά από τέσσερις HTML σελίδες µιας και χρησιµοποιούνται HTML Frames. Η σελίδα που βλέπει ο χρήστης στο address bar του browser αποτελείται από τρία frames δηλαδή τρεις διαφορετικές σελίδες. Ένα είναι το Ζήσης Κ. Τιάλιος Σελίδα 5 8/3/2007

πάνω πλαίσιο (frame) του τίτλου, ένα το κεντρικό που περιέχει τα κείµενα της σελίδας και το αριστερό που παρέχει τα περιεχόµενα σε links της ενότητας ή υποενότητας στην οποία ανήκει η σελίδα ώστε να διευκολύνεται η περιήγηση. Σκοπός του προγράµµατος είναι να δηµιουργήσει µία εγγραφή στη βάση δεδοµένων για κάθε σελίδα που θα παρουσιάζεται στο χρήστη. Έτσι όταν το πρόγραµµα πρέπει να συλλέξει πληροφορίες και από τα τρία frames για να δηµιουργήσει µία εγγραφή στη βάση. Μόλις συµπληρώσει όλες τις ζητούµενες πληροφορίες δηλαδή τον τίτλο της ενότητας, τον ειδικότερο τίτλο, το όνοµα του HTML αρχείου που περιέχει τα τρία frames (url), και το κείµενο της εν-λόγω σελίδας µε την κατάλληλη µορφοποίηση, κάνει µία εγγραφή στην βάση δεδοµένων. Κάθε εγγραφή στην βάση περιέχει επιπλέον δύο πεδία δείκτες το ένα είναι το id που είναι µοναδικό για κάθε εγγραφή και το άλλο είναι το parent_id που είναι το id της εγγραφής που αντιστοιχεί στην ενότητα ή υποενότητα στην οποία ανήκει. Συνεπώς µια σελίδα κάποιας υποενότητας θα έχει σαν parent_id το id της αρχικής σελίδας της υποενότητας, ενώ αυτή µε τη σειρά της θα έχει ως parent_id το id της ενότητας στην οποία ανήκει. Ετσι µε αυτόν τον τρόπο προσφέρεται ένας τρόπος συνολικής και ταχύτατης περιήγησης στα περιεχόµενα του κόµβου. Ο Κόµβο για την Ελληνικής Γλώσσα έχει µία δενδρική δοµή των περιεχοµένων του. Στην αρχική του σελίδα παρουσιάζονται µε links όλες οι ενότητες του επιλέγοντας κάθε ενότητα παρουσιάζονται όλες οι υποενότητες της και επιλέγοντας κάθε υποενότητα προσφέρονται links για τα περιεχόµενα της. Επιπλέον σε κάθε σελίδα που υπάρχει στα περιεχόµενα της µπορεί να υπάρχει πλήθος popup links δηλαδή σελίδων που ανοίγουν στο δικό τους παράθυρο. Για να είµαστε συνεπής µε αυτή τη δοµή αναπτύξαµε µία Java κλάση για κάθε ένα από τα πέντε επίπεδα στο δέντρο. Έτσι κάθε µία από τις κλάσεις αναπτύχθηκε σύµφωνα µε τις ιδιαιτερότητες της και µε τον κατάλληλο τρόπο σύνδεσης µεταξύ τους. Παρακάτω φαίνεται το διάγραµµα κλάσεων του συστήµατος. Ζήσης Κ. Τιάλιος Σελίδα 6 8/3/2007

Worker classes that parse recursively each tree node Massiv ainserter MassivaRecurser FirstNodeRecurser IpoenotitaRecurser PopupInserter Utility classes used from all five worker classes My Connector Masiv autils Parser Data structures for convenient data storage and manipulation FramesBean RecurserBean Massiv abean Το διάγραµµα κλάσεων του συστήµατος σχ. 2 Η κλάση εισόδου MassivaInserter του συστήµατος αναλύει την πρώτη σελίδα του κόµβου και καλεί για κάθε µία από τις ενότητες την δεύτερη κλάση η οποία αναλύει επαναληπτικά κάθε µία από αυτές και καλεί την τρίτη κλάση για κάθε υποενότητα της κάθε ενότητας. Αυτή µε τη σειρά της αναλύει την κάθε υποενότητα και καλεί την τέταρτη κλάση για κάθε ένα από τα περιεχόµενα της κάθε υποενότητας. Τέλος ο PopupInserter καλείται κάθε φορά που ένα popup link εµφανίζεται στα κείµενα της σελίδας που αναλύεται και κάνει µια εγγραφή στη βάση ενώ κρατείται η σύνδεση µεταξύ κειµένου και εγγραφής. Οι υπόλοιπες κλάσεις του συστήµατος είναι βοηθητικές ενώ για περισσότερες πληροφορίες παρακαλώ συµβουλευθείτε το JavaDoc που παραδίδεται µαζί µε το παρόν report. Ζήσης Κ. Τιάλιος Σελίδα 7 8/3/2007

6. Περιγραφή αποτελεσµάτων ανάκτησης. 6.1 Λεξικό όρων. Η πρώτη υποενότητα που µετασχηµατίστηκε ήταν το λεξικό όρων που αποτελείται από 173 αρχεία html. Οι πληροφορίες που περιείχαν αυτά µετασχηµατίστηκαν σε 121 εγγραφές στη βάση δεδοµένων. Η υποενότητα αυτή ήταν οργανωµένη σε πολλούς φακέλους, έναν για κάθε γράµµα της αλφαβήτου. Η µετατροπή των κλάσεων του συστήµατος που επεξεργάζονται τα XML αρχεία αυτής της υποενότητας έγινε ώστε να δέχονται ως όρισµα κάθε φάκελο και να δηµιουργούνε µία εγγραφή για κάθε όρο. Η κάθε εγγραφή περιέχει το κείµενο που εξηγεί τον όρο, τον γενικό τίτλο, τον ειδικό τίτλο του συγκεκριµένου όρου, τους ειδικούς τίτλους των παραποµπών του και τις απαραίτητες συνδέσεις µεταξύ όρων παραποµπών. CREATE TABLE lex_oron ( id INTEGER(7) NOT NULL, parent_id INTEGER(7) NOT NULL, parent_text TEXT NOT NULL, title TEXT NOT NULL, stitle TEXT NOT NULL, ref_ids INTEGER(7) NOT NULL, ref_text TEXT NOT NULL, ref_url TEXT NOT NULL, PRIMARY KEY(id), INDEX ref_ids (ref_ids), INDEX id(id) ); Lex_oron Lex_oron PK,I1 id PK,I1 id parent_id parent_id parent_url parent_text parent_text title title stitle stitle I1 ref_ids I1 ref_ids ref_text ref_text Ο πίνακας του λεξικού όρων σχ. 3 Μιας και το DBX χρησιµοποιεί regular expressions για να αναλύσει το κείµενο πριν το παρουσιάσει έπρεπε να βρεθεί κάποιος τρόπος ώστε να αναπαρασταθούν κάποιες ετικέτες παρουσίασης των κειµένων. Στον επόµενο πίνακα φαίνεται η αναπαράσταση των HTML tags που χρησιµοποιήθηκε. HTML Tag Εξήγηση Χαρακτήρας αναπαράστασης <I> </I> <B> </B> Italics-Πλάγια γραφή Bold-Έντονη γραφή * * Πίνακας 1.Μετατροπές HTML tags για το λεξικό. 6.2 Όλες οι υπόλοιπες ενότητες. Ζήσης Κ. Τιάλιος Σελίδα 8 8/3/2007

Με τον τρόπο που περιγράφηκε στο κεφάλαιο πέντε δηµιουργήθηκε ένας πίνακας µε εγγραφές όλες τις σελίδες όλων των ενοτήτων. Με την κλάση MassivaUtils έγιναν οι κατάλληλες µετατροπές στα κείµενα ώστε να κρατηθεί η µορφοποίηση τους. Στον επόµενο πίνακα φαίνεται η αναπαράσταση των HTML tags που χρησιµοποιήθηκε. HTML Tag Εξήγηση Χαρακτήρας αναπαράστασης <I>text</I> Italics-Πλάγια γραφή [italic]ptext1 [/italic] <B>text</B> Bold-Έντονη γραφή [bold]text[/bold] Links Images όπου style='color:maroon' ή color: #800000 Υπερδεσµός µέσα σε κείµενο. Είτε µε χρήση Javascript είτε οποιοδήποτε άλλο είδος υπερδεσµού. Links που αντιστοιχούν σε εικόνες. Κείµενο χρώµατος maro on, #800000 [popup] [link] Υπερδεσµός [/link] κείµενο υπερδεσµού [/popup] Αν αναφέρεται σε εξωτερική σελίδα το παραπάνω περιβάλεται µε [external] [/external] [image][link] file system path[/link] κείµενο υπερδεσµού[/image] [maroon] Κείµενο [/maroon] Π.χ. <table width="350" border="0" height="280" align="left" background="images/k_b ack_small.gif"> Λίστες π.χ. <ul> <li style="list-style: none"> text </li> </ul> Όλες οι παράγραφοι π.χ. <p style="color: #0000FF; font-family: Verdana, Arial, Helvetica, sans-serif; Πίνακες Λίστες Παράγραφοι Πινακας 2. Οι µετατροπές των HTML Tags για όλες τις ενότητες. [table] [tr] [td] Κείµενο [/td] [/tr] [/table] [ul] [li] Κείµενο [/li] [/ul] [para] Κείµενο [/para] Παρακάτω φαίνεται η δοµή αυτού του πίνακας ενότητες Ζήσης Κ. Τιάλιος Σελίδα 9 8/3/2007

οµή του πίνακα όλων των ενοτήτων. σχ.5 Το σύστηµα έτρεξε χρησιµοποιώντας το cd του κόµβου που µου δόθηκε τον νοέµβριο και από δω και κάτω παρατίθενται τα αποτελέσµατα του. Είναι εγγραφές σε βάση δεδοµένων MySql και για την εµφάνιση τους χρησιµοποιήθηκε το PHPMyAdmin tool και ο Internet Explorer και τα δύο σε UTF-8 encoding. Παρακάτω φαίνονται ολόκληρες οι δύο πρώτες εγγραφές του πίνακα «enotites» Η πρώτη εγγραφή σχ. 6 Η δεύτερη εγγραφή στη βάση και πρώτη εγγραφή για την ενότητα γλωσσα που είναι η πρώτη ενότητα που αναλύει το σύστηµα. Ζήσης Κ. Τιάλιος Σελίδα 10 8/3/2007

Η πρώτη εγγραφή της εν. γλώσσα σχ.7 Παρακάτω φαίνονται τα popups από δύο περιεχόµενα της υποενότητας οδηγός. Ζήσης Κ. Τιάλιος Σελίδα 11 8/3/2007

Τα popups σχ. 1 Ζήσης Κ. Τιάλιος Σελίδα 12 8/3/2007

Παρακάτω φαίνεται η αρχή των εγγραφών για την επόµενη υποενότητα της ενότητας Γλώσσα. Παρατηρείστε πως το parent_id της πρώτης εγγραφής είναι το id της πρώτης εγγραφής για την ενότητα γλώσσα. Πρώτες εγγραφές της υποενότητας περίληψη 1 Ζήσης Κ. Τιάλιος Σελίδα 13 8/3/2007

Οι πρώτες εγγραφές για την ενότητα Ενδογλωσσική µε parent_id το id της πρώτης εγγραφής του κόµβου. Η πρώτη εγγραφή για την ενότητα ιαγλωσσική του κόµβου. Ζήσης Κ. Τιάλιος Σελίδα 14 8/3/2007

Οι πρώτες εγγραφές για την υποενότητα Πεζογραφία της ενότητας ιαγλωσσική. Οι πρώτες εγγραφές για την υποενότητα Ποίηση της ενότητας ιαγλωσσική. Ζήσης Κ. Τιάλιος Σελίδα 15 8/3/2007

Οι πρώτες εγγραφές για την ενότητα Ενηµέρωση που είναι και η τελευταία του Κόµβου. Ζήσης Κ. Τιάλιος Σελίδα 16 8/3/2007

7. Συµπεράσµατα. Όπως φάνηκε από το προηγούµενο κεφάλαιο τα αποτελέσµατα του συστήµατος µαζικής ανάκτησης των περιεχοµένων του κόµβου ήταν ιδιαίτερα επιτυχή. Η διατήρηση όλων των περιεχόµένων του κόµβου σε πίνακες αυτής της δοµής του δίνει τη δυνατότητα να συνδεθεί ολοκληρωτικά µε τα διάφορα υποσυστήµατα που θα αναπτυχθούν όπως δηλαδή ενιαίας παρουσίασης και διαχείρισης περιεχοµένου. Λόγω της ιδιαίτερα προσεκτικής δοµής του πίνακα των διακριτών και κανονικοποιηµένων εγγραφών του ο νέος κόµβος που θα στηρίζεται σε αυτή τη βάση δεδοµένων θα παρέχει µεγαλύτερη ταχύτητα και αυξηµένη ποιότητα παρουσίασης και πλοήγησης. Ζήσης Κ. Τιάλιος Σελίδα 17 8/3/2007