ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ Διδακτορική Διατριβή H Υπηρεσιοστραφής Αρχιτεκτονική (Service Oriented Architecture) και η Εφαρμογή της για τον Σχεδιασμό και Ανάπτυξη Προσβάσιμων Επιχειρησιακών Συστημάτων Βότης Β. Κωνσταντίνος Επιβλέπων καθηγητής κ. Σπυρίδων Λυκοθανάσης, Καθηγητής ΙΟΥΝΙΟΣ 2011
Πρόλογος Πρόλογος Η παρούσα διδακτορική διατριβή εκπονήθηκε στο Εργαστήριο Αναγνώρισης Προτύπων του Τμήματος Μηχανικών Η/Υ και Πληροφορικής του Πανεπιστημίου Πατρών καθώς και στο Ινστιτούτο Πληροφορικής και Τηλεματικής του Εθνικού Κέντρου Έρευνας και Τεχνολογικής Ανάπτυξης. Το αντικείμενο που πραγματεύεται είναι η χρήση τεχνικών και τεχνολογιών υπηρεσιοστραφούς αρχιτεκτονικής και σημασιολογικού ιστού περιλαμβάνοντας κανόνες σημασιολογίας και κατανεμημένου λογισμικού για την κάθετη ολοκλήρωση και ανάπτυξη προσβάσιμων επιχειρησιακών συστημάτων. Επομένως, η παρούσα διατριβή εστιάζει αφενός με την ολοκλήρωση ετερογενών συστημάτων μέσω της χρήσης μεθόδων και τεχνικών σημασιολογικής ολοκλήρωσης και υπηρεσιοστραφούς αρχιτεκτονικής και αφετέρου με την εισαγωγή μιας πρωτότυπης μεθοδολογίας για την ολοκλήρωση προτύπων και τεχνικών προσβασιμότητας προκειμένου να παραχθούν προσβάσιμα διαδικτυακά συστήματα για άτομα με κάθε μορφής αναπηρία. Μέρος της διατριβής αυτή έγινε στα πλαίσια του FP7 Ερευνητικού Προγράμματος με τίτλο Accessibility Assessment Simulation Environment for New Applications Design and Development (ACCESSIBLE) καθώς και στα πλαίσια σχετικών συμβάσεων με την Νομαρχιακή Αυτοδιοίκηση Αχαΐας.
Ευχαριστίες Ευχαριστίες Στο σημείο αυτό θα ήθελα να ευχαριστήσω, όλους όσους µε βοήθησαν να φέρω σε πέρας την παρούσα εργασία. Πρώτα από όλα θα ήθελα να ευχαριστήσω θερμά τον επόπτη καθηγητή µου κ. Σπυρίδων Λυκοθανάση για την πολύτιµη βοήθεια, και συμπαράσταση που µου προσέφερε όλα αυτά τα χρόνια που τον γνωρίζω. Έτσι νοιώθω υποχρεωμένος να του εκφράσω την ευγνωμοσύνη μου για την άψογη συνεργασία την οποία είχαμε μέχρι στιγμής. Τα μέλη της επταμελούς εξεταστικής επιτροπής μου, καθηγητή κ. Μπούρα Χρηστο, καθηγητή κ. Νικηφορίδη Γεώργιο, καθηγητή κ. Θεόδωρο Παπαθεοδώρου, καθηγητή κ. Γεώργιο Παυλίδη και τον καθηγητή κ. Αθανάσιο Τσακαλίδη. Επίσης, θα ήθελα να ευχαριστήσω τον συνεργάτη και φίλο Δημήτριο Τζοβάρα (μέλος επιτροπής) του Ινστιτούτου Πληροφορικής και Τηλεματικής για τη συνεισφορά του και τις εποικοδομητικές παρατηρήσεις του στην μέχρι τώρα συνεργασία μας στα πλαίσια του FP7 Ευρωπαϊκού έργου ACCESSIBLE. Θα ήθελα ακόμη να ευχαριστήσω το συνάδελφο και αγαπητό μου φίλο Χρήστο Αλεξάκο για την άριστη και πολύτιμη συνεργασία που είχαμε καθ όλη τη διάρκεια των μεταπτυχιακών µας σπουδών. Αφιερωμένο σε όλους όσους µου συμπαραστάθηκαν και πίστεψαν σε εµένα και πάνω απ όλα στην οικογένεια µου...
Περιλήψη Περίληψη H παρούσα διατριβή εκπονήθηκε στο Εργαστήριο Αναγνώρισης Προτύπων, του Τμήματος Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής του Πανεπιστημίου Πατρών, καθώς και στο Ινστιτούτο Πληροφορικής και Τηλεματικής του Εθνικού Κέντρου έρευνας και Τεχνολογικής Ανάπτυξης (ΕΚΕΤΑ/ΙΠΤΗΛ). Αποτελεί μέρος της ευρύτερης ερευνητικής δραστηριότητας του Ινστιτούτου και του Εργαστηρίου στον τομέα της εφαρμογής των τεχνολογιών της υπηρεσιοστραφούς αρχιτεκτονικής (Service oriented Architecture) στο χώρο της σημασιολογικής ολοκλήρωσης ετερογενών συστημάτων πληροφοριών καθώς και της προσβασιμότητας εφαρμογών (Accessibility). Ο σχεδιασμός και η ανάπτυξη ολοκληρωμένων συστημάτων εφαρμογών καθώς επίσης και οι αυξανόμενες προσδοκίες των εκάστοτε χρηστών έχουν αλλάξει δραματικά τα τελευταία χρόνια, κυρίως όσον αφορά την τεχνολογική εξέλιξη στην ανάπτυξη προσβάσιμων επιχειρησιακών συστημάτων τα οποία θα μπορούν να χρησιμοποιούνται από όλους τους χρήστες. Έτσι η επιτυχία που σημείωσε η εμφάνιση του διαδικτύου, οι διαδικτυακές υπηρεσίες (web services) και γενικότερα η εμφάνιση τεχνολογιών σημασιολογικού ιστού (οντολογίες), ήταν αρκετή για να πείσει σχεδόν τους περισσότερους ότι η χρήση των τεχνολογιών αυτών είναι καθοριστικής σημασίας για τον σχεδιασμό, την ανάπτυξη αλλά και την διασύνδεση συστημάτων εφαρμογών. Κατά συνέπεια αυτό είχε σαν αποτέλεσμα να κάνει την εμφάνισή της η υπηρεσιοστραφής αρχιτεκτονική (Service Oriented architecture) η οποία αφενός συνθέτει όλες τις παραπάνω τεχνολογίες και αφετέρου είναι σε θέση να ορίζει ένα σύνολο κατάλληλων συνιστωσών με στόχο τον σχεδιασμό, την ανάπτυξη και διασύνδεση ετερογενών επιχειρησιακών συστημάτων εφαρμογών. Στην παρούσα διπλωματική εργασία μελετώνται και παρουσιάζονται τεχνικές που στοχεύουν στη δημιουργία, ολοκλήρωση, ενοποίηση και συσχέτιση οντολογιών καθώς και σχετικών εργαλείων που βοηθούν τον χρήστη στην εκτέλεση της διαδικασίας της εναρμόνισης των οντολογιών με απώτερο σκοπό την διασύνδεση ετερογενών συστημάτων εφαρμογών αλλά και την δημιουργία προσβάσιμων διαδικτυακών συστημάτων εφαρμογών τα οποία προσανατολίζονται στις υπηρεσίες (Service Oriented Architecture). Επιπρόσθετα, προτείνεται ένα υλοποιημένο μεθοδολογικό πλαίσιο δημιουργίας αλλά και εκτίμησης ομοιότητας οντοτήτων που ενισχύει τη διαδικασία της συγχώνευσης δύο ή περισσότερων οντολογιών το οποίο εφαρμόστηκε σε δυο πραγματικά σενάρια χρήσης (στην διασύνδεση ετερογενών επιχειρησιακών συστημάτων της Νομαρχιακής αυτοδιοίκησης Αχαΐας καθώς και στην έλεγχο προσβασιμότητας διαδικτυακών εφαρμογών στα πλαίσια του Ευρωπαϊκού προγράμματος ACCESSIBLE) [1]. Το προκύπτον σημασιολογικό μοντέλο το οποίο αποτελεί μέρος του μεθοδολογικού πλαισίου που προτείνεται, υλοποιήθηκε με χρήση της μεταγλώσσας Ontology Web Language (OWL) 1, η οποία αποτελεί το πρότυπο με τις μεγαλύτερες εκφραστικές 1 http://www.w3.org/tr/owl-features/
Περιλήψη δυνατότητες όσον αφορά στην αναπαράσταση γνώσης καθώς και σημασιολογικών SWRL 2 κανόνων και SPARQL 3 ερωτημάτων. Το συγκεκριμένο πρόβλημα έχει σημαντικό ερευνητικό ενδιαφέρον όπως τεκμηριώνεται και από την παρατιθέμενη στη διατριβή εκτενή βιβλιογραφία. Εξ άλλου το πρόβλημα εδράζεται και φιλοδοξεί να δώσει λύσεις σε πρακτικές ανάγκες που παρουσιάζονται σε πολύπλοκα πεδία εφαρμογών όπως είναι η ολοκλήρωση ετερογενών συστημάτων και πληροφοριών αλλά και η προσβασιμότητα διαδικτυακών εφαρμογών. Οι δύο βασικοί άξονες της εργασίας είναι η συνδυαστική αξιοποίηση τεχνικών σημασιολογίας και η εφαρμογή ενός συστήματος συμπερασματικής αποτίμησης γνώσης (μηχανή συμπερασμού/inference engine) με χρήση κατάλληλων SWRL κανόνων και SPARQL ερωτημάτων. Ένα υβριδικό μοντέλο σημασιολογικής αντιστοίχισης μεταξύ οντολογιών, το οποίο κάνει χρήση των αποτελεσμάτων των ήδη υπαρχουσών μεθόδων και τεχνολογιών ολοκλήρωσης και ενσωμάτωσης οντολογιών αλλά και της ενεργής συμμετοχής των τελικών χρηστών που ασχολούνται με την ολοκλήρωση ετερογενών συστημάτων, είναι σε θέση να χρησιμοποιηθεί σε αντίστοιχες εφαρμογές πέρα των δύο πεδίων που μελετήθηκαν στα πλαίσια της συγκεκριμένης διπλωματικής εργασίας. Ωστόσο, είναι από τις λίγες φορές μέχρι στιγμής που προτείνεται η χρήση ενός ολοκληρωμένου σημασιολογικού πλαισίου στον τομέα της διαδικτυακής προσβασιμότητας εφαρμογών (Web accessibility) η μεθοδολογία του οποίου ωστόσο μπορεί να εφαρμοστεί και σε μια σειρά άλλων εφαρμογών προκειμένου να επιτευχθεί η ολοκλήρωση ετερογενών συστημάτων και προτύπων. Συνεπώς, στην παρούσα εργασία παρουσιάζεται μια ολοκληρωμένη, πρωτότυπη μεθοδολογία για τη σχεδίαση και ανάπτυξη ενός πλαισίου συνδυασμένου με σημασιολογικά μοντέλα και το οποίο εκπληρώνει τους στόχους για ολοκλήρωση και ευελιξία ετερογενών πληροφοριών και επιχειρησιακών συστημάτων εφαρμογών. Οι σημαντικότεροι στόχοι της παρούσας διατριβής μπορούν να συνοψισθούν στα παρακάτω σημαντικά σημεία: Η δημιουργία ενός ευέλικτου, δυναμικού και υβριδικού περιβάλλοντος σημασιολογικής ολοκλήρωσης ετερογενών συστημάτων και δεδομένων ικανού να αντεπεξέρχεται σε συχνές βραχυπρόθεσμες αλλαγές, λαμβάνοντας υπόψη τα πλέον γνωστά εργαλεία και αλγορίθμους αντιστοίχισης και ευθυγράμμισης οντολογιών. Η ανάδειξη ενός πρωτότυπου top down μεθοδολογικού πλαισίου για την ολοκλήρωση ετερογενών συστημάτων εφαρμογών και η εφαρμογή του σε δυο ρεαλιστικά σενάρια εφαρμογής. Η επίτευξη διαφανούς κάθετης ολοκλήρωσης ετερογενών συστημάτων και δεδομένων βρίσκοντας εφαρμογή στο πεδίο της διαδικτυακής προσβασιμότητας με απώτερο σκοπό την ενοποίηση των διάφορων προτύπων και τεχνολογιών στον τομέα αυτό καθώς και στην ολοκλήρωση 2 http://www.w3.org/submission/swrl/ 3 http://www.w3.org/tr/rdf-sparql-query/
Περιλήψη δυο ετερογενών συστημάτων στο τομέα της εκπαιδευτικής υποδομής στον Ελλαδικό χώρο και ιδιαίτερα στην Νομαρχία Αχαΐας. Η εισαγωγή οντολογιών πεδίου και η διασύνδεσή τους σε μια γενική μέσω της χρήση σημασιολογικών SWRL κανόνων και κατάλληλων SPARQL ερωτημάτων τα οποία είναι σε θέση να παρέχουν στους χρήστες ένα δυναμικό περιβάλλον ολοκλήρωσης ετερογενών συστημάτων και δεδομένων καθώς και μια αποτελεσματική και αξιόπιστη μέθοδο αντιστοίχισης οντολογιών. Άλλωστε, αρκετά είναι τα προβλήματα που παρουσιάζονται μέχρι σήμερα, από την εισαγωγή πολύπλοκων και μεγάλων σε μέγεθος οντολογιών, στα υπάρχοντα εργαλεία διαχείρισης, ευθυγράμισης, και ενοποίησης οντολογιών. Παρουσιάζει ένα ολοκληρωμένο εργαλείο δημιουργίας και εκτέλεσης σημασιολογικών κανόνων, βασισμένο σε τεχνολογίες ανοικτού κώδικα, προσφέροντας αποδοτικότερη και πιο άμεση αναζήτηση πληροφοριών και δεδομένων σε ετερογενή συστήματα. Καθώς οι μέχρι τώρα μηχανές συμπερασμού δεν είναι σε θέση να υποστηρίζουν την ιεραρχική εκτέλεση των σημασιολογικών κανόνων αλλά αντίθετα εκτελούν όλους τους κανόνες που είναι αποθηκευμένοι στις εκάστοτε οντολογίες, η χρήση οντολογιών πεδίου και η φόρτωση κάθε φορά αυτών που είναι απαραίτητες για την εξαγωγή των αποτελεσμάτων αναζήτησης, είναι σε θέση να παρέχουν βελτιωμένα αποτελέσματα όσον αφορά την αποδοτικότητα της προτεινόμενης μεθοδολογίας. Η ανάδειξη πρωτότυπης μεθοδολογίας για τη μοντελοποίηση των διαδικασιών ελέγχου προσβασιμότητας εφαρμογών βάσει κατάλληλης γνώσης που αφορά σε κατηγορίες χρηστών, βοηθητικών τεχνολογιών (assistive technologies) και τεχνολογιών λογισμικού χρησιμοποιώντας ώριμα και αναδυόμενα πρότυπα στην αιχμή της τεχνολογίας όπως το πρότυπο Web Content Accessibility Guideline (WCAG 2.0 4 ) της W3C. Εισάγει μια τυποποιημένη μεθοδολογία για την σχεδίαση και ενοποίηση οντολογικών μοντέλων που είναι σε θέση να διασυνδέουν ετερογενή συστήματα πληροφοριών. Το πλεονέκτημα αυτής της μεθοδολογίας είναι ότι το παραγόμενο μοντέλο μπορεί να τροποποιηθεί στο μέλλον μέσω αξιοποίησης των υιοθετημένων σημασιολογικών κανόνων που διασυνδέουν τα οντολογικά μοντέλα μεταξύ τους. 4 http://www.w3.org/tr/wcag20/
Πίνακας Περιεχομένων Πίνακας Περιεχομένων Πρόλογος... 3 Ευχαριστίες... 4 Περίληψη... 5 Πίνακας Περιεχομένων... 8 Πίνακες Σχημάτων, Εικόνων & Πινάκων... 11 Μεθοδολογία-Διάρθρωση Διατριβής... 14 Μεθοδολογία διατριβής...14 Διάρθρωση διατριβής...15 Κεφάλαιο 1 Τεχνολογίες Αιχμής... 17 1.1 Εισαγωγή...17 1.2 Εισάγοντας την έννοια της Υπηρεσιοστραφούς αρχιτεκτονικής (SoA)...17 1.3 Υπηρεσιοστραφής Αρχιτεκτονική και Υπηρεσίες διαδικτύου (Web services)...22 1.4 Οφέλη και οι Προκλήσεις του SOA στις επιχειρήσεις και οργανισμούς...24 1.6 Το πρόβλημα της σημασιολογικής ολοκλήρωσης πληροφοριών...27 1.7 Τεχνολογίες Σημασιολογίας (Semantics) και εφαρμογή στην Σημασιολογική Ολοκλήρωση ετερογενών Επιχειρησιακών εφαρμογών...30 1.7.1 Κατηγορίες Οντολογιών και μεθοδολογίες κατασκευής τους...30 Μεθοδολογίες κατασκευής Οντολογιών...32 1.7.2 Γλώσσες ανάπτυξης οντολογιών...36 1.8 Συνδυάζοντας και συσχετίζοντας οντολογίες για την Ολοκλήρωση Επιχειρησιακών Συστημάτων...43 1.8.1 Σχετικές τεχνολογικές προσεγγίσεις για συνένωση, αντιστοίχηση και ευθυγράμμιση οντολογιών και σχημάτων δεδομένων...47 1.8.1.1 Συντακτική vs. Σημασιολογική Αντιστοίχιση...47 1.8.1.2 Μέθοδοι Αντιστοίχισης Οντολογιών...48 1.8.2 Γλώσσες ερωτημάτων και Σημασιολογικοί κανόνες...53 1.8.2.1 Η Γλώσσα Επερωτήσεων SPARQL...53 1.8.2.2. Η γλώσσα RDQL...54 1.8.2.3 Η γλώσσα SeRQL...55 1.8.2.4 Σημασιολογικοί SWRL κανόνες...55 Κεφάλαιο 2 Το Προτεινόμενο Μεθοδολογικό Πλαίσιο... 57 2.1 Εισαγωγή Ανοιχτά Θέματα Σημασιολογικής Αντιστοίχισης Οντολογιών...57 Page 8 of 145
Πίνακας Περιεχομένων 2.2 Μεθοδολογία Σημασιολογικής Ολοκλήρωσης Ετερογενών Συστημάτων και Πληροφοριών...58 2.2.1. Η δημιουργία ενός Οντολογικού Μοντέλου Σημασιολογικής Συσχέτισης (Semantic Mediator Model)...59 2.2.1.1 Μεθοδολογία Σχεδίασης Οντολογιών ετερογενών συστημάτων...62 2.2.1.2 Περιγραφική λογική (description logics)...64 2.2.2 Ευθυγράμμιση Αντιστοίχιση Υπαρχουσών Οντολογιών...64 2.2.3 Το υποσύστημα διαχείρισης και δημιουργίας SWRL κανόνων...71 2.2.4 Το υποσύστημα πραγματοποίησης SPARQL ερωτημάτων και εκτέλεσης SWRL κανόνων...73 Αρχιτεκτονική Συστήματος και Τεχνολογίες Υλοποίησης...73 Κεφάλαιο 3 Επικύρωση Λειτουργίας Μεθοδολογικού Πλαισίου - Σενάριο Χρήσης Ι... 78 3.1 Ορισμός Προβλήματος...78 3.2 Το Προτεινόμενο Ιεραρχικό Οντολογικό Μοντέλο...82 3.2.1. Γενική περιγραφή της Γενικής οντολογίας...92 Datatype Ιδιότητες της Γενικής Οντολογίας...96 3.2.2 Οντολογίες Πεδίου...97 3.3 Δημιουργία SWRL κανόνων μέσω του υποσυστήματος συγγραφής κανόνων...99 Κεφάλαιο 4 Επικύρωση Λειτουργιας Μεθοδολογικού Πλαισίου - Σενάριο Χρήσης ΙΙ... 110 4.1 Ορισμός Προβλήματος... 110 4.2 Καταγραφή λειτουργικών απαιτήσεων και προδιαγραφών... 113 4.3 Προτεινόμενη Αρχιτεκτονική με βάση το μεθοδολογικό πλαίσιο... 114 4.3.1.Το Οντολογικό μοντέλο Ολοκλήρωσης (The Educational Ontological Modelling Framework (EOMF))... 115 4.4 Παρουσίαση της Εφαρμογής... 123 Αναζήτηση με χρήση ενσωματωμένου χάρτη... 124 Πλήρης Αναζήτηση με χρήση Σημασιολογικών Ερωτημάτων... 126 Κεφάλαιο 5 Πειραματικές μετρήσεις απόδοσης... 130 5.1 Εισαγωγή... 130 Κεφάλαιο 6 Συμπεράσματα Και Μελλοντικές Προεκτάσεις... 134 6.1 Συνοπτικά... 134 6.2 Αποτελέσματα της ερευνητικής εργασίας... 135 6.3 Μελλοντικές προεκτάσεις... 136 Δημοσιεύσεις και ετεροαναφορές... 138 Δημοσιεύσεις σε Διεθνή περιοδικά... 138 Page 9 of 145
Πίνακας Περιεχομένων Κεφάλαια σε Βιβλία... 138 Δημοσιεύσεις σε Διεθνή συνέδρια με κρίση πλήρους κειμένου... 138 Βιβλιογραφία... 141 Page 10 of 145
Πίνακες Σχημάτων, Εικόνων &Πινάκων Πίνακες Σχημάτων, Εικόνων & Πινάκων Σχήματα Διατριβής Σχήμα 1 Μεθοδολογία Διδακτορικής Διατριβής...15 Σχήμα 2 Εννοιολογική προσέγγιση Υπηρεσιοστραφούς Αρχιτεκτονικής...19 Σχήμα 3 Επίπεδα αρχιτεκτονικής προσανατολιζόμενης στις υπηρεσίες (SOA)...20 Σχήμα 4 βασικοί ρόλοι της Soap αρχιτεκτονικής μιας υπηρεσίας Ιστού...21 Σχήμα 5 Πριν και μετά το SoA...22 Σχήμα 8 Επίπεδα Ολοκλήρωσης Επιχειρησιακών Εφαρμογών...26 Σχήμα 9 Ευθυγράμμιση Οντολογιών...44 Σχήμα 10 Διαφορά μεταξύ ευθυγράμμισης και συγχώνευσης οντολογιών...45 Σχήμα 12 Διαφορές ανάμεσα στο σημασιολογικό και το συντακτικό ταίριασμα...48 Σχήμα 13 Ταξινόμηση Μεθόδων Τεχνικών Ταιριάσματος...48 Σχήμα 15 Βασικό δομικό στοιχείο της SPARQL...54 Σχήμα 16 Δυσδιάστατο επίπεδο σημασιολογικής ολοκλήρωσης...59 Σχήμα 17 Εννοιολογική αποτύπωση του μεθοδολογικού πλαισίου...61 Σχήμα 18 Εννοιολογικό διάγραμμα...63 Σχήμα 19 Εννοιολογική αναπαράσταση αρχιτεκτονικής κοινότητας SEALS...66 Σχήμα 20 Γραφικό περιβάλλον κοινότητας SEALS...66 Σχήμα 21 Workflow Μεθοδολογίας...67 Σχήμα 22 Μονάδες/υποσυστήματα του προτεινόμενου υβριδικού συστήματος...68 Σχήμα 23 UML Διάγραμμα προτεινόμενου συστήματος...70 Σχήμα 24 Το SWRLTab plugin για το εργαλείο Protégé...71 Σχήμα 25 Αρχιτεκτονική του συστήματος πραγματοποίησης ερωτημάτων και κανόνων...74 Σχήμα 26 Αρχικοποίηση Συστήματος...75 Σχήμα 27 Πραγματοποίηση Ερωτημάτων σε οντολογίες...76 Σχήμα 28 Query Client Use Case...76 Σχήμα 29 H αρχιτεκτονική της μηχανής συμπερασμού (reasoner ) Pellet...77 Σχήμα 30 Η πυραμίδα του Benktzon...79 Σχήμα 31 Σημασιολογικό Πλαίσιο Προσβασιμότητας...84 Σχήμα 32 Εύρεση ομοιοτήτων οντολογιών με χρήση εργαλείου prompt (γενική οντολογία με οντολογία πεδίου WCAG 2.0)...85 Page 11 of 145
Πίνακες Σχημάτων, Εικόνων &Πινάκων Σχήμα 33 Εύρεση ομοιοτήτων & διαφορών οντολογιών με χρήση εργαλείου ευθυγράμμισης οντολογιών prompt (για παράδειγμα η κλάση outputresult υπάρχει μόνο σε οντολογία πεδίου MWBP και όχι σε οντολογία πεδίου WCAG 2.0 )...85 Σχήμα 34 Πλήρης ταύτιση οντολογιών πεδίου μέσω χρήσης εργαλείου OpenII...86 Σχήμα 35 Αρχικοποίηση της Γενικής Οντολογίας (1)...87 Σχήμα 36 Αρχικοποίηση της Γενικής Οντολογίας (1)...88 Σχήμα 37 Αρχικοποίηση της Γενικής Οντολογίας (2)...89 Σχήμα 38 Αρχικοποίηση της Γενικής Οντολογίας (4)...90 Σχήμα 39 Visualization Ι της Γενικής Οντολογίας...91 Σχήμα 40 Visualization ΙΙ της Γενικής Οντολογίας...91 Σχήμα 41 Χρήση Μηχανής Συμπερασμού... 107 Σχήμα 42 Ενδεικτικό γράφημα... 112 Σχήμα 43 Εννοιολογικό διάγραμμα προτεινόμενης αρχιτεκτονικής... 115 Σχήμα 44 Εννοιολογικός σχεδιασμός του προτεινόμενου ΕΟΜF... 117 Σχήμα 45 Μέρος Οντολογίας πεδίου «Χαρακτηριστικά Μαθητών»... 118 Σχήμα 46 Χρήση federated SPARQL ερωτημάτων... 127 Εικόνες Διατριβής Εικόνα 1 Δεδομένα της οντολογίας πεδίου WCAG2 (Κλάση Approach)...98 Εικόνα 2 Δεδομένα της οντολογίας πεδίου WCAG2 (Κλάση Guideline)...98 Εικόνα 3 Δεδομένα της οντολογίας πεδίου χρηστών και personas...99 Εικόνα 4 Παράδειγμα SWRL κανόνα μέσα από το εργαλείο SWRLTab του Protégé... 100 Εικόνα 5 SWRL Κανόνες στο protégé... 106 Εικόνα 6 Υποσύνολο της γενικής οντολογίας ΕΟΜF... 117 Εικόνα 7 Μέρος Οντολογίας πεδίου «Χαρακτηριστικά Οδικού Δικτύου»... 119 Εικόνα 8: Αρχική Σελίδα Συστήματος... 123 Εικόνα 9: Μenu Εφαρμογής... 124 Εικόνα 10: Υπομενού Εφαρμογής... 124 Εικόνα 11: Αναλυτικός Χάρτης Εφαρμογής... 124 Εικόνα 12: Επιλογή Δεδομένων Χρηστών... 125 Εικόνα 13 Εμφάνιση Δεδομένων... 125 Εικόνα 14 Επεξεργασία Δεδομένων Εφαρμογής... 126 Εικόνα 15 Πλήρης Αναζήτηση Εφαρμογής... 127 Εικόνα 16 Υπόσυστημα Εκτέλεσης SPARQL ερωτημάτων... 128 Page 12 of 145
Πίνακες Σχημάτων, Εικόνων &Πινάκων Εικόνα 17 Προ αποθηκευμένα πρότυπα ερωτημάτων (Αναφορές)... 128 Εικόνα 18 Εκτυπώσεις Εφαρμογής σε pdf format... 129 Εικόνα 19 Δημιουργία γραφημάτων Εφαρμογής σε pdf format... 129 Εικόνα 20 Απόδοση μηχανής συμπερασμού pellet, KAON2 και FaCT++... 133 Πίνακες Διατριβής Πίνακας 1 Επισημειωτικές γλώσσες αναπαράστασης οντολογιών...37 Πίνακας 2 Σύγκριση της εκφραστικής ικανότητας των κυριοτέρων επισημειωτικών γλωσσών ("+": υποστηρίζεται από τη γλώσσα, "Ε": υποστηρίζεται εμμέσως, " ": δεν υποστηρίζεται)..43 Πίνακας 3 Μέθοδοι Αντιστοίχισης βάσει την κατηγοριοποίηση των Bernstein & Rahm...53 Πίνακας 4 Παράδειγμα FCA ανάλυσης...63 Πίνακας 5 Χρόνος Απόκρισης ερωτημάτων σε συνολική οντολογία... 132 Πίνακας 6 Χρόνος Απόκρισης ερωτημάτων με χρήση οντολογικού... 132 Πίνακας 7 Χρόνος Απόκρισης ερωτημάτων με χρήση pellet, KAON2 και FaCT++... 133 Page 13 of 145
Μεθοδολογία Διάρθρωση Διατριβής Μεθοδολογία Διάρθρωση Διατριβής Μεθοδολογία διατριβής Η μεθοδολογία που ακολουθήθηκε κατά την εκπόνηση της διδακτορικής διατριβής δεν διαφέρει από την γνωστή μεθοδολογία που εφαρμόζεται σε θέματα που έχουν να κάνουν με αναζήτηση επίλυση ερευνητικών προβλημάτων και η οποία παρουσιάζεται στο ακόλουθο σχήμα (Σχήμα 1). Το σχήμα αυτό παρουσιάζει όχι μόνο την εφαρμόσιμη μεθοδολογία της εργασίας αλλά και την δομή που ακολουθήθηκε και παρουσιάζεται στην συνέχεια. Συνεπώς τα βήματα της μεθοδολογίας περιλαμβάνουν: Συνειδητοποίηση του προβλήματος & Επισκόπηση Τεχνολογιών Αιχμής Κατά την διάρκεια της πρώτης φάσης της ερευνητικής μας εργασίας, αναλύουμε τα κρίσιμα θέματα των τεχνολογιών της υπηρεσιοστραφούς αρχιτεκτονικής και ανοιχτά ζητήματα των τεχνολογιών Σημασιολογικού Ιστού σε σχέση με την διαλειτουργικότητα ετερογενών συστημάτων, και κυρίως με την αντιστοίχιση ενοποίηση οντολογιών μέσω της χρήσης κατάλληλων οντολογιών πεδίων και μιας γενικής οντολογίας αλλά και σχετικών σημασιολογικών κανόνων προκειμένου να εντοπιστούν τα προβλήματα στον τομέα αυτό (κεφάλαιο 1). Προτεινόμενο Μεθοδολογικό Πλαίσιο παρουσιάζει το ολοκληρωμένο μεθοδολογικό πλαίσιο το οποίο προτείνεται στα πλαίσια της συγκεκριμένης εργασίας (κεφάλαιο 2). Επίσης παρουσιάζονται τα σχετικά συστήματα και υποσυστήματα που αναπτύχθηκαν προκειμένου να δημιουργηθεί ένα ολοκληρωμένο μεθοδολογικό πλαίσιο και το οποίο μπορεί να βρίσκει εφαρμογή σε ευρέως διαδεδομένα ρεαλιστικά σενάρια χρήσης. Υλοποίηση Εφαρμογή πλαισίου σε δυο ρεαλιστικά σενάρια εφαρμογών Προτείνεται η τεχνολογική λύση μέσω της υλοποίησης κατάλληλων πρωτοτύπων και τεχνικών σε δυο ρεαλιστικά σενάρια εφαρμογών. Το υλοποιημένο μεθοδολογικό πλαίσιο βασίζεται γνωστά εργαλεία ανοιχτού λογισμικού έτσι ώστε να μπορεί να επιτευχθεί η μελλοντική του τροποποίηση ολοκλήρωση (κεφάλαια 3 και 4). Αξιολόγηση / μετρήσεις του προτεινόμενο μεθοδολογικού πλαισίου μέσω κατάλληλων παραμέτρων αξιολόγησης λαμβάνοντας υπόψη την αποδοτικότητα του προτεινόμενου μεθοδολογικού πλαισίου (κεφάλαιο 5). Συμπεράσματα και μελλοντικές προεκτάσεις: Η σχετική έρευνα ολοκληρώνεται με τελικά συμπεράσματα αναφορικά με την εργασία μας καθώς και μελλοντικές προεκτάσεις οι οι οποίες μπορούν να εφαρμοστούν σε επόμενα βήματα (κεφάλαιο 6). Page 14 of 145
Μεθοδολογία Διάρθρωση Διατριβής Σχήμα 1 Μεθοδολογία Διδακτορικής Διατριβής Διάρθρωση διατριβής Η δομή της εργασίας βασίζεται σε μια σειρά από κεφάλαια, στα οποία περιγράφονται διάφορες πτυχές, επιστημονικά θέματα και προβλήματα τα οποία μας απασχόλησαν κατά την διάρκεια της διπλωματικής εργασίας. H διάρθρωση της διατριβής είναι η ακόλουθη: Στο κεφάλαιο 1 Τεχνολογίες Αιχμής, γίνεται αναφορά στις καινοτόμες και αρκετά υποσχόμενες τεχνολογίες υπηρεσιοστραφούς αρχιτεκτονικής, περιγράφοντας την ανάγκη που μας οδήγησε σε αυτές, τα επίπεδα από τα οποία αποτελείται και τις πιο γνωστές τεχνολογίες που χρησιμοποιήθηκαν. Αρχικά στο κεφάλαιο αυτό παρουσιάζονται οι τεχνολογίες που συνθέτουν την αρχιτεκτονική στραμμένη σε υπηρεσίες (Service Oriented Architecture). Οι τεχνολογίες αυτές περιλαμβάνουν υπηρεσίες διαδικτύου, υπηρεσίες και τεχνολογίες σημασιολογικού ιστού, όπως γλώσσες κατασκευής οντολογιών (όπως για παράδειγμα είναι η OWL και η RDF 5 ) ενώ παράλληλα παρατίθενται συνοπτικά και οι σχετικές μεθοδολογίες ιών αντιστοίχισης συνένωσης οντολογιών και των προβλημάτων που παρουσιάζονται, αλλά και της εισαγωγής σημασιολογικών κανόνων οι οποίες είναι σε θέση να επιτυγχάνουν την αναζήτηση και ολοκλήρωση ετερογενών πληροφοριών. Το δεύτερο κεφάλαιο παρουσιάζει την στρατηγική που ακολουθήσαμε όσον αφορά την εισαγωγή και κατασκευή ενός υβριδικού μεθοδολογικού πλαισίου το οποίο μπορεί να χρησιμοποιηθεί ως ένα αρχικό βήμα για την ολοκλήρωση ετερογενών συστημάτων και πληροφοριών. Άλλωστε, μιας και η κατά κόρον πλέον χρήση των οντολογιών σε διάφορα συστήματα και εφαρμογές, απαιτούν την εισαγωγή ενός ολοκληρωμένου συστήματος κατασκευής οντολογιών αλλά και της σχετικής ενοποίησης και ευθυγράμμισης αυτών. Η Οντολογική μοντελοποίηση αποτελεί την βάση της σημασιολογικής ολοκλήρωσης δεδομένων, η οποία είναι σε θέσει να παρέχει την πλέον κατάλληλη μεθοδολογία ολοκλήρωσης. Αντιπαραβάλλουμε 5 http://www.w3.org/rdf/ Page 15 of 145
Μεθοδολογία Διάρθρωση Διατριβής αυτήν την άποψη με τα προβλήματα αλλά και τα σχετικά εργαλεία και μεθόδους που εφαρμόζονται στο τομέα της διασύνδεσης ετερογενών συστημάτων εφαρμογών αλλά και της ενοποίησης ταίριασμα οντολογιών. Έτσι παρουσιάζουμε την χρήση κατάλληλων οντολογιών πεδίου σε αντίθεση με την χρήση μεγάλων σε μέγεθος και αρκετά πολύπλοκων οντολογιών, καθώς και της εισαγωγής κατάλληλων SWRL σημασιολογικών κανόνων οι οποίες επιτρέπουν την βέλτιστη διαχείρισηενοποίηση οντολογιών. Καθώς η αξιολόγηση του προτεινόμενου μεθοδολογικού πλαισίου το οποίο παρουσιάζεται στην συγκεκριμένη διπλωματική εργασία, έχει ως στόχο να δημιουργήσει τις αναγκαίες και ικανές συνθήκες για την υποστήριξη διασύνδεση ετερογενών συστημάτων μέσω της αντιστοίχισης ενοποίησης οντολογιών, σε πραγματικές καταστάσεις, δεν θα μπορούσε να παραληφθεί από την εργασία μας η επικύρωση του συγκεκριμένου Πλαισίου και η εφαρμογή του σε δυο πραγματικά σενάρια χρήσης (κεφάλαια 3 και 4). Συνεπώς στο τρίτο κεφάλαιο ασχολούμαστε με την προσέγγιση της σημασιολογικής ολοκλήρωσης πληροφοριών που εφαρμόστηκε στο Ευρωπαϊκό έργο ACCESSIBLE, όπου για πρώτη φορά αναδείχτηκε μια πρωτότυπη μεθοδολογία ικανή να μοντελοποιήσει τις διαδικασίες ελέγχου προσβασιμότητας εφαρμογών βάσει κατάλληλης γνώσης που αφορά σε κατηγορίες χρηστών, βοηθητικών τεχνολογιών (assistive technologies) και τεχνολογιών λογισμικού χρησιμοποιώντας ώριμα και αναδυόμενα πρότυπα στην αιχμή της τεχνολογίας όπως το πρότυπο Web Content Accessibility Guideline (WCAG 2.0) της W3C. Έτσι στο κεφάλαιο αυτό παρουσιάζουμε την εφαρμογή της μεθοδολογικής προσέγγισης που παρουσιάστηκε σε κεφάλαιο 2 σε ένα πραγματικό σενάριο εφαρμογής. Το τέταρτο κεφάλαιο περιγράφει την εφαρμογή του πλαισίου για την επίλυση προβλημάτων ετερογένειας μεταξύ διαφορετικών συστημάτων και σχημάτων δεδομένων που συνθέτουν την παρακολούθηση όλων των υποδομών των βαθμίδων εκπαίδευσης (πρωτοβάθμια και δευτεροβάθμια) της Νομαρχίας Αχαΐας. Το πέμπτο κεφάλαιο περιλαμβάνει μετρήσεις της αποδοτικότητας του μεθοδολογικού πλαισίου με βάσει την αξιολόγηση του συστήματος συμπερασμού και πιο συγκεκριμένα του χρόνου απόκρισης του συγκεκριμένου υπό ανάπτυξη συστήματος. Ολοκληρώνοντας την εργασία μας, στο κεφάλαιο 6 Συμπεράσματα Μελλοντικές προεκτάσεις, εστιαζόμαστε στα αποτελέσματα αλλά και τα συμπεράσματα που αποκομίσαμε κατά τη διάρκεια της εφαρμογής της προτεινόμενης μεθοδολογίας και των εργαλείων που χρησιμοποιήσαμε, ολοκληρώνοντας τα ετερογενή συστήματα και πηγές δεδομένων. Στην συνέχεια κλείνοντας την εργασία μας παρουσιάζουμε κάποιες μελλοντικές προοπτικές για συνέχεια της εργασίας μας. Επίσης στο τέλος της εργασίας μας, και πιο συγκεκριμένα στο κεφάλαιο 7 γίνεται αναφορά στις σχετικές δημοσιεύσεις (περιοδικά, κεφάλαια σε βιβλία) και παρουσιάσεις που επήλθαν κατά τη διάρκεια της συγκεκριμένης εργασίας σε μια σειρά από σχετικά με το αντικείμενο συνέδρια. Page 16 of 145
Κεφάλαιο 1 Τεχνολογίες Αιχμής Κεφάλαιο 1 Τεχνολογίες Αιχμής 1.1 Εισαγωγή Ένα πλήθος τεχνολογιών και προτύπων έχει αναπτυχθεί ως αποτέλεσμα της ανάγκης για την ενοποίηση και κάθετη ολοκλήρωση ετερογενών συστημάτων εφαρμογών και επιχειρησιακών συστημάτων. Στο κεφάλαιο αυτό διερευνούμε πώς οι τεχνολογίες της υπηρεσιοστραφούς αρχιτεκτονικής και ειδικότερα οι τεχνολογίες σημασιολογικού ιστού και οι υπηρεσίες διαδικτύου μπορούν να αξιοποιηθούν προκειμένου να επιτευχθεί η βέλτιστη ολοκλήρωση ετερογενών συστημάτων και πληροφοριών. Εισάγοντας αρχικά την έννοια της Υπηρεσιοστραφούς αρχιτεκτονικής (SoA) και παρουσιάζοντας στην συνέχεια τα οφέλη και τις Προκλήσεις αυτής στα υπάρχοντα συστήματα των επιχειρήσεων και οργανισμών, το κεφάλαιο εξετάζει θέματα ολοκλήρωσης εφαρμογών και δεδομένων μέσω της υπηρεσιοστραφούς αρχιτεκτονικής και κυρίως μέσω των τεχνολογιών σημασιολογικού Ιστού (οντολογίες, σημασιολογικοί κανόνες, κτλ.). Περιγράφονται στην συνέχεια οι διάφορες κατηγορίες οντολογιών που χρησιμοποιούνται μέχρι σήμερα κατά κόρον καθώς και οι αντίστοιχες μεθοδολογίες κατασκευής τους. Το κεφάλαιο ολοκληρώνεται με την παράθεση των τεχνικών και εργαλείων που χρησιμοποιούνται για την συσχέτιση και συνδυασμό των οντολογιών και της χρήσης κατάλληλων σημασιολογικών κανόνων και ερωτημάτων για την Ολοκλήρωση ετερογενών συστημάτων εφαρμογών. 1.2 Εισάγοντας την έννοια της Υπηρεσιοστραφούς αρχιτεκτονικής (SoA) Καθώς ο όρος "service oriented" («υπηρεσιοστραφής») υφίσταται εδώ και αρκετό καιρό, έχει χρησιμοποιηθεί εκτενώς μέσα από διαφορετικά τεχνολογικά πλαίσια και σε διαφορετικούς επιχειρηματικούς σκοπούς. Ως αφηρημένη έννοια θα μπορούσε να θεωρηθεί ότι η υπηρεσιοστραφής αρχιτεκτονική βασίζεται στην λογική ότι οποιοδήποτε μεγάλο πρόβλημα μπορεί να επιμεριστεί και να διαχειριστεί καλύτερα εάν το σπάσουμε σε μικρότερα προβλήματα τα οποία το συνθέτουν. Κατά συνέπεια το ίδιο ισχύει και σε συστήματα τα οποία βασίζονται σε υπηρεσίες Ιστού (web services) και τα οποία ακολουθούν την αρχιτεκτονική προσανατολισμένη στις υπηρεσίες (SoA). Ο όρος SoA είναι γνωστός με την ονομασία «υπηρεσιοστραφής» καθώς βασίζεται στο κεντρικό μοντέλο με το οποίο ένα πελάτης χρειάζεται ένα συγκεκριμένο σύνολο υπηρεσιών για να μπορέσει να λειτουργήσει. Η Αρχιτεκτονική με Βάση τις Υπηρεσίες αποτελεί την πιο σύγχρονη αρχιτεκτονική προσέγγιση όσον αφορά τον σχεδιασμό και την ανάπτυξη των σύνθετων επιχειρησιακών και πληροφοριακών συστημάτων. Αποτελεί μια συλλογή από υπηρεσίες, οι οποίες επικοινωνούν μεταξύ τους και χρειάζεται να ακολουθούν μια σειρά από βασικά υπηρεσιοστραφή αξιώματα τα οποία αναλύονται στην συνέχεια. Η SoA Αρχιτεκτονική, είναι η προσέγγιση που καλείται να υλοποιήσει τις επιδιώξεις των σύγχρονων επιχειρήσεων και να αντιμετωπίσει τις προκλήσεις, θέτοντας στο Page 17 of 145
Κεφάλαιο 1 Τεχνολογίες Αιχμής κέντρο των επιχειρηματικών διαδικασιών και συναλλαγών τις υπηρεσίες. Στην ουσία, πρόκειται για μια αρχιτεκτονική φιλοσοφία, που στοχεύει στην πραγματοποίηση και συντήρηση επιχειρηματικών διαδικασιών, ώστε να είναι δυνατή η αποδοχή και χρησιμοποίηση τους από πολύπλοκα κατανεμημένα υπολογιστικά συστήματα. Συνοψίζοντας με τον όρο της υπηρεσιοστραφούς αρχιτεκτονικής, αξίζει να μελετήσουμε τους διάφορους γενικούς ορισμούς της αρχιτεκτονικής που έχουν προταθεί κατά καιρούς από διάφορους οργανισμούς, ώστε να γίνουν εμφανή τα βασικά χαρακτηριστικά της προτού αναλυθούν με λεπτομέρεια. Αρχίζουμε με τον ορισμό που δίνεται από τον οργανισμό προτύπων OASIS 6 [2]: «είναι ένα παράδειγμα οργάνωσης και χρήσης των κατανεμημένων δυνατοτήτων που μπορεί να βρίσκονται υπό τον έλεγχο διαφορετικών τομέων δικαιοδοσίας. Παρέχει ένα ενιαίο μέσο προσφοράς, ανεύρεσης, αλληλεπίδρασης και χρήσης των δυνατοτήτων με στόχο την επίτευξη των επιθυμητών αποτελεσμάτων που συμφωνούν με μετρήσιμες προϋποθέσεις και επιδιώξεις». Γίνεται φανερό ότι στον παραπάνω ορισμό τονίζονται η έννοια της ετερογένειας και της διασποράς των κατανεμημένων συστημάτων ως ανάγκη για την υιοθέτηση της SOA αρχιτεκτονικής. Ένας εναλλακτικός ορισμός της SOA αρχιτεκτονικής δίνεται στο δικτυακό τόπο της Wikipedia [3], όπου τονίζεται ότι: «ο όρος Αρχιτεκτονική Προσανατολισμένη σε Υπηρεσίες εκφράζει μια προοπτική αρχιτεκτονικής λογισμικού που ορίζει τη χρήση των Υπηρεσιών για να υποστηρίξει τις απαιτήσεις των χρηστών. Σε ένα περιβάλλον SOA, οι πόροι σε ένα δίκτυο είναι διαθέσιμοι με τη μορφή αυτόνομων Υπηρεσιών που μπορούν να προσπελαστούν χωρίς γνώση της τεχνολογίας υλοποίησης τους». Η εννοιολογική προσέγγιση της Υπηρεσιοστραφούς Αρχιτεκτονικής όπως αποτυπώνεται και στο Σχήμα 2, στηρίζεται στο σχεδιασμό των εφαρμογών θέτοντας ως επίκεντρο τις υπηρεσίες, οι οποίες είναι προσπελάσιμες μέσω διαδικτύου και αποτελούν αναπαραστάσεις εφαρμογών, βάσεων δεδομένων και/ή επιχειρησιακών διαδικασιών, που καθορίζονται σε σχέση με το τι μπορούν να κάνουν. Μέχρι σήμερα, έχουν οριστεί τέσσερις βασικές αρχές, στις οποίες πρέπει να συμμορφώνονται οι υπηρεσίες που ακολουθούν την Υπηρεσιοστραφή Αρχιτεκτονική και έχουν να κάνουν με : την αυτονομία μεταξύ των υπηρεσιών διαδικτύου τον Ρητό και σαφή ορισμός των υπηρεσιών τον διαμοιρασμό σχημάτων και συμφωνιών μεταξύ των υπηρεσιών Διασφάλιση της συμβατότητας ανάμεσα στις υπηρεσίες μέσω κατάλληλων πολιτικών χρήσης 6 http://en.wikipedia.org/wiki/oasis_(organization) Page 18 of 145
Κεφάλαιο 1 Τεχνολογίες Αιχμής Συνεπώς, η Υπηρεσιοστραφής Αρχιτεκτονική αποτελείται από τα παρακάτω βασικά στοιχεία [4]: Τις Υπηρεσίες που είναι αυτόνομες και καλά ορισμένες μονάδες επιχειρηματικής λειτουργικότητας. Την υλική υποδομή πάνω στην οποία θεμελιώνεται η Υπηρεσιοστραφής Αρχιτεκτονική. Πρόκειται για την αποθήκη Υπηρεσιών (Service Repository) που αποθηκεύει όλες τις σχετικές πληροφορίες που έχουν να κάνουν με τις λειτουργίες και τα δεδομένα των Υπηρεσιών καθώς και τον Επιχειρησιακό Δίαυλο Υπηρεσιών (Enterprise Service Bus) που καθιστά δυνατή την υλοποίηση της έννοιας της διαλειτουργικότητας και συμβάλλει στην ευφυή κατανομή και επικοινωνία των επιχειρηματικών δεδομένων και διαδικασιών μεταξύ πολλαπλών συστημάτων που χρησιμοποιούν διαφορετικές και ετερογενείς τεχνολογίες. Σχήμα 2 Εννοιολογική προσέγγιση Υπηρεσιοστραφούς Αρχιτεκτονικής Τη χαλαρή σύζευξη που αντιπροσωπεύει την έννοια της εξάρτησης μεταξύ διαφορετικών συστημάτων και ασχολείται με τη μείωση του κινδύνου και των συνεπειών λόγω μεταβολών και ασυνεπειών των πολλαπλών συστημάτων. Με αυτόν τον τρόπο είναι δυνατό να επιτευχθεί o στόχος για ευελιξία, κλιμάκωση και ανοχή ασυνεπειών και λαθών. Τα διάφορα επίπεδα της αρχιτεκτονικής SoA ;όπως ορίζονται στο [5] παρουσιάζονται στο παρακάτω Σχήμα 3. Page 19 of 145
Κεφάλαιο 1 Τεχνολογίες Αιχμής Σχήμα 3 Επίπεδα αρχιτεκτονικής προσανατολιζόμενης στις υπηρεσίες (SOA) Η αναζήτηση των διαθέσιμων υπηρεσιών επιτυγχάνεται με την ύπαρξη ενός μεσίτη υπηρεσίας, ο οποίος τυπικά λειτουργεί ως αποθήκη πληροφοριών και ενός παρόχεα υπηρεσίας ο οποίος είναι σε θέση να προσφέρει τις εν λόγω υπηρεσίες. Συνεπώς, η υπηρεσιοστραφής αρχιτεκτονική επιτρέπει την ενσωμάτωση υπηρεσιών μεταξύ διαφορετικών και ετερογενών συστημάτων μέσω κοινών προτύπων. Οι βασικοί ρόλοι της υπηρεσιοστραφούς αρχιτεκτονικής μιας υπηρεσίας διαδικτύου απεικονίζονται στο παρακάτω Σχήμα 4. Το σχήμα παρουσιάζει έναν απλό κύκλο αλληλεπίδρασης μεταξύ υπηρεσιών, αρχίζοντας με μια υπηρεσία που διαφημίζεται μέσω μιας γνωστής υπηρεσίας καταγραφής και αποτελείται από τα παρακάτω βήματα: Ένας πιθανός πελάτης, που μπορεί να είναι μια άλλη υπηρεσία, ρωτά το μητρώο για μια διαθέσιμη υπηρεσία που τον ενδιαφέρει. το μητρώο επιστρέφει έναν (ενδεχομένως κενό) κατάλογο κατάλληλων υπηρεσιών και ο πελάτης επιλέγει μία υπηρεσία στέλνοντας ένα κατάλληλο μήνυμα αίτησης χρησιμοποιώντας οποιοδήποτε αμοιβαία αναγνωρισμένο πρωτόκολλο. Στην συνέχεια, η υπηρεσία αποκρίνεται είτε με το αποτέλεσμα της ζητούμενης λειτουργίας είτε με ένα μήνυμα σφάλματος. Page 20 of 145
Κεφάλαιο 1 Τεχνολογίες Αιχμής Σχήμα 4 βασικοί ρόλοι της Soap αρχιτεκτονικής μιας υπηρεσίας Ιστού Συνοψίζοντας, και λαμβάνοντας υπόψη όλα όσα προαναφέραμε, ορισμένα από τα βασικά χαρακτηριστικά απαιτήσεις της αρχιτεκτονικής που είναι προσανατολισμένη στις υπηρεσίες συνοψίζονται παρακάτω: Διαλειτουργικότητα: στοχεύει στην παροχή συνεχών συνδέσεων μεταξύ εφαρμογών λογισμικού καθώς και ετερογενών συστημάτων. Οι υπηρεσίες επιτρέπουν στα προγράμματα λογισμικού που γράφονται σε διαφορετικές γλώσσες προγραμματισμού, και αναπτύσσονται πάνω σε διαφορετικές πλατφόρμες χρησιμοποιόντας διαφορετικά πρωτόκολλα, να επικοινωνούν μεταξύ τους ευνοώντας έτσι τη διαλειτουργικότητα μεταξύ ετερογενών συστημάτων και εφαρμογών. Χαλαρή σύζευξη: αναφέρεται στο βαθμό αμοιβαίας εξάρτησης μεταξύ των υπηρεσιών. Οι υπηρεσίες εκθέτουν τις πλούσιες και με σαφήνεια καθορισμένες διεπαφές μηνυμάτων που τις επιτρέπουν να επικοινωνήσουν με άλλες υπηρεσίες μειώνοντας τις αμοιβαίες εξαρτήσεις. Απομόνωση: εξετάζει τη δυνατότητα να τροποποιηθούν οι υπηρεσίες χωρίς οποιοδήποτε αντίκτυπο στις άλλες υπηρεσίες που αλληλεπιδρούν μαζί τους. Συνθετικότητα: εξετάζει το πρόβλημα τις προστιθεμένης αξίας στις υπηρεσίες μέσω απλούστερων υπηρεσιών με στόχο την επίτευξη νέας λειτουργικότητας. Οι υπηρεσίες μπορούν να συντεθούν εύκολα η μία με την άλλη προκειμένου να επιτευχθούν πιο σύνθετες διαδικασίες και πιο εξελιγμένες υπηρεσίες προστιθέμενης αξίας. Τεχνικά, κατ επέκταση, ο όρος SOA αναφέρεται στον σχεδιασμό ενός συστήματος και όχι στην εφαρμογή του και οι υπηρεσίες που συνθέτουν τα συστήματα SoA έχουν γενικά τα ακόλουθα χαρακτηριστικά: Οι υπηρεσίες μπορούν να είναι μεμονωμένες ή μπορούν να συνδυάζονται και να συνθέτουν υψηλότερου επιπέδου υπηρεσίες. Οι υπηρεσίες επικοινωνούν με τους χρήστες πελάτες τους με την ανταλλαγή κατάλληλων μηνυμάτων. Ο καθορισμός τους εξαρτάται από τα μηνύματα που μπορούν να δεχτούν και τις απαντήσεις που μπορούν να δώσουν. Οι υπηρεσίες μπορούν να συμμετέχουν στη ροή μιας εργασίας όπου η σειρά με την οποία τα μηνύματα στέλνονται και παραλαμβάνονται έχει επιπτώσεις στην έκβαση των διαδικασιών που εκτελούνται από μια υπηρεσία. Αυτή η έννοια ορίζεται ως service choreography. Οι υπηρεσίες μπορούν να είναι απολύτως ανεξάρτητες ή μπορούν να εξαρτώνται από τη διαθεσιμότητα άλλων υπηρεσιών ή από την ύπαρξη ενός πόρου όπως μια βάση δεδομένων. Οι υπηρεσίες διαφημίζουν τις λεπτομέρειες τους όπως οι ικανότητες, οι διεπαφές, οι πολιτικές και τα υποστηριγμένα πρωτόκολλα επικοινωνιών τους. Page 21 of 145
Κεφάλαιο 1 Τεχνολογίες Αιχμής Στο παρακάτω Σχήμα 5 παρουσιάζεται η διαφορά των συμβατικών αρχιτεκτονικών σε σχέση με την εφαρμογή της υπηρεσιοστραφούς αρχιτεκτονικής στην διασύνδεση επιχειρησιακών συστημάτων [6]. Σχήμα 5 Πριν και μετά το SoA Πριν το SOA: Σε συμβατικές αρχιτεκτονικές πληροφορικής, οι δραστηριότητες επιχειρηματικών διαδικασιών, οι εφαρμογές και τα δεδομένα είναι συχνά "κλειδωμένα" σε ανεξάρτητες και ασύμβατες μεταξύ τους δεξαμενές ("σιλό"), οι οποίες είναι δαπανηρές στη συντήρησή τους και υποχρεώνουν τους χρήστες να περιηγούνται σε ξεχωριστά δίκτυα, εφαρμογές και βάσεις δεδομένων προκειμένου να εκτελέσουν συγκεκριμένες εργασίες. Μετά το SOA: Με μια υπηρεσιοστραφή αρχιτεκτονική (SOA), οι χρήστες δε χρειάζεται πλέον να συνδέονται σε πολλά συστήματα, να αναζητούν σχετικά δεδομένα και να ενοποιούν τα αποτελέσματα μόvoι τους. Τα δεδομένα για τις δραστηριότητες επιχειρηματικών διαδικασιών προσφέρονται με τη μορφή μιας ενοποιημένης υπηρεσίας, μέσα από μία και μοναδική εφαρμογή, στην ίδια οθόνη, με τηv έναρξη της σύνδεσης. 1.3 Υπηρεσιοστραφής Αρχιτεκτονική και Υπηρεσίες διαδικτύου (Web services) Οι Υπηρεσίες Ιστού ή διαδικτυακές υπηρεσίες αποτελούν τον πλέον διαδεδομένο και δημοφιλή τρόπο υλοποίησης της Υπηρεσιοστραφούς Αρχιτεκτονικής [7,8]. Οι Υπηρεσίες διαδικτύου αποτελούν αναπαραστάσεις των διεπαφών προγραμμάτων, εφαρμογών και υπηρεσιών, που είναι προσπελάσιμες μέσω Διαδικτύου. Οι Υπηρεσίες Ιστού παρέχουν έναν ανεξάρτητο από δεδομένα μηχανισμό παρουσίασης των υπηρεσιών ενός οργανισμού, με χρήση πρωτοκόλλων που βασίζονται σε γλώσσα XML. Page 22 of 145
Κεφάλαιο 1 Τεχνολογίες Αιχμής Οι υπηρεσίες Ιστού αποτελούν κατανεμημένα τμήματα λογισμικού που παρέχουν τις πληροφορίες στις εφαρμογές παρά στους ανθρώπους, μέσω μιας διεπαφής. Οι πληροφορίες είναι δομημένες χρησιμοποιώντας την εκτεταμένη γλώσσα σήμανσης (XML) έτσι ώστε να μπορούν να αναλυθούν και να υποβληθούν σε εύκολη επεξεργασία. Οι υπηρεσίες Ιστού δημοσιεύουν τις λεπτομέρειες των λειτουργιών και των διεπαφών τους αλλά κρατούν τις λεπτομέρειες της εκτέλεσής τους ιδιωτικές και κατά συνέπεια ένας πελάτης ή μια υπηρεσία που υποστηρίζουν τα κοινά πρωτόκολλα επικοινωνίας μπορούν να αλληλεπιδράσουν ανεξάρτητα από τις πλατφόρμες στις οποίες τρέχουν ή τις γλώσσες προγραμματισμού στις οποίες γράφονται. Αυτό καθιστά τις υπηρεσίες Ιστού ιδιαίτερα εφαρμόσιμες σε ένα κατανεμημένο ετερογενές περιβάλλον. Οι βασικές προδιαγραφές που χρησιμοποιούνται από τις υπηρεσίες Ιστού είναι [9]: μια εκτεταμένη γλώσσα σήμανσης XML για τη μορφοποίηση και την ανταλλαγή των δεδομένων. ένα xml based πρωτόκολλο για τη διευκρίνιση των πληροφοριών και των μηνυμάτων (SOAP). μια xml based γλώσσα που χρησιμοποιείται για να περιγράψει τις ιδιότητες, τις διεπαφές και άλλες ιδιότητες μιας υπηρεσίας Ιστού (WSDL 7 Web Services Description Language). Αν και μια υπηρεσία Ιστού μπορεί να υποστηρίξει οποιοδήποτε πρωτόκολλο επικοινωνίας και μπορεί να προσφέρει στους πελάτες της το περιθώριο της επιλογής, το πιο κοινό είναι το πρωτόκολλο SOAP (Simple Object Access Protocol ) 8 μέσω του HTTP (HyperText Transfer Protocol ) 9 ή του HTTPS. Συνεπώς μια διαδικτυακή υπηρεσία αποτελείται από πολλές συσχετιζόμενες τεχνολογίες που τοποθετούνται σε διαφορετικό επίπεδο λειτουργίας. Ξεκινώντας από κάτω προς τα πάνω λοιπόν, απαιτείται ένα πρωτόκολλο για την μεταφορά πληροφοριών μέσω δικτύου, όπως είναι το http, το SMTP (Simple Mail Transport Protocol) ή το FTP (File Transfer Protocol). Κάθε κλήση και απόκριση της υπηρεσίας θα πρέπει να «συσκευαστεί» σε ένα μήνυμα SOAP, το οποίο μπορεί να υφίσταται επεξεργασία από κάποιες επεκτάσεις SOAP (SOAP Extensions) πριν αποσταλεί από τον αιτούντα υπηρεσία και παραδοθεί στον πάροχο υπηρεσίας και αντίστροφα. Τα μηνύματα που ανταλλάσσονται και ο τρόπος που γίνεται η ανταλλαγή περιγράφονται λεπτομερώς στο αρχείο WSDL. Επόμενο βήμα είναι η ανακάλυψη των υπηρεσιών, μέσω της ύπαρξης ενός καταλόγου καταγραφής και δημοσίευσης των υπηρεσιών με τη μορφή υπηρεσίας καταγραφής, όπως είναι το UDDI (Universal Description, Definition and Integration) και το DISCO (Microsoft Discovery), που αποτελεί την πιο διαδεδομένη λύση. H αρχιτεκτονική του UDDI αποτελείται από τρία μέρη: Το μοντέλο δεδομένων UDDI το οποίο είναι ένα XML σχήμα για την περιγραφή επιχειρήσεων και υπηρεσιών ιστού 7 http://www.w3.org/tr/wsdl20/ 8 http://www.w3.org/tr/soap/ 9 http://www.w3.org/protocols/ Page 23 of 145
Κεφάλαιο 1 Τεχνολογίες Αιχμής Το UDDI API το οποίο βασίζεται στο SOAP για την αναζήτηση και δημοσίευση UDDI δεδομένων. Το επιχειρησιακό μητρώο UDDI το οποίο περιέχει τα site παρόχων οι οποίοι παρέχουν την υλοποίηση της UDDI προδιαγραφής και συγχρονίζει τα μεταξύ τους δεδομένα σε τακτικά χρονικά διαστήματα. Η χρήση των διαδικτυακών υπηρεσιών παρέχει αρκετά πλεονεκτήματα μερικά από τα οποία αναφέρονται παρακάτω: Διαλειτουργικότητα: μια διαδικτυακή υπηρεσία είναι ανεξάρτητη τόσο από το υιοθετημένο λειτουργικό σύστημα όσο και από το σχετικό υλικό (hardware). Οποιοδήποτε πρόγραμμα που συμβαδίζει με αυτή τη τεχνολογία μπορεί εύκολα να προσπελάσει μία τέτοια υπηρεσία. Ολοκλήρωση: Σε ένα υπάρχον λογισμικό σύστημα που λειτουργεί μέσα στο διαδίκτυο, υιοθέτηση ενσωμάτωση μιας καινούριας διαδικτυακής υπηρεσίας δεν απαιτεί αλλαγές στον μηχανισμό λειτουργίας του συστήματος. Διαθεσιμότητα και δημοσίευση: Οι σχετικές πληροφορίες για τις υπηρεσίες δημοσιεύονται οπότε η εύρεση της διαθεσιμότητάς τους και η χρήση τους μπορεί να είναι άμεση. Επέκταση: Μια διαδικτυακή υπηρεσία είναι δυνατό να μπορεί να ανανεώνεται σχετικά εύκολα παρέχοντας έτσι επιπρόσθετες υπηρεσίες στους χρήστες της. 1.4 Οφέλη και οι Προκλήσεις του SOA στις επιχειρήσεις και οργανισμούς Η υπηρεσιοστραφής αρχιτεκτονική μαζί με τις υπηρεσίες διαδικτύου είναι σε θέση να αποφέρουν μία πληθώρα πλεονεκτημάτων στις επιχειρήσεις και οργανισμούς που αποφασίσουν να υιοθετήσουν. Μερικά από τα σημαντικότερα πλεονεκτήματα και μειονεκτήματα που σχετίζονται με την εφαρμογή της υπηρεσιοστραφούς αρχιτεκτονικής είναι τα ακόλουθα: Πλεονεκτήματα: Γρήγορη ενσωμάτωση των επιχειρησιακών εφαρμογών Αποδοτική επιχειρησιακή αυτοματοποίηση Μικρότερος χρόνος διάθεσης νέων προϊόντων και υπηρεσιών Μειωμένες δαπάνες ΙΤ για τις μακροπρόθεσμες επενδύσεις Βελτιωμένη λειτουργική αποδοτικότητα των επιχειρησιακών διαδικασιών Καλύτερη απόδοση της επένδυσης Μειονεκτήματα Προκλήσεις: Προσδιορισμός των αναγκών για SOA Σημαντική επένδυση σε πόρους αρχιτεκτονικής σχεδίασης Page 24 of 145
Κεφάλαιο 1 Τεχνολογίες Αιχμής Προσδιορισμός του σωστού είδους προτύπου διακυβέρνησης για την επιχείρηση Συστήματα παλαιότερης τεχνολογίας κάποιες εφαρμογές δεν μπορούν να προσανατολιστούν προς τις υπηρεσίες Προς το παρόν, υπάρχουν δύο κυρίαρχες λύσεις που βοηθούν στην εφαρμογή SOA μέσω των υπηρεσιών Ιστού: Οι τεχνολογίες της Microsoft.NET και οι τεχνολογίες της πλατφόρμας Java Enterprise Edition της Sun Microsystems. Η πλατφόρμα της Java Enterprise Edition (Java EE) είναι μια βελτίωση του περιβάλλοντος της Java στην πλευρά του εξυπηρετητή. Η J2EE, αντίθετα από τη Microsoft.NET, θα μπορούσε να αποκαλεστεί το de facto πρότυπο, και έχει οδηγήσει σε μια μεγάλη πρωτοβουλία της βιομηχανίας αποκαλούμενη ως Java Community Process (JCP). Οι συμμετέχοντες σε αυτή την κοινότητα περιλαμβάνουν τις κορυφαίες εταιρίες στον χάρτη τη βιομηχανίας της πληροφορίας όπως η IBM, Oracle, Nokia, BEA, κ.λπ. Το πνεύμα της Java καθώς και άλλων σχετικών τεχνολογιών, όπως η Java EE, ήταν να απελευθερώσει τους πελάτες από την εξάρτηση προϊόντων και εργαλείων από τους προμηθευτές. 1.5 Ολοκλήρωση των Εφαρμογών και των Δεδομένων Συστημάτων μέσω του SoA Η Ολοκλήρωση ενσωμάτωση των υφιστάμενων εφαρμογών και των δεδομένων σε πολύπλοκα και υφιστάμενα επιχειρηματικά μοντέλα και συστήματα αποτελεί ίσως την περίπλοκη πρόκληση που απασχολεί τους οργανισμούς και τις διάφορες επιχειρήσεις σήμερα. Συνεπώς αρκετά μεγάλα ποσά δαπανούνται αλλά και έχουν δαπανηθεί τις προηγούμενες δεκαετίες στην ολοκλήρωση επιχειρησιακών εφαρμογών (Enterprise Application Integration EAI). Πάρα πολύ συχνά, εύθραυστες και μη συντηρήσιμες λύσεις έχουν δημιουργηθεί από μία ποικιλία από διαφορετικές τεχνολογίες και πρωτόκολλα. Συνεπώς όταν αναφερόμαστε σε διαλειτουργικότητα ετερογενών συστημάτων, πάντα πρέπει να εστιάζουμε σε ένα ή περισσότερα επίπεδα διαλειτουργικότητας τα οποία περιλαμβάνουν πρωτόκολλα επικοινωνιών και λειτουργικά συστήματα καθώς και μοντέλα δεδομένων και σημασιολογικές εφαρμογές όπως αποτυπώνεται στο επόμενο Σχήμα 6. To SOA υπόσχεται να απλοποιήσει την διαδικασία αυτή, παρέχοντας καθολική συνδεσιμότητα και διαλειτουργικότητα στα υφιστάμενα συστήματα και δεδομένα. Ωστόσο η επίτευξη πραγματικής διαλειτουργικότητας μπορεί να είναι δυσκολότερη από ότι πιθανώς είχε αρχικά θεωρηθεί. Στις υπηρεσίες διαδικτύου, η γλώσσα XML συνήθως χρησιμοποιείται για τη μεταφορά των απαραίτητων μηνυμάτων επειδή είναι ένα προσυμφωνημένο πρότυπο και επομένως ένας μηχανισμός διαλειτουργικότητας. Page 25 of 145
Κεφάλαιο 1 Τεχνολογίες Αιχμής Σχήμα 6 Επίπεδα Ολοκλήρωσης Επιχειρησιακών Εφαρμογών Η σημασιολογική διαλειτουργικότητα (semantic interoperability) αποτελώντας μια σημαντική πτυχή του SoA, μπορεί να χρησιμοποιηθεί προκειμένου να επιτευχθεί ένα συγκεκριμένο αποτέλεσμα ενσωμάτωσης και ολοκλήρωσης επιχειρησιακών εφαρμογών. Συνεπώς δεδομένα που δεν είναι κατανοητά προφανώς δεν μπορεί να είναι χρήσιμα, και συνεπώς χωρίς την σημασιολογία, τα στοιχεία θα αποτελούνταν απλά από σειρές άχρηστων μηδενικών και ένα, χωρίς καμία έννοια. Χωρίς την κατανόηση της έννοιας των δεδομένων, οι καταναλωτές και οι προμηθευτές υπηρεσιών θα μπορούσαν να παρερμηνεύσουν τα στοιχεία και να φέρουν τελικά ανεπιθύμητα αποτελέσματα σε μια επιχείρηση. Η σημασιολογία είναι σημαντική και υπαγορεύει τη διαλειτουργικότητα μεταξύ συστημάτων. Χωρίς την ύπαρξή της, η σύνδεση των δικτύων μεταξύ των καταναλωτών και των υπηρεσιών δεν θα μπορούσε να οδηγήσει πουθενά. Υπάρχουν πολλά επίπεδα ωριμότητας για τη σημασιολογική διαλειτουργικότητα, από το πολύ απλό έως το πολύ σύνθετο. Σύμφωνα με το βιβλίο [11] τα δεδομένα στο χαμηλότερο επίπεδο διαλειτουργικότητας σχετίζονται μόνο με ορισμένες εφαρμογές, ενώ τα δεδομένα σε υψηλότερο επίπεδο διαλειτουργικότητας μπορούν να είναι κατανοητά μεταξύ των εφαρμογών σε διαφορετικούς επιχειρησιακούς τομείς. Μπορούμε να εφαρμόσουμε αυτήν την έννοια στο SOA εξετάζοντας τρία επίπεδα διαλειτουργικότητας: Project specific interoperability Το χαμηλότερο επίπεδο διαλειτουργικότητας περιλαμβάνει τη δημιουργία μορφών δεδομένων ειδικά για ένα συγκεκριμένο έργο SOA. Business domain specific interoperability Μία υψηλού επιπέδου διαλειτουργικότητα περιστρέφεται γύρω από την επαναχρησιμοποίηση των προτύπων δεδομένων μέσα σε ένα επιχειρησιακό τομέα. Ένα παράδειγμα είναι οι υπηρεσίες που χρησιμοποιούν τα πρότυπα XML στον τομέα της υγειονομικής περίθαλψης, των ασφαλειών, κ.λπ. Καθώς οι επιχειρήσεις έχουν αντιληφθεί τη σημασία της σημασιολογικής διαλειτουργικότητας, Page 26 of 145
Κεφάλαιο 1 Τεχνολογίες Αιχμής πολλές κοινοπραξίες και οι βιομηχανίες έχουν συνεργαστεί στη δημιουργία τυποποιημένων σχημάτων δεδομένων, πρότυπα δεδομένων, και ταξινομίες σχετικά με τους τομείς τους. Επομένως, η χρησιμοποίηση τέτοιων προτύπων αποτελεί καλή πρακτική, καθώς παρόμοια προγράμματα μπορεί να χρειαστεί να επικοινωνήσουν με άλλα συστήματα στον ίδιο τομέα. Business domain independent interoperability Στο πιο υψηλό επίπεδο της διαλειτουργικότητας τα σχήματα δεδομένων χρησιμοποιούν πρότυπα από πολλούς επιχειρησιακούς τομείς. Σε αυτήν την προσέγγιση, τα μηνύματα υπηρεσιών μπορούν να περιλαμβάνουν στοιχεία σχημάτων από διάφορους επιχειρησιακούς τομείς, μπορούν να παραπέμπουν σε ταξινομικές κατηγορίες από διαφορετικούς τομείς, και τα στοιχεία των δεδομένων μπορούν να αναφέρονται σε στοιχεία μιας οντολογίας. Με τη χρησιμοποίηση των σημασιολογικών τεχνολογιών του Ιστού, υπηρεσίες και πελάτες από διαφορετικούς τομείς μπορούν να καταναλώνουν δεδομένα, και σε πολλές περιπτώσεις, μπορούν χρησιμοποιώντας τα βασισμένα σε κανόνες συστήματα, να καταλήξουν σε νέα γνώση από την ανάλυση των στοιχείων. 1.6 Το πρόβλημα της σημασιολογικής ολοκλήρωσης πληροφοριών Η ολοκλήρωση των επιχειρησιακών διαδικασιών μίας επιχείρησης αποτελεί παραδοσιακά ένα δύσκολο και δαπανηρό έργο, ιδιαίτερα όταν σε αυτή τη διαδικασία πρέπει να υποστηρίζονται και παλαιότερες υφιστάμενες εφαρμογές (legacy applications), των οποίων η λειτουργία είναι δύσκολο να διακοπεί ή να αντικατασταθεί. Επιπρόσθετα, όταν σε αυτή εμπλέκονται και άλλες επιχειρήσεις, το όλο εγχείρημα καθίσταται ακόμα δυσκολότερο καθώς περισσότερα από ένα, πολύπλοκα συνήθως, συστήματα που χρησιμοποιούν διαφορετικά πρωτόκολλα επικοινωνίας πρέπει να συνεργαστούν. Επιπλέον πολλές από αυτές τις υπάρχουσες εφαρμογές δεν έχουν σχεδιαστεί εξαρχής ώστε να εκμεταλλεύονται σύγχρονες τεχνολογίες για την ανταλλαγή πληροφοριών. Η ανάγκη της συνεχούς εισαγωγής νέων εφαρμογών μέσα στις επιχειρήσεις, καθώς και η μη εύκολη αντικατάσταση των ήδη υπαρχόντων συστημάτων εξαιτίας του μεγάλου κόστους των επενδύσεων που έχουν πραγματοποιηθεί από αυτές στο παρελθόν, καθιστά επιτακτική των ομαλή και ολοκληρωμένη ενσωμάτωση των συστημάτων αυτών μέσα στις επιχειρησιακές διαδικασίες. Οι νέες αυτές εφαρμογές έχουν αρκετές φορές ανάγκη χρήσης δεδομένων, από τα υπάρχοντα συστήματα των επιχειρήσεων, και τα οποία είναι αποθηκευμένα σε συγκεκριμένους τύπους δεδομένων. Έτσι για να γίνει εφικτή η χρήση των δεδομένων αυτών, απαιτείται συχνά η μετατροπή τους, με τέτοιο τρόπο έτσι ώστε να επιτυγχάνεται η διάθεση και χρήση αυτών από τις νέες εφαρμογές. Επομένως για την ολοκλήρωση των επιχειρηματικών διαδικασιών δεν απαιτείται μόνο να υπερνικηθούν οι διαφορές που προκύπτουν σε υλικό και λογισμικό αλλά και οι διαφορές που παρουσιάζονται στο συντακτικό και σημασιολογικό επίπεδο των δεδομένων [12]. Για να μπορέσουμε να καταλάβουμε τι σημαίνει σημασιολογική ολοκλήρωση πληροφοριών, περιγράφουμε τα διαφορετικά επίπεδα στα οποία μπορεί να Page 27 of 145
Κεφάλαιο 1 Τεχνολογίες Αιχμής πραγματοποιηθεί ολοκλήρωση πληροφοριών, προκειμένου να επιτραπεί η διαλειτουργικότητα μεταξύ των εφαρμογών σε μια επιχείρηση. Έτσι διακρίνουμε τα παρακάτω επίπεδα: Επίπεδο υλικού, το οποίο καλύπτει τις διαφορές στο υλικό υπολογιστών, στα δίκτυα κτλ. Επίπεδο λογισμικού, το οποίο καλύπτει διαφορές στο λειτουργικό σύστημα, βάσεις δεδομένων κτλ. Συντακτικό επίπεδο [13]. Αυτό καλύπτει τον τρόπο με τον οποίο το μοντέλο δεδομένων είναι γραμμένο. Για παράδειγμα, σε ένα σχήμα δεδομένων μπορεί να υπάρχει η έννοια Number ενώ σε ένα άλλο η έννοια No#. Εάν το ίδιο ακριβώς εννοείται και με τις δύο αυτές έννοιες, τότε μπορούμε να πούμε ότι υπάρχει μόνο μια συντακτική διαφορά στις δύο αυτές έννοιες, το οποίο μπορεί να λυθεί με το συντακτικό «ξαναγράψιμο» του σχήματος δεδομένων. Σημασιολογικό επίπεδο[14], το οποίο καλύπτει την προσδοκώμενη ερμηνεία των εννοιών σε ένα σχήμα. Είναι πολλές φορές, δύσκολο να γνωρίζουμε εάν η προσδοκώμενη ερμηνεία των εννοιών περιγράφονται από μια «weak» σχηματική γλώσσα, όπως η είναι η σχεσιακή άλγεβρα. Εδώ η ερμηνεία των εννοιών εξαρτάται συνήθως από το όνομά της, το οποίο μπορεί να ερμηνεύεται με διαφορετικό τρόπο από διαφορετικούς ανθρώπους. Για παράδειγμα ένας μηχανικός θα μπορούσε να θεωρήσει ένα κομμάτι μέταλλο ως η αρχή για την κατασκευή ενός οχήματος, ενώ ένας άλλος οποιοδήποτε άνθρωπος θα μπορούσε να δει το συγκεκριμένο μέταλλο ως ένα μη καθορισμένο κομμάτι από μέταλλο. Μελετώντας το πρόβλημα της σημασιολογικής ολοκλήρωσης πληροφοριών, λαμβάνουμε ένα πρόβλημα το οποίο δεν μπορεί να αντιμετωπιστεί με τις υπάρχουσες λύσεις που μπορεί να συναντήσει κανείς για την ολοκλήρωση επιχειρησιακών εφαρμογών [15, 16]. Οι ολοκληρωμένες αυτές λύσεις απαιτούν και την συμμετοχή ενός ανθρώπου χρήστη, ο οποίος να είναι σε θέση να καθορίσει την αντιστοίχηση μεταξύ των τύπων ενός μηνύματος από δύο εφαρμογές μέσα στην επιχείρηση, παρέχοντας όμως μόνο τους κανόνες που απαιτούνται για το γράψιμο του μηνύματος από την αρχή. Με άλλα λόγια, οι υπάρχουσες λύσεις, υιοθετούν τη συντακτική επανεγγραφή των μηνυμάτων, βασισμένες σε ορισμένους προκαθορισμένους κανόνες, επιτρέποντας έτσι την επιθυμητή διαλειτουργικότητα μεταξύ των εφαρμογών. Έτσι, πρόκληση αποτελεί η εύρεση μια λύσης αναφορικά με την εννοιολογία των διάφορων σχημάτων δεδομένων με τέτοιο τρόπο, ώστε ο καθορισμός ενός όρου να είναι σαφής και εκφρασμένος με έναν επίσημο και ρητό τρόπο, συνδέοντας την ανθρώπινη αντίληψη με αυτή των μηχανών. Προκειμένου μια εφαρμογή να χρησιμοποιήσει δεδομένα από μια άλλη εφαρμογή, ένα σχετικό script μετασχηματισμού είναι απαραίτητο να γραφτεί, επιτρέποντας τη μετατροπή δεδομένων από ένα τύπο σε ένα άλλο. Ένας τέτοιος όμως μετασχηματισμός είναι δύσκολο πολλές φορές να συντηρηθεί, επειδή όταν ένας τύπος δεδομένων αλλάξει, οι αλλαγές αυτές πρέπει να ανιχνεύονται έτσι ώστε να Page 28 of 145