Περίληψη
Η περιοχή της Υπηρεσιοστρεφούς Υπολογιστικής (Service-Oriented Computing) αναδύθηκε ως ένα υπολογιστικό μοντέλο για τον σχεδιασμό και την κατασκευή κατανεμημένων συστημάτων. Σε αυτό το μοντέλο, τα δομοστοιχεία λογισμικού παρέχουν και καταναλώνουν υπηρεσίες, οι οποίες εκτίθενται μέσω διεπαφών. Η καθιερωμένη προσέγγιση για τον σχεδιασμό διεπαφών υπηρεσιών στην υπηρεσιοστρεφή υπολογιστική ακολουθεί το υπόδειγμα προσανατολισμένο σε διαδικασίες (ΠΣΔ) (procedure-oriented paradigm), στο οποίο οι δυνατότητες μιας υπηρεσίας αναλύονται και εκτίθενται ως συλλογές σχετιζόμενων λειτουργιών που μπορούν να κληθούν, ακολουθώντας το παραδοσιακό μοντέλο πρόσβασης απομακρυσμένων κλήσεων διαδικασιών. Παρόλα αυτά, κατά τη διάρκεια των τελευταίων ετών έχουμε γίνει μάρτυρες μια στροφής σε ό,τι αφορά τα υποδείγματα προγραμματιστικών μοντέλων και των αρχιτεκτονικών στυλ που χρησιμοποιούνται για τον σχεδιασμό και την υλοποίηση μεγάλης κλίμακας υπηρεσιοστρεφών συστημάτων. Αυτή η στροφή αποδίδεται στην υιοθέτηση ...
Η περιοχή της Υπηρεσιοστρεφούς Υπολογιστικής (Service-Oriented Computing) αναδύθηκε ως ένα υπολογιστικό μοντέλο για τον σχεδιασμό και την κατασκευή κατανεμημένων συστημάτων. Σε αυτό το μοντέλο, τα δομοστοιχεία λογισμικού παρέχουν και καταναλώνουν υπηρεσίες, οι οποίες εκτίθενται μέσω διεπαφών. Η καθιερωμένη προσέγγιση για τον σχεδιασμό διεπαφών υπηρεσιών στην υπηρεσιοστρεφή υπολογιστική ακολουθεί το υπόδειγμα προσανατολισμένο σε διαδικασίες (ΠΣΔ) (procedure-oriented paradigm), στο οποίο οι δυνατότητες μιας υπηρεσίας αναλύονται και εκτίθενται ως συλλογές σχετιζόμενων λειτουργιών που μπορούν να κληθούν, ακολουθώντας το παραδοσιακό μοντέλο πρόσβασης απομακρυσμένων κλήσεων διαδικασιών. Παρόλα αυτά, κατά τη διάρκεια των τελευταίων ετών έχουμε γίνει μάρτυρες μια στροφής σε ό,τι αφορά τα υποδείγματα προγραμματιστικών μοντέλων και των αρχιτεκτονικών στυλ που χρησιμοποιούνται για τον σχεδιασμό και την υλοποίηση μεγάλης κλίμακας υπηρεσιοστρεφών συστημάτων. Αυτή η στροφή αποδίδεται στην υιοθέτηση του υποδείγματος προσανατολισμένου σε πόρους (ΠΣΠ) (resource-oriented paradigm) το οποίο είναι εμπνευσμένο από αρχιτεκτονικές προσεγγίσεις και ιδιότητες συναφείς με τον Παγκόσμιο Ιστό. Το σχεδιαστικό υπόδειγμα ΠΣΠ στοχεύει στη βελτίωση της διαλειτουργικότητας, στην απλότητα μέσω της ομοιομορφίας, στην ενίσχυση των δυνατοτήτων κλιμάκωσης, στη μείωση της σύζευξης μεταξύ των δομοστοιχείων και στον περιορισμό της εξάρτησης από μεταβαλλόμενα τεχνολογικά πρότυπα. Ως αποτέλεσμα, το αρχιτεκτονικό στυλ Representational State Transfer (REST), το οποίο επιβάλει τον προσανατολισμό σε πόρους στην αρχιτεκτονική του Παγκόσμιου Ιστού, έλαβε σημαντική προσοχή από την κοινότητα των μηχανικών υπηρεσιών, καθώς στοχεύει στην αποδοτική γεφύρωση των συστημάτων επιχειρηματικού λογισμικού και του Παγκόσμιου Ιστού. Τα τελευταία χρόνια, στην περιοχή της Τεχνολογίας Λογισμικού λαμβάνει χώρα μια ανοιχτή δημόσια συζήτηση η οποία εστιάζει στους τρόπους ορθής εφαρμογής του REST τόσο σε ό,τι αφορά στην ανάπτυξη νέων επιχειρηματικών συστημάτων, όσο και στην προσαρμογή υφιστάμενων συστημάτων υπηρεσιών, έτσι ώστε οι πάροχοι υπηρεσιών να προσφέρουν τις δυνατότητες των υπηρεσιών τους μέσω επιπρόσθετων διεπαφών και συγκεκριμένα διεπαφών προσανατολισμένων σε πόρους. Επιπλέον, η συνύπαρξη υπηρεσιών ΠΣΔ και υπηρεσιών ΠΣΠ σε επιχειρηματικά περιβάλλοντα λογισμικού, εισάγει έναν αριθμό νέων προκλήσεων συναφών με την ανάπτυξη και την εξέλιξη υπηρεσιοστρεφών εφαρμογών που διαθέτουν διττές διεπαφές. Στην παρούσα διατριβή, μελετάμε δύο κύρια προβλήματα. Το πρώτο πρόβλημα αφορά σε ζητήματα και προκλήσεις που σχετίζονται με την προσαρμογή υπηρεσιών ΠΣΔ σε RESTful αρχιτεκτονικές. Για τον σκοπό αυτό, προτείνουμε μια διαδικασία κι ένα περιβάλλον-πλαίσιο το οποίο επιτρέπει την μοντελοποίηση, την ανάλυση και τον μετασχηματισμό διεπαφών ΠΣΔ έτσι ώστε να προσδιοριστούν αντίστοιχες διεπαφές ΠΣΠ. Το δεύτερο πρόβλημα αφορά στην ευθυγραμμία μεταξύ διεπαφών ΠΣΔ και διεπαφών ΠΣΠ. Πιο συγκεκριμένα, μελετάμε πως τα δύο υποδείγματα σχετίζονται εννοιολογικά και αρχιτεκτονικά και προτείνουμε μια μέθοδο κι ένα περιβάλλον-πλαίσιο για την εξέταση της υποκαταστασιμότητας μεταξύ υπηρεσιών που παρέχουν παρόμοια λειτουργικότητα αλλά εκτίθενται μέσω διαφορετικών σχεδιαστικών υποδειγμάτων διεπαφών. Η λύση σε αυτά τα προβλήματα είναι σημαντική καθώς, πρώτον, επιτρέπει την μεθοδολογική ανάλυση της σχέσης του προσανατολισμού σε διαδικασίες και του προσανατολισμού σε πόρους, δεύτερον, επιτρέπει τον σχεδιασμό και την υλοποίηση περιβαλλόντων-πλαισίων τα οποία μπορούν να χρησιμοποιηθούν για να παρέχουν δυνατότητες υπηρεσιών μέσω διττών διεπαφών και τρίτον, επιτρέπει τη συνεπή συνεξέλιξη υπηρεσιών διττών διεπαφών ως προς την οπτική του παρόχου υπηρεσιών και την επικύρωση της υποκαταστασιμότητας υπό την οπτική του καταναλωτή υπηρεσιών, όταν απαιτείται η εξέταση εναλλακτικών υπηρεσιών. Οι προσεγγίσεις και τα περιβάλλοντα-πλαίσια που προτείνονται αξιολογούνται μέσω μιας σειράς πειραμάτων και περιπτωσιολογικών μελετών. Τα αποτελέσματα αυτών δείχνουν ότι οι προτεινόμενες προσεγγίσεις είναι αποτελεσματικές, ότι μπορούν να χρησιμοποιηθούν για την ανάπτυξη προσαρμογέων υποδειγμάτων διεπαφών που λειτουργούν κατά το χρόνο εκτέλεσης κι ότι μπορούν να παρέχουν μια μέθοδο για την αποδοτική αποτίμηση της υποκαταστασιμότητας και της ευθυγραμμίας μεταξύ διιστάμενων, σχετικά με το ακολουθούμενο υπόδειγμα σχεδιασμού, διεπαφών υπηρεσιών.
περισσότερα
Περίληψη σε άλλη γλώσσα
The area of Service-Oriented Computing (SOC) has emerged as a computing paradigm for designing and constructing distributed systems. In this paradigm, software components provide and consume services, exposed through service interfaces. The de facto approach for service interface design in service-oriented computing follows a procedure-oriented paradigm, where service capabilities are decomposed and exposed as collections of related service operations, which can be invoked using a traditional remote procedure call (RPC) type of access. However, over the past few years we have witnessed a paradigm shift on the programming models and the architectural styles that have been used to design and implement large-scale service-oriented systems. This paradigm shift is attributed to the adoption of the resource-oriented service design paradigm, which is inspired by architectural approaches and properties pertinent to the World Wide Web. Such resource-oriented design paradigm aims for enhancing i ...
The area of Service-Oriented Computing (SOC) has emerged as a computing paradigm for designing and constructing distributed systems. In this paradigm, software components provide and consume services, exposed through service interfaces. The de facto approach for service interface design in service-oriented computing follows a procedure-oriented paradigm, where service capabilities are decomposed and exposed as collections of related service operations, which can be invoked using a traditional remote procedure call (RPC) type of access. However, over the past few years we have witnessed a paradigm shift on the programming models and the architectural styles that have been used to design and implement large-scale service-oriented systems. This paradigm shift is attributed to the adoption of the resource-oriented service design paradigm, which is inspired by architectural approaches and properties pertinent to the World Wide Web. Such resource-oriented design paradigm aims for enhancing interoperability and simplicity through uniformity, improving scalability, allowing for loose coupling and limiting dependence on shifting technology standards. As a result, the Representational State Transfer (REST), which has been proposed as an architectural style that establishes the resource-oriented nature of the Web's architecture, gained considerable attention in the service engineering community, since it aims for an efficient bridging of enterprise software systems and the Web. An open debate and discussion in the software engineering community focuses on how to properly apply REST not only for the development of new enterprise systems but also, for the adaptation of existing service-oriented systems so that service providers can offer their service capabilities also through resource-oriented interfaces. Furthermore, the co-existence of procedure-oriented services and resource-oriented services in enterprise environments, introduces a number of new challenges pertaining to developing, maintaining and evolving dual interface service-oriented applications. In this dissertation, we investigate two main problems. The first problem deals with issues and challenges related to the adaptation of procedure-oriented service systems to RESTful architectures. For this purpose, we propose a process and a framework, which allow for the analysis, modeling, extraction, and transformation of procedure-oriented interface models in order to identify and yield corresponding resource-oriented interfaces. The second problem deals with the alignment of procedure-oriented and resource-oriented service interfaces. More specifically, we examine how the two paradigms are related conceptually and architecturally, and we propose a method and a framework for deciding substitutability between services that offer similar functionality but are exposed through different interface paradigms (paradigm-divergent interfaces). The solution to these problems is important as first, it allows for a methodological analysis of how procedure-orientation and resource-orientation relate to each other, second, it allows for the design and implementation of run-time frameworks that can be used to offer service capabilities in dual interfaces and third, it allows for the provider-side consistent co-evolution of dual service interfaces and for the consumer-side substitution validation when alternative services need to be considered. The proposed approaches and frameworks are evaluated through a series of experiments and case studies. The results indicate that the proposed approaches are tractable, can be used to develop run-time procedure-oriented to resource-oriented interface adapters, and provide a method to efficiently assess substitutability and alignment of paradigm-divergent service interfaces.
περισσότερα