Η Δημοσίευση / Συνδρομή αποτελεί ένα σχήμα αλληλεπίδρασης μεταξύ δύο οντοτήτων, τους εκδότες (publishers), που δημοσιοποιούν ένα αντικείμενο, και τους συνδρομητές (subscribers), που γίνονται συνδρομητές σε δημοσιοποιημένα αντικείμενα. Πιο συγκεκριμένα, το σχήμα της Δημοσίευσης / Συνδρομής παρέχει στους συνδρομητές την δυνατότητα να εκφράσουν το ενδιαφέρον τους για ένα γεγονός ή ένα πρότυπο γεγονότων έτσι ώστε να ειδοποιηθούν στη συνέχεια για κάποιο γεγονός, που έχει παραχθεί από έναν εκδότη, το οποίο ταιριάζει με το καταχωρημένο ενδιαφέρον τους. Με άλλα λόγια, οι παραγωγοί (δηλαδή οι εκδότες) δημοσιοποιούν πληροφορίες σε έναν υπεύθυνο γεγονότων (event manager) -- ένα κομμάτι λογισμικού / εφαρμογής στο διαδίκτυο -- και οι καταναλωτές (δηλαδή οι συνδρομητές) γίνονται συνδρομητές σε πληροφορίες που επιθυμούν να λάβουν από τον υπεύθυνο γεγονότων. Τυπικά, οι πληροφορίες δηλώνονται με τον όρο γεγονός και η πράξη της παράδοσής τους με τον όρο ειδοποίηση [28].
Το βασικό μοντέλο συστήματος για μία αλληλεπίδραση δημοσίευσης / συνδρομής (Σχήμα 2.10) βασίζεται σε μία υπηρεσία ειδοποίησης γεγονότων (event notification service) παρέχοντας αποθήκευση και διαχείριση των συνδρομών και της αποδοτικής παράδοσης των γεγονότων. Μία τέτοια υπηρεσία αναπαριστά ένα φυσικό διαμεσολαβητή μεταξύ των εκδοτών, δρώντας ως παραγωγός γεγονότων, και των συνδρομητών, δρώντας ως καταναλωτής γεγονότων. Οι συνδρομητές καταχωρούν το ενδιαφέρον τους σε γεγονότα με την κλήση της λειτουργίας που προσφέρει η υπηρεσία ειδοποίησης γεγονότων, χωρίς να γνωρίζουν τις πηγές των γεγονότων αυτών. Η συνδρομή ως πληροφορία αποθηκεύεται στην υπηρεσία, ενώ δεν προωθείται ούτε γίνεται γνωστή στους εκδότες. Η συμμετρική λειτουργία της συνδρομής, η τερματίζει μία συνδρομή.
Για την παραγωγή ενός γεγονότος, ένας εκδότης καλεί την λειτουργία που προσφέρει η υπηρεσία γεγονότων. Στη συνέχεια, η υπηρεσία διαδίδει το γεγονός στους σχετιζόμενους συνδρομητές· έτσι μπορεί να δρα ως πληρεξούσιος των συνδρομητών. Κάθε συνδρομητής θα ειδοποιηθεί για εκείνα τα γεγονότα που ταιριάζουν στις καταχωρημένες προτιμήσεις του. Επίσης, οι εκδότες έχουν τη δυνατότητα να διαφημίσουν ένα γεγονός πριν την δημοσιοποίησή του καλώντας την λειτουργία . Αυτή η λειτουργία είναι χρήσιμη, διότι δίνει τη δυνατότητα:
Η αρχιτεκτονική του συστήματος LibraRing προσφέρει μόνο τις δύο βασικές λειτουργίες, , , όμως είναι εύκολο να επεκταθεί και με τις λειτουργίες που παρουσιάστηκαν παραπάνω.
Αυτή η υπηρεσία διαχείρισης γεγονότων απλοποιεί την διαδικασία επικοινωνίας μεταξύ των εκδοτών και των συνδρομητών ένα χαρακτηριστικό το οποίο είναι γνωστό με τον όρο αποσύνδεση (decoupling). Η αποσύνδεση που προσφέρει αυτή η υπηρεσία μπορεί να αποσυντεθεί σε τρεις διαστάσεις:
|
Αποσυνδέοντας την παραγωγή και την κατανάλωση των πληροφοριών αυτό που πετυχαίνεται είναι η αύξηση της κλιμάκωσης του συστήματος λόγω της αφαίρεσης των ρητών εξαρτήσεων μεταξύ των συμμετεχόντων στην αλληλεπίδραση.