Το έργο με τίτλο Υπηρεσίες εκδότη και συνδρομητή σε εφαρμογές διαδικτύου: Μια συγκριτική μελέτη από τον/τους δημιουργό/ούς Lazidis Apostolos διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού 4.0 Διεθνές
Βιβλιογραφική Αναφορά
Απόστολος Λαζίδης, "Υπηρεσίες εκδότη και συνδρομητή σε εφαρμογές διαδικτύου: Μια συγκριτική μελέτη ", Διπλωματική Εργασία, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2021
https://doi.org/10.26233/heallink.tuc.89445
Η υπηρεσία "Εκδότη - Συνδρομητή" (Publish - Subscribe) έχει σχεδιαστεί για να διευκολύνει την επικοινωνία μεταξύ εφαρμογών ή χρηστών με εφαρμογές στο Διαδίκτυο. Η υπηρεσία σχεδιάζεται και αναπτύσσεται ως Υπηρεσιοκεντρική Αρχιτεκτονική που αποτελείται από τρεις επιμέρους υπηρεσίες. Τον εκδότη, τον συνδρομητή και τον διαμεσολαβητή. Ο εκδότης είναι η υπηρεσία η οποία στέλνει μηνύματα, ενώ ο συνδρομητής είναι η υπηρεσία που τα λαμβάνει. Ένα σύστημα Εκδότη - Συνδρομητή μπορεί να υποστηρίζει επιμέρους υπηρεσίες. Αυτές είναι ένας διαμεσολαβητής, μια υπηρεσία για τη δημοσίευση μηνυμάτων, υπηρεσίες εγγραφής και απεγγραφής των συνδρομητών και μια υπηρεσία για αυτόματη ενημέρωση σε περίπτωση εγγραφής. Παρόλο αυτά, ένα σύστημα Εκδότη - Συνδρομητή μπορεί να αποτελείται και από άλλες υπηρεσίες και μπορεί να προσφέρει επιπλέον λειτουργίες. Για παράδειγμα, ένα σύστημα μπορεί να διαθέτει ουρές, αρχεία καταγραφής ή βάσεις δεδομένων για την αποθήκευση των μηνυμάτων. Επίσης, μπορεί να διαθέτει υπηρεσίες αναπαραγωγής των μηνυμάτων, υπηρεσίες για τη διαχείριση των συνδεδεμένων δεδομένων, υπηρεσίες “ομοσπονδιών” (federation), υπηρεσίες ασφαλείας, υπηρεσίες για την επεξεργασία μηνυμάτων σε πραγματικό χρόνο κλπ. Ακόμη, ορίζει τη μορφή κωδικοποίησης για τα μηνύματα που θα δέχεται, το πρωτόκολλο με το οποίο θα επικοινωνούν οι εκδότες και οι συνδρομητές, το τρόπο με τον οποίο θα δέχονται οι συνδρομητές τα μηνύματα (Push-Pull model) κ.α. Τα συστήματα Εκδότη - Συνδρομητή διαφέρουν μεταξύ τους γιατί δεν υποστηρίζουν όλες τις παραπάνω υπηρεσίες και λειτουργίες. Επιπλέον, κάποιες από αυτές είναι προαιρετικές και στην επιλογή του χρήστη αν θα τις χρησιμοποιήσει. Τα συστήματα που μελετήθηκαν είναι το Orion-LD Context Broker, Scorpio Context Broker, Stellio Context Broker, Apache Kafka, RabbitMQ, Pushpin και Faye. Η παρούσα εργασία έχει ως στόχο να βοηθήσει στην επιλογή του κατάλληλου συστήματος Εκδότη - Συνδρομητή. Προκειμένου να επιτευχθεί αυτό, γίνεται μια σύγκριση της προσφερόμενης λειτουργικότητας κάθε συστήματος (υπηρεσίες και λειτουργίες) και εξετάζεται για κάθε σύστημα Εκδότη - Συνδρομητή ο χρόνος απόκρισης και η δυνατότητα κλιμάκωσης κάτω από συγκεκριμένες παραμέτρους. Όλα τα συστήματα έχουν υλοποιηθεί και η απόδοσή τους έχει μετρηθεί σε συνθήκες κορεσμού δηλαδή τα συστήματα δέχονται χιλιάδες μηνύματα, πολλά από τα οποία εκτελούνται παράλληλα. Τέλος, δίνονται κάποια σενάρια με κριτήρια που σχετίζονται με τις ανάγκες του χρήστη ή τις προδιαγραφές της εφαρμογής.