ΤΕΙ ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΤΙΤΛΟΣ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ WEB ENGINEERING RESOURCES PORTAL Ημιαυτόματες διαδικασίες συλλογής και σύνθεσης πληροφορίας από ιστοσελίδες και Web 2.0 εκπαιδευτικές συνιστώσες. Μελέτη και εφαρμογή τους στα πλαίσια υλοποίησης της πύλης WEP. ΜΑΝΔΑΝΑΣ ΕΥΑΓΓΕΛΟΣ Α.Μ 1331 ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΓΚΟΥΜΑΣ ΣΤΕΦΑΝΟΣ ΚΑΒΑΛΑ 2010
Ευχαριστίες Θα ήθελα να ευχαριστήσω όλους όσους με βοήθησαν για την επιτυχή περάτωση της παρούσας Πτυχιακής Διπλωματικής Εργασίας. Τον επιβλέποντα Καθηγητή κ. Γκούμα Στέφανο, ο οποίος με τίμησε με τη συνεργασία του και μου έδωσε την ευκαιρία να ασχοληθώ με ένα τόσο ενδιαφέρον αντικείμενο. Επιπλέον, θα ήθελα να ευχαριστήσω τον Χριστοφορίδη Σοφοκλή, για την πολύτιμη βοήθεια και συνδρομή του. Οι ουσιώδεις υποδείξεις του και η γενικότερη εποικοδομητική συνεργασία μας, βοήθησαν στο να διαλευκανθούν κρίσιμα σημεία.
Περίληψη Η εργασία αυτή αποτελεί συνέχεια μιας προσπάθειας για την ανάπτυξη της πύλης WEP (Web Engineering Resources Portal). Πρόκειται για ένα Μοντέλο Αναφοράς και μια Πύλη Πόρων που φιλοδοξεί να αποτελέσει ένα σημαντικό εργαλείο για το web engineering, αλλά και αναφορά στην ανάπτυξη εφαρμογών / πληροφοριακών συστημάτων παγκοσμίου ιστού και οδηγό στην ανεύρεση και κατανόηση τεχνολογιών και εργαλείων. Το κομμάτι με το οποίο θα ασχοληθούμε εδώ αφορά το τελευταίο μέρος και τον εκπαιδευτικό χαρακτήρα που επιθυμούμε να προσδώσουμε στην πύλη. Συνοπτικά, η διπλωματική εργασία κινείται σε τρεις άξονες: Πρώτον, στη μελέτη σύγχρονων δυνατοτήτων συλλογής πληροφορίας για την επιλογή των κατάλληλων εργαλείων για εισαγωγή στην πύλη και την ανάπτυξη της δικής μας μεθοδολογίας. Η διαρκής και ραγδαία αύξηση του όγκου των δεδομένων κατέστησε εμφανές το πρόβλημα της ευρέσεως και εξαγωγής της "χρήσιμης" ή "επιθυμητής" πληροφορίας, καθώς για κάθε κατηγορία ιστοεφαρμογών υπάρχει μια πληθώρα εργαλείων ανάπτυξης (τα οποία μάλιστα διαρκώς ανανεώνονται) καθιστώντας τη διαδικασία επιλογής των καταλληλότερων ιδιαίτερα επίπονη και χρονοβόρα. Δεύτερον, στην εφαρμογή της παραπάνω μεθοδολογίας εργασίας με στόχο την εισαγωγή των αντίστοιχων εργαλείων που προέκυψαν με τη μετατροπή της πληροφορίας σε XML για τη δόμηση της πύλης WEP. Εξηγούμε πως έγινε η εισαγωγή και διαχείριση περιεχομένου με χρήση της τεχνολογίας XML και πως καταλήγουμε στην υλοποίηση των παραπάνω μέσα από την πλατφόρμα του stringbeans. Τρίτον στον εκπαιδευτικό χαρακτήρα της Πύλης. Αναφερόμαστε στις έννοιες του e learning, και τις διάφορες εναλλακτικές που υπάρχουν στο χώρο της ηλεκτρονικής μάθησης στην εποχή του Web 2.0, όπου οι χρήστες συμμετέχουν ενεργά στη συγγραφή του εκπαιδευτικού υλικού. Αναλύουμε τα χαρακτηριστικά των PLE (Personal Learning Environments) και των LMS (Learning Management Systems) και εκθέτουμε πλεονεκτήματα και μειονεκτήματά τους. Τέλος, καταλήγουμε σε μια γενική αξιολόγηση της προσπάθειάς μας, καταγράφοντας τα αποτελέσματα και τους στόχους που υλοποιήθηκαν, τα συμπεράσματα και τις προτάσεις μας. Περιεχόμενα ΠΕΡΙΛΗΨΗ...3 ΠΕΡΙΕΧΌΜΕΝΑ... 4 Λ ίστα ε ικ ό ν ω ν... 5 ΚΕΦΑΛΑΙΟ 1. (ΗΜΙ)ΑΥΤΟΜΑΤΕΣ ΔΙΑΔΙΚΑΣΙΕΣ ΣΥΛΛΟΓΗΣ ΚΑΙ ΣΥΝΘΕΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΑΠΟ ΙΣΤΟΣΕΛΙΔΕΣ...7
1.1 Web Harvesting ή web scraping, 8 1.2 RSS feeders... 13 1.2.1 Πρωτόκολλα... 14 1.2.2 Feeds -aggregators...14 1.2.3 Είδη aggregators...15 1.3 Mashups...17 1.3.1 Είδη mashups... 17 1.3.2 Αρχιτεκτονική των Mashup... 18 1.3.3 Τεχνολογίες που χρησιμοποιούνται...19 1.4 Συμπεράσματα...20 ΚΕΦΑΛΑΙΟ 2 ΕΚΠΑΙΔΕΥΤΙΚΕΣ ΣΥΝΙΣΤΩΣΕΣ ΤΟΥ W EP...21 2.1 Ηλεκτρονική μάθηση...21 2.1.1Τα πλεονεκτήματα της εξ αποστάσεως εκπαίδευσης... 22 2.1.2Ιστορική αναδρομή στις τεχνολογίες e-learning...22 2.1.3Επιθυμητά χαρακτηριστικά e-learning... 24 Προσωπικά μαθησιακά περιβάλλοντα - Wikis...26 2.2.1 Στοιχεία ενός PLE... 26 2.2.2 Wikis... 28 2.2.3 Εκπαιδευτική αξία των W ikis... 28 2.2.4 Wiki farms...29 2.3 Συστήματα διαχείρισης μάθησης ( LMS)...30 2.3.1Συστήματα διαχείρισης μάθησης (LMS) - Συστήματα διαχείρισης εκπαιδευτικού περιεχομένου (LCMS) 30 2.3.2Χαρακτηριστικά των LMS...31 2.4 Πρότυπα εκπαιδευτικού περιεχομένου... 31 2.4.1 SCORM... 33 2.4.2... Ιστορία του SCORM...33 2.4.3...Οι 4 βασικές απαιτήσεις του SCORM...34 2.4.4... Λειτου ργία SCORM... 35 2.5 Σύγκριση wiki τεχνολογιών και LMS στην εκπαίδευση... 36 2.5.1 Πλεονεκτήματα PLE-wikis...36 2.5.2Πλεονεκτήματα LMS... 38 2.6 Συμπέρασμα - Πρόταση... 39 2.6.1 Δική μας πρόταση...40 ΚΕΦΑΛΑΙΟ 3 ΥΛΟΠΟΙΗΣΗ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΣΥΝΙΣΤΩΣΩΝ W E P...45 3.1 Δημοφιλή wiki farm s... 45 3.1.1 Επιλογή Wikispaces... 49 3.2Δημιουργία του χώρου μ α ς...49 3.2.1. Δομή- Σχεδιασμός...50 3.2.2 Δημιουργία- επεξεργασία σελίδων... 52 3.2.2Δημιουργία μαθήματων...60
3.2.2Ιστορικό σελίδων... 62 3.2.2Αναζήτηση...62 3.2.2Σελίδες συζητήσεων...62 3.3 Διαχείριση χώρου - Ρυθμίσεις... 63 3.3.1 Τύποι χρηστών... 63 3.3.2 Άδεια Creative Commons...63 3.3.3 Look and feel... 64 3.3.4...Εξαγωγ ή περιεχομένου... 64 3.4 RELOAD Editor... 65 3.4.1 Η επιφάνεια εργασίας του RELOAD editor...65 3.4.2 Δημιουργία Πακέτου Περιεχομένου...66 3.5 Δημοφιλείς LMS πλατφόρμες... 71 3.5.1 Dokeos... 72 3.5.2 Learning Path...72 3.5.3 Δημιουργία Μονοπατιού Γνώσης και Μάθησης... 73 3.6 OLAT... 77 3.7 Moodle... 82 3.7.1 Δημιουργία ενός καινούργιου μαθήματος...83 3.8 Επιλογή Moodle... 89 ΚΕΦΑΛΑΙΟ 4 ΣΥΜΠΕΡΑΣΜΑΤΑ -ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ...90 ΑΚΡΩΝΥΜΙΑ... 96 Λίστα εικόνων Εικόνα 1: Υψηλού επιπέδου αρχιτεκτονική Portal...30 Εικόνα 2: Portal Building Blocks...31 Εικόνα 3. Επεξεργασία Psite / Δημιουργία νέας σελίδας...32 Εικόνα 4: New Page dialog / Page Layout types...32 Εικόνα 5:. Προσθήκη Portlet...33 Εικόνα 6: προσθήκη Portlet dialog box / Portlet Template...33 Εικόνα 7: Two Column(N-W)...34 Εικόνα 8: Two Column(W-N)...35 Εικόνα 9: Menu Layout...35 Εικόνα 10: Tree Layout...36 Εικόνα 11: Adding composite page...36 Εικόνα 12: Adding External Link...36 Εικόνα 13: Tabs Layout...37 Εικόνα 14: User Administration Interface...38 Εικόνα 15: Portlet admin...45 Εικόνα 16: Δομή Οργάνωσης Ιστοτόπου...48 Εικόνα 17: Σχηματική αναπαράσταση του σχήματος για το WEP-Portal... 51 Εικόνα 18: Συγγραφή πληροφορίας στην XML-spy...55 Εικόνα 19: Το σχήμα του WEP-Tool...55 Εικόνα 20: παράδειγμα excel αρχείου...57 Εικόνα 21: Αποθήκευση σε csv μορφή...58 Εικόνα 22: MapForce workspace...59 Εικόνα 23: Ρυθμίσεις CSV...61 Εικόνα 24: Validation...62
Εικόνα 25: Επιλογή csv...62 Εικόνα 26: Εισαγωγή csv...63 Εικόνα 27: Εισαγωγή xml σχήματος...64 Εικόνα 28: Αντιστοίχιση...64 Εικόνα 29: Χρήση tabs layout...67 Εικόνα 30: Παράδειγμα Web Appl and WIS...69 Εικόνα 31: Εικόνα WEP Tools...71 Εικόνα 32: Παράδειγμα rich text portlet...72 Εικόνα 33: Xml εργαλεία από το download.com...78 Εικόνα 34: Κώδικας download.com...79 Εικόνα 35: Αρχική σελίδα... 123 Εικόνα 36: WYSIWYG editor...124 Εικόνα 37: Σύνδεσμοι... 124 Εικόνα 38: Widget wikispaces... 125 Εικόνα 39: Εισαγωγή κώδικα για προσθήκη εφαρμογών... 126 Εικόνα 40: Εισαγωγή λίστας σελίδων με tag... 127 Εικόνα 41: Πρότυπο νέας σειράς μαθημάτων... 128 Εικόνα 42: Γλωσσάρι... 130 Εικόνα 43: Σελίδα βοήθειας...131 Εικόνα 44: Σειρά μαθημάτων Javascript... 132 Εικόνα 45: Επίπεδα μαθημάτων Javascript... 132 Εικόνα 46: Αναζήτηση... 133 Εικόνα 47: Discussion tab... 134 Εικόνα 48: Εξαγωγή του χώρου μας... 136 Εικόνα 49: Η επιφάνεια εργασίας του RELOAD editor...137 Εικόνα 50: Manifestt.xml... 138 Εικόνα 51: Προσθήκη περιεχομένου...139 Εικόνα 52: Προσθήκη Organizations και Items... 140 Εικόνα 53: Περιοχή μαθήματος...154 Εικόνα 54: Προσθήκη νέου βήματος...155 Εικόνα 55: Νέο έγγραφο...155 Εικόνα 56:Εισαγωγή ερωτήσεων... 156 Εικόνα 57: Javascript Quiz...157 Εικόνα 58: Οργάνωση πόρων...157 Εικόνα 59: Περιοχές λειτουργιών του OLAT...159 Εικόνα 60: Δομή μαθήματος...161 Εικόνα 61: Δημιουργία νέας σελίδας...162 Εικόνα 62: OLAT editor...162 Εικόνα 63: Ανάθεση ρόλων...165 Εικόνα 64: Edit...165 Εικόνα 65: Διαχείριση του Moodle...166 Εικόνα 66: Νέο μάθημα...166 Εικόνα 67: Προσθήκη resource drop-down menu...167 Εικόνα 68: Προσθήκη Activity modules...168 Εικόνα 69: Quiz...168 Εικό να 70: Ολοκληρωμένο μάθημα... 169 Εικόνα 71: Εισαγωγή SCORM πακέτων...170 Εικόνα 72: Μάθημα SCORM...171 Εικόνα 73: Χρησιμοποίηση των moodle, blackboard, olat και dokeos...172
Κεφάλαιο 1. (Ημι)Αυτόματες Διαδικασίες Συλλογής και Σύνθεσης Πληροφορίας από Ιστοσελίδες Είναι δύσκολο να αμφισβητηθεί ότι το World Wide Web είναι ο μεγαλύτερος χώρος αποθήκευσης πληροφοριών που έχει υπάρξει. Σύμφωνα με το αποτέλεσμα μιας μελέτης, το Διαδίκτυο αποτελείται από δεδομένα όγκου 486 δισεκατομμυρίων gigabytes. Το νούμερο αυτό γίνεται ακόμη πιο εντυπωσιακό, αν αναλογιστεί κανείς ότι πριν από ένα χρόνο το Internet βρισκόταν στα 161 δισ. gigabytes. Για να δώσει μια καλύτερη εικόνα ως προς το μέγεθος των δεδομένων, μια εφημερίδα έκανε την εξής παρομοίωση. Αν τα 486 δισ. gigabytes έπαιρναν τη μ ορφ ή βιβλίω ν και τα βιβλία αυτά έμπαιναν το ένα πάνω στο άλλο, θα δημιουργούσαν έναν στύλο με ύψος δ έκ α φ ο ρ έ ς την απόσταση ανάμεσα στη Γη και τον Π λούτω να. Η IDC εκτιμά ότι ο όγκος του Internet θα διπλασιαστεί στους επόμενους 18 μήνες. Αυτό οφείλεται στη διαρκώς αυξανόμενη δραστηριότητα των απλών χρηστών του Διαδικτύου. Υπολογίζεται ότι το 70% του όγκου αποτελείται από υλικό που ανεβάζουν οι χρήστες μέσω κινητών τηλεφώνων, email και φωτογραφίες, μεταξύ άλλων. Αυτός ο απέραντος όγκος ελεύθερα διαθέσιμων πληροφοριών είναι εξαπλωμένος σε δισεκατομμύρια ιστοσελίδες, κάθε μια με ανεξάρτητη δομή και σχήμα. Το ερώτημα που τίθεται είναι πώς βρίσκουμε τις πληροφορίες που ψάχνουμε σε μια χρήσιμη μορφή, γρήγορα και εύκολα. Για το σκοπό αυτό τα ακόλουθα σημεία θα πρέπει να καθοριστούν: Ένα μοντέλο δεδομένων: Ένα σύστημα ή μια υπηρεσία πρέπει να έχει ένα καθορισμένο με σαφήνεια και καλά τεκμηριωμένο πρότυπο δεδομένων. Η ακριβής μορφή του προτύπου και τεκμηρίωσης εξαρτάται από τους υπεύθυνους για την ανάπτυξη, αλλά πρέπει να υπάρξει κάποιος ελάχιστος τρόπος έτσι ώστε οι χρήστες του συστήματος ή της υπηρεσίας να καταλαβαίνουν τη σημασιολογία των δεδομένων και τη λειτουργία που εφαρμόζεται από το σύστημα. Μορφή δεδομένων: Επιπλέον, πρέπει να υπάρξει μια καθορισμένη με σαφήνεια αντιστοίχιση σε ένα σχήμα δεδομένων, που μπορεί να χρησιμοποιηθεί για αλληλεπίδραση με το σύστημα. Ιδανικά, αυτή η μορφή δεδομένων θα πρέπει να βασίζεται στην XML και να περιγράφεται από κάποιο σχήμα, η γλώσσα XML Schema θα πρέπει να είναι η προτιμώμενη για αυτό. Αυτό το data format θα πρέπει να είναι "well-designed XML", το οποίο σημαίνει ότι θα πρέπει να έχει σχεδιαστεί με τέτοιο τρόπο ώστε να μπορεί να χρησιμοποιηθεί από άλλους χρησιμοποιώντας βασικές XML τεχνολογίες. Αυτό είναι ένα σημαντικό σημείο επειδή πολλά συστήματα χρησιμοποιούν εσωτερικά κάποιο πρότυπο στοιχείων που έπειτα απλά αντιστοιχίζεται σε XML format χρησιμοποιώντας κάποια λειτουργικότητα εξαγωγής από το λογισμικό διαμόρφωσης των δεδομένων που χρησιμοποιούνται. Το ερώτημα για το πώς να ευθυγραμμίσουμε data models και "well-designed XML" (που μπορεί να απαιτήσει κάποια ανθρώπινη επέμβαση παρά να παραχθεί αυτόματα από κάποιο πρότυπο δεδομένων) είναι άλυτο μέχρι τώρα, έτσι μια ιδανική συνύπαρξη ενός προτύπου στοιχείων και του συσχετιζόμενου XML σχήματος, δεν μπορεί να επιτευχθεί εύκολα με τις σημερινές τεχνολογίες και εργαλεία.
Πρόσβαση στα δεδομένα: επίσης πρέπει να υπάρχει πρόσβαση στα στοιχεία με απλό τρόπο. Το γενικά αποδεκτό πρωτόκολλο για την πρόσβαση των δεδομένων είναι σήμερα το HTTP, το οποίο έχει κερδίσει δημοτικότητα ως πρωτόκολλο πρόσβασης στον Ιστό. Για πιο σύνθετες και τυπικότερα διαμορφωμένες Web services, το SOAP μπορεί να χρησιμοποιηθεί. Για παράδειγμα αν μια υπηρεσία παράγει well-designed XML, τότε είναι ένας αρκετά εύκολος στόχος να χρησιμοποιηθεί XSLT για να επεξεργαστούμε αυτή την XML και να εξάγουμε την απαιτούμενη πληροφορία. [17] Δυστυχώς, δεν υπάρχει κανένα επίσημο πλαίσιο για το πώς αυτό θα μπορούσε να γίνει, ούτε υπάρχει μια τεχνολογία που είναι ιδανική και κατάλληλη για να πετύχει κάτι τέτοιο. Υπάρχουν, εντούτοις, προσεγγίσεις που λύνουν τουλάχιστον μέρος του προβλήματος. Στη συνέχεια δίνουμε μια επισκόπηση των τεχνολογιών που θα μπορούσαν να χρησιμοποιηθούν: 1.1 Web Harvesting ή web scraping Οι μηχανές αναζήτησης αποτελούν μεγάλη βοήθεια, αλλά μπορούν να κάνουν μόνο μέρος της εργασίας, και είναι πιεσμένες για να συμβαδίσουν με τις καθημερινές αλλαγές. Ακόμα και όταν χρησιμοποιούμε μια μηχανή αναζήτησης για να εντοπίσουμε τα στοιχεία, για να συλλέξουμε τις πληροφορίες που χρειαζόμαστε πρέπει να ανιχνεύσουμε το περιεχόμενο έως ότου βρούμε τις πληροφορίες, να σημειώσουμε τις πληροφορίες. αλλαγή σε μια άλλη εφαρμογή (όπως ένα λογιστικό φύλλο (spreadsheet), μια βάση δεδομένων ή ένας επεξεργαστής λέξεων) και επικόλληση στην εφαρμογή μας. Μια καλύτερη λύση, ειδικά όταν μας ενδιαφέρει να εκμεταλλευτούμε μια ευρεία γκάμα στοιχείων, εναπόκειται στα screen/web scraping ή Web extraction - mining Web ή Web harvesting εργαλεία. Το scraping είναι η διαδικασία της χρησιμοποίησης των εργαλείων λογισμικού για την ανάλυση περιεχόμενου που γράφτηκε αρχικά για κατανάλωση από ανθρώπους με σκοπό την εξαγωγή σημασιολογικών δομών δεδομένων αντιπροσωπευτικών αυτών των πληροφοριών που μπορούμε να χρησιμοποιήσουμε και να διαχειριστούμε προγραμματιστικά. Το λογισμικό αυτό αυτόματα εξάγει τις πληροφορίες από τον Ιστό και συνεχίζει από εκεί που σταματούν οι μηχανές αναζήτησης, κάνοντας την εργασία που αυτές δεν μπορούν. Κάθε Web site και κάθε ιστοσελίδα είναι δομημένη χρησιμοποιώντας κάποια λογική. Απαιτείται επομένως να περιγραφεί η αντίστροφη διαδικασία - πώς να προσκομιστούν τα επιθυμητά στοιχεία από το μικτό περιεχόμενο. Το Web harvesting αναφέρεται στην ανάκτηση και επεξεργασία των δεδομένων που έχουν συλλεγεί από πόρους Ιστού. Τα εργαλεία λογισμικού για Web harvesting βρίσκουν, ανακτούν, και έξυπνα επεξεργάζονται μη δομημένα δεδομένα που είναι διαθέσιμα μέσω του web. Σε μερικές περιπτώσεις ο στόχος είναι ακόμα πιο σύνθετος από αυτόν: Τα στοιχεία μπορεί να είναι διασκορπισμένα σε περισσότερες σελίδες, να χρειάζεται πυροδότηση ενός GET/POST request για τη λήψη της σελίδας εισόδου ή να απαιτείται η έγκριση για πλοήγηση στη σελίδα ενδιαφέροντος. [10], [12] 1.1.1 Τεχνικές Harvesting Υπάρχουν τρεις τρόποι που μπορούμε να εξαγάγουμε χρήσιμες πληροφορίες από τον Ιστό. Η πρώτη τεχνική, το harvesting web περιεχομένου, ενδιαφέρεται άμεσα για το συγκεκριμένο περιεχόμενο των εγγράφων ή των περιγραφών τους, όπως HTML αρχεία, εικόνες ή e-mail μηνύματα. Δεδομένου ότι τα περισσότερα έγγραφα κειμένων είναι σχετικά
μη δομημένα (τουλάχιστον όσον αφορά στην ερμηνεία από μηχανές), μια κοινή προσέγγιση είναι να χρησιμοποιηθεί ότι είναι ήδη γνωστό για τη γενική δομή των εγγράφων και να αντιστοιχιστεί σε κάποιο μοντέλο δεδομένων. Μια άλλη προσέγγιση περιλαμβάνει την προσπάθεια βελτίωσης στις αναζητήσεις περιεχομένου που εκτελούν εργαλεία όπως οι μηχανές αναζήτησης. Αυτός ο τύπος content harvesting υπερβαίνει την εξαγωγή λέξεων κλειδιών και την παραγωγή απλών στατιστικών σχετικά με λέξεις και φράσεις στα έγγραφα. Μια άλλη τεχνική, το harvesting Web δομής, εκμεταλλεύεται το γεγονός ότι οι ιστοσελίδες μπορούν να αποκαλύψουν περισσότερες πληροφορίες από ότι μόνο το προφανές περιεχόμενό τους. Οι σύνδεσμοι από άλλες πηγές που δείχνουν στην ιστοσελίδα δείχνουν τη δημοτικότητα της σελίδας αυτής, ενώ σύνδεσμοι μέσα στη σελίδα που δείχνουν σε άλλους πόρους μπορεί να υποδεικνύουν την αφθονία ή την ποικιλία των θεμάτων που καλύπτονται σε εκείνη την σελίδα. Η τρίτη τεχνική, το harvesting Web χρήσης, χρησιμοποιεί δεδομένα που καταγράφονται από Web servers για τις αλληλεπιδράσεις χρηστών για να βοηθήσει στην κατανόηση της συμπεριφοράς χρηστών και την εκτίμηση της αποτελεσματικότητας της Web δομής. Η καταγραφή μοτίβων γενικής πρόσβασης αναλύει τα Web logs για την κατανόηση μοτίβων πρόσβασης και τάσεις προκειμένου να αναγνωριστούν δομικά ζητήματα και ομαδοποίηση πόρων. Η καταγραφή προσαρμοσμένης χρήσης αναλύει μεμονωμένες τάσεις έτσι ώστε οι ιστοχώροι να μπορούν να προσωποποιηθούν σε συγκεκριμένους χρήστες. Κατά τη διάρκεια του χρόνου, βασισμένου στα μοτίβα πρόσβασης, ένας ιστότοπος μπορεί να προσαρμόζεται δυναμικά για έναν χρήστη από την άποψη των πληροφοριών που επιδεικνύονται, του βάθους της δομής του site και της μορφής των πόρων που παρουσιάζονται. [10], [12] 1.1.2 Εργαλεία Θα παρουσιάσουμε ένα εργαλείο που θα μπορούσε να χρησιμοποιηθεί για να κάνουμε scraping στο download.com και το tucows προκειμένου να εξάγουμε τα απαιτούμενα στοιχεία για τα εργαλεία κάθε κατηγορίας όπως τα έχουμε καθορίσει. Το Web-Harvest είναι ένα ανοιχτού κώδικα εξαγωγής δεδομένων Ιστού εργαλείο γραμμένο σε Java. Προσφέρει έναν τρόπο να συλλέξουμε επιθυμητές ιστοσελίδες και να εξάγουμε χρήσιμα δεδομένα από αυτές. Προκειμένου να γίνει αυτό, χρησιμοποιεί καθιερωμένες τεχνικές και τεχνολογίες για διαχείριση κειμένου/xml όπως XSLT, XQuery και Regular Expressions. Το Web-Harvest κυρίως εστιάζει σε HTML/XML βασισμένα web sites, τα οποία αποτελούν ακόμα τη μεγάλη πλειοψηφία του περιεχομένου Ιστού. Αφ' ετέρου, θα μπορούσε να συμπληρωθεί εύκολα από συνήθεις Java βιβλιοθήκες προκειμένου να αυξηθούν οι ικανότητες εξαγωγής του. Ο κύριος στόχος πίσω από το εργαλείο δεν είναι να προτείνει μια νέα μέθοδο, αλλά να παρέχει ένα τρόπο για εύκολη χρήση και συνδυασμό των διαθέσιμων τεχνολογιών εξαγωγής. Κάθε διαδικασία εξαγωγής στο Web-Harvest καθορίζεται από το χρήστη μέσω XMLbased configuration αρχείων. Κάθε αρχείο διαμόρφωσης περιγράφει μια ακολουθία επεξεργαστών εκτελώντας κάποιους κοινές εργασίες προκειμένου να ολοκληρωθεί ο τελικός στόχος. Οι επεξεργαστές εκτελούνται υπό μορφή pipeline. Κατά συνέπεια, η έξοδος μιας εκτέλεσης επεξεργαστή εισάγεται σε έναν άλλο. Αυτό μπορεί να εξηγηθεί καλύτερα χρησιμοποιώντας το απλό κομμάτι διαμόρφωσης: <xpath expression="//a[@shape='rect']/@href'> <htmlto-xml> <http url="http://www.somesite.com/"/> </html-to-xml> </xpath> Όταν το Web-Harvest εκτελεί αυτό το κομμάτι, γίνονται τα ακόλουθα βήματα:
1. Ο http επεξεργαστής κατεβάζει περιεχόμενο από το καθορισμένο URL. 2. Ο html-to-xml επεξεργαστής «καθαρίζει» αυτήν την HTML παράγοντας XHTML περιεχόμενο. 3. Ο xpath επεξεργαστής αναζητά συγκεκριμένους συνδέσμους στο XHTML από το προηγούμενο βήμα δίνοντας τη URL ακολουθία σαν αποτέλεσμα. Το Web-Harvest υποστηρίζει ένα σύνολο χρήσιμων επεξεργαστών για το χειρισμό μεταβλητών, υπό όρους διακλάδωσεις, συναρτήσεις, HTML και XML επεξεργασία κ.α. Το Web-Harvest λειτουργεί με τη διαμόρφωση κάθε ιστοτόπου σε ένα XML αρχείο που περιγράφει μια ακολουθία επεξεργαστών για τη μετατροπή της HTML σε χρήσιμη XML. Το αποτέλεσμα της εξαγωγής θα μπορούσε να είναι διαθέσιμο σε αρχεία που δημιουργούνται κατά την εξαγωγή ή από από το πλαίσιο μεταβλητών αν το Web-Harvest χρησιμοποιείται προγραμματιστικά. Όλα τα στοιχεία που παράγονται και που καταναλώνονται κατά τη διάρκεια της διαδικασίας εξαγωγής στο Web-Harvest έχουν τρεις αναπαραστάσεις: κείμενο, δυαδικό και λίστες. Ποια μορφή χρησιμοποιείται - εξαρτάται από τον επεξεργαστή που καταναλώνει τα δεδομένα. Ο html-to-xml επεξεργαστής χρησιμοποιεί το downloaded περιεχόμενο σαν κείμενο προκειμένου να το μετασχηματίσει σε HTML, ο loop επεξεργαστής χρησιμοποιεί τη μεταβλητή urllist σαν λίστα για τις επαναλήψεις κ.α.. Στις περισσότερες περιπτώσεις η κατάλληλη αναπαράσταση επιλέγεται από το Web-Harvest. Εκτός από το σύνολο ισχυρών επεξεργαστών κειμένων και χειρισμού XML, το Web-Harvest υποστηρίζει πραγματικές scripting γλώσσες των οποίων ο κώδικας μπορεί να ενσωματωθεί στις scraper configurations. Δίνουμε και ένα παράδειγμα πως θα μπορούσαμε να εφαρμόσουμε τα παραπάνω στον βασικό ιστότοπο download.com σύμφωνα με την αντιστοίχιση των κατηγοριών των δύο ιστοτόπων και των κατηγοριών εργαλείων στο WEP που έχει γίνει από την ομάδα στο [10]. Παράδειγμα configuration αρχείου: <?xml version="l0" encoding="utf-8"?> <config charset="utf-8"> <var-def name="urllist"> <xpath expression="//img/@src"> <htmlto-xml> <http url="error! Hyperlink reference not valid.> </html-to-xml> </xpath> </var-def> <loop item="link" index="i" filter="unique"> <list><var name="urllist"/></list> <body> <file action="write" type="binary" path="images/${i}.gif'> <http url="${sys.fullurl('error! Hyperlink reference not valid.> </file> </body> </loop> </config> Στη συνέχεια παραθέτουμε εικόνα μιας σελίδας από τον ένα ιστότοπο το download.com όπου έχει επιλεγεί η κατηγορία εργαλείων xml. Παρατηρούμε ότι από τα πεδία που έχουμε καθορίσει ορατά στη σελίδα αυτή είναι το όνομα, η βαθμολογία, η ημερομηνία, ένα μικρό σχόλιο και ο συνολικός αριθμός φορών που κατέβηκε το εργαλείο.
Εικόνα 33: ΧτιΙ εργαλεία από το download.com Στη δεύτερη εικόνα έχουμε ένα τμήμα από τον πηγαίο κώδικα της παραπάνω σελίδας. Συγκεκριμένα είναι το κομμάτι που ευθύνεται για την εμφάνιση των στοιχείων που μας ενδιαφέρουν και των τιμών τους.
Ι Γ ) Κώδικας io u :http://www.downlodd.com/xml/3150 7?41 4 O.htm l'tdg dir Mo/ilUi Mrefox r- f f f X Αρχόο EntftpYoata Προβολή βοήθοα < th c l a s s - " t i t ie C e ll" > < s c r lp t> v a r l i s t i n g A r r a y - new O b j e c t ( ) ; H a tin g A r r a y. p o p u la r " " o p e n c l a s a - \" r e d N " > P o p u la r < /s p a n > " ; l i s t i n g A r r a y. p r o d u c t URL " j a v a s c r i p t :v o id ( 0 ) " ; lis tin g A r r a y.p r o d u c tn a m e - " T r i s t a n s W r ite r RSS E d i t o r " ; l i s t i n g A r r a y. v e r s i o n " 5.0.0.1 9 1 " ; l l s t i n g A r r a y. s s h o t "<im g s r c - \ " h t t p : / / i. d. com. c o m / i / d l/m e d ia /d lim a g e / 1 3 /2 0 / 5 9 / 132059_1 l a t in g. jp e g \ " a l f \ " P r o d u c t a l i s t i n g A r r a y. c R a t i n g " " l i s t in g A r r a y.c R a tin g H e d lis tin g A r ra y.c R a tln g N u m lis tin g A r r a y.u R a tm g H e d "< b> U ser R a tln g < /b > : l i s t I n g A r r a y.u R a t in g - " 3 h " ; l i s t i n g A r r a y.d a te A d d e d - " 0 7 /0 3 /2 0 0 7 " ; lis t i n g A r r a y.n e w F l a g ; lis t I n g A r r a y.p l a t f o r m H e d " < p > < b > P la t o m :< /b > " ; listin g A rra y. p la tfo rm - "Windows 9 Θ, Windows He, Windows NT, Windows 2000, Windows XP, Windows 2003 S erv e r, Windo l i s t i n g A r r a y. l i c e n s e - " F r e e t o t r y " ; f β <J Ο OxML-Reviewsandfr... t) κώδικας itiu:http://w... EN*;i(Xf Εικόνα 34: Κώδικας download.com Ωστόσο η μέθοδος τελικά δε χρησιμοποιήθηκε καθώς παρατηρούμε πως η κατηγοριοποίηση που ακολουθείται δε συμβαδίζει με τη δική μας. Αν και έχει γίνει μια αντιστοίχιση των κατηγοριών που υπάρχουν στο WEP και αυτών στα δύο κύρια sites από τα οποία αντλούμε σε μεγάλο βαθμό το υλικό, αυτή δεν μπορεί να εφαρμοστεί σε όλες τις περιπτώσεις. Κάποιες κατηγορίες δεν υπάρχουν καθόλου σε αυτά ή είναι δεν μπορεί να γίνει αντιστοίχιση 1 προς 1, καθώς εργαλεία για κάποιες κατηγορίες ανήκουν σε πολλές κατηγορίες ή και το αντίστροφο. Π.χ. στην κατηγορία XML του download.com μπορούμε να βρούμε εργαλεία για 6 δικές μας κατηγορίες: xml editors, xml parsers κτλ χωρίς να παρέχεται από τον ιστότοπο τρόπος διάκρισης μεταξύ τους. Αλλά και γενικότερα το scraping θεωρείται συχνά άκομψη λύση, και αυτό γιατί έχει δύο βασικά μειονεκτήματα. Το πρώτο έγκειται στο ότι, αντίθετα από τα APIs με interfaces, scraping δεν έχει καμία συγκεκριμένη προγραμματική σύμβαση μεταξύ του προμηθευτή και του καταναλωτή του περιεχομένου. Οι scrapers πρέπει να σχεδιάσουν τα εργαλεία τους γύρω από ένα πρότυπο του περιεχομένου πηγής και να ελπίζουν ότι ο πάροχος εμμένει σε αυτό το πρότυπο παρουσίασης με συνέπεια. Οι ιστότοποι τείνουν να εξετάζουν και να τροποποιούν το look-and-feel τους περιοδικά για να παραμένουν ανανεωμένοι και κομψοί, κάτι που δημιουργεί προβλήματα όσον αφορά την συντήρηση από την πλευρά των scrapers. Με τον ίδιο τρόπο οποιαδήποτε αλλαγή στους ιστοτόπους που χρησιμοποιούμε θα αλλάξει και όλο το σχεδιασμό μας για την εξαγωγή πληροφορίας. Επιπλέον το υλικό που συγκεντρώνουμε δεν μπορεί να αντληθεί από ένα μόνο ιστότοπο π.χ. download.com. Ταυτόχρονα διαφορετικές πηγές σημαίνουν και ποικιλία στη δομή και παρουσίαση των δεδομένων. Έτσι θα πρέπει να προσαρμόζουμε κάθε φορά το scraping σύμφωνα με τα δεδομένα του συγκεκριμένου ιστοτόπου, καθώς δεν υπάρχει ενιαίος τρόπος αντιμετώπισης όλων των περιπτώσεων. Το δεύτερο ζήτημα είναι η έλλειψη εκσυγχρονισμένου, περίπλοκου, επαναχρησιμοποιήσιμου screen-scraping toolkit λογισμικού (scrapis). Η έλλειψη τέτοιων APIs και toolkits οφείλεται κατά ένα μεγάλο μέρος στις εξειδικευμένες στην εφαρμογή
ανάγκες κάθε ανεξάρτητου scraping εργαλείου. Αυτό οδηγεί στα μεγάλα γενικά έξοδα ανάπτυξης δεδομένου ότι οι σχεδιαστές αναγκάζονται να κάνουν reverse-engineer το περιεχόμενο, να αναπτύξουν μοντέλα δεδομένων, να κάνουν ανάλυση (parse), και να συγκεντρώσουν ακατέργαστα στοιχεία από τον ιστότοπο των προμηθευτών. [13], [18] 1.2 RSS feeders Ένας άλλος πιθανός δρόμος που μπορεί να ακολουθηθεί είναι η υιοθέτηση των τεχνολογιών του Semantic Web, οι όποιες είναι βασισμένες στην υπόθεση ότι οι διαφορετικές εφαρμογές χρησιμοποιούν το ίδιο πρότυπο για την αναπαράσταση semantics, αλλά χωρίς την ανάγκη να υπάρξει ένα ενοποιημένο πρότυπο που συμπεριλαμβάνει όλα τα πρότυπα εφαρμογών. Οι άκομψες πτυχές του screen scraping είναι άμεσα ανιχνεύσιμες στο γεγονός ότι το περιεχόμενο που δημιουργείται για κατανάλωση από ανθρώπους δεν αποτελεί και καλό περιεχόμενο για την αυτοματοποιημένη κατανάλωση από μηχανές. Στα πλαίσια του Semantic Web, ο όρος πληροφορία είναι διαφορετικός από τα δεδομένα, τα δεδομένα γίνονται πληροφορίες όταν μεταβιβάζουν τη σημασία. Ο σημασιολογικός ιστός έχει ως στόχο τη δημιουργία υποδομής Ιστού που αυξάνει τα δεδομένα με μεταδεδομένα για να προσδώσει σημασία, καθιστώντας τα κατά συνέπεια κατάλληλα για αυτοματοποίηση, ενσωμάτωση και επαναχρησιμοποίηση. Στις μέρες μας με την υιοθέτηση της XML, οι web σελίδες γίνονται πιο δομημένες από ποτέ. Μια κοινή πρακτική μεταξύ των ιστοσελίδων είναι να διαθέτουν το περιεχόμενό τους για χρήση από άλλες σελίδες ή απομακρυσμένες εφαρμογές. Η πιο κοινή μέθοδος για αυτήν την πρακτική που αναφέρεται ως " syndication" είναι η χρήση ενός πρωτόκολλου που ονομάζεται RSS. Το RSS είναι μία πάρα πολύ λειτουργική τεχνολογία την οποία χρησιμοποιούν πολλές ιστοσελίδες για να ενημερώνουν τους αναγνώστες τους όταν έχουν δημοσιεύσει καινούριο υλικό. Έτσι, ο αναγνώστης δεν χρειάζεται να επισκέπτεται κάθε τρεις και λίγο τις 100 αγαπημένες του σελίδες για να δει αν υπάρχει καινούριο περιεχόμενο, αφού χρησιμοποιώντας RSS ειδοποιείται αυτόματα όταν υπάρχει κάτι νέο! Το RSS (Really Simple Syndication, είτε Rich Site Summary, είτε RDF Site Summary είτε μια παραλλαγή όλων αυτών) είναι ένα πρωτόκολλο, ένα XML-based syndication πρότυπο και ένα από τα σημαντικότερα standards για τη διάδοση πληροφοριών στο internet. Από το 1998 και μετά (ένταξη στο W3C) η χρήση της XML, διογκώθηκε. Το Resource Description Framework (RDF) ενσωματώνει μια ποικιλία εφαρμογών από καταλόγους βιβλιοθηκών και σε παγκόσμια κλίμακα κατάλογοι για syndication και την ομαδοποίηση των ειδήσεων, λογισμικό, και το περιεχόμενο σε προσωπικές συλλογές μουσικής, φωτογραφιών, και τα γεγονότα χρησιμοποιώντας XML ως διατραπεζική σύνταξη. The RDF specifications provide a lightweight ontology system to support the exchange of knowledge on the Web. Οι προδιαγραφές RDF παρέχει ένα ελαφρύ σύστημα οντολογία για την υποστήριξη της ανταλλαγής γνώσεων σχετικά με το Web. Το Resource Description Framework (RDF) του W3C είναι μία μορφή κειμένου XML, η οποία υποστηρίζει περιγραφή πόρων και εφαρμογές μεταδεδομένων, όπως οι κατάλογοι μουσικής και οι συλλογές φωτογραφιών και εξυπηρετεί τον σκοπό της παροχής μεθοδολογιών που καθιερώνουν συντακτικές δομές που περιγράφουν τα δεδομένα. Όπως συμβαίνει και στα συγχωνευμένα έγγραφα (integrated documents) HTML, τα συστήματα μενού και τις φόρμες αιτήσεων για την έναρξη του αρχικού Ιστού, το RDF συνδυάζει εφαρμογές και πράκτορες σε έναν ενιαίο Σημασιολογικό Ιστό. Και, βέβαια, όπως οι άνθρωποι έχουν συμφωνήσει να χρησιμοποιούν κοινές ονομασίες για τις σημασίες των λέξεων που χρησιμοποιούν όταν επικοινωνούν, έτσι και οι υπολογιστές χρειάζονται μηχανισμούς, οι οποίοι να ορίζουν κοινά ονόματα για τους όρους ώστε να είναι εφικτή η αποτελεσματική επικοινωνία. Οι επίσημες περιγραφές όρων που ανήκουν σε ένα συγκεκριμένο νοηματικό πεδίο ονομάζονται οντολογίες και συνιστούν σημαντικό τμήμα του
Σημασιολογικού Ιστού. Οι οντολογίες του RDF, και η αναπαράσταση των διαφόρων σημασιών ώστε οι υπολογιστές να διευκολύνουν τους ανθρώπους στην εκτέλεση διαφόρων εργασιών αποτελούν μέρος της Δραστηριότητας Σημασιολογικού Ιστού (Semantic WEB Activity). [16] 1.2.1 Πρωτόκολλα Τα δεδομένα RDF υιοθετούνται γρήγορα σε ποικίλες περιοχές, όπως syndication (π.χ. RSS). Το RSS είναι λοιπόν ένα πρωτόκολλο, ένα πρότυπο κειμένου γραμμένο συνήθως σε μια μορφή της γλώσσας XML που επιτρέπει σε ιστοσελίδες να διαθέσουν είτε ολόκληρο είτε μέρος του περιεχομένου τους σε άλλες ιστοσελίδες ή εφαρμογές. ο RSS είναι μία πάρα πολύ λειτουργική τεχνολογία την οποία χρησιμοποιούν πολλές ιστοσελίδες για να ενημερώνουν τους αναγνώστες τους όταν έχουν δημοσιεύσει καινούριο υλικό. Έτσι, ο αναγνώστης δεν χρειάζεται να επισκέπτεται κάθε τρεις και λίγο τις 100 αγαπημένες του σελίδες για να δει αν υπάρχει καινούριο περιεχόμενο, αφού χρησιμοποιώντας RSS ειδοποιείται αυτόματα όταν υπάρχει κάτι νέο! Το RSS παρέχει στους εκδότες περιεχομένου έναν εύκολο τρόπο διανομής πληροφοριών σε τυποποιημένη μορφή. Μια τυποποιημένη μορφή αρχείου XML επιτρέπει την εφάπαξ δημοσίευση των πληροφοριών και την προβολή τους σε διάφορα προγράμματα. Ένα συνηθισμένο παράδειγμα περιεχομένου RSS είναι οι πηγές πληροφοριών, όπως οι τίτλοι ειδήσεων που ενημερώνονται τακτικά. Τέλος, η έκδοση 1.0 είναι βασισμένη στο RDF, αλλά η πιο πρόσφατη, έκδοση 2.0, όχι. [19] Επίσης, το Atom είναι ένα νεώτερο, αλλά παρόμοιο, πρωτόκολλο syndication. Είναι ένα προτεινόμενο πρότυπο του Internet Engineering Task Force (IETF) και επιδιώκει να διατηρήσει καλύτερα μεταδεδομένα από το RSS, να παρέχει καλύτερη και αυστηρότερη τεκμηρίωση, και να ενσωματώνει την έννοια των κατασκευών για κοινή αναπαράσταση δεδομένων. [18] 1.2.2 Feeds - aggregators Σύμφωνα με αυτήν την λειτουργία, υπάρχει κάποια συνήθως χρησιμοποιημένη ορολογία που συνδέεται με τα feeds: Syndication: διανομή ή δημοσίευση περιεχομένου με την παραγωγή ενός feed για τη διανομή του. Εγγραφή: εγγραφόμαστε σε ένα feed με την ανάγνωση και τη χρησιμοποίησή του. Σε αυτό το πλαίσιο, η "διανομή"(syndication) υπονοεί ότι ένας ιστοχώρος που θέλει να διανείμει το περιεχόμενο δημιουργεί ένα έγγραφο RSS και καταγράφει το έγγραφο με έναν RSS publisher. Για να γίνεται πιο αποτελεσματικά η "διανομή" του περιεχόμενου, χρησιμοποιούνται τα λεγόμενα RSS feeds ή κανάλια, τα οποία δημιουργούνται συνήθως με τέτοιον τρόπο ώστε να καλύπτουν μια συγκεκριμένη κατηγορία θεμάτων. Ένας RSS-enabled client μπορεί έπειτα να ελέγξει το feed για νέο περιεχόμενο και αντιδράσει κατά τρόπο κατάλληλο. [11] Ένα feed είναι η πληροφορία στην οποία εγγράφεται κάποιος. Είναι το XML αρχείο από έναν ιστοχώρο στον οποίο έχει γίνει η εγγραφή. Τα feeds είναι έγγραφα που χρησιμοποιούνται για τη μεταφορά συχνά ανανεωμένου ψηφιακού περιεχομένουστους χρήστες. Αυτό ποικίλλει από στοιχεία ειδήσεων, weblog εισόδους και ουσιαστικά οποιοδήποτε περιεχόμενο που μπορεί να συσκευαστεί σε διακριτές μονάδες. Ένας aggregator είναι ένα τμήμα λογισμικού το οποίο παίρνει όλες τις XML σελίδες στις οποίες έχει γίνει εγγραφή και τις βάζει σε μια μορφή που είναι εύκολο να διαβαστεί, όλες σε μια τοποθεσία. Πρόκειται δηλαδή για ένα λογισμικό χτισμένο για να εκμεταλλευθεί τα feeds συνδυάζοντας feeds από πολλαπλές πηγές.
Τα feeds δίνουν δομημένη πληροφορία από εφαρμογές, η οποία είναι ευκολο να αναλυθεί και επαναχρησιμοποιηθεί. Οι Aggregators μειώνουν το χρόνο και την προσπάθεια που απαιτείται για τον τακτικό έλεγχο ιστοτόπων για ενημερώσεις, δημιουργώντας ένα μοναδικό χώρο πληροφοριών ή "προσωπική εφημερίδα." Όταν εγγράφεται σε ένα feed, ένας aggregator μπορεί να ελέγχει για νέο περιεχόμενο σε καθορισμένα από το χρήστη διαστήματα και να το ανακτήσει. Το περιεχόμενο περιγράφεται μερικές φορές πως γίνεται "pulled" στο συνδρομητή, σε αντιδιαστολή με το " pushed" με email ή IM. Αντίθετα από τους παραλήπτες μερικών " pushed" πληροφοριών, ο χρήστης μπορεί εύκολα να διαγραφεί από τη συνδρομή από ένα feed. Τα γνωρίσματα των aggregator ενσωματώνονται συχνά σε πύλες, σύγχρονους ξεφυλλιστές ιστού και προγράμματα ηλεκτρονικού ταχυδρομείου. 1.2.3 Είδη aaareaators Web-based: πρόκειται για εφαρμογές που βρίσκονται σε απομακρυσμένους servers και είναι διαθέσιμες σαν Web εφαρμογές όπως το Google Reader. Επειδή είναι διαθέσιμες μέσω του Ιστού, μπορεί να προσπελαστεί από οπουδήποτε με μια σύνδεση Internet. Client software: είναι εγκατεστημένες εφαρμογές σχεδιασμένες για τη συλλογή Web feed συνδρομών και την ομαδοποίησή τους σε μια φιλική προς το χρήστη διεπαφή. Το γραφικό interface τέτοιων εφαρμογών είναι αρκετά κοντά σε αυτό δημοφιλών e mail clients, Client Libraries: πολλές γλώσσες προγραμματισμού έχουν βιβλιοθήκες που έχουν τη δυνατότητα να κατεβάζουν, επεξεργάζονται, παράγουν και ανεβάζουν RSS feeds. Η Perl για παράδειγμα έχει αρκετές βιβλιοθήκες στο XML::RSS name space του CP AN. Τα RSS feeds είναι στην ουσία αρχεία RSS που περιέχουν μια λίστα αντικειμένων. Η πιο συχνή χρήση των αρχείων RSS είναι οι ειδήσεις, αλλά και οποιοδήποτε θεματικό περιεχόμενο το οποίο είναι διαθέσιμο σε μια ιστοσελίδα με αντίστροφη χρονολογικά σειρά, δηλαδή, οι νεότεροι τίτλοι να εμφανίζονται πρώτοι. Τα αρχεία RSS δεν έχουν μια κοινή επέκταση, παρόλο που συχνότερα χρησιμοποιούν μια εκ των.xml,.rss, ή.rdf. Συνήθως, το κάθε αντικείμενο σε ένα αρχείο RSS περιέχει έναν τίτλο, μια περιγραφή και έναν σύνδεσμο (link) σε μια ιστοσελίδα. Μπορεί επίσης να είναι διαθέσιμες και άλλες πληροφορίες σε κάθε αντικείμενο, όπως για παράδειγμα η ημερομηνία ή το όνομα του συγγραφέα. Η περιγραφή ενός αντικειμένου μπορεί να περιέχει όλο το άρθρο της είδησης ή απλώς ένα απόσπασμα σαν περίληψη. Ο σύνδεσμος τέλος του αντικειμένου συνήθως οδηγεί στο πλήρες περιεχόμενο της ιστοσελίδας, παρόλο που μπορεί συχνά να οδηγεί και σε ότι άλλο σύνδεσμο υπάρχει στο περιεχόμενο. Όταν μια ιστοσελίδα διαθέτει ένα RSS feed, αναφέρεται ως "syndicated". Υπάρχουν και άλλα διαθέσιμα πρωτόκολλα για syndication ιστοσελίδων, αλλά το RSS είναι με διαφορά το πλέον διαδεδομένο και με την περισσότερη υποστήριξη σήμερα. [19] Το πλεονέκτημά των feeds είναι η συγκέντρωση όλων των πηγών πληροφοριών του Web σε ένα σημείο. Δεν χρειάζεται πλέον κάποιος να επισκέπτεται διαφορετικές τοποθεσίες του Web για να αποκτήσει τις τελευταίες πληροφορίες σχετικά με τα θέματα που τον ενδιαφέρουν. Με το RSS, υπάρχει η δυνατότητα λήψης περιλήψεων του περιεχομένου και, στη συνέχεια, μπορεί να επιλέξει ποια άρθρα θέλει να διαβάσει. Επίσης είναι ένας μηχανισμός ανακοίνωσης για updates σε ένα συγκεκριμένο κανάλι περιεχομένου. Το Διαδίκτυο αποτελείται πλέον από δισεκατομμύρια σελίδες, οι οποίες περιέχουν τέτοιο πλούτο πληροφοριών που είναι σχεδόν αδύνατο για τον οποιονδήποτε να μπορεί να παρακολουθεί διαρκώς ότι νεότερο συμβαίνει στον κόσμο ή στο αντικείμενο που τον ενδιαφέρει. Εδώ έρχεται να δώσει τη λύση το RSS. Πλέον όλες οι πληροφορίες που ενδιαφέρουν έρχονται στον υπολογιστή χωρίς να χρειάζεται η επίσκεψη κάθε φορά των
σχετικών δικτυακών τόπων. Έτσι υπάρχει η δυνατότητα λήψης κατευθείαν στον υπολογιστή και ανάγνωσης τίτλων και ίσως μιας μικρής περίληψης των θεμάτων ενδιαφέροντος, (ή ακόμα και εικόνων ή βίντεο) αμέσως μόλις αυτά γίνουν διαθέσιμα ενώ χρησιμοποιώντας τον ανάλογο σύνδεσμο που υπάρχει σε κάθε αντικείμενο ενός RSS feed μπορεί κάποιος να επισκεφτεί την σχετική ιστοσελίδα και να έχει πρόσβαση σε ολόκληρο το περιεχόμενο της είδησης. Το RSS είναι ένας εναλλακτικός τρόπος ενημέρωσης για τα γεγονότα. Το περιεχόμενο RSS βασίζεται συνήθως σε κείμενο, που δημοσιεύεται από μια ποικιλία προελεύσεων, αλλά πρωταρχικά από εξόδους πολυμέσων ή από προσωπικά αρχεία καταγραφής περιεχομένου web. Τέλος παρέχουν μια ημιδομημένη έκδοση περιεχομένου. Ένα από τα σημεία κλειδιά των τεχνολογιών του Semantic Web (Το Semantic Web, σκεφτείτε το διαδίκτυο σαν μια πελώρια βάση δεδομένων όπου όλες οι βάσεις θα συνδυάζονται μεταξύ τους και θα αλληλεπιδρούν αυτόματα. Ένα δομημένο διαδίκτυο όπου όλες οι πληροφορίες θα είναι συνδεδεμένες.), είναι η ικανότητά τους να παρέχουν ένα επίπεδο αφαίρεσης κάτι που ταιριάζει ιδανικά για τις πληροφορίες που απαιτούνται στα συστήματα οργάνωσης γνώσης. Ενώ η ακριβής μορφή και δομή που παρέχονται μπορεί να διαφέρουν, η σημασιολογική περιγραφή των στοιχείων καθιστά δυνατή την κωδικοποίηση ώστε το ελλοχεύον νόημα να είναι το ίδιο. Κατά συνέπεια, εφαρμογές που χτίζονται πάνω από σημασιολογικό Ιστό μπορούν να είναι πιο ισχυρές απέναντι στις αλλαγές των δομών δεδομένων ή μπορούν να ανιχνεύσουν πότε οι δομές έχουν παραμείνει ίδιες, αλλά έχει αλλάξει η σημασιολογία. Συνήθως ένα web feed γίνεται διαθέσιμο από την ίδια οντότητα που δημιούργησε το περιεχόμενο. Τα feeds είναι διαθέσιμα για πολλές εφαρμογές αλλά σίγουρα όχι για όλες. Μερικές φορές τρίτοι διαβάζουν τον ιστοχώρο και δημιουρούν ένα feed για αυτό κάνοντας scraping. Αυτό το είδος ιδανικού σεναρίου προυποθέτει ότι οι πληροφορίες είναι σημασιολογικά χαρακτηρισμένες. Δυστυχώς στην πραγματικότητα μόνο λίγες υπηρεσίες σήμερα προσφέρουν σημασιολογικές πληροφορίες. Οι περισσότερες παρέχουν δομές δεδομένων κωδικοποιημένων σε XML, και τα ονόματα στοιχείων και ιδιοτήτων μπορεί να φέρουν κάποια σημασιολογία, αλλά συχνά αυτό είναι μόνο ένα μέρος από ότι απαιτείται. Επίσης, το RDF θα μπορούσε να εξυπηρετήσει σαν data format για κάποιο μοντέλο δεδομένων. Ωστόσο αν και η XML σύνταξη του RDF είναι ένα well-designed XML format, δεν είναι εύκολο να προσεγγιστεί με τη χρησιμοποίηση των βασικών τεχνολογιών XML και έτσι δεν μπορεί να θεωρηθεί καλός υποψήφιος ως μορφή δεδομένων. [18] Επιπλέον αν κοιτάξουμε τους ιστοτόπους που κυρίως χρησιμοποιήσαμε ως πηγές, δυστυχώς δε δίνουν ούτε όλες τις κατηγορίες που υπάρχουν (δεν είναι γεμάτες με στοιχεία), αλλά και ούτε σωστά ενημερωμένα. Εκτός αυτού, αν και έχουμε κάνει μια αντιστοίχιση των κατηγοριών που υπάρχουν στο WEP και αυτών στα δύο κύρια sites από όπου προέρχεται το υλικό μας, και πάλι δεν είναι δυνατή η εφρμογή της για τους ίδιους λόγους που ισχύουν και για την επιλογή του scraping. Επίσης τα feeds που δίνονται από τους παραπάνω ιστοτόπους δεν παρέχουν τα απαιτούμενα στοιχεία για το κάθε εργαλείο, όπως τα έχουμε θέσει στο XML σχήμα για να συμπεριληφθούν στο xml αρχείο μας. 1.3 Mashups Ένα web mashup είναι μια ιστοσελίδα ή εφαρμογή που συνδυάζει στοιχεία από δύο ή περισσότερες εξωτερικές online πηγές. Αυτές είναι συνήθως άλλοι ιστότοποι και τα δεδομένα τους μπορούν να αποκτηθούν από τον mashup developer με διάφορους τρόπους. Αντίθετα με το λογισμικό ανοικτού κώδικα, τα mashups συνήθως χρησιμοποιούν μια διεπαφή (API), η οποία αναλαμβάνει την επικοινωνία μεταξύ των διαφόρων τεχνολογιών χωρίς να γίνεται τροποποίηση στον κώδικα καμιάς από τις διεπαφές. [19]
Στην ανάπτυξη ιστοσελίδων, ένα mashup είναι μια ιστοσελίδα ή εφαρμογή που συνδυάζει δεδομένα ή λειτουργίες από δύο ή περισσότερες εξωτερικές πηγές για να δημιουργήσουμε μια νέα υπηρεσία.ο όρος σημαίνει mashup εύκολη, γρήγορη ολοκλήρωση, συχνά χρησιμοποιούν ανοικτή ΑΡΙ και πηγές δεδομένων για να παράγουν αποτελέσματα που δεν ήταν η αρχική αιτία για την παραγωγή των πρώτων δεδομένων πηγή. Ένα παράδειγμα mashup είναι η χρήση των χαρτογραφικών δεδομένων για να προσθέσετε πληροφορίες για τη θέση σε πραγματικά δεδομένα ακινήτων, δημιουργώντας έτσι μια νέα και ξεχωριστή Web API που δεν είχε προβλεφθεί αρχικά από τις δύο αυτές πηγές. Ένα API, ή Application Programming Interface, είναι ένα σύνολο λειτουργιών που ένα πρόγραμμα υπολογιστών καθιστά διαθέσιμο σε άλλα προγράμματα έτσι ώστε αυτά να μπορούν να μιλήσουν σε αυτό άμεσα. Το API είναι βασισμένα στο REST, με XML μορφής δεδομένων επιλογές και υποστηρίζει την read και write λειτουργικότητα.υπάρχουν πολλοί τύποι APIs: APIs λειτουργικών συστημάτων, APIs εφαρμογών, toolkit APIs και τώρα web site APIs. Σήμερα, τα APIs μπορούν να προσδιορίζονται από ιστοχώρους. Βασικά χαρακτηριστικά των mashups είναι: Τα συστατικά τους μπορεί να προέρχονται από εφαρμογές που έχουν αναπτυχθεί ανεξάρτητα η μία από την άλλη χωρίς να υπάρχει πρότερη γνώση της μιας για την άλλη Κάθε μια από τις εφαρμογές που συνδυάζονται μπορεί να έχει αναπτυχθεί με διαφορετικές τεχνολογίες Δε χρειάζεται κάποια ιδιαίτερα πολύπλοκη διαδικασία για την ολοκλήρωση των εφαρμογών. 1.3.1 Είδη mashups Υπάρχουν διάφορα είδη mashups τα οποία κατηγοριοποιούνται με βάση το είδος του περιεχομένου που χειρίζονται: Mashups αντιστοίχισης: Πρόκειται για τις πιο γνωστές εφαρμογές, οι οποίες χρησιμοποιούν χάρτες. Στην περίπτωση αυτή οι άνθρωποι συγκεντρώνουν περιεχόμενο για πράγματα ή δραστηριότητες το οποίο μπορεί να συνδυαστεί με τοποθεσίες πάνω σε ένα χάρτη. Οι εφαρμογές αυτές χρησιμοποιούν μια υπηρεσία παροχής χαρτών (π.χ. Google, Yahoo) συνδυάζοντας δεδομένα με σημεία πάνω στο χάρτη. Mashups βίντεο και φωτογραφίας: Σήμερα στο web υπάρχουν διάφοροι δικτυακοί τόποι που φιλοξενούν video ή φωτογραφίες για κάποιο χρήστη τα οποία μάλιστα περιέχουν και μεταδεδομένα (ποιος πήρε τη φωτογραφία, πότε και που). Αυτό έχει οδηγήσει στη δημιουργία εφαρμογών mashups οι οποίες συγκεντρώνουν τις φωτογραφίες μαζί με άλλες πληροφορίες και τις συνδυάζουν με τα μεταδεδομένα. Mashups αναζήτησης και αγοράς: Οι εφαρμογές αυτές αφορούν συγκριτικούς καταλόγους μεταξύ προϊόντων, αλλά και αναζήτηση για τους διαθέσιμους προμηθευτές. Οι εφαρμογές αυτές προϋπήρχαν των όρων "mashup" και "web 2.0" ωστόσο απέκτησαν άλλο νόημα από τότε που το Amazon και το ebay δημιούργησαν τα δικά τους APIs ώστε οποιοσδήποτε χρήστης να έχει πρόσβαση στο περιεχόμενο τους. Mashups ενημέρωσης: Διάφορες πηγές που δημοσιεύουν νέα έχουν χρησιμοποιήσει τεχνολογίες RSS και ATOM προκειμένου οι επισκέπτες τους να έχουν τα νέα στον υπολογιστή τους ή στον προσωπικό τους δικτυακό τόπο. Οι εφαρμογές αυτού του
είδους επιτρέπουν σε ένα χρήστη να συγκεντρώνει νέα από διαφορετικές πηγές προκειμένου να δημιουργήσει την προσωπική του εφημερίδα στο δίκτυο με βάση τα ενδιαφέροντά του. [18] 1.3.2 Αρχιτεκτονική των Mashup Η αρχιτεκτονική των Mashup web applications αποτελείται από τρία μέρη: παροχείς περιεχομένου (API content providers), mashup site και ο browser του χρήστη. Παροχείς περιεχομένου: Πρόκειται για τους παροχείς του περιεχομένου που πρόκειται να συνδυαστεί για τη δημιουργία της καινούριας εφαρμογής. Το περιεχόμενο είναι διαθέσιμα με διαφορετικά Web πρωτόκολλα όπως το REST, Web Services και το RSS/ATOM. Ωστόσο υπάρχουν πολλές περιπτώσεις όπου το περιεχόμενο δεν παρέχεται με κάποιο δομημένο τρόπο και πιθανές πηγές στοιχείων δεν εκθέτουν (ακόμα) τα APIs. Στις περιπτώσεις αυτές χρησιμοποιείται η τεχνική «screen scraping» κατά την οποία ο ενδιαφερόμενος προσπαθεί να αναλύσει το περιεχόμενο της σελίδας που περιέχει το περιεχόμενο. Mashup site: Πρόκειται για το δικτυακό τόπο όπου φιλοξενείται το mashup. Από τη μια πλευρά, τα mashups μπορούν να υλοποιηθούν παρόμοια με τις παραδοσιακές web εφαρμογές χρησιμοποιώντας τεχνολογίες παραγωγής server-side δυναμικού περιεχομένου όπως Java servlets, CGI, PHP ή ASP. Εναλλακτικά, το mashed περιεχόμενο μπορεί να παραχθεί απευθείας στο φυλλομετρητή του χρήστη μέσω client-side scripting ή applets. Αυτή η λογική είναι συχνά συνδυασμός κώδικα που ενσωματώνεται άμεσα στις mashup Web σελίδες όπως και scripting API βιβλιοθήκες ή applets. Τα mashups που χρησιμοποιούν αυτή την προσέγγιση μπορούν να χαρακτηριστούν rich internet applications (RIAs), που σημαίνει ότι είναι προσανατολισμένα προς την αλληλεπιδραστική εμπειρία χρήστη. Τα πλεονεκτήματα του mashing από την πλευρά του client περιλαμβάνουν λιγότερη υπερφόρτωση του mashup server (τα δεδομένα μπορούν να ανακτηθούν άμεσα από τον παροχέα περιεχομένου) και μια πιο seamless εμπειρία χρήστη (οι σελίδες μπορούν να ζητήσουν updates για τμήματα του περιεχομένου τους χωρίς να χρειάζεται refresh ολόκληρη η σελίδα). Το Google Maps API προορίζεται για πρόσβαση μέσω browser-side JavaScript, και είναι ένα παράδειγμα τέτοιας τεχνολογίας. Συχνά τα mashups χρησιμοποιούν ένα συνδυασμό server και client-side λογικής για να πετύχουν τη συνάθροιση δεδομένων. Επιπλέον, η πραγματοποίηση σύνθετων ερωτήσεων σε δεδομένα πολλαπλών πηγών απαιτεί υπολογισμό που θα ήταν αδύνατον να εκτελεστεί στον browser του χρήστη. Client web browser: αποτελεί το interface του χρήστη στο Mashup. Στο browser του χρήστη παρουσιάζεται η εφαρμογή γραφικά και είναι το σημείο όπου υπάρχει αλληλεπίδραση του χρήστη με αυτή. Τα Mashups συχνά χρησιμοποιούν client-side λογική για να συγκεντρώσουν και να συνθέσουν το mashed περιεχόμενο. [18], [19],[20]
1.3.3 Τεχνολογίες που χρησιμοποιούνται Οι παρακάτω τεχνολογίες διευκολύνουν την ανάπτυξη mashups Ajax: περιλαμβάνει διάφορες τεχνολογίες που στρέφονται γύρω από το ασύγχρονο loading και παρουσίαση περιεχομένου: 1. XHTML και CSS για παρουσίαση στυλ 2. Το Document Object Model (DOM) API exposed από τον browser για δυναμική παρουσίαση και αλληλεπίδραση 3. Ασύγχρονη ανταλλαγή δεδομένων, συνήθως XML δεδομένων 4. Browser-side scripting, κυρίως JavaScript Όταν χρησιμοποιούνται μαζί, ο στόχος αυτών των τεχνολογιών είναι να δημιουργηθεί μια ομαλή, συνεκτική Web εμπειρία για το χρήστη με την ανταλλαγή μικρών ποσοτήτων δεδομένων με τους servers περιεχομένου αντί για την επαναφόρτωση και επανυποβολή ολόκληρης της σελίδας μετά από κα'ποια ενέργεια του χρήστη. Η κατασκευή Ajax μηχανών για mashups μπορεί να γίνει από διάφορα Ajax toolkits και βιβλιοθήκες, συνήθως υλοποιημένα σε JavaScript. Πρωτόκολλα Ιστού: SOAP και REST: τόσο το SOAP όσο και το REST είναι ανεξάρτητα πλατφόρμας πρωτόκολλα για την επικοινωνία με απομακρυσμένες υπηρεσίες. Ως τμήμα του προσανατολισμένου προς τις υπηρεσίες παραδείγματος αρχιτεκτονικής, οι πελάτες μπορούν να χρησιμοποιήσουν το SOAP και το REST για να για να επικοινωνήσουν με απομακρυσμένες υπηρεσίες χωρίς να απαιτείται η γνώση της αρχιτεκτονικής ή της υλοποίησής τους. Screen scraping: η έλλειψη APIs από τους παρόχους συχνά αναγκάζει τους υπεύθυνους για την ανάπτυξη mashup να καταφύγουν στο screen scraping προκειμένου να ανακτηθούν οι πληροφορίες που επιδιώκουν. Πολλά mashups χρησιμοποιούν την τεχνολογία screen scraping απόκτηση στοιχείων, ειδικά κατά την εξαγωγή στοιχείων από δημόσιους τομείς. Semantic Web και RDF: ο σημασιολογικός Ιστός, που είναι το όραμα ότι ο υπάρχων Ιστός μπορεί να αυξηθεί για να συμπληρώσει το περιεχόμενο που σχεδιάζεται για ανθρώπους με ισοδύναμες αναγνώσιμες από μηχανές πληροφορίες. Οι οντολογίες, οι οποίες είναι ιεραρχικές δομές γνώσης μπορούν να αναζητηθούν και να αναλυθούν. RSS and ATOM: Αυτές οι τεχνολογίες syndication είναι πολύ καλές για mashups που συγκεντρώνουν περιεχόμενο βασισμένο σε γεγονότα. [18] Τα Mashups καθιστούν σχετικά εύκολη τη δημιουργία εφαρμογών που συγκεντρώνουν τα δεδομένα, τα οργανώνουν και τα παρουσιάζουν σύνφωνα με την επιθυμία του δημιουργού. Όμως οι εφαρμογές mashup είναι ακόμα στα σπάργανα. Οι υπεύθυνοι για την ανάπτυξη μπορεί να μην γνωρίζουν για ζητήματα όπως η ασφάλεια. Επιπλέον, οι προμηθευτές περιεχομένου σιγά σιγά αρχίζουν να βλέπουν την αξία στην παροχή APIs για βασισμένη σε μηχανές πρόσβαση περιεχομένου, και πολλοί δεν τα θεωρούν άξια εστίασης. Τα Mashups είναι βεβαίως ένα συναρπαστικό νέο είδος εφαρμογών Ιστού. Ο συνδυασμός τεχνολογιών διαμόρφωσης στοιχείων που προέρχονται από τη σημασιολογική περιοχή Ιστού και η ωριμότητα χαλαρά συνδεμένων, service-oriented, ανεξάρτητων πλατφόρμας πρωτοκόλλων επικοινωνίας παρέχει τελικά την υποδομή που απαιτείται για να αρχίσει η ανάπτυξη
εφαρμογών που μπορούν να επηρρεάσουν και να ενσωματώσουν το μεγάλο ποσό πληροφοριών που είναι διαθέσιμο στον Ιστό. [21] 1.4 Συμπεράσματα Μια από τις πιο ενδιαφέρουσες προκλήσεις για τη γνώση είναι ότι αλλάζει συνεχώς, και ότι οποιαδήποτε διαμόρφωση της γνώσης και των γεγονότων θα είναι σε κάποιο χρονικό σημείο ξεπερασμένη. Αυτό ήταν πάντα και είναι ακόμα μια τεράστια πρόκληση για την κοινότητα διαμόρφωσης γνώσης, και σχεδόν σε όλα τα συστήματα που χρησιμοποιούν τις τεχνικές οργάνωσης γνώσης, μια στατική οντολογία υποτίθεται. Η ειδοποιός διαφορά είναι ότι οι νέες υπηρεσίες παρέχουν στο χρήστη μια εμπειρία που πλησιάζει περισσότερο σε αυτή που έχει όταν εργάζεται στον προσωπικό του υπολογιστή. Με άλλα λόγια, οι εφαρμογές του Web2.0. μοιάζουν με τις εφαρμογές desktop. Επιπλέον, οι νέοι δικτυακοί τόποι είναι κατά κανόνα «δυναμικοί» και περισσότερο αλληλεπιδραστικοί, διαφέροντας από το «στατικό» Web1.0. Παρά τον τρέχοντα θόρυβο γύρω από το Web 2.0, η απόλυτη πλειοψηφία των ιστοσελίδων είναι ακόμα πολύ Web 1.0: Αναμιγνύουν την παρουσίαση με το περιεχόμενο. Αυτό κάνει δύσκολο ή αδύνατο για έναν υπολογιστή να εξάγει τα σημαντικά από τα υπόλοιπα στοιχεία που χρησιμοποιούνται για τη μορφοποίηση, το διάστημα, τη διακόσμηση ή την πλοήγηση. Για να θεραπεύσουν αυτό το πρόβλημα, μερικοί ιστότοποι παρέχουν πρόσβαση στο περιεχόμενό τους κατευθείαν μέσω APIs (συνήθως μέσω web services), το οποίο μας επιτρέπει προγραμματιστικά το read και write δεδομένων. Ωστόσο στην πράξη σήμερα αυτό περιορίζεται σε μερικά μεγάλα sites, και κάποια από αυτά δεν είναι καν ελεύθερα ή δημόσια. Σε έναν ιδανικό Web 2.0 κόσμο, όπου ο διαμοιρασμός στοιχείων και η διαλειτουργικότητα είναι μια από τις βασικές αρχές, αυτό πρέπει να αλλάξει σύντομα. Στη δική μας περίπτωση στοχεύοντας σε ένα «εξωστρεφές WEP» ερευνούμε τις δυνατότητες συλλογής ετερογενών πληροφοριών σε ένα συγκεκριμένο φορμάτ. Μελετήσαμε τρόπους συλλογής πληροφορίας όπως το Webscraping, mashups και RSS feeders. Όσον αφορά τα mashups παρά τις δυνατότητες που ευαγγελίζονται το βασικό πρόβλημα έγκειται στο γεγονός ότι δεν πρόκειται για μια ώριμη τεχνολογία για τους λόγους που αναφέρθηκαν και κατά συνέπεια δεν μπορεί προς το παρόν να αποτελέσει αξιόπιστη λύση στην περίπτωσή μας. Περνώντας στο RSS, αν και παρέχει ένα standard format για την έκθεση των δεδομένων ενός ιστοτόπου με ένα δομημένο τρόπο, το RSS feed ακόμα μπορεί μόνο να δημοσιεύει ένα υποσύνολο των διαθέσιμων δεδομένων και δεν είναι πάντα well formed. Το Screen scraping, το οποίο λαμβάνει υπόψη γνώση για το layout μιας ιστοσελίδας προκειμένου να πάρει ακριβώς τα απαιτούμενα δεδομένα, μπορεί να είναι πολύ χρήσιμο, αλλά έχει τα ίδια προβλήματα και επιπλέον εξαρτάται από τη δομή του συγκεκριμένου ιστοτόπου τη συγκεκριμένη στιγμή, αποτελώντας λύση μόνο σε περίπτωση αδυναμίας εφαμογής των παραπάνω. Επιπλέον όσον αφορά στους συγκεκριμένους ιστοτόπους που κυρίως χρησιμοποιήσαμε ως πηγές, δυστυχώς δε δίνουν ούτε όλες τις κατηγορίες που υπάρχουν, ούτε είναι σωστά ενημερωμένοι. Εκτός αυτού αν και έχουμε κάνει μια αντιστοίχιση των κατηγοριών που υπάρχουν στο WEP και αυτών στα δύο κύρια sites από τα οποία αντλούμε σε μεγάλο βαθμό το υλικό, αυτή δεν μπορεί να εφαρμοστεί σε όλες τις περιπτώσεις. Τέλος η μέθοδός μας πρέπει να δίνει ένα γενικό τρόπο που να μπορεί να εφαρμοστεί και για άλλα sites όχι μόνο download και tucows. Λαμβάνοντας υπόψη τις παραπάνω διαπιστώσεις η πορεία προς μια αυτοματοποίηση της διαδικασίας παρουσιάζει πολλά προβλήματα κατά την υιοθέτηση και των τριών πρακτικών. Μένει, λοιπόν, στους επόμενους με σύμμαχο τη διαρκή εξέλιξη στο χώρο η καλύτερη επίλυση του ζητήματος αυτού. Επίσης στο μέλλον θα μπορούσε να συσταθεί και μια ομάδα