Popis: |
Η περιοχή της Υπηρεσιοστρεφούς Υπολογιστικής (Service-Oriented Computing) αναδύθηκε ως ένα υπολογιστικό μοντέλο για τον σχεδιασμό και την κατασκευή κατανεμημένων συστημάτων. Σε αυτό το μοντέλο, τα δομοστοιχεία λογισμικού παρέχουν και καταναλώνουν υπηρεσίες, οι οποίες εκτίθενται μέσω διεπαφών. Η καθιερωμένη προσέγγιση για τον σχεδιασμό διεπαφών υπηρεσιών στην υπηρεσιοστρεφή υπολογιστική ακολουθεί το υπόδειγμα προσανατολισμένο σε διαδικασίες (ΠΣΔ) (procedure-oriented paradigm), στο οποίο οι δυνατότητες μιας υπηρεσίας αναλύονται και εκτίθενται ως συλλογές σχετιζόμενων λειτουργιών που μπορούν να κληθούν, ακολουθώντας το παραδοσιακό μοντέλο πρόσβασης απομακρυσμένων κλήσεων διαδικασιών. Παρόλα αυτά, κατά τη διάρκεια των τελευταίων ετών έχουμε γίνει μάρτυρες μια στροφής σε ό,τι αφορά τα υποδείγματα προγραμματιστικών μοντέλων και των αρχιτεκτονικών στυλ που χρησιμοποιούνται για τον σχεδιασμό και την υλοποίηση μεγάλης κλίμακας υπηρεσιοστρεφών συστημάτων. Αυτή η στροφή αποδίδεται στην υιοθέτηση του υποδείγματος προσανατολισμένου σε πόρους (ΠΣΠ) (resource-oriented paradigm) το οποίο είναι εμπνευσμένο από αρχιτεκτονικές προσεγγίσεις και ιδιότητες συναφείς με τον Παγκόσμιο Ιστό. Το σχεδιαστικό υπόδειγμα ΠΣΠ στοχεύει στη βελτίωση της διαλειτουργικότητας, στην απλότητα μέσω της ομοιομορφίας, στην ενίσχυση των δυνατοτήτων κλιμάκωσης, στη μείωση της σύζευξης μεταξύ των δομοστοιχείων και στον περιορισμό της εξάρτησης από μεταβαλλόμενα τεχνολογικά πρότυπα. Ως αποτέλεσμα, το αρχιτεκτονικό στυλ Representational State Transfer (REST), το οποίο επιβάλει τον προσανατολισμό σε πόρους στην αρχιτεκτονική του Παγκόσμιου Ιστού, έλαβε σημαντική προσοχή από την κοινότητα των μηχανικών υπηρεσιών, καθώς στοχεύει στην αποδοτική γεφύρωση των συστημάτων επιχειρηματικού λογισμικού και του Παγκόσμιου Ιστού. Τα τελευταία χρόνια, στην περιοχή της Τεχνολογίας Λογισμικού λαμβάνει χώρα μια ανοιχτή δημόσια συζήτηση η οποία εστιάζει στους τρόπους ορθής εφαρμογής του REST τόσο σε ό,τι αφορά στην ανάπτυξη νέων επιχειρηματικών συστημάτων, όσο και στην προσαρμογή υφιστάμενων συστημάτων υπηρεσιών, έτσι ώστε οι πάροχοι υπηρεσιών να προσφέρουν τις δυνατότητες των υπηρεσιών τους μέσω επιπρόσθετων διεπαφών και συγκεκριμένα διεπαφών προσανατολισμένων σε πόρους. Επιπλέον, η συνύπαρξη υπηρεσιών ΠΣΔ και υπηρεσιών ΠΣΠ σε επιχειρηματικά περιβάλλοντα λογισμικού, εισάγει έναν αριθμό νέων προκλήσεων συναφών με την ανάπτυξη και την εξέλιξη υπηρεσιοστρεφών εφαρμογών που διαθέτουν διττές διεπαφές. Στην παρούσα διατριβή, μελετάμε δύο κύρια προβλήματα. Το πρώτο πρόβλημα αφορά σε ζητήματα και προκλήσεις που σχετίζονται με την προσαρμογή υπηρεσιών ΠΣΔ σε RESTful αρχιτεκτονικές. Για τον σκοπό αυτό, προτείνουμε μια διαδικασία κι ένα περιβάλλον-πλαίσιο το οποίο επιτρέπει την μοντελοποίηση, την ανάλυση και τον μετασχηματισμό διεπαφών ΠΣΔ έτσι ώστε να προσδιοριστούν αντίστοιχες διεπαφές ΠΣΠ. Το δεύτερο πρόβλημα αφορά στην ευθυγραμμία μεταξύ διεπαφών ΠΣΔ και διεπαφών ΠΣΠ. Πιο συγκεκριμένα, μελετάμε πως τα δύο υποδείγματα σχετίζονται εννοιολογικά και αρχιτεκτονικά και προτείνουμε μια μέθοδο κι ένα περιβάλλον-πλαίσιο για την εξέταση της υποκαταστασιμότητας μεταξύ υπηρεσιών που παρέχουν παρόμοια λειτουργικότητα αλλά εκτίθενται μέσω διαφορετικών σχεδιαστικών υποδειγμάτων διεπαφών. Η λύση σε αυτά τα προβλήματα είναι σημαντική καθώς, πρώτον, επιτρέπει την μεθοδολογική ανάλυση της σχέσης του προσανατολισμού σε διαδικασίες και του προσανατολισμού σε πόρους, δεύτερον, επιτρέπει τον σχεδιασμό και την υλοποίηση περιβαλλόντων-πλαισίων τα οποία μπορούν να χρησιμοποιηθούν για να παρέχουν δυνατότητες υπηρεσιών μέσω διττών διεπαφών και τρίτον, επιτρέπει τη συνεπή συνεξέλιξη υπηρεσιών διττών διεπαφών ως προς την οπτική του παρόχου υπηρεσιών και την επικύρωση της υποκαταστασιμότητας υπό την οπτική του καταναλωτή υπηρεσιών, όταν απαιτείται η εξέταση εναλλακτικών υπηρεσιών. Οι προσεγγίσεις και τα περιβάλλοντα-πλαίσια που προτείνονται αξιολογούνται μέσω μιας σειράς πειραμάτων και περιπτωσιολογικών μελετών. Τα αποτελέσματα αυτών δείχνουν ότι οι προτεινόμενες προσεγγίσεις είναι αποτελεσματικές, ότι μπορούν να χρησιμοποιηθούν για την ανάπτυξη προσαρμογέων υποδειγμάτων διεπαφών που λειτουργούν κατά το χρόνο εκτέλεσης κι ότι μπορούν να παρέχουν μια μέθοδο για την αποδοτική αποτίμηση της υποκαταστασιμότητας και της ευθυγραμμίας μεταξύ διιστάμενων, σχετικά με το ακολουθούμενο υπόδειγμα σχεδιασμού, διεπαφών υπηρεσιών. |