UphresvÐec ShmasviologikoÔ IsvtoÔ gia Hlektronik Diakubèrnhsvh. Efarmog sve UphresvÐec Dhmìsviac DioÐkhsvhc

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "UphresvÐec ShmasviologikoÔ IsvtoÔ gia Hlektronik Diakubèrnhsvh. Efarmog sve UphresvÐec Dhmìsviac DioÐkhsvhc"

Transcript

1 ΑΛΕΞΑΝΔΡΕΙΟ Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Ptuqiak ergasvða UphresvÐec ShmasviologikoÔ IsvtoÔ gia Hlektronik Diakubèrnhsvh. Efarmog sve UphresvÐec Dhmìsviac DioÐkhsvhc Του φοιτητή Ευάγγελου Τόλια Αρ. Μητρώου: Επιβλέπων καθηγητής Δρ. Παναγιώτης Αδαμίδης Θεσ σ αλονίκη 2010

2 ii Ston SÐmpa, pou tan o kalôteroc svkôloc tou kìsvmou

3 EuqarisvtÐec Θα ήθελα να ευχαρισ τήσ ω θερμά τον επιβλέποντα καθηγητή μου, κύριο Παναγιώτη Αδαμίδη για τις σ υμβουλές τα σ χόλια αλλά και για την σ τήριξη που μου προσ έφερε σ ε σ τιγμές που ήμουν πολύ πιεσ μένος. Τον προϊσ τάμενο μου κύριο Αδαμάντιο Κουμπή για την κατανόησ η του, την ευγενική χειρονομία να μου επιτρέψει να χρησ ιμοποιήσ ω παραδοτέα και προγράμματα από το ερευνητικό έργο SemanticGov σ ε αυτή την πτυχιακή. Την σ υμφοιτήτρια και σ υνάδελφο Σταματία-Ανν Κατριού για βοήθεια, κατανόησ η, σ τήριξη και ενθάρρυνσ η που μου προσ έφερε για την δημιουργία της υποδειγματικής εφαρμογής του ερευνητικού έργου. Τους γονείς μου που με σ τηρίξανε ψυχολογικά, οικονομικά όλα αυτά τα χρόνια αλλά και για την κατανόησ η που μου δείχναμε όταν λόγο φόρτου εργασ ίας δεν μπορούσ α να παρευρεθώ σ ε Εορτές. Την αδερφή μου Κατερίνα Τόλια που με βοήθησ ε σ την διόρθωσ η των τυπογραφικών λαθών. iii

4 PerÐlhyh Οι πελάτες της Δημόσ ιας Διοίκησ ης αντιμετωπίζουν προβλήματα σ την χρήσ η των υπηρεσ ιών της. Μερικά από τα προβλήματα είναι ότι οι πελάτες είναι προσ ανατολισ μένοι σ τις ανάγκες ενώ οι Δημόσ ιες υπηρεσ ίες είναι προσ ανατολισ μένες σ την παροχή των υπηρεσ ιών. Αυτό τους αναγκάζει να αναζητούν με διάφορους τρόπους τις κατάλληλες υπηρεσ ίες που καλύπτουν τις ανάγκες τους αλλά και να μάθουν αν έχουν την δυνατότητα (κατάλληλο προφίλ) για να τις χρησ ιμοποιήσ ουν. Ακόμα και αν γνωρίζουν την διαδικασ ία που πρέπει να ακολουθήσ ουν, σ υχνά πρέπει να πηγαίνουν από Δημόσ ια υπηρεσ ία σ ε Δημόσ ια υπηρεσ ία έτσ ι ώσ τε να σ υλλέξουν τα απαραίτητα έγγραφα και πληροφορίες. Το ερευνητικό έργο SemanticGov πρότεινε μία υποδομή η οποία κάνει χρήσ η τεχνολογιών όπως Υπηρεσ ιών Ισ τού (Web Services), SOA (Service Oriented Architecture), Σημασ ιολογικών υπηρεσ ιών Ισ τού (Semantic Web Services) έτσ ι ώσ τε να μπορούν να βρίσ κουν οι πελάτες της Δημόσ ιας Διοίκησ ης τις υπηρεσ ίες που καλύπτουν τις ανάγκες τους, να ελέγχουν αν έχουν το κατάλληλο προφίλ για την χρήσ η της υπηρεσ ίας και σ ε περίπτωσ η που το έχουν να εκτελείται η έκδοσ η της υπηρεσ ίας που ταιριάζει σ το προφίλ των χρησ τών. Επιπλέον η αρχιτεκτονική αυτή επιτρέπει την διαλειτουργικότητα μεταξύ Δημόσ ιών υπηρεσ ιών σ ε εθνικό και διεθνές επίπεδο έτσ ι ο πελάτης δεν χρειάζεται να μεταφέρει έγγραφα από Δημόσ ια υπηρεσ ία σ ε Δημόσ ια υπηρεσ ία ειδικότερα για υπηρεσ ίες που απαιτούν σ υνεργασ ία σ ε διεθνές επίπεδο. Στα πλαίσ ια της πτυχιακής παρουσ ιάζεται μία από τις δύο υποδειγματικές εφαρμογές που ήταν η αλλαγή ιθαγένειας ενός Βούλγαρου πολίτη. Για να γίνει κατανοητή η αρχιτεκτονική αυτή σ τα πρώτα κεφάλαια περιγράφονται οι τεχνολογίες που χρησ ιμοποιούνται. Η υποδομή αποτελείται από Υπηρεσ ίες Ισ τού (όπου αποτελούν το βασ ικό εργαλείο για την δημιουργία αρχιτεκτονικών SOA και χρησ ιμοποιεί XML για την επικοινωνία αλλά και την περιγραφή των διεπαφών τους), τον Σημασ ιολογικό Ισ τό (Semantic Web) (και τις τεχνολογίες του) και τον σ υνδυασ μό των δύο που είναι οι Σημασ ιολογικές υπηρεσ ίες Ισ τού (Semantic Web Services). Οι τελευταίες παρέχουν σ ημασ ιολογικές περιγραφές σ ε Υπηρεσ ίες Ισ τού έτσ ι ώσ τε να βελτιώσ ει με αυτό τον τρόπο την αυτοματοποιημένη ανακάλυψη, σ ύνθεσ η, κλήσ η και παρακολούθησ η των υπηρεσ ιών. iv

5 Abstract Public Administration clients often face diculties using Public Administration Services. Some of these problems include that the PA clients are needs-aware but PA agencies are only service-aware. This forces clients to search for appropriate services that would fulll their needs and also to check if they are eligible for using this service by themselves. Even if they know the procedure that needs to be followed they often must go from one Public Agency to another in order to gather the required documents and information. The Semantic Gov research project proposes an infrastructure which uses Web Services, SOA and Semantic Web Services in order to help PA clients nd the services that fulll their needs. Clients are able to check if they are eligible to use the service and, if so, by using their own person personal prole, they can nd the appropriate version of the service they require. This architecture also provides interoperability between dierent PA agencies both within the country as well as the PA agencies in other countries. This saves the client having to deliver documents from one agency to another especially for services that require international cooperation. This undergraduate thesis presents one of the two showcases where a Bulgarian citizen wants to acquire Greek citizenship. The rst few chapters of this thesis provide a background of the technologies used in the architecture. The infrastructure consists of Web Services which is a realization technology of SOA and uses XML for communication and to describe their interfaces. The Semantic Web and its technologies and the combination of this with Web Services forms the Semantic Web Services. The latter provides semantic descriptions to Web Services in order to enhance the Web Service Discovery, composition, invocation and monitoring of Services. The outcome is that providing such a services as described in this thesis would be ecatious, time saving for clients and cost saving. v

6 Perieqìmena 1 ΕΙΣΑΓΩΓΗ 1 2 ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ Γιατί Υπηρεσ ίες Ισ τού Τι είναι οι Υπηρεσ ίες Ισ τού Τι είναι η XML (Extensible Markup Language) Στοιχεία (Elements) Ιδιότητες (Attributes) Παράδειγμα ενός XML σ τιγμιότυπου XML ονοματοχώροι (namespaces) Σωσ τά-διαμορφωμένα (Well-Formed) XML Κείμενα XML Schema Επικύρωσ η δεδομένων XML Τι είναι το SOAP (Simple Object Access Protocol) Η δομή του SOAP Εννοιες ενθυλάκωσ ης δεδομένων Εννοιες αποσ τολέα και λήπτη μηνύματος Τρόποι αποσ τολής μηνυμάτων SOAP Document/Literal RPC/Literal WSDL (Web Service Description Language) Δομή μηνύματος WSDL Message Exchange Patterns (MEPs) Η Μονόδρομη Λειτουργία (one-way) Η λειτουργία αίτησ η-απάντησ η (request-response) Λειτουργία αιτούμενης απάντησ ης (Solicit-response) Λειτουργία κοινοποίησ ης (Notication) Τι είναι το UDDI (Universal Description Discovery and Integration) Αρχιτεκτονική Υπηρεσ ιών Ισ τού (Web Service Architecture) SOA (Service Oriented Architecture) Υπηρεσ ίες Διεπαφές Μηνύματα Συγχρονισ μός vi

7 ΠΕΡΙΕΧ ΟΜΕΝΑ vii Χαλαρή σ ύζευξη Μητρώα (Registries) Ποιότητα υπηρεσ ίας Τεχνολογίες των Υπηρεσ ιών Ισ τού Enterprise Service Bus (ESB) ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ Τι είναι ο Σημασ ιολογικός Ισ τός Η αρχιτεκτονική του Σημασ ιολογικού Ισ τού Unicode URI (Uniform Resource Identier) XML + NS + xmlnschema RDF και RDFS OWL OWL Λογική (Logic) Απόδειξη (Proof) Σημασ ιολογικές Υπηρεσ ίες Ισ τού (Semantic Web Services) Τί είναι οι Σημασ ιολογικές Υπηρεσ ίες Ισ τού WSMO (Web Service Modeling Ontology) WSML (Web Service Modeling Language) WSMX (Web Service Execution Environment) Η αρχιτεκτονική του WSMX ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ Περιγραφή του προβλήματος Περιγραφή σ υσ τήματος Η υποδειγματική εφαρμογή Region of Central Macedonia (RCM) Η αρχιτεκτονική του SemanticGov Επίπεδο 1. Επίπεδο Ενδιαφερόμενων (Stakeholders Layer) Επίπεδο 2. Επίπεδο Επίλυσ ης Προβλημάτων (Problem Solving Layer) Επίπεδο 3. Επίπεδο Αιτούντων Υπηρεσ ίας (Service Requester's Layer) Επίπεδο 4. Επίπεδο διαμεσ ολάβησ ης (Middleware Layer) Επίπεδο Παρόχων Υπηρεσ ιών (Service Providers Layer) Η οντολογία GEA (Governance Enterprise Architecture) Αντισ τοίχησ η GEA σ ε WSMO Το Σενάριο Οι Υπηρεσ ίες Ισ τού Προσ αρμογείς (Adapters) Lowering και Lifting Οντολογίες (Ontologies)

8 ΠΕΡΙΕΧ ΟΜΕΝΑ viii Ενορχήσ τρωσ η RCM (RCM Orchestration) Διαμεσ ολάβησ η (Mediation) Η δικτυακή πύλη του SemanticGov Επιλογή της υπηρεσ ίας Η ισ τοσ ελίδα SemGov Τεχνολογίες που χρησ ιμοποιήθηκαν Περιγραφή λειτουργίας Ισ τοσ ελίδας ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΕΡΑΙΤΕΡΩ ΕΡΕΥΝΑ 98 Bibliography 104 Αʹ Παραρτήματα 110 Αʹ.1 Προσ θήκη μίας υπηρεσ ίας Αʹ.2 Εγκατάσ τασ η του σ υσ τήματος Αʹ.2.1 Προετοιμάζοντας το περιβάλλον για την εγκατάσ τασ η Αʹ.2.2 Αντιγραφή των αρχείων Αʹ.2.3 Εγκατάσ τασ η των δομικών σ τοιχείων Αʹ.2.4 Εναρξη των υπηρεσ ιών Αʹ.2.5 Χρήσ η της Ισ τοσ ελίδας

9 Katˆlogoc Sqhmˆtwn kai Pinˆkwn 2.1 XML Schema Στιγμιότυπο XML Η δομή του SOAP[59] Στιγμιότυπο SOAP Το μονοπάτι του μηνύματος SOAP Πρότυπο ανταλλαγής μηνύματος Document/Literal Πρότυπο ανταλλαγής μηνύματος RPC/Literal Δομή μηνύματος WSDL[18] Λειτουργία one-way Λειτουργία request-response Λειτουργία αιτούμενης απάντησ ης (solicit-response)[18] Λειτουργία κοινοποίησ ης (Notication) Αρχιτεκτονική υπηρεσ ιών ισ τού Αρχιτεκτονική SOA Τεχνολογίες Υπηρεσ ιών Ισ τού που υποσ τηρίζουν την αρχιτεκτονική SOA Η Αρχιτεκτονική Σημασ ιολογικού Ισ τού Η Αρχιτεκτονική Σημασ ιολογικού Ισ τού RDF τριπλέτα Παράδειγμα γράφου RDF Παράδειγμα μίας πραγμάτωσ ης (Reication) Γράφος σ τον οποίο θα εφαρμοσ τούν τα SPARQL ερωτήματα Αποτέλεσ μα Αποτέλεσ μα Αποτέλεσ μα Αποτέλεσ μα Παραλλαγές WSML Η αρχιτεκτονική του SemanticGov Η οντολογία GEA Αντισ τοίχησ η GEA με WSMO ix

10 ΚΑΤ ΑΛΟΓΟΣ ΣΧΗΜ ΑΤΩΝ ΚΑΙ ΠΙΝ ΑΚΩΝ x 4.4 Η οντολογία GEA μοντελοποιημένη με την γλώσ σ α WSML Σημασ ιολογική Υπηρεσ ία Ισ τού Τμήμα orchestration Παράδειγμα οντολογιας απεικόνισ ης Παράδειγμα οντολογίας Παράδειγμα της έννοιας Passport Διαγραμμα Ακολουθίας Συσ τήματος (System Sequence Diagram)[19] Ενορχήσ τρωσ η (Orchestration) και Χορογραφία (Choreography) Τμήμα της Ενορχήσ τρωσ ης (Orchestration) Χειρισ μός σ φάλματος σ την ενορχήσ τρωσ η (Orchestration) Διάγραμμα Κατάσ τασ ης Ενορχήσ τρωσ ης (Orchestration State Diagram) Σημεια διαμεσ ολάβησ ης (Mediation) Απεικόνισ η σ ε επίπεδο εννοιών (concept) Απεικόνισ η σ ε επίπεδο ιδιοτήτων (attributes) Απεικόνισ η των passport Απεικόνισ η των ιδιοτήτων (attributes) haspassportnumber με number Απεικόνισ η της ιδιοτήτας (attribute) hasname με fullname Απεικόνισ η της ιδιοτήτας (attribute) hassurname με fullname Concepts της μετα-οντολογιας για τις Οντολογίες Δένδρου Στόχων Στιγμιότυπα απο την Οντολογια Δένδρου Στόχων αλλαγής ιθαγένειας Λέξεις κλειδιά της Οντολογίας Δένδρου Στόχων αλλαγής ιθαγένειας Παράδειγμα ενός αξιώματος (axiom) Αναζήτησ η Επιλογή υπηρεσ ίας Φόρμα εισ αγωγης σ τοιχείων Φόρμα εισ αγωγης σ τοιχείων Φόρμα εισ αγωγής σ τοιχείων Επιβεβαίωσ η σ τοιχείων φόρμας Στοιχεία υπηρεσ ίας για την αλλαγή ιθαγένειας Ενημερωτικό μήνυμα Αποτέλεσ μα εκτέλεσ ης της υπηρεσ ίας Φόρμα εισ αγωγής σ τοιχείων Παράδειγμα σ τόχου Στιγμιότυπο εισ όδου Στιγμιότυπο εξόδου Αʹ.1 Εργαλεία και πού αποθηκεύεται το κάθε αποτέλεσ μα Αʹ.2 Φόρμα επιλογής Αʹ.3 Ontology Editor Αʹ.4 Νέα ιδιότητα Αʹ.5 Δημιουργία σ τιγμιότυπου Αʹ.6 Επεξεργασ ία σ τιγμιότυπου Αʹ.7 Επεξεργασ ία Σημασ ιολογικής Υπηρεσ ίας Ισ τού

11 ΚΑΤ ΑΛΟΓΟΣ ΣΧΗΜ ΑΤΩΝ ΚΑΙ ΠΙΝ ΑΚΩΝ xi Αʹ.8 Επεξεργασ ία Capability Αʹ.9 Επεξεργασ ία Σημασ ιολογικής Υπηρεσ ίας Ισ τού Δημόσ ιας Διοίκησ ης118 Αʹ.10XML αρχείο δεν βρέθηκε Αʹ.11Επεξεργασ ια Οντολογιας Δένδρου Στόχων Αʹ.12Επεξεργασ ία λογικής έκφρασ ης Αʹ.13Εισ αγωγη ριζικού σ τοιχείου Αʹ.14Μετατροπή σ τιγμιότυπου WSML σ ε XML Αʹ.15Κύρια σ ελίδα Αʹ.17Αποτέλεσ μα εκτέλεσ ης Αʹ.16Φόρμα εισ αγωγής σ τοιχείων

12 Kefˆlaio 1 EISAGWGH Η παροχή υπηρεσ ιών ηλεκτρονικής διακυβέρνησ ης είναι μία πολύπλοκη διαδικασ ία. Οι πελάτες της Δημόσ ιας Διοίκησ ης σ υνήθως δεν γνωρίζουν που να απευθυνθούν για να κάνουν χρήσ η μίας υπηρεσ ίας, τι έντυπα πρέπει να προσ κομίσ ουν, σ ε ποιες υπηρεσ ίες να απευθυνθούν για να σ υλλέξουν αυτά τα έντυπα, αν έ- χουν το κατάλληλο προφίλ για την χρήσ η μίας υπηρεσ ίας και τέλος ακόμα και όταν μάθει την διαδικασ ία αναγκάζεται να πηγαίνει από Δημόσ ια Υπηρεσ ία σ ε Δημόσ ια Υπηρεσ ία έτσ ι ώσ τε να προσ κομίσ ει τα απαραίτητα έγγραφα που θέλει μία σ υγκεκριμένη Υπηρεσ ία. Στα πλαίσ ια αυτής πτυχιακής παρουσ ιάζεται η αρχιτεκτονική του ερευνητικού έργου SemanticGov όπου κάνει χρήσ η τεχνολογιών Υπηρεσ ιών Ισ τού (Web Services), Σημασ ιολογικών Υπηρεσ ιών Ισ τού, (Semantic Web Services) και SOA. Μεγαλύτερη λεπτομέρεια έχει δοθεί σ τις Υπηρεσ ίες Ισ τού, σ τις Σημασ ιολογικές Υπηρεσ ίες Ισ τού (και σ την ενορχήσ τρωσ η (orchestration) τους), σ τους προσ αρμογείς (Adapters) Lowering και Lifting και τέλος σ την δημιουργία διαμεσ ολάβησ ης (Mediation) μεταξύ διαφορετικών οντολογιών σ τα οποία έχει σ υμβάλει ο σ υγγραφέας και αποτελούν μέρος της πτυχιακής αυτής. Για να γίνει κατανοητή η προαναφερθείσ α αρχιτεκτονική πρέπει να περιγραφούν πρώτα οι τεχνολογίες που χρησ ιμοποιούνται. Στο δεύτερο κεφάλαιο γίνεται η περιγραφή της XML και των βασ ικών σ τοιχείων της, των Υπηρεσ ιών Ισ τού και γίνεται περιγραφή του πώς χρησ ιμοποιείται η τεχνολογία XML για την περιγραφή των διεπαφών της υπηρεσ ίας (τι δομή έχουν τα δεδομένα εισ όδου και εξόδου που μεταφέρονται σ το δίκτυο για κάθε λειτουργία, ποιο πρωτόκολλο δικτύου χρησ ιμοποιείται για την μεταφορά) και την δημιουργία του πρωτοκόλλου SOAP μέσ ω του οποίου μεταφέρονται τα δεδομένα εισ όδου και εξόδου. Επιπλέον περιγράφεται τι είναι το UDDI και τι πληροφορίες παρέχει. Στο τέλος του κεφαλαίου αυτού γίνεται μία περιγραφή του τι είναι η αρχιτεκτονική SOA και πώς οι Υπηρεσ ίες Ισ τού, βάσ ει των χαρακτηρισ τικών που έχουν γίνονται το κύριο εργαλείο (μέχρι σ τιγμής) για την πραγματοποίησ η αρχιτεκτονικών βασ ισ μένων σ ε SOA. Στο τρίτο κεφάλαιο γίνεται μία εισ αγωγή σ τον Σημασ ιολογικό Ισ τό, αναλύεται κάθε επίπεδο της αρχιτεκτονικής του, περιγράφεται τι σ χέσ η έχει με τον Ισ τό (Web) αλλά και με τις βάσ εις δεδομένων. Πέρα από την περιγραφή της OWL υπάρχει και μία εισ αγωγική περιγραφή της OWL2 η οποία είναι μία καινούρια έκδοσ η 1

13 ΚΕΦ ΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΗ 2 της πρώτης. Τέλος σ το κεφάλαιο αυτό γίνεται περιγραφή των Σημασ ιολογικών Υπηρεσ ιών Ισ τού όπου αποτελούν σ υνδυασ μό των Υπηρεσ ιών Ισ τού και του σ ημασ ιολογικού ισ τού έτσ ι ώσ τε να διευκολυνθεί η ανακάλυψη, η σ ύνθεσ η, η κλήσ η και η παρακολούθησ η των υπηρεσ ιών. Γίνεται περιγραφή του εννοιολογικού μοντέλου WSMO, της γλώσ σ ας WSML που βασ ίζεται σ ε αυτό αλλά και του περιβάλλοντος εκτέλεσ ης WSMX όπου και αυτό όπως και η γλώσ σ α WSML βασ ίζεται σ το WSMO και είναι αυτό που αναλαμβάνει την ανακάλυψη, επιλογή, διαμεσ ολάβησ η, σ ύνθεσ η, επίκλησ η Σημασ ιολογικών Υπηρεσ ιών Ισ τού. Στο τέταρτο κεφάλαιο περιγράφεται η αρχιτεκτονική του ερευνητικού προγράμματος SemanticGov, ποιοι το χρησ ιμοποιούν, τα εργαλεία που έχουν αναπτυχθεί για την υποσ τήριξη των χρησ τών και διαχειρισ τών (Δικτυακή πύλη, WSMO s- tudio), τον τρόπο που επικοινωνούν τα σ τοιχειολογισ μικά του WSMX μεταξύ τους (διεπαφές σ τοιχειολογισ μικών, μηχανισ μός επικοινωνίας) έτσ ι ώσ τε να γίνει η κλήσ η Σημασ ιολογικών Υπηρεσ ιών Ισ τού, το επίπεδο το οποίο παρέχει λειτουργικότητα για την υποσ τηρίξη της κλήσ ης Σημασ ιολογικών Υπηρεσ ιών Ισ τού και τέλος τις υπηρεσ ίες υποσ τήριξης που παρέχουν οι οργανισ μοί Δημόσ ιας Διοίκησ ης. Υσ τερα περιγράφεται η οντολογία GEA η οποία μοντελοποιεί αντικείμενα και διαδικασ ίες για την περιγραφή της Δημόσ ιας Διοίκησ ης αλλά και πώς αυτό το μοντέλο μπορεί να περιγραφεί με την γλώσ σ α WSML. Γίνεται η παρουσ ίασ η της υποδειγματικής εφαρμογής αλλαγής ιθαγένειας, των Υπηρεσ ιών Ισ τού που παρέχονται από τους διάφορους οργανισ μούς Δημόσ ιας Διοίκησ ης και το πώς αυτές οι υπηρεσ ίες μέσ ω του WSMX και του WSML μετατρέπονται σ ε Σημασ ιολογικές Υπηρεσ ίες Ισ τού. Επιπρόσ θετα παρουσ ιάζεται και η Σημασ ιολογική Υπηρεσ ία Ισ τού υψηλότερου επιπέδου η οποία καλεί όλες τις υπόλοιπες και περιγράφει πως το επιτυγχάνει αυτό. Επιπλέον σ το κεφάλαιο αυτό περιγράφεται πώς γίνεται η μετατροπή μίας οντολογίας σ ε μία άλλη για την αντιμετώπισ η της ετερογένειας που υπάρχει μεταξύ Σημασ ιολογικών Υπηρεσ ιών Ισ τού που χρησ ιμοποιούν διαφορετικές οντολογίες. Το τελευταίο μέρος του έργου SemanticGov είναι η Δικτυακή πύλη που βοηθά τον πελάτη της Δημόσ ιας Διοίκησ ης σ την αναζήτησ η της υπηρεσ ίας, σ τον έλεγχο αν δικαιούται να χρησ ιμοποιήσ ει την υπηρεσ ία, αλλά και τον προσ διορισ μό της σ υγκεκριμένης έκδοσ ης της υπηρεσ ίας βάσ ει των απαντήσ εων σ ε ερωτήσ εις που παράγονται δυναμικά κάνοντας χρήσ η ερωτήσ εων που μοντελοποιήθηκαν σ ε οντολογίες WSML. Στο τελευταίο τμήμα του κεφαλαίου αυτού παρουσ ιάζεται μία ισ τοσ ελίδα που δημιουργήθηκε σ τα πλαίσ ια της πτυχιακής όπου παρουσ ιάζεται εκτενεσ τέρα ο τρόπος επικοινωνίας μίας δυναμικής ισ τοσ ελίδας με το περιβάλλον εκτέλεσ ης WS- MX (οντολογίες εισ όδου, οντολογίες εξόδου, κλήσ η μεθόδων).

14 Kefˆlaio 2 UPHRESIES ISTOU 2.1 GiatÐ UphresvÐec IsvtoÔ Σύμφωνα με τον Ian Sommerville η μηχανική λογισ μικού βασ ισ μένη σ την επαναχρησ ιμοποίησ η γίνεται η κύρια προσ έγγισ η ανάπτυξης. Μέχρι πρόσ φατα ήταν δύσ κολο να επαναχρησ ιμοποιήσ ουμε οντότητες λογισ μικού που είναι αρκετά μεγαλύτερες από ένα αντικείμενο ή διαδικασ ία αλλά και μικρότερο από ένα πρόγραμμα. Γι αυτό τον λόγο έγιναν προσ πάθειες επαναχρησ ιμοποίησ ης αυτού του είδους των οντοτήτων δημιουργώντας framework όπως το CORBA (Common Object Request Broker Architecture). Αυτό άνοιξε ευκαιρίες για σ υσ τηματική επαναχρησ ιμοποίησ η μέσ α από την μηχανική λογισ μικού βασ ισ μένη σ ε σ υσ τατικά λογισ μικού [57]. Μηχανική λογισ μικού βασ ισ μένη σ ε σ τοιχειολογισ μικό (Component-based software engineering) είναι η διαδικασ ία του ορισ μού, υλοποίησ ης, ενοποίησ ης ή σ ύνθεσ ης χαλαρά σ υνδεδεμένων και ανεξάρτητων σ τοιχειολογισ μικών σ ε σ υσ τήματα [57]. Στην επαναχρησ ιμοποίησ η των σ τοιχειολογισ μικών υπήρχαν, όμως, περιορισ μοί όπως το ότι ήταν εξαρτημένα από το λειτουργικό σ ύσ τημα, την γλώσ σ α προγραμματισ μού και το πλαίσ ιο εργασ ιας (framework) που υποσ τήριζε την επικοινωνία των σ τοιχειολογισ μικών αλλά και από το γεγονός ότι αυτού του είδους η επικοινωνία χρησ ιμοποιεί πόρτες του TCP (Transmission Control Protocol) πρωτοκόλλου που τα περισ σ ότερα τείχοι προσ τασ ίας (rewall) δεν την επιτρέπουν. Μία καινούρια τεχνολογία δημιουργήθηκε όπου υπόσ χεται ακόμα χαμηλότερη σ ύζευξη παρέχοντας επικοινωνία ανεξαρτήτου λειτουργικού σ υσ τήματος, γλώσ σ- ας προγραμματισ μού και σ υνήθως χωρίς περιορισ μούς από τα τείχη προσ τασ ίας (γιατί υποσ τηρίζει ενθυλάκωσ η των δεδομένων μεταξύ άλλων και σ ε HTTP) και τέλος μεταφορά μόνο της πληροφορίας (σ ε μορφή XML) και όχι λειτουργικότητας όπως κάνει π.χ. το CORBA. Αυτή η τεχνολογία είναι οι Υπηρεσ ίες Ισ τού (Web Services). 3

15 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ Ti eðnai oi UphresvÐec IsvtoÔ Υπάρχουν πολλοί ορισ μοί για το τι είναι οι Υπηρεσ ίες Ισ τού. Παρακάτω παραθέτω μερικούς ορισ μούς από τις εταιρίες και οργανισ μούς που σ υνέβαλαν σ την δημιουργία και ανάπτυξη τους: Microsoft: Οι Υπηρεσ ίες Ισ τού επεκτείνουν την υποδομή του παγκόσ μιου ισ τού για να παρέχουν ένα μέσ ο για να επικοινωνούν τα λογισ μικά μεταξύ τους. Οι εφαρμογές έχουν πρόσ βασ η σ τις Υπηρεσ ίες Ισ τού μέσ ω πρωτοκόλλων, απανταχού Ισ τός (ubiquitous Web) και μορφές δεδομένων (data formats) όπως HTTP, XML και SOAP, χωρίς να χρειάζεται να ανησ υχούμε για το πώς έχει υλοποιηθεί η κάθε Υπηρεσ ία Ισ τού [3]. W3C: Οι Υπηρεσ ίες Ισ τού παρέχουν ένα πρότυπο μέσ ο για την διαλειτουργικότητα μεταξύ διαφορετικών εφαρμογών λογισ μικού, που τρέχουν σ ε μία ποικιλία από πλατφόρμες και/ή πλαίσ ια εργασ ίας. Οι Υπηρεσ ίες Ισ τού χαρακτηρίζονται από την μεγάλη διαλειτουργικότητα και επεκτασ ιμότητα καθώς και από τη μηχανική-επεξεργασ ία περιγραφών χάρη σ την χρήσ η της XML. Μπορούν να σ υνδυασ τούν με ένα χαλαρά σ υνδεδεμένο (loosely coupled) τρόπο έτσ ι ώσ τε να επιτευχθούν πολύπλοκες λειτουργίες. Προγράμματα που παρέχουν απλές υπηρεσ ίες μπορούν να αλληλεπιδρούν μεταξύ τους με σ κοπό την παροχή εξελιγμένων υπηρεσ ιών προσ τιθέμενης αξίας.[63]. Για να επιτευχθεί η διαλειτουργικότητα έπρεπε να υιοθετηθούν κάποια σ τάνταρτ γι αυτό το λόγο δημιουργήθηκε ο οργανισ μός WS-I (Web Services Interoperability Organization), αλλά σ υνέβαλαν και άλλοι οργανισ μοί όπως W3C (World Wide Web Consortium), OASIS (Organization for the Advancement of Structured Information Standards). Οι βασ ικές τεχνολογίες που χρησ ιμοποιούν οι Υπηρεσ ίες Ισ τού είναι η XML, το SOAP, το WSDL και το UDDI. 2.3 Ti eðnai h XML (Extensible Markup Language) Η XML (Extensible Markup Language) ή αλλιώς Επεκτάσ ιμη Γλώσ σ α Σήμανσ ης, περιγράφει μία κατηγορία από αντικείμενα δεδομένων που ονομάζονται XML κείμενα και μερικώς την σ υμπεριφορά των προγραμμάτων που τα επεξεργάζονται. Η XML είναι ένα προφίλ εφαρμογής (application prole) ή μία περιορισ μένη μορφή της SGML (Standard Generalized Markup Language). Κατ αντισ τοιχία τα XML Documents είναι σ ύμφωνα με τη SGML.[63]. Πιο σ υγκεκριμένα η XML είναι μία μετα-γλώσ σ α (Μία γλώσ σ α για τον ορισ μό άλλων γλωσ σ ών). Χρησ ιμοποιείται για την οργάνωσ η και την περιγραφή δεδομένων βασ ισ μένη σ ε σ τανταρτ και έχει την μορφή κειμένου[8]. Μερικά από τα βασ ικά χαρακτηρισ τικά της XML είναι τα σ τοιχεία (elements), ιδιότητες (attributes), ονοματοχώροι (namespaces), DTD και σ χήμα (schema).

16 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ StoiqeÐa (Elements) Η XML οργανώνει τα δεδομένα ιεραρχικά δημιουργώντας μία δομή δένδρου όπου κάθε κλαδί του δένδρου ονομάζεται σ τοιχείο (element). Ενα σ τοιχείο έχει σ υνήθως μία ετικέτα ανοίγματος και ένα κλεισ ίματος όπως φαίνεται παρακάτω: <element></element> Οπου σ την θέσ η του σ τοιχείου μπορεί να χρησ ιμοποιηθεί οποιοδήποτε αλφαριθμητικό, παύλα, κάτω παύλα, τελεία, και άνω κάτω τελεία (όταν πρόκειται για ονοματοχώρο). Τα σ τοιχεία δεν χρειάζεται να περιέχουν δεδομένα. Στην περίπτωσ η που δεν περιέχει χρησ ιμοποιούμε την παρακάτω σ ύνταξη <element/> Idiìthtec (Attributes) Οι ιδιότητες περιέχουν τιμές που σ υσ χετίζονται με ένα σ τοιχείο και είναι πάντα μέλος σ την πρώτη ετικέτα (tag) του σ τοιχείου. Ενα παράδειγμα παρουσ ιάζεται παρακάτω. <element attribute = value ></element> Ενα σ τοιχείο μπορεί να περιέχει μία ή περισ σ ότερες ιδιότητες. Αυτές χρησ ιμοποιούνται σ υμπληρωματικά σ την περιγραφή των δεδομένων που εσ ωκλείονται Parˆdeigma enìc XML svtigmiìtupou Παρακάτω παρατίθεται ένα XML σ τιγμιότυπο που απεικονίζει μία διεύθυνσ η: 1. <?xml version="1.0" encoding="utf-8"?> 2. <address category=business> 3. <street>dimosthenous</street> 4. <streetnumber>200</streetnumber> 5. <city>kallithea</city> 6. </address> Στην πρώτη γραμμή του σ τιγμιότυπου ονομάζεται δήλωσ η (declaration) όπου μ- πορεί να δηλωθεί η έκδοσ η (version) και η κωδικοποίησ η (encoding) της γραμματοσ ειράς του σ τιγμιοτύπου (instance). Στο παραπάνω παράδειγμα υπάρχουν 4 σ τοιχεια (address, street, streetnumber, city). Το σ τοιχείο address επειδή περιέχει όλα τα υπόλοιπα σ τοιχεία ονομάζεται ριζικό σ τοιχείο (root element). Κάθε XML έγγραφο πρέπει να έχει ένα ριζικό σ τοιχείο και αυτό το σ τοιχείο να περιέχει όλα τα σ τοιχεία εκτός από το σ τοιχείο δήλωσ ης. Παρατηρούμε ότι το παραπάνω έγγραφο περιγράφει μία διεύθυνσ η όπου ανήκει σ την κατηγορία business.

17 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ XML onomatoq roi (namespaces) Ο ονοματοχώρος XML παρέχει μία απλή μέθοδο για τον προσ διορισ μό ονομάτων, σ τοιχειων και ιδιοτήτων που χρησ ιμοποιούνται σ τα κείμενα XML με την σ υσ χέτισ η τους με ονοματοχώρους που προσ διορίζονται με αναφορές URI[62]. Σύμφωνα με το W3C, ο XML ονοματοχώρος προσ διορίζεται από μία αναφορά URI, τα ονόματα των σ τοιχείων και των ιδιοτήτων μπορούν να τεθούν σ ε ένα XML ονοματοχώρο χρησ ιμοποιώντας τους μηχανισ μούς που περιγράφονται σ την προδιαγραφή Namespaces in XML 1.0[62]. Πιο σ υγκεκριμένα ο ονοματοχώρος είναι μία μέθοδος για τον διαχωρισ μό και τον προσ διορισ μό διαφορετικών σ τοιχείων XML με ίδιο όνομα σ ε ένα XML έγγραφο.[8]. Παρακάτω υπάρχει ένα παράδειγμα δήλωσ ης ονοματοχώρου που σ υσ χετίζει το προθεμα ονοματοχώρου (namespace prex) edi με το ονομα ονοματοχώρου <x xmlns:edi='http://ecommerce.example.org/schema'> <! the "edi" prex is bound to for the "x" element and contents > </x> Swsvtˆ-Diamorfwmèna (Well-Formed) XML KeÐmena Ενα XML κείμενο είναι σ ωσ τά-διαμορφωμένο όταν: 1. Περιέχει ένα ή περισ σ ότερα σ τοιχεία. 2. Υπάρχει ακριβώς ένα σ τοιχείο που ονομάζεται ριζικό ή σ τοιχείο κειμένου (document element), κανένα τμήμα του οποίου δεν πρέπει να εμφανίζεται σ το περιεχόμενο κανενός άλλου σ τοιχείου. Ενώ για όλα τα υπόλοιπα σ τοιχεία αν η ετικέτα αρχής (start-tag) είναι περιεχόμενο ενός άλλου σ τοιχείου και η ετικέτα τέλους (end-tag) είναι περιεχόμενο του ίδιου σ τοιχείου. 3. Κάθε μία από τις οντότητες που προκύπτουν απο την γραμματική ανάλυσ η του εγγράφου οι οποίες αναφέρονται άμεσ α ή έμμεσ α μέσ α σ το έγγραφο είναι σ ωσ τα διαμορφωμένες XML Schema Η προδιαγραφη (specication) XML περιέχει το Document Type Denition (DT- D), το οποίο χρησ ιμοποιείται για να περιγράψει XML γλώσ σ ες σ ήμανσ ης και να επικυρώσ ει (validate) σ τιγμιότυπα τους. Δυσ τυχώς όμως έχει περιορισ μούς. Για να αντιμετωπισ τούν οι περιορισ μοί του DTD, το W3C δημιούργησ ε ένα νέο τρόπο για την περιγραφή XML και ονομάζεται XML Schema. Για την περιγραφή των μηνυμάτων που μεταφέρονται από και προς τις Υπηρεσ ίες Ισ τού χρησ ιμοποιείται το XML Schema. Ο λόγος είναι ότι το DTD δεν υποσ τηρίζει τύπους δεδομένων (integer, decimal, boolean, enumeration) και επίσ ης το XML Schema υποσ τηρίζει την χρήσ η ονοματοχώρων XML για την δημιουργία σ ύνθετων κειμένων (compound documents) αποτελούμενα από πολλαπλές γλώσ σ ες σ ήμανσ ης.

18 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 7 Το XML Schema προσ διορίζει την XML Schema γλώσ σ α ορισ μού, η οποία προσ φέρει την υποδομή για την περιγραφή της δομής και το περιορισ μό των περιεχομένων των XML εγγράφων, σ υμπεριλαμβανομένου και αυτών που χρησ ιμοποιούν την υποδομή ονοματοχώρων XML [26]. Πιο σ υγκεκριμένα το Schema ορίζει ποιά σ τοιχεία και ιδιότητες χρησ ιμοποιούνται σ ε μία γλώσ σ α σ ήμανσ ης, με ποια σ ειρά εμφανίζονται και με ποιο τρόπο εμφωλεύονται. Επιπλέον περιγράφει τον τύπο δεδομένων που πρέπει να περιέχει το σ τοιχείο [43]. Ενα Schema περιγράφει την δομή ενός XML εγγράφου με όρους σ ύνθετων τυπων (complex types) και απλών τύπων (simple types). Οι σ υνθετοι τύποι περιγράφουν πώς τα elements είναι οργανωμένα και εμφωλευμένα. Οι απλοί τύποι είναι πρωταρχικοί τυποι δεδομένων (primitive data types) που περιέχονται από τα σ τοιχεια και τις ιδιότητες. Ενα παράδειγμα ενός XML Schema παρουσ ιάζεται παρακάτω: Σχήμα 2.1: XML Schema Το ριζικό σ τοιχείο ενός Schema εγγράφου είναι πάντα ένα Schema σ τοιχείο. Εμφωλευμένες μέσ α σ ένα schema element υπάρχουν οι δηλώσ εις type και element. Στο παραπάνω παράδειγμα δηλώνει ένα complextype με όνομα addresstype ένα simpletype με όνομα Categories και ένα σ τοιχείο με όνομα Address. Το XML σ τοιχείο κάνει εκχώρησ η του XML Schema ονοματοχώρου (http: //www.w3.org/2001/xmlschema) σ το πρόθεμα xs. Αυτός ο ονοματοχώρος είναι ο εξ ορισ μού ονοματοχώρος που έχει ορισ τεί από την προδιαγραφή XML Schema, όλα τα XML schema σ τοιχεια πρέπει να ανήκουν σ ε αυτόν τον ονοματοχωρο. Με την δήλωσ η του targetnamespace='example' όλοι οι νέοι τύποι που δηλώνονται σ το schema ανήκουν σ τον ονοματοχώρο example. Επιπλέον η

19 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 8 γραμμή xmlns:ex='example' εκχωρεί τον ονοματοχώρο 'example' σ το πρόθεμα έτσ ι ώσ τε οι νέοι τύποι του schema να μπορούν να προσ διορισ τούν χρησ ιμοποιώντας το πρόθεμα άνω κάτω τελεία και το όνομα τύπου ex:typename. Με αυτή την γραμμή <xs:attribute name="category" type="ex:categories"/> περιγράφουμε ότι ο AddresType τύπος έχει επιπλέον μία ιδιότητα που είναι τύπου Categories. Ο τύπος Categories είναι SimpleType και με την σ ύνταξη <xs:restriction base="xs:string"> εξειδικεύει το τύπος string έτσ ι ώσ τε να παίρνει δύο τιμές Work και Home. Με αυτόν τον τρόπο προσ διορίζουμε ότι μία διεύθυνσ η μπορεί να είναι δύο τύπων Work και Home EpikÔrwsvh dedomènwn XML Το κατά πόσ ο ένα XML έγγραφο είναι επικυρωμένο προσ διορίζεται από το Document Type Denition (DTD) ή από το XML Schema. Επιπλέον υπάρχουν διάφορες μορφές (format) επικύρωσ ης δεδομένων αλλά οι πιο ευρέως διαδεδομένες και κατά W3C εγκεκριμένες είναι το DTD και το W3C Schema. Ενα σ ωσ τάδιαμορφωμένο XML document όπου πληροί όλες τις απαιτήσ εις ενός ή περισ σ ότερων προδιαγραφών ονομάζεται επικυρωμένο (valid) XML κείμενο[8]. Ενα παράδειγμα ενός επικυρωμένου XML κειμένου ως προς το παραπάνω XML Schema είναι το παρακάτω: Σχήμα 2.2: Στιγμιότυπο XML 2.4 Ti eðnai to SOAP (Simple Object Access Protocol) Το SOAP ή διαφορετικά Απλό Πρωτόκολλο Πρόσ βασ ης Αντικειμένου είναι ελαφρύ πρωτόκολλο για την ανταλλαγή δομημένης πληροφορίας σ ε ένα αποκεντρωμένο και κατανεμημένο περιβάλλον. Χρησ ιμοποιεί τεχνολογίες XML για να ορίσ ει ένα επεκτάσ ιμο πλαίσ ιο εργασ ίας μηνυμάτων παρέχοντας μία δομή μηνύματος που μπορεί μεταφερθεί μέσ ω διαφόρων πρωτοκόλλων. Το πλαίσ ιο εργασ ίας έχει σ χεδιασ τεί έτσ ι ώσ τε να είναι ανεξάρτητο από οποιοδήποτε προγραμματισ τικό μοντέλο και άλλες υλοποιήσ εις ειδικών σ ημάνσ εων[37]. Πιο σ υγκεκριμένα το SOAP είναι άλλη μία εφαρμογής της XML σ υνοδευόμενη με κανόνες που υπαγορεύουν την χρήσ η της. Ο σ κοπός του SOAP είναι η ανταλλαγή δεδομένων μέσ ω δικτύων. Προσ διορίζει το πώς ενθυλακώνονται και κωδικοποιούνται τα δεδομένα

20 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 9 XML αλλά και τους κανόνες για την μετάδοσ η και την λήψη αυτών των δεδομένων. Είναι ουσ ιασ τικά ένα πρωτόκολο εφαρμογής δικτύου (network application protocol). Τα SOAP μηνύματα μπορούν να μεταφερθούν μέσ ω SMTP (Simple Mail Transfer Protocol) αλλά και μέσ ω άλλων πρωτοκόλλων δικτύου όπως FTP (File Transfer Protocol) ή απευθείας μέσ ω του TCP/IP(Transmission Control Protocol/Internet Protocol). Το SOAP ορίζει πώς δομούνται και επεξεργάζονται τα μηνύματα έτσ ι ώσ τε να είναι ανεξάρτητα από οποιαδήποτε γλώσ σ α προγραμματισ μού ή πλατφόρμα. Με αυτόν τον τρόπο διευκολύνει την διαλειτουργικότητα μεταξύ εφαρμογών γραμμένες από διαφορετικές γλώσ σ ες προγραμματισ μού ή τρέχουν σ ε διαφορετικά λειτουργικά σ υσ τήματα. Φυσ ικά υπάρχουν κι άλλα πρωτόκολα όπως το CORBA IOP και DTE RPC που εσ τιάζουν σ την διαλειτουργικότητα όμως δεν κατάφεραν να διαδοθούν όπως το SOAP. Οι λόγοι που το SOAP έχει τόσ η απήχησ η είναι ότι : 1. Εχει υιοθετηθεί από τις περισ σ ότερες ομάδες που ασ χολούνται με παράλληλη επεξεργασ ία (Microsoft, IBM, Sun Microsystems, BEA, HP, Oracle and SAP). 2. Βασ ίζεται σ ε XML που το κάνει πολύ επεκτάσ ιμο. 3. Μπορεί να ενθυλακωθεί και σ ε HTTP και τα περισ σ ότερα τοίχοι προσ τασ ίας επιτρέπουν την πρόσ βασ η μέσ ω της θύρας H dom tou SOAP Οπως ξέρουμε ένα μήνυμα SOAP είναι ένα τύπος XML κειμένου. Εχει το δικό του XML Schema, ονοματοχώρους (namespaces) και κανόνες επεξεργασ ίας (processing rules). Μία γενική επισ κόπησ η των δομών της γλώσ σ ας SOAP φαίνεται παρακάτω: Σχήμα 2.3: Η δομή του SOAP[59]

21 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 10 Και ένα απλό παράδειγμα ενός SOAP μηνύματος είναι το παρακάτω: Σχήμα 2.4: Στιγμιότυπο SOAP Εννοιες ενθυλάκωσ ης δεδομένων Το σ τοιχείο soap:envelope Κάθε κείμενο SOAP ξεκινά με το ριζικό σ τοιχείο soap:envelope, το οποίο καθορίζει τη σ υνολική εμβέλεια του μηνύματος. Το σ τοιχείο soap:body Το body ενός μηνύματος αναπαρισ τά τα κυρίως επιχειρησ ιακά δεδομένα που θα σ ταλούν σ τον απόλυτο προορισ μό (ultimate destination). Πιο σ υγκεκριμένα το σ τοιχείο body δρα σ αν τυποποιημένο περιτύλιγμα για τα δεδομένα που μπορεί να είναι σ ε οποιαδήποτε επικυρωμένη XML μορφή. Το σ τοιχείο soap:header Το σ τοιχείο Header περιέχει πληροφορίες σ χετικά με το μήνυμα με την μορφή ενός ή περισ σ ότερων διακριτών XML εγγράφων. Μερικές από τις πληροφορίες μπορεί να είναι διαπισ τευτήρια ασ φάλειας, πληροφορίες αποσ φαλμάτωσ ης (debugging), ID's σ υναλλαγών ή οποιαδήποτε άλλη πληροφορία σ χετικά με το μήνυμα και είναι σ ημαντικά για την επεξεργασ ία των δεδομένων σ το σ τοιχείο body[43]. Το σ τοιχείο soap:fault Οταν ένα SOAP μήνυμα επεξεργάζεται ή μεταδίδεται, πολλά πράγματα μπορούν να πάνε σ τραβά. Κάποιες σ υνθήκες σ φάλματος μπορούν να προβλεφθούν έτσ ι ώσ τε όταν προκύψουν τα επηρεαζόμενα προγράμματα να μπορούν να ειδοποιηθούν. Αυτή η ειδοποίησ η σ ε μορφή μηνύματος ονομάζεται SOAP Fault[59] 'Ennoiec aposvtolèa kai l pth mhnômatoc Ενα μήνυμα SOAP ταξιδεύει κατά μήκος της διαδρομής μηνύματος από το αποσ τολέα σ τον παραλήπτη παρατηρήσ τε την εικόνα παρακάτω. Σχήμα 2.5: Το μονοπάτι του μηνύματος SOAP

22 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 11 Κόμβοι SOAP: αναπαρισ τούν οποιοδήποτε τύπο προγράμματος κατά μήκος της διαδρομής μηνύματος το οποίο είναι ικανό για την επεξεργασ ία του περιεχόμενου του μηνύματος σ υμφωνά με το πρότυπο SOAP. Αποσ τολέας μηνύματος SOAP: είναι ένας SOAP κόμβος όπου μεταδίδει SOAP μηνύματα. Παραλήπτης μηνύματος SOAP: είναι ένας SOAP κόμβος όπου δέχεται SOAP μηνύματα. Διαδρομή μηνύματος SOAP: είναι ένα σ ύνολο από SOAP κόμβους όπου περνά το SOAP μήνυμα. Αρχικός αποσ τολέας μηνύματος SOAP: Ο αρχικός αποσ τολέας ενός SOAP μηνύματος ο οποίος βρίσ κεται σ το αρχικό σ ημείο της διαδρομής μηνύματος. Ενδιάμεσ ος SOAP: είναι και παραλήπτης και αποσ τολέας SOAP μηνύματος. Επεξεργάζεται τα τμήματα (blocks) Header του SOAP μηνύματος που προορίζονται γι αυτόν και προωθεί το SOAP μήνυμα προς τον απόλυτο παραλήπτη SOAP. Ο απόλυτος SOAP παραλήπτης: Είναι ο τελικός προορισ μός του SOAP μηνύματος. Είναι υπεύθυνος για την επεξεργασ ία των τμημάτων SOAP body και SOAP Header που προορίζονται γ αυτόν[37]. Καθώς ένα SOAP μήνυμα μεταδίδεται κατά μήκος της διαδρομής μηνύματος (message path) μπορεί να επεξεργασ τεί από ένα πλήθος από ενδιάμεσ ους SOAP. Οι ενδιάμεσ οι SOAP κόμβοι μπορούν να επεξεργασ τούν μόνο τα τμήματα Header του μηνύματος SOAP. Ετσ ι μπορούν να εισ άγουν, να διαγράψουν, να διαβάσ ουν σ ε τμήματα Header. Το SOAP Header element του SOAP μηνύματος μπορεί να δέχεται ιδιότητες. Που προσ διορίζουν πώς ο παραλήπτης (Ενδιάμεσ ος SOAP ή απόλυτος παραλήπτης) πρέπει να επεξεργασ τεί το SOAP μήνυμα. Οι πιο σ ημαντικές ιδιότητες είναι οι παρακάτω: SOAP:role: Βοηθά σ την εκχώρησ η ρόλων (roles) σ τα τμήματα Header έτσ ι ώσ τε μόνο οι SOAP κόμβοι που ταιριάζουν με αυτούς τους ρόλους μπορούν να επεξεργασ τούν της πληροφορίες του σ υγκερκιμένου τμήματος Header. SOAP:mustUnderstand: Χρησ ιμοποιείται για να υποδείξει πότε ένα τμήμα SOAP header είναι υποχρεωτικό για επεξεργασ ία ή όχι. SOAP:relay: Χρησ ιμοποιείται για να υποδείξει κατά πόσ ο ένα τμήμα Header που επεξεργάζεται μόνο απο ένα σ υγκεκριμένο SOAP παραλήπτη (που δέν είναι ο τρέχων) πρέπει να αναμεταδοθεί σ ε περίπτωσ η που δεν επεξεργασ τεί από αυτόν Trìpoi aposvtol c mhnumˆtwn SOAP Το SOAP υποσ τηρίζει τέσ σ ερις τρόπους αποσ τολής μηνυμάτων (RPC/Literal, Document/Literal, RPC/Encoded, και Document/Encoded) αλλά θα περιγραφούν μόνο οι δύο γιατί μόνο αυτοί επιτρέπονται έτσ ι ώσ τε οι Υπηρεσ ιες Ισ τού να είναι σ υμβατές με το Basic prole (αποτελείται από ένα σ ύνολο από μη αποκλεισ τικές προδιαγραφές των Υπηρεσ ιών Ισ τού, καθώς και διευκρινίσ εις για ενίσ χυσ η των προδιαγραφών που προωθούν τη διαλειτουργικότητα) αυτοί οι τρόποι είναι[34]:

23 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ Document/Literal Στον Document/Literal τρόπο αποσ τολής ένα σ τοιχείο SOAP Body περιέχει ένα σ ωσ τα-διαμορφομένο XML σ τοιχείο το οποίο περιέχει κείμενο και άλλα σ τοιχεια τα οποία ανήκουν σ ε ένα XML Schema και ένα ονοματοχώρο διαφορετικό από αυτό του SOAP μηνύματος. Η παρακάτω εικόνα περιγράφει τις ροές των μηνυμάτων για το πρότυπο ανταλλαγής μηνύματος Document/Literal (Messaging Exchange Pattern). Σχήμα 2.6: Πρότυπο ανταλλαγής μηνύματος Document/Literal RPC/Literal Επιτρέπει σ τα μηνύματα SOAP να μοντελοποιούν κλήσ εις σ ε διαδικασ ίες ή μεθόδους με παραμέτρους και τιμές επισ τροφής. Πιο σ υγκεκριμένα ένα μήνυμα αίτησ ης RPC περιέχει σ ε μορφή XML τις παραμέτρους και το όνομα της διαδικασ ίας ή μεθόδου που θέλει να καλέσ ει. Η παρακάτω εικόνα περιγράφει τις ροές των μηνυμάτων για το πρότυπο ανταλλαγής μηνύματος RPC Literal. Σχήμα 2.7: Πρότυπο ανταλλαγής μηνύματος RPC/Literal 2.5 WSDL (Web Service Description Language) Το WSDL ή διαφορετικά Γλώσ σ α περιγραφής Υπηρεσ ιών Ισ τού είναι μία μορφή XML για την περιγραφή υπηρεσ ιών δικτύου ως ένα σ ύνολο από τελικά σ ημεία (end points) που λειτουργούν πάνω σ ε μηνύματα που περιέχουν είτε πληροφορίες προσ ανατολισ μένες σ το έγγραφο (document-oriented) είτε πληροφορίες

24 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 13 προσ ανατολισ μένες σ την διαδικασ ία (procedure-oriented). Οι λειτουργίες (operations) και τα μηνύματα περιγράφονται αφαιρετικά και ύσ τερα σ υνδέονται σ ε ένα διακριτό πρωτόκολλο δικτύου και μορφή μηνύματος για τον ορισ μό του τελικού σ ημείου (endpoint). Συσ χετιζόμενα διακριτά τελικά σ ημεία (endpoints) σ υνδυάζονται με αφαιρετικά endpoints (υπηρεσ ιες). Το WSDL είναι επεκτάσ ιμο για να επιτρέπει την περιγραφή των τελικών σ ημείων (endpoints) και των μηνυμάτων τους ανεξάρτητα από τη μορφή (format) του μηνύματος ή το πρωτόκολλο δικτύου που χρησ ιμοποιούν για να επικοινωνήσ ουν[18] Dom mhnômatoc WSDL Ενα κείμενο WSDL περιέχει εφτά σ ημαντικά σ τοιχεια: types, import, message, porttype, operations, binding, και service, τα οποία εμφωλεύονται σ το σ τοιχείο denitions (το ριζικό σ τοιχείο του WSDL κειμένου) η γραμματική παρουσ ιάζεται παρακάτω σ την εικόνα.

25 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 14 Σχήμα 2.8: Δομή μηνύματος WSDL[18] Οπου ; το σ τοιχείο μπορεί να εμφανίζεται 0 ή 1 φορά. Οπου * το σ τοιχείο μπορεί να εμφανίζεται 0 ή περισ σ ότερες φορές. Οπου + το σ τοιχείο μπορεί να εμφανίζεται 1 ή περισ σ ότερες φορές. Types: παρέχουν ορισ μούς τύπου δεδομένων που χρησ ιμοποιούνται για την περι-

26 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 15 γραφή των μηνυμάτων που ανταλλάσ σ ονται[18]. Χρησ ιμοποιεί XML Schema για την περιγραφή σ υνθετων τύπων δεδομένων (complex data types) και σ τοιχείων (elements) για να χρησ ιμοποιηθούν σ ε άλλο σ ημείο του κειμένου WSDL[43]. Για την μέγισ τη διαλειτουργικότητα και ανεξαρτησ ία πλατφόρμας το WSDL προτιμά την χρήσ η του XSD. Το XSD μπορεί να χρησ ιμοποιηθεί για να ορίσ ει τύπους σ ε ένα μήνυμα ανεξαρτήτα αν η μορφή που θα περάσ ει από το καλώδιο (wire format) είναι πραγματικά XML ή αν το τελικό XSD schema επικυρώνει την σ υγκεκριμένη μορφή. Το WSDL επιτρέπει να προσ τεθούν καινούριοι τύποι σ υσ τημάτων μέσ ω των σ τοιχείων επέκτασ ης. Ενα σ τοιχείο επέκτασ ης μπορεί να υπάρχει κάτω από το σ τοιχείο types για τον προσ διορισ μό ορισ μών τύπων σ υσ τημάτων οι οποίοι θα χρησ ιμοποιηθούν και την παροχή ενός σ τοιχείου το οποίο περιέχει τους ορισ μούς τύπων. Import: Χρησ ιμοποιείται για την εισ αγωγή ορισ μών WSDL από άλλα WSDL κείμενα. Message: Αναπαρισ τά ένα αφηρημένο ορισ μό των δεδομένων που μεταφέρονται. Ενα message αποτελείται από λογικά τμήματα (logical parts), κάθε ένα σ υσ χετίζεται μ έναν ορισ μό από το σ ύσ τημα τύπων (type system)[18]. Πιο σ υγκεκριμένα περιγράφει το περιεχόμενο των μηνυμάτων (payload) χρησ ιμοποιώντας XML Schema build-in types, complex types ή σ τοιχεία που έχουν ορισ τεί από το type σ τοιχείο του κειμένου WSDL ή έχει ορισ τεί από ένα εξωτερικό WSDL κείμενο το οποίο έχει εισ αχθεί με την ετικέτα import[43]. PortType: Είναι ένα σ ύνολο από αφηρημένες λειτουργίες. Οπου κάθε λειτουργία αναφέρεται σ ε ένα message εισ όδου και εξόδου[18]. Binding: Ορίζει ένα διακριτό πρωτόκολλο και περιγραφές μορφής (format) δεδομένων για τα operations και messages που ορίσ τηκαν από το καθορισ μένο porttype[18]. Ενα Binding αναφέρει το porttype το οποίο σ υνδέει (bind) χρησ ιμοποιώντας την ιδιότητα type. Για να εκχωρηθεί μια σ υγκεκριμένη τεχνολογία σ το binding χρησ ιμοποιείται η ιδιότητα transport η τιμή της οποίας είναι ένα URI που αναπαρισ τά την τεχνολογία. Το binding έχει ιδιότητα με όνομα style το οποίο παίρνει τιμές rpc ή document σ ε περίπτωσ η που παραλειφθεί εξ ορισ μού παίρνει τιμή document. 1. Σε περίπτωσ η που η ιδιότητα style πάρει τιμή document σ ημαίνει ότι : Κατά τον σ χεδιασ μό μόνο ένα σ τοιχείο message part προορίζεται για το soap body. Με άλλα λόγια, ένα σ τοιχείο SOAP body θα περιέχει το πολύ το περιεχόμενο ενός σ τοιχείου part. Κατά την λειτουργία ένα σ τιγμιότυπο από το σ τοιχείο XML schema element που σ υσ χετίζεται με το σ τοιχείο part αποσ τέλλεται ως παιδί της δομής SOAP body. 2. Σε περίπτωσ η που το σ τοιχείο style πάρει τιμή rpc σ ημαίνει ότι: Κατά τον σ χεδιασ μό, το αφηρημένο WSDL message μπορεί να έχει πολλαπλά σ τοιχεία part και κάθε ένα αναμένεται να αναπαρισ τά παράμετρο ή τιμή επισ τροφής μίας rpc υπογραφής.

27 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 16 Κατά το runtime, οι ακόλουθοι κανόνες χρησ ιμοποιούνται για τον προσ διορισ μό του πως θα κατασ κευασ τεί το μήνυμα: Το σ τοιχείο SOAP body περιέχει ένα νέο σ τοιχείο ομαδοποίησ ης (wrapper element) με όνομα που είναι πανομοιότυπο με το όνομα του operation. Επιπλέον τα message parts τοποθετούνται μέσ α σ το σ τοιχείο wrapper. Κάθε part αναπαρισ τάται από ένα σ τοιχείο με όνομα που είναι ίδιο με την αντίσ τοιχη τιμή του attribute name του σ τοιχείου part. Operation: Κάθε ορισ μός WSDL χρειάζεται τουλάχισ τον ένα operation έτσ ι ώσ τε ένα εξωτερικό πρόγραμμα-πελάτης να μπορεί να το καλέσ ει. Κάθε operation είναι ένα μέρος της δημόσ ιας διεπαφης. Και όπως βλέπουμε και σ την παραπάνω εικόνα μπορεί να περιέχει τα σ τοιχεία: Input μία εισ ερχόμενη αίτησ η σ ε μορφή μηνύματος αποσ τέλλεται από το πρόγραμμα πελάτη σ τη Υπηρεσ ία Ισ τού. Output - μία εξερχόμενη απάντησ η σ ε μορφή μηνύματος αποσ τέλλεται από την Υπηρεσ ία Ισ τού σ το πρόγραμμα πελάτη. Fault ένα μήνυμα που αποσ τέλλεται από την Υπηρεσ ία Ισ τού όταν προκύψει κάποιο σ φάλμα. Τα σ τοιχεία input output fault μπορεί να περιέχουν τα παρακάτω σ τοιχεία επέκτασ ης (extensibility elements): Body - Αντισ τοιχεί σ το σ την δομή body του μηνύματος SOAP Header - Αντισ τοιχεί σ το σ την δομή header του μηνύματος SOAP Headerfault Αντισ τοιχεί σ την δομή που βρίσ κεται μέσ α σ την δομή header με την εξαίρεσ η ότι σ υμπληρώνεται με λεπτομέρειες σ φαλμάτων. Fault Αντισ τοιχεί σ την δομή Fault του μηνύματος SOAP Καθένα από τα παραπάνω αναπαρισ τά ένα διακριτό τομέα του μηνύματος SOAP. Επιπλέον τα τέσ σ ερα παραπάνω σ τοιχεία έχουν τις παρακάτω ιδιότητες: Την υποχρεωτική ιδιότητα use Τη προαιρετική ιδιόητα encodingstyle Την προαιρετική ιδιότητα namespace Αυτές οι ιδιότητες χρησ ιμοποιούνται για να ορίσ ουν πώς τα σ τοιχεία επέκτασ ης σ χετίζουν την δομή του αποσ τελλόμενου μηνύματος με το αντίσ τοιχο αφηρημένο ορισ μό του μηνύματος. Η ιδιότητα use μπορεί να πάρει δύο τιμές literal και encoded και προσ διορίζει κατά πόσ ο τα message parts κωδικοποιούνται χρησ ιμοποιώντας κάποιους κανόνες κωδικοποίησ ης ή ορίζουν ένα διακριτό schema του μηνύματος[18].

28 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 17 Το σ τοιχείο operation όπως και το binding έχει την ιδιότητα style όπου ισ χύουν τα ίδια με την ιδιότητα του binding με την διαφορά ότι ισ χύουν μόνο για το operation. Port: Ορίζει μία διεύθυνσ η για το binding, έτσ ι ώσ τε να ορίσ ει ένα τελικό σ ημείο (endpoint) επικοινωνίας[18]. Service: Χρησ ιμοποιήσ τε για να ομαδοποιήσ ει ένα σ ύνολο από σ χετιζόμενα ports[18] Message Exchange Patterns (MEPs) Το WSDL μπορεί να υποσ τηρίξει τέσ σ ερις προταρχικές μεταδόσ εις (transmission primitives). Μονόδρομη (One-way): Το τελικό σ ημείο λαμβάνει ένα μήνυμα. Αίτησ η-απάντησ η (Request-response): Το τελικό σ ημείο λαμβάνει ένα μήνυμα, και αποσ τέλλει ένα σ χετικό μήνυμα. Αιτούμενη απάντησ η (solicit-response): Το τελικό σ ημείο αποσ τέλλει ένα μήνυμα και λαμβάνει ένα σ χετικό μήνυμα. Κοινωποιησ η (notication): Το τελικό σ ημείο αποσ τέλλει ένα μήνυμα Η Μονόδρομη Λειτουργία (one-way) Η γραμματική της λειτουργίας one-way φαίνεται παρακάτω: Σχήμα 2.9: Λειτουργία one-way Η λειτουργία αίτησ η-απάντησ η (request-response) Η γραμματική της λειτουργίας αίτησ ης-απάντησ ης φαίνεται παρακάτω:

29 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 18 Σχήμα 2.10: Λειτουργία request-response Τα σ τοιχεια εισ όδου και εξόδου προσ διορίζουν την αφηρημένη μορφή μηνύματος για την αίτησ η και απάντησ η αντίσ τοιχα. Το προαιρετικό σ τοιχείο fault προσ διορίζει μία αφηρημένη μορφή μηνύματος για οποιοδήποτε μήνυμα error που μπορεί να είναι έξοδος ως αποτέλεσ μα από την λειτουργία[18] Λειτουργία αιτούμενης απάντησ ης (Solicit-response) Η γραμματική της λειτουργίας αιτούμενης απάντησ ης φαίνεται παρακάτω: Σχήμα 2.11: Λειτουργία αιτούμενης απάντησ ης (solicit-response)[18] Παρατηρούμε ότι η γραμματική είναι ακριβώς ίδια με την διαφορά ότι το σ τοιχείο output προηγείται του input[18] Λειτουργία κοινοποίησ ης (Notication) Η γραμματική της λειτουργίας κοινοποίησ ης φαίνεται παρακάτω: Σχήμα 2.12: Λειτουργία κοινοποίησ ης (Notication)

30 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 19 Το σ τοιχείο εξόδου προσ διορίζει την αφηρημένη μορφή μηνύματος για την λειτουργία κοινοποίησ ης [18]. 2.6 Ti eðnai to UDDI (Universal Description Discovery and Integration) Το UDDI (Universal Description Discovery and Integration) είναι το όνομα ενός σ υνόλου μητρώων βασ ισ μένων σ τον ισ το όπου εκθέτουν πληροφορίες σ χετικά με επιχειρήσ εις ή άλλες οντότητες και τεχνικές τους επαφές (ή API's). Αυτά τα μητρώα λειτουργούν από πολλαπλές επιχειρηματικές σ ελίδες και μπορούν να χρησ ιμοποιηθούν από οποιονδήποτε θέλει να διαθέσ ει πληροφορία σ χετικά με μία ή περισ σ ότερες εταιρίες ή οντότητες, καθώς και από τον καθένα που θέλει να βρει τέτοιου είδους πληροφορίες[43]. Με την πρόσ βασ η σ ε οποιονδήποτε από τις επιχειρηματικές ισ τοσ ελίδες UDDI οποιοσ δήποτε μπορεί να ψάξει πληροφορίες σ χετικά με Υπηρεσ ίες Ισ τού που έχουν γίνει διαθέσ ιμα από ή εκ μέρους μίας επιχείρησ ης. Το πλεονέκτημα την πρόσ βασ ης σ ε αυτή την πληροφορία είναι η παροχή ενός μηχανισ μού που επιτρέπει ανακαλύψη παρεχόμενων τεχνικών προγραμματισ τικών διεπαφών για την αλληλεπίδρασ η ε- ταιριών για διάφορους λόγους όπως ηλεκτρονικό εμπόριο κτλ. Το κέρδος των εκάσ τοτε βιομηχανικών εταιριών είναι η αυξημένη έκθεσ η σ τον ηλεκτρονικά ενεργό εμπορικό κόσ μο. Η πληροφορία που μπορεί να καταχωρίσ ει μία επιχείρησ η περιέχει διάφορους τύπους απλών δεδομένων που βοηθούν τους άλλους να προσ διορίσ ουν απαντήσ εις σ ε ερωτήσ εις όπως ποιος, τι, πού και πώς. Απλές πληροφορίες σ χετικά με μία επιχείρησ η όπως προσ διορισ τικά εταιριών, πληροφορίες επικοινωνίας, απαντούν σ τις ερωτήσ εις Ποιος; Τι;. Απαντώντας σ την ερώτησ η πού; περιλαμβάνει την καταχώρισ η πληροφορίας σ χετικά με URL ή διεύθυνσ η ηλεκτρονικού (ή άλλες διευθύνσ εις) μέσ ω των οποίων μπορεί να προσ πελασ τεί κάθε τύπος υπηρεσ ίας. Τέλος ή ερώτησ η πώς; Απαντάται με την εγγραφή αναφορών σ ε πληροφορίες σ χετικά με διεπαφές και άλλες ιδιότητες μίας σ υγκεκριμένης υπηρεσ ίας. Αυτές οι ιδιότητες υπηρεσ ίας περιγράφουν πώς λειτουργεί ένα σ υγκεκριμένο πακέτο λογισ μικού ή μία τεχνική διεπαφή[17]. 2.7 Arqitektonik Uphresvi n IsvtoÔ (Web Service Architecture) Αφού αναλύσ αμε τα βασ ικά σ τοιχεία των Υπηρεσ ιών Ισ τού μπορούμε να περιγράψουμε πως αυτά σ υνεργάζονται μεταξύ τους περιγράφοντας την αρχιτεκτονική τους. Οπως περιγράφεται σ την εικόνα παρακάτω Ο πάροχος υπηρεσ ιών (service provider) παρέχει μία υπηρεσ ία, καθορίζοντας τη διασ ύνδεσ ή του και υλοποιώντας την λειτουργικότητα της υπηρεσ ίας. Αυτός που χρησ ιμοποιεί την υπηρεσ ία (service requestor) σ υνδέει (binds) την σ υγκεκριμένη υπηρεσ ία σ την εφαρμογή του (application). Αυτό σ ημαίνει ότι η εφαρμογή του αιτών (requestor) περιέχει

31 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 20 κώδικα που καλεί αυτή την υπηρεσ ία και επεξεργάζεται τα αποτελέσ ματα της κ- λήσ ης της υπηρεσ ίας. Για να εξασ φαλισ τεί ότι η υπηρεσ ία μπορεί να προσ πελασ τεί από χρήσ τες εξωτερικά από την υπηρεσ ία, ο πάροχος υπηρεσ ιών δημιουργεί μία καταχώρισ η σ ε ένα μητρώο υπηρεσ ιών (service registry) όπου περιέχει πληροφορίες σ χετικά με την υπηρεσ ία αλλά και τι κάνει η υπηρεσ ία αυτή[57]. Σχήμα 2.13: Αρχιτεκτονική υπηρεσ ιών ισ τού 2.8 SOA (Service Oriented Architecture) SOA είναι ένας τρόπος για την ανάπτυξη κατανεμημένων σ υσ τημάτων (distributed systems) όπου τα σ υσ τατικά αυτών των σ υσ τημάτων είναι αυτοδύναμες υπηρεσ ίες. Αυτές οι υπηρεσ ίες μπορούν να εκτελεσ τούν σ ε γεωγραφικά κατανεμημένους υπολογισ τές [57]. Το SOA βελτιώνει και επεκτείνει την ευελιξία παλαιότερων μεθόδων ενσ ωμάτωσ ης EAI (Enterprise Application Integration) και κατανεμημένων αρχιτεκτονικών, και εσ τιάζει σ την επαναχρησ ιμοποίησ η υπαρχόντων σ υσ τημάτων, εφαρμογών, σ την αποτελεσ ματική διαλειτουργικότητα, ενσ ωμάτωσ η (integration) εφαρμογών και σ την σ ύνθεσ η επιχειρηματικών διαδικασ ιών εκτός των υπηρεσ ιών (λειτουργικότητες) που παρέχονται από τις εφαρμογές. Επίσ ης ένας σ ημαντικός σ τόχος του SOA είναι η ικανότητα να προσ αρμόζεται σ τις αλλαγές που τυχόν προκύψουν με σ χετικά εύκολο και ξεκάθαρο τρόπο[49]. Το SOA ορίζει έννοιες, αρχιτεκτονικές, και πλαίσ ια εργασ ίας διαδικασ ιών, για να κατασ τεί δυνατή η οικονομικά-αποδοτική ανάπτυξη, ενσ ωμάτωσ η, σ υντήρησ η πληροφοριακών σ υσ τημάτων μέσ ω της μείωσ η της πολυπλοκότητας, και την τόνωσ η της ενσ ωμάτωσ ης και της επαναχρησ ιμοποίησ ης. SOA είναι το αρχιτεκτονικό σ τιλ που υποσ τηρίζει χαλαρά σ υνδεδεμένες υπηρεσ ίες για να κατασ τήσ ει εφικτή την ευελιξία των επιχειρήσ εων με ένα διαλειρουργικό και τεχνολογικά μη εξαρτημένο τρόπο. Αποτελείται από ένα σ ύνθετο σ ύνολο υπηρεσ ιών ευθυγραμμισ μένων σ ε επιχειρήσ εις που υποσ τηρίζουν ένα ευέλικτο και δυναμικά επαναριθμήσ ιμων από άκρου εις άκρο διαδικασ ιών υλοποίησ ης χρησ ιμοποιώντας περιγραφές υπηρεσ ιών βασ ισ μένες σ ε διεπαφές.

32 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 21 Το SOA είναι κάτι περισ σ ότερο από μια σ ειρά τεχνολογιών και δεν σ υσ χετίζεται απ ευθείας με καμία τεχνολογία, παρόλο που τις περισ σ ότερες φορές υλοποιείται με Υπηρεσ ίες Ισ τού. Οι Υπηρεσ ίες Ισ τού είναι η πλέον κατάλληλη τεχνολογία για την πραγματοποίησ η SOA. Εντούτοις, η χρήσ η των Υπηρεσ ιών Ισ τού δεν είναι επαρκής για την δημιουργία SOA. Οι πιο σ ημαντικές έννοιες SOA είναι: Υπηρεσ ίες Αυτοπεριγραφόμενες διεπαφές με χαμηλή ανάλυσ η (coarse granulation) Ανταλλαγή μηνυμάτων Υποσ τήριξη για σ ύγχρονη και ασ ύγχρονη επικοινωνία Χαλαρή σ ύζευξη Μητρώα υπηρεσ ιών Ποιότητα υπηρεσ ίας Σύνθεσ η των υπηρεσ ιών σ τις επιχειρηματικές διαδικασ ίες UphresvÐec Οι υπηρεσ ίες παρέχουν λειτουργίες των επιχειρήσ εων, όπως αίτησ η για επαγγελματικό ταξίδι, αίτησ η για δάνειο κτλ. Αυτό διαφέρει αρκετά από τις προσ ανατολισ μένες σ την τεχνολογία λειτουργίες, όπως η ανάκτησ η ή ενημέρωσ η ενός πίνακα σ ε μία βάσ η δεδομένων. Οι υπηρεσ ίες σ το SOA πρέπει να παρέχουν επιχειρηματική αξία, απόκρυψη λεπτομερειών υλοποίησ ης και αυτονομία. Οι χρήσ τες υπηρεσ ίας είναι οντότητες λογισ μικού όπου καλούν την υπηρεσ ία και χρησ ιμοποιούν την λειτουργικότητά της[49] Diepafèc Οι χρήσ τες της υπηρεσ ίας έχουν πρόσ βασ η σ την υπηρεσ ία μέσ ω της διεπαφής. Η διεπαφή της υπηρεσ ίας ορίζει ένα σ ύνολο από δημόσ ιες υπογραφές λειτουργίας. Είναι ένα σ υμβόλαιο μεταξύ του παρόχου της υπηρεσ ίας και του χρήσ τη υπηρεσ ίας. Είναι ξεχωρισ τή από την υλοποίησ η, αυτοπεριγραφόμενη και ανεξάρτητη πλατφόρμας. Η περιγραφή της διεπαφής παρέχει την βάσ η για την υλοποίησ η τις υπηρεσ ίας από τον πάροχο της υπηρεσ ίας και την υλοποίησ η από τους χρήσ τες της υπηρεσ ίας αυτης. Κάθε διεπαφή ορίζει ένα σ ύνολο από διαδικασ ίες. Για να ορισ τούν οι επιχειρησ ιακές υπηρεσ ίες, χρειαζόμασ τε να εσ τιάσ ουμε σ την σ ωσ τή ανάλυσ η (granulation) λειτουργιών[49].

33 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ MhnÔmata Οι λειτουργίες ορίζονται σ αν ένα σ ύνολο από μηνύματα. Τα μηνύματα ορίζουν τα δεδομένα που ανταλλάσ σ ονται και περιγράφουν με τρόπο ανεξάρτητο από πλατφόρμα και γλώσ σ α χρησ ιμοποιώντας schemas. Οι υπηρεσ ίες ανταλλάσ ουν μόνο δεδομένα, τα οποία διαφέρουν σ ημαντικά από τις αντικειμενοσ τραφείς και των σ τοιχείων λογισ μικών (components) προσ εγγίσ εις όπου η σ υμπεριφορά (κώδικας υλοποίησ ης) μπορεί επίσ ης να ανταλλαγεί. Το WSDL είναι μία γλώσ σ α περιγραφής υπηρεσ ιών που πληρεί τα κριτήρια SOA[49] Sugqronisvmìc Οι χρήσ τες υπηρεσ ίας μπορούν να χρησ ιμοποιήσ ουν σ ύγχρονους και ασ ύγχρονους τρόπους επικοινωνίας για να καλέσ ουν τις λειτουργίες των υπηρεσ ιών. Στον σ ύγχρονο τρόπο μία λειτουργία μίας υπηρεσ ίας επισ τρέφει μία απάντησ η σ τον χρήσ τη υπηρεσ ίας αφ ότου ολοκληρωθεί η επεξεργασ ία. Κατά την διάρκεια αυτή ο χρήσ της υπηρεσ ίας πρέπει να περιμένει μέχρις ότου ολοκληρωθεί η λειτουργία. Στον ασ ύγχρονο τρόπο η λειτουργία μίας υπηρεσ ίας δεν επισ τρέφει απάντησ η σ τον πελάτη, παρόλα αυτά μπορεί να σ τείλει μία επιβεβαίωσ η έτσ ι ώσ τε οι πελάτες να μάθουν ότι ή λειτουργία εκτελέσ τηκε επιτυχώς[49] Qalar svôzeuxh Μέσ ω των αυτοπεριγραφόμενων διεπαφών, χαμηλής ανάλυσ ης, ανταλλαγή δομών δεδομένων και της υποσ τήριξης σ ύγχρονων και ασ ύγχρονων τρόπων επικοινωνίας, επιτυγχάνετε η χαλαρή σ ύζευξη των υπηρεσ ιών. Χαλαρά σ υζευγμένες υπηρεσ ίες είναι υπηρεσ ίες οι οποίες εκθέτουν μόνο τις απαραίτητες και αφαιρούν όλες τις τεχνητές εξαρτίσ εις. Αυτό είναι αρκετά σ ημαντικό όταν οι υπηρεσ ίες υπόκεινται σ ε σ υχνές αλλαγές. Οι ελάχισ τες εξαρτίσ εις διαβεβαιώνουν ότι θα υπάρχει μία ελάχισ τη ποσ ότητα αλλαγών που θα χρειασ τεί να κάνουν άλλες υπηρεσ ίες όταν μία υπηρεσ ία τροποποιηθεί[49] Mhtr a (Registries) Απλοποιεί και αυτοματοποιεί την αναζήτησ η της κατάλληλης υπηρεσ ίας, οι υπηρεσ ίες διατηρούνται σ ε μητρώα υπηρεσ ιών. Οι παροχοι υπηρεσ ιών δημοσ ιεύουν υπηρεσ ίες σ ε μητρώα. Οι χρήσ τες υπηρεσ ιών αναζητούν της υπηρεσ ίες που περιέχονται σ τα μητρώα. Η αναζήτησ η μπορεί να γίνει με βάσ η το όνομα, την λειτουργικότητα της υπηρεσ ίας και τις ιδιότητες της επιχειρηματικής διαδικασ ίας. Ενα παράδειγμα ενός μητρώου υπηρεσ ιών είναι το UDDI[49] Poiìthta uphresvðac Οι υπηρεσ ίες έχουν σ υνήθως χαρακτηρισ τικά ποιότητας. Τέτοια χαρακτηρισ τικά είναι η ασ φάλεια, η αξιόπισ τη μετάδοσ η μηνυμάτων, οι σ υναλλαγές, η σ υσ χέτισ η

34 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 23 (correlation), η διαχείρισ η, οι πολιτικές και άλλα. Η υποδομή πρέπει να παρέχει υποσ τήριξη γ αυτά τα χαρακτηρισ τικά. Στις Υπηρεσ ίες Ισ τού τα χαρακτηρισ τικά ποιότητας της υπηρεσ ίας καλύπτονται από τις προδιαγραφές WS-* όπως WS-Security, WS-Addressing, WS-Coordination κτλ[49]. Η εικόνα παρακάτω απεικονίζει την αρχιτεκτονική SOA και τις προαναφερθείσ ες έννοιες. Σχήμα 2.14: Αρχιτεκτονική SOA Ενώ παρακάτω παρουσ ιάζονται οι τεχνολογίες των Υπηρεσ ιών Ισ τού που βοηθούν σ την πραγματοποίησ η της αρχιτεκτονικής SOA. Σχήμα 2.15: Τεχνολογίες Υπηρεσ ιών Ισ τού που υποσ τηρίζουν την αρχιτεκτονική SOA TeqnologÐec twn Uphresvi n IsvtoÔ Στα προηγούμενα κεφάλαια αναλύσ αμε τις τεχνολογίες που αποτελούσ αν τον πυρήνα των Υπηρεσ ιών Ισ τού (UDDI, SOAP, WSDL). Παρακάτω θα αναλύσ ουμε τις τεχνολογίες όπου σ ε σ υνδυασ μό με τις προαναφερθείσ ες δημιουργούν ένα εργαλείο για την πραγματοποίησ η SOA αρχιτεκτονικών.

35 ΚΕΦ ΑΛΑΙΟ 2. ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ 24 WS-Security: Αντιμετωπίζει την ταυτοποίησ η και την ασ φάλεια σ ε επίπεδο μηνυμάτων και εφαρμόζει ασ φαλή επικοινωνία με τις Υπηρεσ ιες Ισ τού. WS-Coordination: Ορίζει το πλαίσ ιο σ υντονισ μού για τις Υπηρεσ ιες Ισ τού και είναι η βάσ η για το WS-AtomicTransaction και το WS-BusinessActivity. Transactions specications (WS-AtomcTransaction και WS-Business Activity): υποσ τηρίζει την κατανεμημένες σ υναλλαγές με Υπηρεσ ιες Ισ τού. Το AtomicTransaction προσ διορίζει μικρής διάρκειας σ υναλλαγές ενώ το Business- Activity προσ διορίζει σ υναλλαγές μεγαλύτερης διάρκειας. WS-Reliable Messaging: Παρέχει υποσ τήριξη για αξιόπισ τη επικοινωνία και αποσ τολή μηνύματος μεταξύ των Υπηρεσ ιών Ισ τού μέσ ω διαφόρων πρωτοκόλλων μεταφοράς. WS-Addressing: Προσ διορίζει σ υντονισ μό μηνύματος και δρομολόγησ η. WS-Inspection: Παρέχει υποσ τήριξη για δυναμική ενδοσ κόπησ η τον Υπηρεσ ιών Ισ τού. Πιο σ υγκεκριμένα επιτρέπει την δυναμική ανακάλυψη κειμένων υπηρεσ ιών. Η προδιαγραφή αυτή είναι βασ ισ μένη σ ε XML και παρέχει μία σ ύνθεσ η από αναφορές σ ε περιγραφές υπηρεσ ιών. Ενα κείμενο WS-Inspection δεν περιγράφει μία υπηρεσ ία απλά βοηθά σ την εύρεσ η του επιθυμητού κείμενου περιγραφής. WS-Policy: Προσ διορίζει πώς ορίζονται οι πολιτικές και ανταλλάσ σ ονται μεταξύ σ υνεργαζόμενων Υπηρεσ ιών Ισ τού. WS-Eventing: Ορίζει ένα μοντέλο γεγονότων για ασ ύγχρονη ειδοποίησ η σ ε ενδιαφερόμενους για Υπηρεσ ίες Ισ τού. Παραδείγματος χάρη μία Υπηρεσ ία Ισ τού μπορεί να ενδιαφέρετε για την λήψη ειδοποιήσ εων όταν σ υμβεί ένα γεγονός από άλλες σ υνεργαζόμενες Υπηρεσ ίες Ισ τού. Η Υπηρεσ ία Ισ τού που ενδιαφέρεται για τέτοιου είδους ειδοποίησ η πρέπει να καταχωρίσ ει αυτό το ενδιαφέρον (subscribe) σ ε άλλες Υπηρεσ ιες Ισ τού (event sources) όπου παράγονται τα επιθυμητά γεγονότα. Επιπλέων υπάρχει δυνατότητα διαγραφεί η καταχώρισ η ενδιαφέροντος κατά βούλησ η ή μετά από λήξη κάποιας προθεσ μίας Enterprise Service Bus (ESB) Οι Υπηρεσ ίες Ισ τού δεν είναι πανάκεια. Η χρήσ η του πρωτοκόλλου SOAP μέσ ω του πρωτοκόλλου HTTP για την μεταφορά της πληροφορίας, δεν κρίνεται επαρκής σ ε πολύπλοκα σ υσ τήματα [49]. Επιπλέον πολλές εταιρίες έχουν ήδη επενδύσ ει σ ε άλλες τεχνολογίες διαμεσ ολάβησ ης (όπως για παράδειγμα η τεχνολογία CORBA) καθισ τώντας την μετάβασ ή τους απ αυτές τις τεχνολογίες σ τις Υπηρεσ ιες Ισ τού δαπανηρή σ ε χρόνο και χρήμα. Μία τεχνολογία που επιτρέπει την επικοινωνία των Υπηρεσ ιών Ισ τού με σ τοιχειολογισ μικά είναι το ESB (enterprise service bus) όπου τοποθετείται μεταξύ του πελάτη και του παρόχου υπηρεσ ιών που υποσ τηρίζουν διαφορετικές τεχνολογίες και λειτουργεί σ αν ενδιάμεσ ος μετατρέποντας τα μηνύματα σ ε κατάλληλη μορφή για να είναι εφικτή η επικοινωνία τους. Επιπλέον επιτρέπει την δρομολόγησ η των μηνυμάτων από τη μία υπηρεσ ία σ ε μία άλλη βάσ η περιεχομένου και αλλά και άλλων παραμέτρων.

36 Kefˆlaio 3 SHMASIOLOGIKOS ISTOS 3.1 Ti eðnai o Shmasviologikìc Isvtìc Η υποδομή του Ισ τού παρέχει υποσ τήριξη για ένα κατανεμημένο δίκτυο από σ ελίδες όπου μπορούν να αναφέρονται σ ε άλλες κάνοντας χρήσ η σ υνδέσ μων που ονομάζονται URLs (Uniform Resource Locators). Η κύρια ιδέα του Σημασ ιολογικού Ισ τού είναι η υποσ τήριξη ενός κατανεμημένου Ισ τού σ ε επίπεδο δεδομένων παρά σ ε επίπεδο παρουσ ίασ ης κειμένου. Ετσ ι αντί να έχουμε μία σ ελίδα να δείχνει σ ε μία άλλη, έχουμε ένα δεδομένο όπου δείχνει σ ε ένα άλλο δεδομένο χρησ ιμοποιώντας καθολικές αναφορές που ονομάζονται URIs (Uniform Resource Identiers) [6]. Την σ τιγμή που γράφτηκε αυτό το έγγραφο ένας μεγάλος όγκος μη δομημένης πληροφορίας (σ ε μορφή HTML) βρίσ κετε σ τον Ισ τό. Αυτό έχει σ- αν αποτέλεσ μα να υπάρχει ένας μεγάλος όγκος χρήσ ιμης πληροφορίας η οποία δυσ τυχώς δεν μπορεί να επεξεργασ τεί αυτοματοποιημένα από τις μηχανές. Το όραμα του Σημασ ιολογικού ισ τού είναι να επεκτείνει τις αρχές του Ισ τού από τα έγγραφα σ τα δεδομένα. Η πρόσ βασ η σ τα δεδομένα γίνεται χρησ ιμοποιώντας την υπάρχουσ α αρχιτεκτονική του παγκόσ μιου ισ τού (π.χ. URI). Αυτό επιτρέπει την δημιουργία ενός πλαισ ίου εργασ ίας που επιτρέπουν σ τα δεδομένα να διαμοιράζονται και να επαναχρησ ιμοποιούνται μεταξύ επιχείσ εων, εφαρμογών και κοινοτήτων και επιπλέον να επεξεργάζονται αυτόματα ή μη, από εργαλεία επιτρέποντας την πιθανή εμφάνισ η νέων σ υσ χετίσ εων μεταξύ δεδομένων [21]. Ο Tim Berners-Lee και άλλοι αναφέρουν για τον Σημασ ιολογικό Ισ τό ότι Το πρώτο βήμα είναι η τοποθέτησ η των δεδομένων σ τον Ισ τό σ ε τέτοια μορφή κατανοητή από τις μηχανές, ή να μετατραπεί σ ε τέτοια μορφή. Αυτό δημιουργεί αυτό που ονομάζω εγώ Σημασ ιολογικό Ισ τό - ένας Ισ τος από δεδομένα όπου μ- πορούν να επεξεργασ τούν άμεσ α ή έμμεσ α από τις μηχανές [9] επιπλέον αναφέρουν ότι Ο Σημασ ιολογικός Ισ τός δεν είναι ένας ξεχωρισ τός ισ τός, αλλά μία επέκτασ η του υπάρχοντος, όπου ένα σ αφές νόημα δίνεται σ τις πληροφορίες και που ακόμα, επιτρέπει σ τους ανθρώπους να σ υνεργάζονται με τους υπολογισ τές καλύτερα. [61]. 25

37 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 26 Ενας πιο πρόσ φατος ορισ μός του Σημασ ιολογικού Ισ τού δίνεται από τους Nigel Shadbolt, Tim Berners-Lee και Wendy Hall όπου αναφέρουν χαρακτηρισ τικά ότι Σημασ ιολογικός Ισ τός είναι ο Ισ τός ανάκτησ ης πληροφορίας πληροφορία παραγόμενη από δεδομένα μέσ ω της σ ημασ ιολογικής θεωρίας για την διερμήνευσ η σ υμβόλων. Η σ ημασ ιολογική θεωρία παρέχει μία σ ημασ ιολογική αξία σ την οποία η λογική σ ύνδεσ η των όρων καθορίζουν την διαλειτουργικότητα [44] H arqitektonik tou ShmasviologikoÔ IsvtoÔ Ο Σημασ ιολογικός Ισ τός, Σύμφωνα με τον Tim Berners-Lee αποτελείται από μία σ ειρά επιπέδων. Η αρχιτεκτονική αυτή είναι μία εικονική περιγραφή του πώς οι βασ ικές τεχνολογίες του Σημασ ιολογικού Ισ τού ταιριάζουν μεταξύ τους. Μία αρχική προσ έγγισ η της αρχιτεκτονικής από τον Tim Burners-Lee ήταν η παρακάτω. Σχήμα 3.1: Η Αρχιτεκτονική Σημασ ιολογικού Ισ τού Αργότερα καθώς οι τεχνολογίες ωριμάσ αν και καινούριες τεχνολογίες έκαναν την εμφάνισ η τους μία καινούρια αρχιτεκτονική παρουσ ιάσ τηκε. Στην παρακάτω αρχιτεκτονική αξίζει να σ ημειώσ ουμε ότι η RDF μπορεί να περιγραφεί με XML αλλά με άλλο τρόπο σ ειριακής διάταξης (serialization) (N3, N-Triples)

38 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 27 Σχήμα 3.2: Η Αρχιτεκτονική Σημασ ιολογικού Ισ τού Unicode Το Unicode είναι μία σ τάνταρ κωδικοποίησ η χαρακτήρων και κειμένου. Ορίζει ένα σ υνεπή τρόπο για την κωδικοποίησ η πολύγλωσ σ ου κειμένου έτσ ι ώσ τε να επιτρέπει την ανταλλαγή δεδομένων κειμένου διεθνώς και επιπλέον δημιουργεί τα θεμέλια για παγκόσ μιο λογισ μικό URI (Uniform Resource Identier) Ενα URI είναι ένα αναγνωρισ τικό μπορεί να προσ διορίζει την τοποθεσ ία ενός πόρου (URL) ή το όνομα του (URN) ανεξαρτήτως τοποθεσ ίας. Κατά σ υνέπεια ένα URI μπορεί να είναι είτε URL είτε URN. Π.χ. το είναι URL ενώ το isbn: είναι ένα URN[40].

39 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ XML + NS + xmlnschema Οπως έχει αναφερθεί σ ε προηγούμενο κεφάλαιο η XML (Extensible Markup Language) είναι ένα σ ύνολο από κανόνες για την δημιουργία γλωσ σ ών σ ήμανσ ης για ένα σ υγκεκριμένο τομέα. Οι γλώσ σ ες σ ήμανσ ης παρέχουν ετικέτες έτσ ι ώσ τε να διευκολύνει τις μηχανές να αναλύσ ουν, να ανταλλάξουν δεδομένα που περιέχονται σ ε αρχεία ανεξαρτήτως εφαρμογής. Με απλά λόγια η XML βοηθά έτσ ι ώσ τε ένα δεδομένο να έχει μία ετικέτα που περιγράφουν το δεδομένο με λέξεις. Αυτό που αναλαμβάνει η RDF είναι να σ υνδυάσ ει αυτές τις λέξεις και να φτιάξει προτάσ εις RDF και RDFS Η XML περιγράφει τα δεδομένα βάζοντας ετικέτες σ τα δεδομένα. Ωσ τόσ ο η XML δεν παρέχει κανένα μέσ ο για τον προσ διορισ μό της σ ημασ ιολογίας (έννοια) των δεδομένων. Για παράδειγμα η XML δεν παρέχει καμία σ ημασ ιολογία σ χετικά με την εμφώλευσ η των ετικετών (π.χ. μπορεί να σ ημαίνει υποκλάσ η ή ότι τα εμφωλευμένες ετικέτες αποτελούν ιδιότητες του ριζικής ετικέτας) το RDF δημιουργήθηκε για να καλύψει αυτή την αδυναμία [7]. Το RDF (Resource Description Framework) και το RDFS (RDF Schema) είναι η ραχοκοκαλιά του σ ημασ ιολογικού ισ τού. Παρέχει το βασ ικό σ ημασ ιολογικό μοντέλο για ένα ανοικτό και επεκτάσ ιμο μοντέλου δεδομένων γράφου από διασ υνδεδεμένα σ τοιχεία δεδομένων με την χρήσ η URIs[28]. Το RDF χρησ ιμοποιείται για την αναπαράσ τασ η της πληροφορίας σ τον Σημασ ιολογικό Ισ τό. Αναπαρισ τά την πληροφορία ως ένα σ ύνολο ισ χυρισ μών (assertions) που ονομάζονται προτάσ εις (statements) οι οποίες αποτελούνται από τρία μέρη το υποκείμενο (Subject), κατηγόρημα (Predicate) και το αντικείμενο (Object). Επειδή η πρότασ η αποτελείται από τρία μέρη ονομάζεται και τριπλέτα (triples). Το υποκείμενο σ ε μία πρότασ η είναι το σ τοιχείο που περιγράφει η πρότασ η ενώ το κατηγόρημα περιγράφει την σ χέσ η μεταξύ του υποκειμένου και του αντικειμένου. Οι RDF τριπλέτες μπορούν να αναπαρασ ταθούν και με την μορφή κατευθυνόμενου γράφου. Στην παρακάτω εικόνα υπάρχει ένας απλός RDF γράφος. Η κατεύθυνσ η του τόξου είναι σ ημαντική και πάντα πρέπει να δείχνει το αντικείμενο[28]. Σχήμα 3.3: RDF τριπλέτα Ο γράφος αυτός περιγράφει μία πρότασ η οι κορυφές του είναι τα υποκείμενα και τα αντικείμενα ενώ οι ακμές είναι τα κατηγορήματα. Η κορυφή που αναπαρισ τά το αντικείμενο μπορεί να είναι δυο ειδών : Λεκτικά Literals: Αναπαρισ τούν διακριτά δεδομένα τιμές όπως αριθμοί και

40 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 29 σ υμβολοσ ειρές Πόροι: Αναπαρισ τούν οτιδήποτε άλλο και μπορούν να είναι είτε υποκείμενα είτε αντικείμενα και μπορούν να αναπαρασ τήσ ουν οτιδήποτε μπορεί να ονομασ τεί. Στην παρακάτω εικόνα υπάρχει ένας απλός γράφος που αναπαρισ τά ότι ο Shakespeare έγραψε το Othello. Ο Shakespeare είναι το υποκείμενο το Wrote είναι το κατηγόρημα (ή ιδιότητα) και το Othello είναι το αντικείμενο. Σχήμα 3.4: Παράδειγμα γράφου RDF Η RDF επιπλέον μπορεί να χρησ ιμοποιηθεί ως μέσ ο καταμερισ μού δεδομένων σ τον Ισ τό. Συνήθως τα δεδομένα αναπαρισ τώνται με μορφή πίνακα. Για τον καταμερισ μό των δεδομένων αυτών υπάρχουν τρεις προσ εγγίσ εις. Στην πρώτη είναι κάθε υπολογισ τής να έχει ένα πλήθος από τις γραμμές του πίνακα. Για να λειτουργήσ ει σ ωσ τά απαιτεί σ υντονισ μό μεταξύ των υπολογισ τών. Παραδείγματος χάρη η δεύτερη σ τήλη του υπολογισ τή α αντισ τοιχεί σ την τρίτη του υπολογισ τή β (γιατί υπάρχει ενδεχόμενο οι σ τήλες που προσ διορίζουν τα δεδομένα να μην είναι με την ίδια σ ειρά π.χ. πρώτα το όνομα μετά το επώνυμο κτλ.). Αυτή η προσ έγγισ η έχει το πλεονέκτημα ότι μπορούμε να εισ άγουμε καινούριες καταχωρίσ εις χωρίς να απασ χολούμε όλους τους υπολογισ τές παρά μόνο ένα. Στην δεύτερη προσ έγγισ η, σ ένα υπολογισ τή αποθηκεύονται μία ή περισ σ ότερες σ τήλες του αρχικού πίνακα. Αυτή η προσ έγγισ η είναι διαφορετική από την πρώτη γιατί ο υπολογισ τής είναι υπεύθυνος για ένα είδος πληροφορίας, έτσ ι αν δεν μας ενδιαφέρουν οι σ τήλες που είναι αποθηκευμένες σ τον υπολογισ τή α δεν τον α- πασ χολούμε κάνοντας έτσ ι καλύτερη διαχείρισ η των πόρων (υπολογισ τικών και δικτύου). Επιπλέον σ ε περίπτωσ η που θέλουμε να προσ θέσ ουμε μία επιπλέον σ τήλη σ τον αρχικό πίνακα το μόνο που χρειάζεται να κάνουμε είναι είτε να προσ θέσ ουμε την σ τήλη σ ε έναν από τους υπάρχοντες υπολογισ τές είτε να προσ θέσ ουμε έ- να καινούριο υπολογισ τή που να περιέχει της πληροφορίες τις καινούριας σ τήλης χωρίς να κάνουμε καμία επέμβασ η σ τους άλλους υπολογισ τές. Και σ αυτή την περίπτωσ η απαιτείται σ υντονισ μός έτσ ι ώσ τε να διασ φαλισ τεί ότι η ιδιότητα Ι1 της οντότητας-γραμμής ΟΓ1 είναι ή Τρίτη του υπολογισ τή α ενώ η ιδιότητα Ι2 της ίδιας οντότητας-γραμμής είναι η τέταρτη σ τον υπολογισ τή β. Η τρίτη προσ έγγισ η σ υνδυάζει τα πλεονεκτήματα των δύο πρώτων κατανέμοντας την πληροφορία ανά κελί. Κάθε υπολογισ τής είναι υπεύθυνος για κάποια κελιά του πίνακα. Αυτή όμως η προσ έγγισ η σ υνδυάζει επιπλέον τον σ υντονισ μό των δύο παραπάνω προσ εγγίσ εων. Ετσ ι απαιτείται καθολικός προσ διορισ μός σ τηλών και

41 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 30 γραμμών. Ετσ ι κάθε κελί μπορεί να αναπαρασ ταθεί με τρεις τιμές μία καθολική αναφορά για την γραμμή μία για την σ τήλη και η τιμή του κελιού. Αυτή ακριβώς την σ τρατηγική αντιπροσ ωπεύει η RDF. Δηλαδή ο προσ διορισ τής σ τήλης αντισ τοιχεί σ το κατηγόρημα (predicate) η τιμή του κελιού αντισ τοιχεί σ το αντικείμενο (object) και η γραμμή του πίνακα αντισ τοιχεί σ το υποκείμενο (subject). Η RDF έχει την δυνατότητα να δημιουργεί προτάσ εις για οτιδήποτε ακόμα και για άλλες προτάσ εις. Πιο σ υγκεκριμένα το αντικείμενο μίας πρότασ ης μπορεί να είναι με την σ ειρά του μία άλλη πρότασ η αυτή η διαδικασ ία λέγεται πραγμάτωσ η (Reication). Μία πρότασ η που χρειάζεται την χρήσ η της παραπάνω διαδικασ ίας για να αναπαρασ ταθεί είναι η «Η Wikipedia αναφέρει ότι ο ψηλότερος ουρανοξύσ της του κόσ μου είναι ο Burj Dubai» η πρότασ η που αποτελεί αντικείμενο είναι η «ο ψηλότερος ουρανοξύσ της του κόσ μου είναι ο Burj Dubai». Η παρακάτω εικόνα αναπαρισ τά σ ε μορφή γράφου το παράδειγμα πραγμάτωσ ης[6]. Σχήμα 3.5: Παράδειγμα μίας πραγμάτωσ ης (Reication) Σειριακή διάταξη της RDF Η γράφοι RDF είναι ένα πολύ καλό εργαλείο για την αναπαράσ τασ η της πληροφορίας σ ε ανθρώπους αλλά όχι σ ε μηχανές. Για να αποθηκευτεί ένας γράφος σ ε αρχείο ή να μεταφερθεί μέσ ω διαδικτύου πρέπει να μετατραπεί σ ε μορφή πιο «φιλική» σ τους υπολογισ τές. Υπάρχουν διάφορες τέτοιες μορφές άλλες περισ σ ότερο και άλλες λιγότερο φιλικές ως προς τον άνθρωπο. Οι πιο διαδεδομένες μορφές είναι N-Triples (η πιο φιλική ως προς τον άνθρωπο) η N3 (μία σ ύμπτυξη της N-Triple) η RDF/XML (Ο πιο διαδεδομένος τρόπος σ ειριακής διάταξης) και η RDF in attributes (γνωσ τή και ως RDFa) [28]

42 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 31 Η αναπαρασ τασ η N-Triples Η αναπαράσ τασ η N-Triples είναι φλύαρη και σ υνάμα απλή. Κάθε γραμμή σ ε αυτόν τον τρόπο αναπαράσ τασ ης αναπαρισ τά μία RDF πρότασ η που περιέχει ένα υποκείμενο ένα κατηγόρημα και ένα αντικείμενο ακολουθούμενο από μία τελεία. Τα υποκείμενα, κατηγορήματα και αντικείμενα εκφράζονται ως απόλυτες διευθύνσ εις URI εσ ωκλειόμενες από < >. Οι ανώνυμες κορυφές του γράφου αναπαρισ τώνται ως :όνομα, όπου όνομα είναι ένα αλφαριθμητικό το οποίο πρέπει να ξεκινά με γράμμα και τα λεκτικά αντικειμένων (Objectliterals) αναπαρισ τούνται με σ υμβολοσ ειρά μέσ α σ ε εισ αγωγικά. Παραδείγματος χάρη ο γράφος της παραπάνω εικόνας γράφεται σ ε μορφή N-Triples: 1. <http://auri.com/stm1> <http://www.w3.org/1999/02/22-rdf-syntaxns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#statement>. 2. <http://auri.com/stm1> <http://www.w3.org/1999/02/22-rdf-syntaxns#object> <http://auri.com/the_tallest_building_in_the_world>. 3. <http://auri.com/stm1> <http://www.w3.org/1999/02/22-rdf-syntaxns#predicate> <http://auri.com/is>. 4. < > < > < >. 5. < > < > < >. Η αναπαράσ τασ η N3 Οπως παρατηρούμε και από το παράδειγμα των N-Triples υπάρχει επανάληψη της πληροφορίας. Αυτό έχει ως αποτέλεσ μα μεγαλύτερα σ ε μέγεθος αρχεία και αλλά και επιπλέον χρόνο σ την μεταφορά του αρχείου μέσ α από το διαδίκτυο. Η αναπαράσ τασ η N3 προσ θέτει επιπλέον σ ημάνσ εις για να ελαττώσ ει αυτή την επανάληψη. Πρώτα απ όλα μας επιτρέπει να ορίσ ουμε URI προθέματα (prex) σ την αρχή του αρχείου π.χ. //www.w3.org/1999/02/22-rdf-syntax-ns#>.>> έτσ ι ώσ τε όταν χρειασ τεί να χρησ ιμοποιήσ ουμε αυτό το namespace, χρησ ιμοποιούμε μόνο το πρόθεμα του π.χ. rdf:predicate. Υσ τερα μας επιτρέπει να σ υνδυάσ ουμε πολλαπλές προτάσ εις σ χετικά με το ίδιο υποκείμενο χρησ ιμοποιώντας το σ ύμβολο (;). Μετά από το ερωτηματικό τα μόνα που προσ θέτουμε είναι το κατηγόρημα και το αντικείμενο π.χ. << prex1:stm1 a rdf:statement; rdf:object prex1:the_tallest_building_in _the_world; rdf:predicate prex1:is;. >>. Τέλος τα κατηγορήματα w3.org/2002/07/owl#sameas,http://www.w3.org/1999/02/22-rdf-syntax-ns#t ype, χρησ ιμοποιούνται αρκετά σ υχνά γι αυτό σ υμβολίζονται σ την αναπαράσ τασ η N3 ως =, α, => αντίσ τοιχα [10, 64]. Ο γράφος της παραπάνω εικόνας γράφετε σ ε αναπαράσ τασ η N3: prex1: <http://auri.com/>. rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.

43 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 32 rdfs: <http://www.w3.org/2000/01/rdf-schema#>. 4. prex1:stm1 a rdf:statement (a) rdf:object prex1:the_tallest_building_in_the_world; (b) rdf:predicate prex1:is; (c) rdf:subject prex1:burj_dubai. 5. <http://www.wikipedia.org/> prex1:states prex1:stm1. Η αναπαράσ τασ η RDF/XML Η αναπαράσ τασ η RDF/XML αποτελεί σ ύσ τασ η (Recommendation) κατά W3C και όπως κάθε XML κείμενο ξεκινά με την ετικέτα "<?xmlversion="1.0"encoding="utf-8"?>" και προσ διορίζει ότι πρόκειται για αναπαράσ τασ η RDF από την ριζική XML ετικέτα <rdf:rdf></rdf: RDF>. Σ αυτή την ετικέτα τοποθετούνται με μορφή παραμέτρων τους ονοματοχώρους που θα χρησ ιμοποιηθούν παρακάτω. Με την ετικέτα <rdf:description rdf:about="http://auri.com/stm1"> γίνεται ο προσ διορισ μός του υποκειμένου. Εμφωλευμένα σ την ετικέτα αυτή υπάρχουν τα κατηγορήματα π.χ. <rdf:type> και μέσ α σ τις ετικέτες των κατηγορημάτων βρίσ κονται εμφωλευμένα είτε επιπλέον ετικέτες (σ ε περίπτωσ η που έχουμε αντικείμενο) είτε μία τιμή (σ ε περίπτωσ η λεκτικών (literal)). Ο γράφος της παραπάνω εικόνας γράφεται σ ε αναπαράσ τασ η RDF/XML: Το rdfshema Η RDF είναι μία γενική (universal) γλώσ σ α η οποία επιτρέπει σ τους χρήσ τες να περιγράφουν πόρους χρησ ιμοποιώντας το δικό τους λεξιλόγιο. Η RDF δεν κάνει καμία παραδοχή για την περιοχή εφαρμογής (application domain), ούτε ορίζει την σ ημασ ιολογία για οποιουδήποτε γνωσ τικό αντικείμενο. Είναι σ τα χέρια του χρήσ τη να το κάνει αυτό με την βοήθεια του RDF Schema (RDFS) [7]. Το RDF Schema είναι μία σ ημασ ιολογική επέκτασ η της RDF. Παρέχει μηχανισ μούς για την περιγραφή ομάδων και σ χέσ εων μεταξύ σ υσ χετιζόμενων

44 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 33 πόρων. Ορίζει κλάσ εις (classes) και ιδιότητες (properties) που μπορούν να χρησ ιμοποιηθούν για την περιγραφή κλάσ εων, ιδιότητες και άλλους πόρους [24]. Οπως όλα τα Schemas (XML Schema, database Schema, κτλ) μας ενημερώνουν σ χετικά με την πληροφορία που υπάρχει σ το σ ύσ τημα. Πιο απλά το Schema είναι πληροφορία σ χετική με τα δεδομένα. Η κύρια ιδέα του Schema σ την RDF είναι σ το ότι δίνει ένα επίπεδο νοήματος σ τα δεδομένα. Με αυτό τον τρόπο δίνεται σ τα δεδομένα η δυνατότητα εξαγωγής σ υμπερασ μάτων (inference). Με την RDF μπορούμε για παράδειγμα να δηλώσ ουμε ότι ο Simba είναι ένα σ τιγμιότυπο τύπου σ κύλος. Δεν γνωρίζουμε όμως πως έχει ορισ τεί η κλάσ η σ κύλος, αν είναι υποκλάσ η ή υπερκλάσ η κάποιας άλλης κλάσ ης. Η RDFS επεκτείνει την RDF εσ τιαζόμενη σ τον ορισ μό Ιεραρχιών κλάσ εων (taxonomies) όπου με την σ ειρά τους βοηθούν σ τον σ υμπερασ μό και σ την αναζήτησ η. Αυτό το Schema σ την πραγματικότητα είναι μία πρωταρχική (primitive) γλώσ σ α οντολογιών. Τα βασ ικά σ τοιχεία του RDF Schema είναι τα παρακάτω: rdfs:class: Είναι ένα σ τοιχείο που ορίζει μία ομάδα σ υσ χετιζόμενων πραγμάτων όπου μοιράζουν ένα σ ύνολο ιδιοτήτων. Είναι σ υνώνυμο με το rdf:type. Και λειτουργεί σ ε σ υνδυασ μό με rdf:property, rdfs:range και rdfs:domain για την εκχώρησ η ιδιοτήτων σ ε μία κλάσ η[41]. rdfs:subclassof: Είναι ένα σ τοιχείο όπου καθορίζει ότι μία κλάσ η είναι εξειδίκευσ η μίας υπάρχουσ ας. Για παράδειγμα αν έχουμε μία κλάσ η με όνομα ζώο και μία κλάσ η με όνομα σ κύλος και την δήλωσ η ότι ο σ κύλος είναι υποκλάσ η της κλάσ ης ζώο (:dog rdfs:subclassof :animal) και επιπλέον δηλώσ ουμε ότι ο Simba είναι σ κύλος (Simba rdf:type :dog) ο υπολογισ τής μπορεί να σ υμπεράνει ότι ο Simba είναι ζώο[6]. rdfs:subpropertyof: Είναι μία ιδιότητα που ορίζει ότι η ιδιότητα που είναι το υποκείμενο της πρότασ ης είναι υποιδιότητα μίας υπάρχουσ ας. Για παράδειγμα αν πούμε ότι η ιδιότητα brother είναι υποιδιότητα της ιδιότητας sibling (:brother rdfs:subpropertyof :sibling) και ότι ο Simba έχει :brother τον Rocky τότε ο υπολογισ τής μπορέι να σ υμπεράνει ότι ο Simba έχει sibling τον Rocky[6]. rdfs:domain: Είναι μία ιδιότητα που έχει υποκείμενο τύπου ιδιότητας και αντικείμενο τύπου κλάσ ης. Με αυτό τον τρόπο υποδηλώνει ότι η ιδιότητα για υποκείμενο θα παίρνει τιμές της κλάσ ης που δηλώνεται σ το αντικείμενο της παραπάνω RDF πρότασ ης (statement). Παραδείγματος χάρη αν δηλώσ ουμε ότι :barks rdfs:domain :dog και ύσ τερα δηλώσ ουμε ότι :Sisi :barks :Vangelis τότε ο υπολογισ τής μπορεί να σ υμπεράνει ότι η Sisi είναι (rdf:type) σ κύλος. rdfs:range: Είναι μία ιδιότητα που έχει υποκείμενο τύπου ιδιότητας και αντικείμενο τύπου κλάσ ης. Με αυτό τον τρόπο υποδηλώνει ότι η ιδιότητα για αντικείμενο θα παίρνει τιμές της κλάσ ης που δηλώνεται σ το αντικείμενο της παραπάνω RDF πρότασ ης (statement). Πιο απλά είναι μία ιδιότητα που ορίζει το σ ύνολο τιμών που μπορεί μια ιδιότητα. Παραδείγματος χάρη αν δηλώσ ουμε ότι ο :drives rdfs:range :vehicle και ύσ τερα δηλώσ ουμε ότι :John :drives :Lotus Elise τότε ο υπολογισ τής μπορεί να σ υμπεράνει ότι η Lotus Elise είναι τύπου (rdf:type) :vehicle. Η SPARQL Οπως η SQL παρέχει μία (σ χετικά) πρότυπη (standard) γλώσ σ α ερωτημάτων (Query language) για σ χεσ ιακές βάσ εις δεδομένων η SPARQL παρέ-

45 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 34 χει πρωτοτυποποιημένη (standardized) γλώσ σ α ερωτημάτων για γράφους RDF. Υπάρχουν κι άλλες γλώσ σ ες ερωτημάτων όπως παραδείγματος χάρη RDQL (RD- F Data Query Language) και SeRQL (Sesame RDF Query Language) αλλά η SPARQL (Simple Protocol and RDF Query Language) αποτελεί και αυτή σ ύσ τασ η του W3C. Η SPARQL είναι και γλώσ σ α ερωτημάτων αλλά και πρωτόκολλο. Ο περισ σ ότερος κόσ μος επικεντρώνεται σ την γλώσ σ α ερωτημάτων επειδή περιγράφει την σ ύνταξη για τα RDF ερωτήματα. Το πρωτόκολλο χρησ ιμοποιείται για την περιγραφή του τρόπου που ο πελάτης (client) SPARQL επικοινωνεί με ένα SPARQL τελικό σ ημείο βασ ισ μένο σ ε WSDL 2.0[28]. Η σ ύνταξη της SPARQL μοιάζει αρκετά με αυτή της SQL οι βασ ικές προτάσ εις είναι οι: SELECT : Προσ διορίζει ποιες μεταβλητές και οι τιμές τους θα επισ τραφούν από το ερώτημα και ταιριάζουν με τον γράφο [28]. PREFIX : Ενα ερώτημα SELECT μπορεί να ξεκινήσ ει με ένα σ ύνολο από δηλώσ εις PREFIX οι οποίες εκχωρούν URI namespace σ ε σ υντομογραφίες και μπορούν να χρησ ιμοποιηθούν σ ε όλο το ερώτημα. WHERE :Επιβάλει περιορισ μούς σ ε πιθανά αποτελέσ ματα χρησ ιμοποιώντας πρότυπα γράφων και διαδίκους περιορισ μούς [7]. Παρακάτω θα παραθέσ ω μερικά παραδείγματα της SPARQL για να γίνει πιο κατανοητή. Στην παρακάτω εικόνα υπάρχει ο RDF γράφος πάνω σ τον οποίο θα κάνουμε ερωτήματα. Σχήμα 3.6: Γράφος σ τον οποίο θα εφαρμοσ τούν τα SPARQL ερωτήματα Οι μεταβλητές σ την SPARQL ξεκινούν με ; ή $ ακολουθούμενο από μία σ υμβολοσ ειρά. Παραδείγματος χάρη το query : SELECT?N WHERE (?X name?n)

46 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 35 Αναζητά όλα τα υποκείμενα (Subjects) και τα αντικείμενα (Objects) που έχουν κατηγόρημα name και εμφανίζει τα αντικείμενα. Το αποτέλεσ μα αυτού του query είναι:?n George John Mark Figure 3.7: Αποτέλεσ μα 1 Ενώ το query: SELECT?N?A WHERE ((?X name?n) AND (?X age?a)) Αναζητά όλα τα υποκείμενα που έχουν κατηγόρημα name και age και εμφανίζει το όνομα και την ηλικία του κάθε υποκειμένου. Το αποτέλεσ μα αυτού του query είναι:?n?a George 20 John 26 Figure 3.8: Αποτέλεσ μα 2 Το παρακάτω query κάνει χρήσ η της πρότασ ης FILTER: SELECT?N?A WHERE ((?X name?n) AND ((?X age?a) FILTER (?A < 25))) Αναζητά όλα τα υποκείμενα που έχουν κατηγόρημα name και age αλλά επιπλέον έχει η τιμή της του age πρέπει να είναι κάτω από 25. Το αποτέλεσ μα αυτού του query είναι:?n?a George 20 Figure 3.9: Αποτέλεσ μα 3

47 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 36 Τέλος το τελευταίο παράδειγμα παρουσ ιάζει την πρότασ η OPTIONAL: SELECT?N?E WHERE ((?X name?n) OPT (?X ?e)) Αναζητά όλα τα υποκείμενα (Subjects) που έχουν κατηγόρημα name και προαιρετικά . Το αποτέλεσ μα του query είναι:?n?e George John Mark Figure 3.10: Αποτέλεσ μα 4 Εφαρμογές της RDF RDF είναι[33]: Μερικές απο τις πιο χαρακτηρισ τικές εφαρμογές της Dublin Core Metadata Initiative: Περιγράφει κείμενα παρέχοντας ιδιότητες όπως τίτλος, δημιουργός, ημερομηνία. PRISM (Publishing Requirements for Industry Standard Metadata): Αποτελεί επέκτασ η της Dublin Core για την διαχείρισ η και επεξεργασ ία περιοδικών, ειδήσ εων, καταλόγων και βιβλίων. RSS (RDF Site Summary): Περιγράφει πληροφορίες για την μεταφορά της σ ε μεγάλη κλίμακα. Χρησ ιμοποιείτε σ υνήθως σ ε ισ τοσ ελίδες ειδήσ εων. CIM/XML: Αναπαρισ τά μοντέλα για σ υσ τήματα ενέργειας (power systems) Gene Ontology Consortium: Περιγράφει γονιδιακούς παράγοντες οποιουδήποτε οργανισ μού. CC/PP (Composite Capabilities/Preferences Prole): Περιγράφει δυνατότητες κινητών σ υσ κευών OWL Η OWL αποτελεί αναθεώρησ η της DAML+OIL (Το όνομα είναι η ένωσ η των ονομάτων της Αμερικανικής πρότασ ης DAML-ONT και της Ευρωπαϊκής γλώσ σ ας OIL)[7]. Η OWL (Web Ontology Language) σ χεδιάσ τηκε για χρήσ η από εφαρμογές που χρειάζονται να επεξεργασ τούν το περιεχόμενο της πληροφορίας αντί να αναπαρισ τά μόνο πληροφορία σ ε ανθρώπους. Διευκολύνει την διερμήνευσ η από μηχανές του περιεχομένου του Ισ τού που μπορεί να υποσ τηριχθεί από XML, RDF, kai RDF

48 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 37 Schema (RDF-S) παρέχοντας επιπλέον λεξιλόγιο μαζί με μια επίσ ημη σ ημασ ιολογία. Το λεξιλόγιο περιγράφει ιδιότητες και κλάσ εις: μεταξύ άλλων, τις σ χέσ εις μεταξύ των τάξεων (π.χ. disjointness), πληθικότητα (cardinality) (π.χ. ακριβώς ένα), ισ ότητα, πλουσ ιότερη τυποποίησ η ιδιοτήτων, χαρακτηρισ τηκά ιδιοτήτων (π.χ. σ υμμετρία), απαριθμήσ ιμες κλάσ εις. Η OWL έχει τρεις αυξητικά-εκφρασ τικές υπογλώσ σ ες OWL Lite, OWL DL, και OWL Full[39]. Ο Tim Berners Lee αναφέρει για την OWL ότι μπορεί να χρησ ιμοποιηθεί για την αναπαράσ τασ η της έννοιας των όρων σ ε λεξιλόγια αλλά και τις σ χέσ εις μεταξύ αυτών των όρων. Αυτή η αναπαράσ ασ η των όρων και των μεταξύ τους σ χέσ εων ονομάζεται οντολογία. Ενας άλλος ορισ μός της οντολογίας από τον Tim Burners Lee και άλλους είναι ο παρακάτω Το πιο χαρακτηρισ τικό είδος της οντολογίας (για το Ισ τό) έχει ταξινόμησ η και ένα σ ύνολο κανόνων σ υμπερασ μού. [61]. Τέλος ένας πιο πρόσ φατος ορισ μός παρουσ ιάσ τηκε από το OWL Working Group όπου αναφέρει χαρακτηρισ τικά ότι οντολογία είναι τυποποιημένα λεξιλόγια όρων, σ υχνά καλύπτουν ένα σ υγκεκριμένο τομέα και μοιράζεται από μια κοινότητα από χρήσ τες. Προσ διορίζουν τον ορισ μό των όρων περιγράφοντας την σ χέσ η τους με άλλους όρους σ την οντολογία[23]. Η βασ ική ιδέα της OWL είναι να κατασ τεί δυνατή η αποτελεσ ματική αναπαράσ τασ η των οντολογιών που είναι επίσ ης υποκείμενα σ ε διαδικασ ίες λήψης αποφάσ εων[44]. Και με την βοήθεια της RDF επιτρέπει σ τις οντολογίες να κατανέμονται σ ε σ υσ τήματα. Οι οντολογίες μπορούν να γίνουν κατανεμημένες καθώς η OWL επιτρέπει σ τις οντολογίες να αναφερθούν σ ε όρους άλλων οντολογιών[44]. Οπως αναφέραμε παραπάνω η OWL αποτελείται από τρις υπογλώσ σ ες OWL Full, OWL DL, OWL Lite: Η OWL Full σ την πραγματικότητα δεν αποτελεί υπογλώσ σ α. Επιτρέπει την χρήσ η όλων των δομών της γλώσ σ ας OWL και επιτρέπει την χωρίς περιορισ μούς χρήσ η των δομών RDF. Αυτό έχει ως αποτέλεσ μα ένα RDF document είναι ένα έγκυρο (valid) κείμενο OWL Full και αντισ τρόφως ένα κείμενο OWL Full είναι ένα έγκυρο (valid) κείμενο RDF εν αντιθέσ ει με τις OWL Lite και OWL DL (που η owl:class είναι υποκλάσ η της rdfs:class υπονοώντας ότι οι κλάσ εις της rdfs δεν είναι απαραίτητα και OWL κλάσ εις σ τις OWL DL και OWL Lite) ο πόρος owl:class είναι ισ οδύναμος (equivalent) με τον πόρο rdfs:class. Επιπλέον είναι αποδεκτό σ την OWL Full να υπάρχει το προσ διορισ τικό ((Fokker-100)) το οποίο λειτουργεί και σ αν όνομα κλάσ ης (class) (προσ διορίζοντας ένα σ ύνολο από αεροπλάνα αυτού του τύπου που πετάνε γύρω από τον κόσ μο) αλλά και ως ξεχωρισ τό όνομα (π.χ. ένα σ τιγμιότυπο της κλάσ ης AirplaneType). Επιπλέον το owl:thing είναι ισ οδύναμο (equivalent) με το owl:resource αυτό σ ημαίνει ότι οι ιδιότητες των αντικειμένων και οι ιδιότητες των τύπων δεδομένων δεν είναι ασ ύνδετες γι αυτό τον λόγο και το owl:objectproperty είναι ισ οδύναμο με owl:rdf:property[54]. Η OWL Full σ υνήθως χρησ ιμοποιείτε από ανθρώπους που θέλουν να σ υνδυάσ ουν την εκφρασ τικότητα της OWL με την ευελιξία και τα χαρακτηρισ τικά metamodelling της RDF χωρίς όμως μερικές από τις εγγυήσ εις σ υμπερασ μού που προσ φέρουν οι OWL DL και OWL Lite.[28]. Η OWL DL είναι μία υπογλώσ σ α της OWL η οποία ορίζει κάποιους περιορισ μούς σ την χρήσ η των δομών της γλώσ σ ας OWL. Μερικοί από τους περιορισ μούς είναι οι:

49 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 38 Απαιτεί διαχωρισ μό μεταξύ κλάσ εων, τύπων δεδομένων, ιδιοτήτων τύπων δεδομένων, ιδιοτήτων αντικειμένων, ιδιότητες σ ημασ ιολογίας, ιδιότητες οντολογιών, ατόμων, τιμών δεδομένων και των ενσ ωματωμένων λεξιλογίων. Παραδείγματος χάρη μία κλάσ η δεν μπορεί να είναι την ίδια σ τιγμή και άτομο (individual). Το σ ύνολο των ιδιοτήτων αντικειμένων (object properties) και των ιδιοτήτων τύπων δεδομένων (data type properties) είναι διαχωρισ μένα (disjoint). Αυτό σ υνεπάγεται ότι τα χαρακτηρισ τικά Inverse of, Inverse functional, Symmetric, Transitive δεν μπορούν ποτέ να προδιαγραφούν για ιδιότητες τύπων δεδομένων. Απαιτεί την μη τοποθέτησ η περιορισ μούς πληθικότητας (τοπικούς ή global) σ ε μεταβατικές ιδιότητες ή των αντισ τρόφων τους ή σ ε οποιοιδήποτε υπεριδιοτήτα (superproperties) τους. Επιτρέπει σ ημάνσ εις σ ε κλάσ εις, ιδιότητες, άτομα (individuals) και σ ε κεφαλίδες οντολογιών (Ontology header) (αναπαρισ τούνται σ ε ένα σ τιγμιότυπο της κλάσ ης owl:ontology το οποίο τυπικά προσ διορίζει το έγγραφο σ το οποίο περιέχεται και το οποίο μπορεί να περιέχει οποιοδήποτε αριθμό από δηλώσ εις import και versioning [53]) αλλά υπό προϋποθέσ εις. Το μεγαλύτερο μέρος του λεξιλογίου της RDFS δεν μπορεί να χρησ ιμοποιηθεί. Η OWL Lite τηρεί όλους τους περιορισ μούς της OWL DL σ χετικά με τις δομές της γλώσ σ ας. Αλλά επιπλέον απαγορεύει την χρήσ η των: owl:oneof, owl:unionof, owl:complementof, owl:hasvalue, owl:disjointwith, owl:datarange. Η OWL Lite επίσ ης απαιτεί τα παρακάτω: Τα κατηγορήματα owl:equivalentclass και rdfs:subclassof για υποκείμενο πρέπει να έχουν ονόματα κλάσ εων και για αντικείμενο πρέπει να έχουν είτε ονόματα κλάσ εων είτε περιορισ μούς. Τα αντικείμενα των τριπλετών owl:allvaluesfrom και owl:somevaluesfrom πρέπει να είναι ονόματα κλάσ εων ή τύπων δεδομένων Το αντικείμενο της τριπλέτας rdf:type πρέπει να είναι όνομα κλάσ ης Το αντικείμενο της τριπλέτας rdfs:range πρέπει να είναι όνομα κλάσ ης ή όνομα τύπου δεδομένων. Η πρόθεσ η της δημιουργίας της OWL Lite ήταν να παρέχει σ τους προγραμματισ τές εφαρμογών και εργαλείων με ένα σ ημείο έναρξης για την υποσ τήριξη χαρακτηρισ τικών της OWL. Δυσ τυχώς η OWL Lite αναφέρεται αρκετά ως αποτυχία γιατί έχει αποκλείσ ει αρκετά από τα χρήσ ιμα χαρακτηρισ τικά της OWL[28, 54]. Ιδιότητες (properties) Υπάρχουν δύο τύποι ιδιοτήτων σ την OWL αυτοί είναι οι ιδιότητες τύπου δεδομένων (datatype properties) και ιδιότητες αντικειμένων (object properties). Οι

50 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 39 ιδιότητες τύπου δεδομένων σ υνδέουν άτομα (individuals) σ ε τιμές δεδομένων ενώ οι ιδιότητες αντικειμένων σ υνδέουν άτομα με άλλα άτομα. Κλάσ εις (classes) Οι κλάσ εις παρέχουν ένα αφαιρετικό μηχανισ μό για την ομαδοποίησ η πόρων με παρόμοια χαρακτηρισ τικά. Κάθε κλάσ η OWL σ υνδέεται με ένα σ ύνολο ατόμων (individuals), που ονομάζεται επέκτασ η κλάσ ης (class extension). Τα άτομα σ την κλάσ η επέκτασ ης ονομάζονται σ τιγμιότυπα της κλάσ ης [54]. Επιπλέον σ την OWL όλες οι κλάσ εις είναι υποκλάσ εις του owl:thing. Οι κλάσ εις μπορούν να μοιράζονται άτομα τα οποία μπορεί να είναι μέλη μίας (σ υμπεριλαμβανόμενης και της owl:thing) ή περισ σ ότερων κλάσ εων. Η σ υμμετοχή των ατόμων αυτών μπορεί να είναι σ αφής ή εννοούμενη [48]. Περιορισ μόι ιδιότητας (Property restrictions) Ενας περιορισ μός ιδιότητας (property restriction) σ την OWL είναι ένα νέο είδος περιγραφής της κλάσ ης. Περιγράφει μια ανώνυμη κλάσ η, δηλαδή μία τάξη όλων των ατόμων που ικανοποιούν τον περιορισ μό. Στην OWL υπάρχουν δύο είδη περιορισ μών: περιορισ μός τιμών (value constraint) και περιορισ μός πληθικότητας (cardinality constraints). Περιορισ μός τιμών (Value constraint): Ενας περιορισ μός τιμών θέτει περιορισ μούς σ το εύρος της ιδιότητας όταν εφαρμόζεται σ ε μία σ υγκειμένη περιγραφή κλάσ ης. Παραδείγματος χάρη μπορούμε να αναφέρουμε ένα σ ύνολο ατόμων που των οποίων η τιμή τις ιδιότητας adjacentto πρέπει να είναι τύπου Region. Μερικοί από του περιορισ μούς τιμών είναι οι παρακάτω: owl:hasvalue είναι μία ενσ ωματωμένη ιδιότητα της OWL η οποία σ υνδέει μία κλάσ η περιορισ μού με μία τιμή η οποία μπορεί να είναι ένα άτομο (individual) ή μία τιμή δεδομένου (data value). owl:allvaluesfrom χρησ ιμοποιείται για την παραγωγή μιας κλάσ ης περιορισ μού της μορφής «τα άτομα των οποίων όλες οι τιμές τις ιδιότητας P προέρχονται από την κλάσ η C»[6]. owl:somevaluesfrom είναι μία ενσ ωματωμένη ιδιότητα της OWL η οποία χρησ ιμοποιείται για την δημιουργία ενός περιορισ μού της μορφής «όλα τα άτομα για τους οποίους τουλάχισ τον μία τιμή της ιδιότητας P προέρχεται από την κλάσ η C»[6]. Περιορισ μός πληθικότητας (Cardinality constraints): Ενας περιορισ μός πληθικότητας θέτει περιορισ μούς σ το πλήθος που μπορεί να δεχθεί μια ιδιότητα σ το πλαίσ ιο της περιγραφής της κλάσ ης. Για παράδειγμα μία ομάδα ποδοσ φαίρου η ιδιότητα hasplayer πρέπει να έχει 11 τιμές. Μερικοί από τους περιορισ μούς πληθωρικότητας είναι οι παρακάτω: owl:mincardinality: Είναι μία ενσ ωματωμένη ιδιότητα της OWL η οποία σ υνδέει μια κλάσ η περιορισ μού με μία τιμή η οποία είναι τύπου nonnegativeinteger. Περιγράφει μία κλάσ η όπου όλοι οι τύποι έχουν τουλάχισ τον N σ ημασ ιολογικά διακριτές τιμές (άτομα, ή τιμές δεδομένων) σ ε μία σ υγκεκριμένη ιδιότητα.

51 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 40 owl:cardinality: Είναι μία ενσ ωματωμένη ιδιότητα της OWL η οποία σ υνδέει μία κλάσ η περιορισ μού με μία τιμή η οποία είναι τύπου nonnegativeinteger. Περιγράφει μία κλάσ η όπου όλοι οι τύποι έχουν ακριβώς N σ ημασ ιολογικά διακριτές τιμές (άτομα ή τιμές δεδομένων) σ ε μία σ υγκεκριμένη ιδιότητα. owl:maxcardinality: Είναι μία ενσ ωματωμένη ιδιότητα της OWL η οποία σ υνδέει μία κλάσ η περιορισ μού με μία τιμή η οποία είναι τύπου nonnegativeinteger. Περιγράφει μία κλάσ η από άτομα τα οποία έχουν το μέγισ το N σ ημασ ιολογικά διακριτές τιμές (άτομα ή τιμές δεδομένων) σ ε μία σ υγκεκριμένη ιδιότητα. Τομή, ένωσ η και σ υμπλήρωμα (Intersection, union and complement) Στην OWL οι οντολογίες βασ ίζονται σ την θεωρία σ υνόλων. Με αυτόν τον τρόπο μπορούμε να δημιουργήσ ουμε καινούριες κλάσ εις από ήδη υπάρχουσ ες. Μερικές από τις προτάσ εις είναι οι παρακάτω: owl:intersectionof : Περιγράφει μία κλάσ η η οποία έχει όλα τα άτομα που είναι κοινά σ ε όλες τις κλάσ εις που λαμβάνουν μέρος σ την σ ύζευξη. owl:unionof: Περιγράφει μία κλάσ η η οποία έχει όλα τα άτομα που υπάρχουν σ ε όλες τις κλάσ εις που λαμβάνουν μέρος σ την ένωσ η. Σε περίπτωσ η που το ίδιο άτομο υπάρχει σ ε παραπάνω από μία κλάσ η μετά την ένωσ η αυτό παρουσ ιάζεται μόνο μία φορά. owl:complementof: Περιγράφει μία κλάσ η η οποία έχει όλα τα άτομα που δεν υπάρχουν σ ε μία σ υγκεκριμένη κλάσ η. Αξιώματα κλάσ ης (Class axioms) Τα αξιώματα κλάσ ης τυπικά περιέχουν επιπλέον σ υσ τατικά που δηλώνουν α- παραίτητα και/ή επαρκή χαρακτηρισ τικά μίας κλάσ ης. Μερικά από τα αξιώματα αυτά είναι: owl:equivalentclass: Είναι μία ιδιότητα που δηλώνει ότι δύο κλάσ εις είναι ίδιες και έχουν το ίδια επέκτασ η κλάσ ης (class extension) (επέκτασ η κλάσ ης είναι ένα σ ύνολο από άτομα που είναι μέλη μίας κλάσ ης) owl:disjointwith: Μία πρότασ η με αυτή την ιδιότητα υποδηλώνει ότι οι επεκτάσ εις των κλάσ εων αυτών δεν έχουν κοινά άτομα. Σχέσ εις με άλλες ιδιότητες (Relations to other properties) owl:equivalentproperty: Αυτή η δομή δηλώνει ότι οι δύο ιδιότητες έχουν την ίδια επέκτασ η ιδιότητας (property extension)(επέκτασ η ιδιότητας είναι ένα σ ύνολο από άτομα τα οποία σ υσ χετίζονται με την ιδιότητα) πιο σ υγκεκριμένα είναι ισ οδύναμες. owl:inverseof: Είναι μία ενσ ωματωμένη ιδιότητα τις OWL όπου για πεδίο ορισ μού και πεδίο τιμών έχει την ιδιότητα owl:objectproperty. Ενα αξίωμα

52 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 41 της μορφής P1 owl:inverseof P2 εκτιμάται ότι για οποιοδήποτε ζεύγος (x,y) μέσ α σ την επέκτασ η ιδιότητας της P1, υπάρχει ένα ζεύγος (y,x) μέσ α σ την επέκτασ η ιδιότητας της P2, και αντίσ τροφα. Γενικοί (Global) περιορισ μοί πληθικότητας σ ε ιδιότητες owl:functionalproperty: Είναι μία ιδιότητα η οποία μπορεί να έχει μόνο μία (μοναδική) τιμή y για κάθε σ τιγμιότυπο x. Παραδείγματος χάρη μπορούμε να χρησ ιμοποιήσ ουμε FunctionalProperty για να περιγράψουμε ότι ένα άτομο μπορεί να έχει μία βιολογική μητέρα. Σε αντίθεσ η με το owl:cardinality που περιγράφει πόσ ες τιμές θα έχει μία κλάσ η σ ε μία ιδιότητα το owl:functionalpro perty θέτει γενικώς τον περιορισ μό σ την ιδιότητα όπου κ αν αυτή χρησ ιμοποιείτε. owl:inversefunctionalproperty: Σε μία πρότασ η η οποία έχει κατηγόρημα αυτού του τύπου το αντικείμενο προσ διορίζει μονοσ ήμαντα το υποκείμενο. Ενα παράδειγμα είναι ο αριθμός διαβατηρίου ο οποίος προσ διορίζει μονοσ ήμαντα το άτομο. Λογικά χαρακτηρισ τικά των ιδιοτήτων (Logical characteristics of properties) owl:transitiveproperty: Οταν κάποιος δηλώνει ότι η ιδιότητα P είναι μεταβατική ιδιότητα (TransitiveProperty) αυτό σ ημαίνει ότι αν το ζευγάρι (x,y) είναι σ τιγμιότυπο του P, και το ζευγάρι (y,z) είναι επίσ ης σ τιγμιότυπο του P τότε μπορούμε να σ υμπεράνουμε ότι το ζευγάρι (x,z) είναι επίσ ης σ τιγμιότυπο του P. Ενα παράδειγμα μεταβατικής ιδιότητας είναι η ιδιότητα έχει πρόγονο. Αν δηλώσ ουμε ότι ο Βαγγέλης έχει πρόγονο τον Γιώργο και ύσ τερα δηλώσ ουμε ότι ο Γιώργος έχει πρόγονο τον Νίκο και επειδή έχουμε δηλώσ ει ότι η ιδιότητα «έχει πρόγονο» είναι μεταβατική σ υμπεράνουμε ότι ο Βαγγέλης έχει πρόγονο τον Νίκο. owl:symmetricproperty: Είναι η ιδιότητα για την οποία ισ χύει ότι αν το ζευγάρι (x,y) είναι σ τιγμιότυπο του P, τότε το ζευγάρι (y,x) είναι επίσ ης σ τιγμιότυπο του P. Παραδείγματος χάρη αν δηλώσ ουμε ότι η ιδιότητα έχει φίλο είναι symmetricproperty και ότι ο Νίκος έχει φίλο τον Γιάννη τότε η μηχανή σ υμπερασ μού μπορεί να σ υμπεράνει ότι και ο Γιάννης έχει φίλο τον Νίκο. Ατομική ταυτότητα (Individual identity) Πολλές γλώσ σ ες υποσ τηρίζουν ότι διαφορετικά ονόματα αναφέρονται σ ε διαφορετικές οντότητες του κόσ μου. Στον Ισ τό όμως τέτοια υπόθεσ η δεν είναι δυνατή. Για παράδειγμα ένα άτομο μπορεί να αναφερθεί με διάφορους τρόπους (π.χ με διαφορετικές αναφορές URI). Γ αυτό τον λόγο η OWL δεν κάνει αυτή την υπόθεσ η εκτός και αν εκφρασ τεί ρητά ότι δύο αναφορές URI αναφέρονται σ ε ίδια ή διαφορετικά άτομα. Η OWL παρέχει τρεις δομές όσ ων αφορά τον προσ διορισ μό τον ατόμων:

53 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 42 owl:sameas: Μία τέτοια δήλωσ η υποδεικνύει ότι δύο αναφορές URI σ την πραγματικότητα προσ διορίζουν το ίδιο άτομο (person). Παραδείγματος χάρη όταν θέλουμε να δηλώσ ουμε ότι η αναφορές William_Jeerson_Clinton και BillClinton αναφέρονται σ το ίδιο πρόσ ωπο. owl:dierentfrom: Μια τέτοια δήλωσ η υποδεικνύει ότι δύο αναφορές URI αναφέρονται σ ε διαφορετικά άτομα. Παραδείγματος χάρη όταν θέλουμε να δηλώσ ουμε ότι η αναφορά για την γεύσ η γλυκό είναι διαφορετική από την αναφορά για την γεύσ η πικρό. owl:alldierent: Σε περίπτωσ η που έχουμε ένα σ ύνολο από URI τα οποία θέλουμε να δηλώσ ουμε ότι είναι διαφορετικά μεταξύ τους. Με την χρήσ η της owl:dierentfrom θα έπρεπε να δηλώσ ουμε πολλές προτάσ εις για να το καταφέρουμε. Η δήλωσ η owl:alldierent κάνει αυτό ακριβώς το πράγμα δηλώνει ότι κάθε άτομο που ανήκει σ την σ υλλογή είναι διαφορετικό από τα άλλα. Χαρακτηρησ τικά της OWL Υπόθεσ η ανοικτού κόσ μου (Open world assumption): Η OWL όσ ων αφορά τον σ υμπερασ μό υποσ τηρίζει την υπόθεσ η ανοικτού κόσ μου. Η υπόθεσ η ανοικτού κόσ μου αναφέρει ότι δεν μπορούμε να σ υμπεράνουμε ότι μία πρότασ η q είναι false απλώς επειδή δεν μπορούμε να αποδείξουμε ότι το q είναι true[7]. Για να εξηγήσ ουμε πιο καλά την υπόθεσ η ανοικτού κόσ μου χρειάζεται να εξηγήσ ουμε πρώτα το αντίθετο του που είναι η υπόθεσ η κ- λεισ τού κόσ μου το οποίο αναφέρει ότι κάθε πρότασ η που δεν είναι γνωσ τό ότι είναι true είναι false. Εν αντιθέτει σ την υπόθεσ η ανοικτού κόσ μου η απάντησ η είναι false μόνο αν αποδεικνύεται ρητά ότι είναι false. Παραδείγματος χάρη δεδομένη της πρότασ ης OWL ο Je ζει σ το San Francisco, California αν κάνουμε την ερώτησ η ο Je ζει σ το Santa Fe, New Mexico; Το αποτέλεσ μα σ την υπόθεσ η κλεισ τού κόσ μου είναι No ενώ το αποτέλεσ μα σ την υπόθεσ η ανοικτού κόσ μου είναι maybe ή unknown[48]. Μονοτονική (Monotonic): Η OWL είναι μονοτονικό σ ύσ τημα δηλαδή βασ ίζεται σ ε αφαιρετικής λογική το οποίο σ ημαίνει ότι η προσ θήκη νέων προτάσ εων (πληροφορίας) σ την βάσ η γνώσ ης (knowledgebase) δεν θα μετατρέψει ποτέ ένα σ υμπέρασ μα από αληθές σ ε ψευδές [48]. Για παράδειγμα αν δηλώσ ουμε ότι ο Νίκος μένει σ την Καλλιθέα και ύσ τερα δηλώσ ουμε ότι ο Νίκος μένει σ το Μαρούσ ι και κάνουμε την ερώτησ η «Ο Νίκος μένει σ την Καλλιθέα;» τότε η μηχανή σ υμπερασ μού θα μας απαντήσ ει Ναι. Το ίδιο θα απαντήσ ει αν κάνουμε την ερώτησ η «Ο Νίκος μένει σ το Μαρούσ ι;» Abox και Tbox: Στην αναπαράσ τασ η της γνώσ ης το Assertional Box (ABox) είναι το σ τοιχείο ισ χυρισ μού (assertional component) και το Terminological Box (TBox) είναι σ τοιχείο ορολογίας (terminological component). Το ABox κατέχει τα δεδομένα που σ υσ χετίζονται με ένα TBox. Ενώ το TBox κατέχει γνώσ η μοντελοποίησ ης όπως περιγραφή κλάσ εων και

54 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 43 ιδιοτήτων. Δηλώσ εις σ το ABox είναι γεγονότα με σ τιγμιότυπα τα οποία σ χετίζονται με τιμές ή άλλα άτομα. Η πρότασ η person1 age 24 αποτελεί μία ABox πρότασ η. Ενώ η πρότασ η All persons are humans αποτελεί μία TBox πρότασ η[48] OWL2 Την σ τιγμή που εκπονούταν αυτή η πτυχιακή η επέκτασ η της OWL η OWL 2 έγινε σ ύσ τασ η (recommendation) από το W3C. Η οποία έχει μία αρκετά όμοια σ υνολική δομή και είναι σ υμβατή με την OWL 1. Δηλαδή όλες οι οντολογίες OWL 1 είναι έγκυρες OWL 2 οντολογίες. Επιπλέον η OWL 2 προσ θέτει επιπλέον λειτουργικότητα σ ε σ χέσ η με την OWL 1. Μερικά από τα καινούρια χαρακτηρισ τικά είναι η «σ υντακτική ζάχαρη» (syntactic sugar) ενώ άλλα προσ φέρουν επιπλέον εκφρασ τικότητα, τα οποία περιέχουν : Κλειδιά (keys) (μοναδιαίος προσ διορισ μός ατόμων μίας σ υγκεκριμένης κ- λάσ ης χρησ ιμοποιώντας τιμές ενός ή σ υνόλου ιδιοτήτων κλειδιών.) Αλυσ ίδες ιδιοτήτων (property chains) Πλουσ ιότερους τύπους δεδομένων, εύρος δεδομένων (richer datatypes, data ranges) Χαρακτηρισ μένοι περιορισ μοί πληθικότητας (qualied cardinality restrictions) Μη σ υμμετρικότητα, ανακλασ τικότητα, διαχωρισ μός ιδιοτήτων (asymmetric, reexive, and disjoint properties) Ενισ χυμένες ικανότητες σ χολιασ μών (enhanced annotation capabilities) Συντακτική ζάχαρη (Syntactic sugar) για την διευκόλυνσ η σ την δήλωσ η διάφορων κοινών προτάσ εων. Αυξημένη εκφρασ τική δύναμη για ιδιότητες Η OWL 2 όπως και η OWL 1 παρέχει προφίλ τα οποία είναι υπογλώσ σ ες (σ υντακτικά υποσ ύνολα) της OWL αυτές είναι οι OWL 2 EL, OWL 2 QL, και OWL 2 RL. Η OWL 2 EL είναι κατάλληλη για εφαρμογές όπου απαιτούνται πολύ μεγάλες οντολογίες, όπου η δυνατότητα περιγραφής υποβαθμίζεται για λόγους καλύτερης απόδοσ ης. Η OWL QL είναι κατάλληλη για εφαρμογές όπου ελαφρές οντολογίες χρησ ιμοποιούνται για την οργάνωσ η ενός μεγάλου αριθμού από άτομα και όπου είναι χρήσ ιμο ή απαραίτητο να υπάρχει πρόσ βασ η σ τα δεδομένα απευθείας ή μέσ ω σ χεσ ιακών ερωτημάτων (π.χ. SQL). Η OWL 2 RL είναι κατάλληλη για εφαρμογές όπου «ελαφρές» οντολογίες χρησ ιμοποιούνται για την οργάνωσ η ενός μεγάλου αριθμού από άτομα και όπου κρίνεται χρήσ ιμο ή απαραίτητο για να λειτουργήσ ει άμεσ α για τα δεδομένα με τη μορφή RDF τριπλετών. Οποιαδήποτε οντολογία OWL 2 EL, QLή RL είναι επίσ ης μία OWL 2 οντολογία και μπορεί να ερμηνευτεί είτε με την άμεσ η σ ημασ ιολογία (περισ σ ότερες πληροφορίες σ χετικά με άμεσ η σ ημασ ιολογία:

55 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 44 είτε με σ ημασ ιολογίες βασ ισ μένες σ την RDF[23] Λογική (Logic) Το logic layer έχει ορισ τεί αρκετά αφηρημένα. Μία από τις προθέσ εις αυτού του επιπέδου είναι η περιγραφή μίας επίσ ημης μαθηματικής λογικής η οποία εναρμονίζει όλα τα διαφορετικά σ ημασ ιολογικά μοντέλα (RDF, RDFS, OWL, SPARQL) σ ε μία σ υνεκτική θεωρία μοντέλων. Η κεντρική αρχή αυτού του σ τρώματος είναι να παρέχει μία ενιαία λογική διεπαφή σ τον σ ημασ ιολογικό ισ τό έτσ ι ώσ τε να διευκολύνει τις εφαρμογές λογισ μικού να μπορούν να γράφονται πιο εύκολα χρησ ιμοποιώντας μία ενιαία πρόσ οψη παρά μεμονωμένα μέρη[48] Απόδειξη (Proof) Το σ τοιχείο Απόδειξη σ την αρχιτεκτονική του σ ημασ ιολογικού Ισ τού σ τοχεύει σ την παροχή επεξήγησ ης ως προς το ποιοι επιχειρησ ιακοί κανόνες (business rules) και ποιοι σ υμπερασ ματικοί κανόνες οδήγησ αν σ ε αυτό το σ υμπέρασ μα ή σ ε αυτή την υπόδειξη μέσ ω ενός μαθηματικά αποδειγμένου τρόπου. 3.2 Shmasviologikèc UphresvÐec IsvtoÔ (Semantic Web Services) Οπως περιγράψαμε σ το κεφάλαιο των Υπηρεσ ιών Ισ τού η κλήσ η των Υπηρεσ ιών Ισ τού γίνεται μέσ ω του πρωτοκόλλου SOAP ενώ η περιγραφή των Υπηρεσ ιών Ισ τού γίνεται με την βοήθεια του πρωτοκόλλου WSDL. Και τα δύο πρωτόκολλα περιγράφονται με την βοήθεια της XML και λειτουργούν σ ε σ υντακτικό επίπεδο[16] κληρονομόντας του περιορισ μούς που αναφέραμε σ το κεφάλαιο Τι είναι Σημασ ιολογικός Ισ τός σ χετικά με την περιγραφικότητα της πληροφορίας. Ετσ ι απαιτείται η ύπαρξη ανθρώπινου παράγοντα για την ανακάλυψη και την σ ύνθεσ η των Υπηρεσ ιών Ισ τού. Παραδείγματος χάρη ο προγραμματισ τής πρέπει να αναζητήσ ει με μη αυτοματοποιημένο τρόπο της κατάλληλες Υπηρεσ ίες Ισ τού έτσ ι ώσ τε να τις σ υνδυάσ ει με των κατάλληλο τρόπο, αυτή η διαδικασ ία όμως περιορίζει την επεκτασ ιμότητα αλλά και την προσ τιθέμενη οικονομική αξία που είχε οραματισ τεί με τον ερχομό των Υπηρεσ ιών Ισ τού [16]. Οι Σημασ ιολογικές Υπηρεσ ίες Ισ τού (Semantic Web Services) είναι μία ερευνητική πρότασ η η οποία προσ παθεί να λύσ ει αυτό ακριβώς το πρόβλημα και να παρέχει αυτοματοποιημένη ανακάλυψη (Αυτόματος προσ διορισ μός της υπηρεσ ίας που ταιριάζει σ ημασ ιολογικά με ένα σ υγκεκριμένο αίτημα υπηρεσ ίας βασ ισ μένο σ ε ένα είδος ορολογικής υπαγωγής εννοιών (concept subsumption relations) που υπολογίσ τηκε σ την αντίσ τοιχη οντολογία [38]), σ ύνθεσ η (σ υνδυασ μός δύο ή περισ σ ότερων Υπηρεσ ιών Ισ τού για την επίτευξη ενός σ τόχου[14]), κλήσ η και παρακολούθησ η των Υπηρεσ ιών Ισ τού.

56 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ TÐ eðnai oi Shmasviologikèc UphresvÐec IsvtoÔ Οι Σημασ ιολογικές Υπηρεσ ίες Ισ τού είναι επαύξησ η (augmentation) των περιγραφών των Υπηρεσ ιών Ισ τού μέσ ω σ ημάνσ εων (annotations) του Σημασ ιολογικού Ισ τού για την διευκόλυνσ η την υψηλή αυτοματοποίησ η της ανακάλυψης, σ ύνθεσ ης, κλήσ ης και παρακολούθησ ης υπηρεσ ίας σ ε ένα ανοιχτό, ανεξέλεγκτο (unregulated) και σ υχνά χαοτικό περιβάλλον (αυτό είναι ο Ισ τός) [47]. Εχουν αναπτυχθεί διάφορες γλώσ σ ες αλλά και προσ εγγίσ εις που έχουν σ- αν σ τόχο την προώθησ η των Υπηρεσ ιών Ισ τού σ το επίπεδο τον Σημαιολογικών Υπηρεσ ιών Ισ τού. Τέτοιες προσ εγγίσ εις κάνουν χρήσ η οντολογιών. Μερικές από τις προσ εγγίσ εις και γλώσ σ ες είναι οι OWL-S και WSDL-S[42]. Η OWL-S είναι μία οντολογία Υπηρεσ ιών Ισ τού που βασ ίζεται σ την OWL, η οποία εφοδιάζει σ τους παρόχους Υπηρεσ ιών Ισ τού με ένα βασ ικό σ ύνολο από δομές (constructs) για την περιγραφή των ιδιοτήτων και των δυνατοτήτων των Υπηρεσ ιών Ισ τού με μία σ αφή και διερμηνευόμενη από υπολογισ τή μορφή[13]. Η WSDL-S προσ θέτει σ ήμανσ η (annotate) σ το WSDL με διάφορες επεκτάσ εις σ χετικά με λειτουργίες και μηνύματα. Αυτές οι επεκτάσ εις αναφέρονται σ ε έννοιες (concepts) μοντέλων τομέων (domain models) έτσ ι ώσ τε να ορίσ ουν όχι μόνο την σ ημασ ιολογία των μηνυμάτων άλλα επιπλέον τις προϋποθέσ εις και τα αποτελέσ ματα (eects) των λειτουργιών. Θεωρείται μία ελαφριά (lightweight) προσ έγγισ η για την σ ημασ ιολογική σ ήμανσ η των Υπηρεσ ιών Ισ τού[42]. Ενα πλαίσ ιο εργασ ίας Σημασ ιολογικής Υπηρεσ ίας Ισ τού για να είναι πλήρες πρέπει να παρέχει τρία λειτουργικά επίπεδα. Ενα θεμελιώδες (foundational) εννοιολογικό (conceptual) μοντέλο, μία γλώσ σ α για την παροχή σ ύνταξης και σ ημασ ιολογίας για το εννοιολογικό μοντέλο και ένα περιβάλλον εκτέλεσ ης. Παρακάτω θα περιγραφούν το εννοιολογικό μοντέλο WSMO (Web Service Modeling Ontology), η γλώσ σ α WSML (Web Service Modeling Ontology) και το περιβάλλον εκτέλεσ ης WSMX. Και τα τρία βασ ίζονται σ το πλαίσ ιο εργασ ίας WSMF (Web Service Modeling Framework) [30] WSMO (Web Service Modeling Ontology) Σύμφωνα με (Dumitru Roman, Jos de Bruijn et al) αναφέρουν για το WSMO ότι παρέχει ένα εννοιολογικό μοντέλο για την δομημένη σ ημασ ιολογική περιγραφή υπηρεσ ιών (service), οντολογιών (ontologies), σ τόχων (goals) και μεσ ολαβητών (mediators)[51] και ότι βασ ίζεται σ τις ακόλουθες αρχές σ χεδιασ μού: Συμβατό με τον Ισ τό (δηλαδή χρησ ιμοποιεί τεχνολογίες Ισ τού) Βασ ισ μένο σ ε οντολογίες (δηλαδή χρησ ιμοποιεί οντολογίες σ αν μοντέλο δεδομένων) Αυσ τηρή αποσ ύνδεσ η (δηλαδή κάθε σ τοιχείο ορίζεται ανεξάρτητα) Επικεντρωμένο σ την διαμεσ ολάβησ η (centrality of Mediation)(δηλαδή χειρισ μός την ετερογένειας που εμφανίζεται σ ε ανοιχτά σ υσ τήματα) Διαχωρισ μός οντολογικών ρόλων (Ontological role separation) (δηλαδή ο διαχωρισ μός των επιθυμιών των χρησ τών ή πελατών και των υπηρεσ ιών)

57 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 46 Περιγραφή εναντίον υλοποίησ ης (δηλαδή διαφοροποίησ η των περιγραφών των σ τοιχείων των Σημασ ιολογικών Υπηρεσ ιών Ισ τού και των εκτελέσ ιμων τεχνολογιών) Σημασ ιολογική εκτέλεσ η (Execution Semantics) (δηλαδή τυπική σ ημασ ιολογική εκτέλεσ η των αναφερόμενων εφαρμογών) Υπηρεσ ία εναντίων Υπηρεσ ίας Ισ τού (Μία Υπηρεσ ία Ισ τού είναι μία υπολογισ τική οντότητα η οποία είναι ικανή για την επίτευξη του σ τόχου των χρησ τών. Εν αντιθέτει με την Υπηρεσ ία που είναι η πραγματική αξία που παρέχετε από την κλήσ η των Υπηρεσ ιών Ισ τού[16]. Για την περιγραφή των σ ημασ ιολογικών περιγραφών το WSMO παρέχει τρείς κύριες κατηγορίες αυτές είναι: 1. Μέσ ω για την περιγραφή των Υπηρεσ ιών Ισ τού 2. Μέσ ω για την περιγραφή των σ τόχων των χρησ τών (user goals) 3. Μέσ ω για την εξασ φάλισ η της διαλειτουργικότητας μεταξύ διάφορων σ ημασ ιολογικών περιγραφών από διάφορα ετερογενή περιβάλλοντα: ontologies και mediators Οι Υπηρεσ ίες Ισ τού παρέχουν ένα εννοιολογικό μοντέλο για την περιγραφή με σ αφή και ενιαίο τρόπο όλες τις πτυχές μίας Υπηρεσ ίας Ισ τού. Οι οποίες σ υμπεριλαμβάνουν μή-λειτουργικές ιδιότητες, λειτουργικότητα και τις διασ υνδέσ εις για την κλήσ η της. Μία WSMO οντότητα Υπηρεσ ίας Ισ τού είναι η εννοιολογική οντότητα η οποία είναι ικανή (μέσ ω της κλήσ ης της) να εκπληρώσ ει του σ τόχους των χρησ τών. Μία τέτοια οντότητα περιέχει: Non Functional Properties είναι πτυχές των Υπηρεσ ιών Ισ τού που δεν σ υσ χετίζονται άμεσ α με την λειτουργικότητα τους. Capability είναι η λειτουργική περιγραφή της Υπηρεσ ίας Ισ τού περιγράφοντας του περιορισ μούς εισ όδου και εξόδου κάνοντας χρήσ η των pre-conditions, assumptions, post-conditions και eects[51]. Τα pre-conditions, assumptions, post-conditions και eects περιγράφονται αναλυτικότερα παρακάτω: Preconditions: Για το Web Service Capability προσ διορίζουν την απαιτούμενη κατάσ τασ η του χώρου πληροφορίας πριν την εκτέλεσ η της Υπηρεσ ίας Ισ τού. Προσ διορίζει την πληροφορία που απαιτήται για να μπορεί η Υπηρεσ ία Ισ τού να λειτουργήσ ει [16]. Assumptions: Για το Web Service Capability περιγράφουν την υποτιθέμενη κατάσ τασ η του κόσ μου πληροφορίας πριν την εκτέλεσ η, διαφορετικά η επιτυχής εκτέλεσ η της Υπηρεσ ίας Ισ τού δεν μπορεί να εγγυηθεί. Η διαφορά των assumption με τα preconditions είναι ότι τα assumptions δεν είναι απαραίτητο να ελεγχθούν από την Υπηρεσ ία Ισ τού [16]. PostConditions: Για το Web Service Capability περιγράφουν την κατάσ τασ η του χώρου πληροφορίας που εγγυάται ότι θα δημιουργηθεί μετά από την επιτυχή εκτέλεσ η της Υπηρεσ ίας Ισ τού [16].

58 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 47 Eects: Για το Web Service Capability περιγράφουν την εγγυημένη κατάσ τασ η του κόσ μου που θα φτάσ ει μετά από την επιτυχή εκτέλεσ η της Υπηρεσ ίας Ισ τού. Interfaces: Προσ διορίζουν πώς σ υμπεριφέρεται η υπηρεσ ία έτσ ι ώσ τε να επιτύχει την λειτουργικότητα της [51]. Το interface αποτελείτε από: Choreography: Περιγράφει την διεπαφή για την διαλειτουργικότητα που απαιτείται μεταξύ χρήσ τη και υπηρεσ ίας έτσ ι ώσ τε να κάνει χρήσ η της λειτουργικότητας. Πιο σ υγκεκριμένα παρέχει την απαραίτητη πληροφορία για την επικοινωνία με την Υπηρεσ ία Ισ τού [51]. Orchestration: Περιγράφει πώς η λειτουργικότητα μίας Υπηρεσ ίας Ισ τού επιτυγχάνεται μέσ ω της σ ύνθεσ ης άλλων Υπηρεσ ιών Ισ τού. Πιο σ υγκεκριμένα περιγράφει πώς η σ υνολική λειτουργικότητα επιτυγχάνεται με την σ υνεργασ ία άλλων Υπηρεσ ίών Ισ τού [51]. Το Ontology είναι ένα μία δόκιμος (formal) ρητά καθορισ μένος προσ διορισ μός μίας κοινής εννοιολογίας[16]. Ορίζουν μία κοινή ορολογία με τον ορισ μό concepts και των σ χέσ εων μεταξύ τους, επιπλέον παρέχουν το πρώτο και πιο σ ημαντικό μέσ ο για την επίτευξη διαλειτουργικότητας μεταξύ σ τόχων (goals) και των Σημασ ιολογικών Υπηρεσ ιών Ισ τού αλλά και των Σημασ ιολογικών Υπηρεσ ιών Ισ τού μεταξύ τους [51]. Τα βασ ικά σ τοιχεία μιας οντολογίας είναι: Concepts: Είναι τα βασ ικά σ τοιχεία σ υμφωνημένα για κάποια περιοχή προβλήματος[51] και αναπαρισ τούν κλάσ εις από αντικείμενα του πραγματικού ή αφηρημένου κόσ μου (π.χ. Άνθρωπος). Εχει ένα σ ύνολο από ιδιότητες με ονόματα και τύπους. Ενα σ ύνολο από τέτοιες ιδιότητες (ζευγάρια attribute name και value) ονομάζονται υπογραφή του concept. Ενα concept μπορεί να είναι subconcepts ενός ή περισ σ ότερων superconcepts. Με αυτό τον τρόπο κάθε σ τιγμιότυπο του subconcept είναι και σ τιγμιότυπο και του superconcept και κληρονομεί την υπογραφή (signature) αυτού. Relations: Μοντελοποιεί αλληλοεξαρτήσ εις μεταξύ διαφόρων concepts και αντίσ τοιχα σ τιγμιότυπων αυτών των concepts[51]. Οπως και με τα concepts κάθε relation μπορεί να κληρονομεί superrelations κληρονομώντας ουσ ιασ τικά την υπογραφή του superrelation. Instances: Ενα concept αναπαρισ τά ένα σ ύνολο από αντικείμενα του πραγματικού ή αφηρημένου κόσ μου με μία σ υγκεκριμένη κοινή ιδιότητα. Τα αντικείμενα αυτά ονομάζονται instances[16]. Axioms: Είναι λογικές εκφράσ εις οι οποίες ορίζουν πολύπλοκες λογικές σ χέσ εις μεταξύ άλλων σ τοιχείων των οντολογιών[16, 51]. Οι διαμεσ ολαβητές (mediators) χρησ ιμοποιούνται για την αντιμετώπισ η της ετερογένειας η οποία προκύπτει από ανοιχτά και κατανεμημένα περιβάλλοντα όπως αυτά των Σημασ ιολογικών Υπηρεσ ιών Ισ τού. Για το WSMO υπάρχουν τρία επίπεδα διαμεσ ολάβησ ης [16]:

59 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ Διαμεσ ολάβησ η σ ε επίπεδο δεδομένων (Data level mediation): Είναι η διαμεσ ολάβησ η μεταξύ διαφορετικών πηγών δεδομένων-οντολογιών. 2. Διαμεσ ολάβησ η σ ε επίπεδο πρωτοκόλλου (Protocol level mediation): Είναι η διαμεσ ολάβησ η μεταξύ διαφορετικών choreographies. 3. Διαμεσ ολάβησ η σ ε επίπεδο διαδικασ ίας (Process level mediation): Είναι η διαμεσ ολάβησ η μεταξύ διαφορετικών orchestrations. Ενας WSMO διαμεσ ολαβητής δημιουργεί μία αρχιτεκτονική προσ ανατολισ μένη σ την διαμεσ ολάβησ η για το χειρισ μό των ετερογενών μεταξύ των σ τοιχείων WS- MO σ υνδέοντας τα με χαλαρά σ υζευγμένο τρόπο. Το WSMO ορίζει τέσ σ ερις τύπους διαμεσ ολαβητών για την σ ύνδεσ η των σ τοιχείων WSMO[16, 51]: oomediator: Αναλαμβάνει την διαμεσ ολάβησ η και σ ύνδεσ η ετερογενών οντολογιών με διάφορους τρόπους όπως σ υγχώνευσ η οντολογιών, αντισ τοίχισ η κτλ. Κάθε oomediator μπορεί έχει για πηγή μία οντολογία ή ένα άλλο oomediator ενώ για σ τόχο μπορεί να είναι είτε μία άλλη οντολογία, Σημασ ιολογική Υπηρεσ ία Ισ τού ή oomediator. ggmediator: Συνδέει σ τόχους επιτρέποντας με αυτό τον τρόπο την δημιουργία νέων σ τόχων από ήδη υπάρχοντες. Δέχονται ως πηγή (source) και σ τόχο (target) σ τόχους (goals) ή άλλα ggmediators. wgmediator: Συνδέει Σημασ ιολογικές Υπηρεσ ίες Ισ τού με σ τόχους (goals) και επιλύει εννοιολογικές αναντισ τοιχίες. Δέχεται σ αν πηγη (source) Σημασ ιολογικές Υπηρεσ ίες Ισ τού ή κάποιο wgmediator ενώ για σ τόχο (target) επιτρέπεται να υπάρχει κάποιος σ τόχος (goal) ή ggmediator. wwmediator: Χρησ ιμοποιείται για την διαλειτουργικότητα μεταξύ Σημασ ιολογικών Υπηρεσ ιών Ισ τού. Ο wwmediator διαμεσ ολαβεί μεταξύ των choreographies των Συμασ ιολογικών υπηρεσ ιών Ισ τού αυτό βέβαια μπορεί να απαιτεί την διαμεσ ολάβησ η σ ε επίπεδο πρωτοκόλλου και διαδικασ ίας. Οι σ τόχοι (goals) παρέχουν ένα μέσ ο για τον χαρακτηρισ μό των απαιτήσ εων των χρησ τών πρώτα με λειτουργικές απαιτήσ εις ορίζοντας προ-σ υνθήκες (preconditions) και μετα-σ υνθήκες (post-conditions) και έπειτα ορίζοντας μη λειτουργικές (non-functional) απαιτήσ εις ορίζοντας μία προκαθορισ μένη οντολογία γενικών ιδιοτήτων, περιγράφοντας σ ε υψηλό επίπεδο την εργασ ία που θα επιτευχθεί από την Υπηρεσ ία Ισ τού[16]. Ενας σ τόχος (goal) εισ άγει οντολογίες έτσ ι ώσ τε να χρησ ιμοποιηθούν σ αν ορολογία για τον ορισ μό άλλων σ τοιχείων (elements) που είναι μέρος του σ τόχου (goal). Με την χρήσ η των σ τόχων αυτών γίνεται διαχωρισ μός των σ τόχων τον χρησ τών και των Υπηρεσ ιών Ισ τού που ικανοποιούν αυτούς τους σ τόχους[16] WSML (Web Service Modeling Language) Για να γίνει πιο κατανοητή η WSML πρέπει να περιγράψουμε σ τους τρόπους αναπαράσ τασ ης οποία βασ ίζεται, αυτοί είναι:

60 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 49 Η λογική Horn (Horn logic) είναι μία επίσ ημη γλώσ σ α και υποσ ύνολο της κατηγορηματικής λογικής (predicate logic) και επιτρέπει αποτελεσ ματικό σ υμπερασ μό[7]. Η επίσ ημη (formal) γλώσ σ α επιτρέπει την έκφρασ η κανόνων (και γεγονότων), και ερωτημάτων. Η διαδικασ ία σ υμπερασ μού υπολογίζει απαντήσ εις σ ε ερωτήματα από κανόνες (και γεγονότα). Η περιγραφική λογική (description logic) είναι η οικογένεια των γλωσ σ ών αναπαράσ τασ ης γνώσ ης που μπορούν να χρησ ιμοποιηθούν για την αναπαράσ τασ η της γνώσ ης ενός τομέα εφαρμογής με δομημένο και επισ ήμως καλά κατανοητό τρόπο[22]. Χρησ ιμοποιείται από τη τεχνητή νοημοσ ύνη για τον επίσ ημο σ υμπερασ μό (formal reasoning) σ τα concepts ενός τομέα εφαρμογής[1]. Η F-Logic είναι μία γλώσ σ α αναπαράσ τασ ης [55]η οποία σ τοχεύει σ την εφαρμογή του αντικειμενοσ τραφούς παραδείγματος σ τον προγραμματισ μό βάσ εων δεδομένων. Παρέχει έννοιες όπως αντικείμενα, κληρονομικότητα, πολυμορφισ μός τύπων, μεθόδους ερωτημάτων και ενθυλάκωσ η. Μονοτονικοί κανόνες (Monotonic rules): Οπως έχουμε αναφέρει σ το κεφάλαιο OWL είναι ένας κανόνας αποτελείται από την κεφαλή (σ υμπέρασ μα) και το σ ώμα. Μονοτονικοί κανόνες είναι οι κανόνες όπου αν αποδειχτεί ότι ισ χύει το σ ώμα του κανόνα, ο κανόνας μπορεί να εφαρμοσ τεί και η κεφαλή μπορεί να παραχθεί ως αποτέλεσ μα. Στους Μή μονοτονικούς κανόνες (Nonmonotonic rules) ένας κανόνας μ- πορεί να μην εφαρμοσ τεί ακόμα και αν οι πληροφορίες σ ώμα του είναι πλήρης γιατί πρέπει να ελεγχθούν οι αντίθετες αλυσ ίδες σ υλλογισ μού (contrary reasoning chains). Παραδείγματος χάρη αν ορίσ ουμε έναν κανόνα «όλα τα πουλιά τυπικά πετούν» και ορίσ ουμε ότι ο tweety είναι πουλί σ υμπεραίνουμε ότι μπορεί να πετάξει. Αν όμως είχαμε δηλώσ ει επιπλέον ότι ο tweety δεν πετά δεν θα μπορούμε να βγάλουμε το προηγούμενο σ υμπέρασ μα. Αυτοί οι κανόνες είναι χρήσ ιμοι όταν η διαθέσ ιμη πληροφορία είναι ελλιπής[11, 7]. Η Web Service Modeling Language (Γλώσ σ α Μοντελοποίησ ης Υπηρεσ ιών Ισ τού) είναι μια γλώσ σ α για τον προσ διορισ μό των διαφόρων πτυχών των Σημασ ιολογικών Υπηρεσ ιών Ισ τού [29]. Αποτελεί μία επίσ ημη γλώσ σ α του WSMO και ορίζει την σ ύνταξη και σ ημασ ιολογία για την περιγραφή των οντολογιών[51]. Η περιγραφή των Υπηρεσ ιών Ισ του βασ ίζεται σ την οντολογία η οποία χρησ ιμοποιείται για να περιγράψει την ορολογία. Η WSML έχει δύο τρόπους για την αναπαράσ τασ η της γνώσ ης η μία είναι η περιγραφική λογική (description logic) και η άλλη είναι η γλώσ σ α βασ ισ μένη σ ε λογικούς κανόνες (logical rule-based languages) (σ υγκεκριμενοποιεί (instantiate) κανόνες όταν ενεργοποιούνται από σ υνθήκες σ ε ένα σ ύνολο από δεδομένα. Από όλες τις δυνατές ενεργοποιήσ εις, ένα σ ύνολο θα επιλεχτεί και οι προτάσ εις που ανήκουν σ ε αυτούς του κανόνες θα εκτελεσ τούν[2, 31]. Η WSML παρέχει πέντε παραλλαγές αυτές είναι: WSML-CORE: Βασ ίζεται σ τον σ υνδυασ μό τις περιγραφικης λογικής SHIQ και της λογικής Horn. Είναι η λιγότερο απαιτητική WSML παραλλαγή απ όλες. Είναι υποσ ύνολο των παραλλαγών DL-based και LP-based. Αυτό

61 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 50 σ ημαίνει ότι κάθε περιγραφή WSML-Core είναι επίσ ης και WSML-DL και WSML-Flight. WSML-DL: Αποτελεί την παραλλαγή βασ ισ μένη σ την περιγραφική λογική SHIQ (D). WSML-Flight: Είναι μία επέκτασ η της WSML-Core παραλλαγής η οποία παρέχει μία ισ χυρή γλώσ σ α κανόνων. Προσ θέτει χαρακτηρισ τικά όπως metamodeling, περιορισ μοί και μη μονοτονική άρνησ η (nonmonotonic negation). WSML-rule: Αποτελεί επέκτασ η της WSML-Flight με περεταίρω χαρακτηρισ τικά από τον λογικό προγραμματισ μό (Logic Programming). WSML-Full: Αποτελεί ενοποίησ η της WSML-DL και WSML-Rule και επιπλέον υποσ τηρίζει μη μονοτονική άρνησ η (nonmonotonic negation) της WSML-Rule. Οι παραλλαγές της WSML φαίνονται σ την παρακάτω εικόνα. Σχήμα 3.11: Παραλλαγές WSML WSMX (Web Service Execution Environment) Το WSMX είναι ένα περιβάλλον ανοικτού κώδικα και εκτέλεσ ης το οποίο επιτρέπει την ανακάλυψη (discovery), επιλογή (selection), διαμεσ ολάβησ η (mediation), σ ύνθεσ η (composition) και την επίκλησ η (invocation) Σημασ ιολογικών Υπηρεσ ιών Ισ τού[51] και βασ ίζεται σ το εννοιολογικό μοντέλο που παρέχεται από το WSMO. Το WSMX παρέχει τα λεγόμενα σ ημεία εισ όδου (entry points) που αναπαρισ τούν σ τάνταρ διεπαφές που επιτρέπουν την επικοινωνία με εξωτερικές οντότητες τα πιο σ ημαντικά είναι:

62 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 51 Μονόδρομη εκτέλεσ η σ τόχου (One-way goal execution): Αυτό το σ ημείο εισ όδου επιτρέπει την πραγματοποίησ η του σ τόχου. Για την επίτευξη αυτού του σ τόχου απαιτείται η παροχή μίας περιγραφής του σ τόχου (goal) και τα δεδομένα που απαιτούνται για την κλήσ η της υπηρεσ ίας. Ανακάληψη Υπηρεσ ίας Ισ τού (Web Service Discovery): Δέχεται ένα σ τόχο και το WSMX επισ τρέφει ένα σ ύνολο από Υπηρεσ ίες που ικανοποιούν αυτό τον σ τόχο. Αποθήκευσ η οντότητας σ το μητρώο: Αυτό το σ ημείο εισ όδου παρέχει την αποθήκευσ η οντοτήτων (Web services, goals, mediators, or ontologies) WS- MO (που περιγράφονται με την WSML) σ το repository[51]. Κλήσ η Υπηρεσ ίας Ισ τού (invoke Web Service): Δέχεται το IRI της Σημασ ιολογικής Υπηρεσ ίας Ισ τού που θέλουμε να καλέσ ουμε μαζι με τα σ τιγμιότυπα εισ οδου, καλει την υπηρεσ ία και επισ τρέφει τα σ τιγμιότυπα εξόδου[27] Η αρχιτεκτονική του WSMX Το WSMX αποτελείται από διάφορα σ τοιχειολογισ μικά με ξεκάθαρες λειτουργικές αρμοδιότητες. Τα σ τοιχειολογισ μικά αυτά είναι[20]: Διαχειρισ τής WSMX (WSMX manager): Είναι το κεντρικό σ τοιχειολογισ μικό το οποίο διαχειρίζεται όλα τα άλλα σ τοιχειολογισ μικά αλλά και την αλληλεπίδρασ η μεταξύ τους. Διαχειρισ τής Πόρων (Resource Manager): Παρέχει μία διεπαφή για την αποθήκευσ η σ τοιχείων WSMO σ το WSMX. Ανεύρεσ η (Discovery): Αναλαμβάνει την εύρεσ η των περιγραφών μίας Υπηρεσ ίας Ισ τού που ταιριάζουν με το σ τόχο (goal) που καθορισ τηκέ από τον αιτών. Μεσ ολαβητής Δεδομένων (Data Mediator): Αντιμετωπίζει προβλήματα ετερογένειας που μπορεί να υπάρχουν κατά την διάρκεια της ανακάλυψης, σ ύνθεσ ης, επιλογής ή κλήσ ης των Υπηρεσ ιών Ισ τού. Η αντισ τοίχησ η γίνεται με βάσ η κάποιους κανόνες αντισ τοίχησ ης οι οποίοι ανακτήθηκαν από τον Διαχειρισ τής Πόρων. Διαχειρισ τής Επικοινωνίας (Communication Manager): Αναλαμβάνει την αποσ τολή και λήψη μηνυμάτων από και προς το WSMX κάνοντας χρήσ η διάφορων πρωτοκόλλων. Χορογραφία (Choreography): Ορίζει την μορφή της επικοινωνίας σ χετικά με τα μηνύματα που ανταλλάσ σ ονται έτσ ι ώσ τε να γίνει η αλληλεπίδρασ η με την Υπηρεσ ία Ισ τού. Στοιχειολογισ μικό γείωσ ης (Grounding component): Επιτρέπει το Lifting από μηνύματα SOAP σ ε οντολογίες WSMO και το lowering από οντολογίες WSMO σ ε μηνύματα SOAP.

63 ΚΕΦ ΑΛΑΙΟ 3. ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ 52 Invoker: Χειρίζεται την επικοινωνία μεταξύ του WSMX και των Εξωτερικών Υπηρεσ ιών Ισ του.

64 Kefˆlaio 4 PERIGRAFH EFARMOGHS ALLAGHS IJAGENEIAS 4.1 Perigraf tou probl matoc Ενα από τα προβλήματα που υπάρχει σ ήμερα σ την παροχή υπηρεσ ιών ηλεκτρονικής διακυβέρνησ ης είναι η επίτευξη της διαλειτουργικότητας μεταξύ οργανισ μών της Δημόσ ιας διοίκησ ης σ ε επίπεδο χώρας αλλά και άλλων χωρών κάνοντας με αυτό τον τρόπο δύσ κολη την παροχή υψηλού επιπέδου υπηρεσ ιών ηλεκτρονικής διακυβέρνησ ης. Για παράδειγμα, για την παροχή υπηρεσ ίας η οποία απαιτεί έγγραφα που παρέχονται από Δημόσ ιες Υπηρεσ ίες άλλων χωρών, ο πελάτης της Δημόσ ιας Διοίκησ ης πρέπει να γνωρίζει το όνομα της ξένης υπηρεσ ίας, να κάνει μετάφρασ η των εγγράφων κτλ. Επιπλέον οι πελάτες της Δημόσ ιας Διοίκησ ης γνωρίζουν τις ανάγκες τους, δεν ξέρουν όμως σ ε ποια Δημόσ ια Διοίκησ η να απευθυνθούν και ποια διαδικασ ία θα ακολουθήσ ουν για την κάλυψη αυτής της ανάγκης. Ενώ από την άλλη μεριά οι Διοικήσ εις είναι προσ ανατολισ μένες σ την παροχή υπηρεσ ιών. Πέρα βέβαια από την αναγνώρισ η της υπηρεσ ίας υπάρχει ανάγκη ανακάλυψης της σ υγκεκριμένης έκδοσ ης υπηρεσ ίας βάσ η του προφίλ που έχει (π.χ. Ενήλικας, παντρεμένος). Για παράδειγμα, άλλη διαδικασ ία πρέπει να επακολουθήσ ει κάποιος για την αλλαγή ιθαγένειας αν είναι ενήλικας και άλλη αν είναι ανήλικος. Τέλος σ τα Ελληνικά δεδομένα ο πελάτης της Δημόσ ιας Διοίκησ ης είναι αναγκασ μένος να πηγαίνει από την μία δημόσ ια υπηρεσ ία σ την άλλη μεταφέροντας τα κατάλληλα έγγραφα. Αυτό οφείλεται σ το γεγονός ότι το έγγραφο μίας υπηρεσ ίας αποτελεί είσ οδος μίας άλλης υπηρεσ ίας. Ο πελάτης της Δημόσ ιας Διοίκησ ης ουσ ιασ τικά χρησ ιμοποιεί υπηρεσ ίες τις Δημόσ ιας Διοίκησ ης, τα αποτελέσ ματα των οποίων είναι είσ οδοι της κύριας υπηρεσ ίας την οποία θέλει να χρησ ιμοποιήσ ει. Το έργο SemanticGov πρότεινε μία αρχιτεκτονική η οποία βοηθά σ την αν- 53

65 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 54 τιμετώπισ η των προβλημάτων αυτών και παρουσ ιάζεται παρακάτω. 4.2 Perigraf svusvt matoc Το σ ύσ τημα που παρουσ ιάζεται σ ε αυτή την πτυχιακή αποτελεί τμήμα του χρηματοδοτούμενου από την ΕΕ έργου SemanticGov (http://www.semantic-gov.org/). Το έργο αυτό ξεκίνησ ε 1 Ιανουαρίου 2006 και είχε διάρκεια 40 μήνες, σ τοχεύει σ την δημιουργία υποδομής (λογισ μικό, μοντέλα, υπηρεσ ίες κτλ) για την διάθεσ η Σημασ ιολογικές Υπηρεσ ίες Ισ τού από την Δημόσ ια Διοίκησ η (Public Administration, PA) αντιμετωπίζοντας προκλήσ εις όπως: επίτευξη διαλειτουργικότητας μεταξύ οργανισ μών της Δημόσ ιας Διοίκησ ης, διευκόλυνσ η της ανακάλυψης των υπηρεσ ιών της Δημόσ ιας Διοίκησ ης από τους πελάτες της υπηρεσ ίας και την διευκόλυνσ η της εκτέλεσ ης πολύπλοκων υπηρεσ ιών που περιέχουν πολλαπλά interworkows οργανισ μών Δημόσ ιας Διοίκησ ης [5, 4]. Το πλαίσ ιο αυτού του έργου υλοποιήθηκαν δύο υποδειγματικές εφαρμογές (Showcases) έτσ ι ώσ τε να γίνει επίδειξη της αποτελεσ ματικότητας της αρχιτεκτονικής: CoT (City of Torino) όπου προσ ομοιώνει τις διαδικασ ίες που πρέπει αν ακολουθηθούν έτσ ι ώσ τε να γίνει αλλαγή κατοικίας. RCM (Region of Central Macedonia) όπου προσ ομοιώνει τις διαδικασ ίες που πρέπει να ακολουθηθούν έτσ ι ώσ τε ένας Βούλγαρος πολίτης να πάρει Ελληνική ιθαγένεια. Παρακάτω θα αναλυθεί εκτενώς η υποδειγματική εφαρμογή RCM H upodeigmatik efarmog Region of Central Macedonia (RCM) Η Περιφέρεια Κεντρικής Μακεδονίας (Region of Central Macedonia) είναι ένας δημόσ ιος φορέας υπεύθυνος για την οικονομική, κοινωνική και πολιτισ τική ανάπτυξη της περιφέρειας της κεντρικής Μακεδονίας. Η υποδειγματική εφαρμογή αυτή σ τοχεύει σ την δημιουργία μιας νέας προσ έγγισ ης/υπηρεσ ίας σ τον τρόπο αλλαγής ιθαγένειας. Για να επιτευχθεί η αλλαγή ιθαγένειας απαιτείται η σ υνεργασ ία πολλών υπηρεσ ιών της Δημόσ ιας Διοίκησ ης αυτές είναι το Υπουργείο Εσ ωτερικών Αποκέντρωσ ης & Ηλεκτρονικής Διακυβέρνησ ης, η Ελληνική Ασ τυνομία, η περιφέρεια κεντρικής Μακεδονίας, το δικασ τήριο, η Εφημερίδα της κυβέρνησ ης και το Βουλγαρικό μητρώο πολιτών. Η νομοθεσ ία αναφέρει ότι για να μπορεί να αποκτήσ ει ένας πολίτης ελληνική ιθαγένεια θα πρέπει να πληρεί τα παρακάτω[45, 35]: Πρέπει να είναι ενήλικος κατά την υποβολή της αίτησ ης. Να μην έχουν καταδικασ τεί σ ε διάσ τημα 10 χρόνων πριν από την υποβολή της αίτησ ης Να μην εκκρεμεί καμία απόφασ η απέλασ ης

66 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 55 Να έχει επαρκή γνώσ η την Ελληνικής γλώσ σ ας, της ισ τορίας και του πολιτισ μού Να είναι νόμιμος πολίτης σ την Ελλάδα για δέκα χρόνια κατά την διάρκεια των τελευταίων δώδεκα χρόνων από την υποβολή της αίτησ ης (Εξαιρείται ο χρόνος παραμονής σ την Ελλάδα για τον οποίο ο αιτών εκτελούσ ε θητεία ως διπλωμάτης ή διοικητικός υπάλληλος μίας άλλης χώρας). Να είναι κάτοικος της Ελλάδας για πέντε χρόνια μέσ α σ τα τελευταία 12 χρόνια αίτησ ης (Εξαιρείται ο χρόνος παραμονής σ την Ελλάδα για τον οποίο ο αιτών εκτελούσ ε θητεία ως διπλωμάτης ή διοικητικός υπάλληλος μίας άλλης χώρας) ή είναι πρόσ φυγας (με ή χωρίς ιθαγένεια). Οταν για ένας Ελληνας πολίτης χρειάζεται μία υπηρεσ ία, πρέπει να γνωρίζει (ή να μάθει) ποια δημόσ ια αρχή είναι υπεύθυνη για την παροχή αυτής της υπηρεσ ίας, την διαδικασ ία που πρέπει να επακολουθήσ ει, αλλά και σ ε περίπτωσ η που πρέπει να υπάρχει επικοινωνία με υπηρεσ ίες από διαφορετικές χώρες θα πρέπει με κάποιο τρόπο να μετατρέψει τα κείμενα σ ε τέτοια μορφή έτσ ι ώσ τε να είναι κατανοητά από την δημόσ ια υπηρεσ ία που βρίσ κετε σ ε άλλη χώρα. Το έργο SemanticGov αντιμετωπίζει το πρόβλημα προσ διορισ μού της υπηρεσ ίας παρέχοντας μία υποδομή που αντισ τοιχίζει τις ανάγκες με τις υπηρεσ ίες και επιπλέον επιτρέπει την ανακάλυψη (discovery) της υπηρεσ ίας μέσ ω ενός κατανεμημένου καταλόγου υπηρεσ ιών Δημόσ ιας Διοίκησ ης. Ο πολίτης δεν χρειάζεται να γνωρίζει την διαδικασ ία για την παροχή τις υπηρεσ ίας γιατί η υποδομή αυτή επιτρέπει την ημιαυτόματη σ ύνθεσ η, εκτέλεσ η και τη παρακολούθησ η (execution and monitor) σ ύνθετων υπηρεσ ιών της Δημόσ ιας Διοίκησ ης. Τέλος δίνει την δυνατότητα παροχής υπηρεσ ιών από διαφορετικές χώρες παρέχοντας μία κοινή σ ημασ ιολογική πύλη (gateway) για την επίλυσ η τυχών σ ημασ ιολογικών ασ υμβατοτήτων μεταξύ διαφορετικών σ υσ τημάτων διαχείρισ ης [45]. Για να αντιμετωπισ τεί η τεχνολογική ετερογένεια μεταξύ των υπηρεσ ιών αυτών απαιτείται μια υποδομή υψηλότερου επιπέδου[19]. Αυτή η υποδομή περιγράφεται παρακάτω H arqitektonik tou SemanticGov Σε αυτό το κεφάλαιο θα περιγραφεί η αρχιτεκτονική του έργου SemanticGov η οποία χωρίζεται σ ε διάφορα επίπεδα και την διέπουν τέσ σ ερις αρχές, αυτές είναι[65]: Αρχή προσ ανατολισ μένη σ τις υπηρεσ ίες (Service oriented principle) η οποία επιτρέπει σ την αντιμετώπισ η του τομέα της Δημόσ ιας Διοίκησ ης ως υπηρεσ ίες οι οποίες είναι δύο ειδών αυτά είναι : Επιχειρησ ιακές Υπηρεσ ίες (Business Services): Είναι πραγματικές υπηρεσ ίες που παρέχονται από διάφορες Δημόσ ιες Διοικήσ εις. Επιπλέον οι υπηρεσ ίες αυτές αποτελούν αντικείμενο διάδρασ ης (interaction) και διαλειτουργικότητας (interoperation) παρέχοντας με αυτό τον τρόπο αξία σ ε πολίτες και επιχειρήσ εις (businesses).

67 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 56 Υπηρεσ ίες Διαμεσ ολάβησ ης (Middleware Services) είναι αυτοί που βοηθούν κατά κύριο λόγο την αλληλεπίδρασ η και την διαλειτουργικότητα των επιχειρησ ιακών υπηρεσ ιών σ ε επίπεδο κρατών μελών και ΕΕ. Σημασ ιολογική αρχή η οποία σ υνδυαζόμενη με την αρχή προσ ανατολισ μένη σ τις υπηρεσ ίες επιτρέπει τον ορισ μό επεκτάσ ιμων, πλούσ ιων σ ε σ ημασ ιολογία μοντέλων, υπηρεσ ιών και οντολογιών επιτρέποντας την ολική ή μερική αυτοματοποίησ η εργασ ιών όπως ανακάλυψη, διαμεσ ολάβησ η, σ ύνθεσ η και κλήσ η της υπηρεσ ίας. Αρχή επίλυσ ης προβλημάτων η οποία ενισ χύει τον σ τόχο που έχει η αρχιτεκτονική η οποία έγκειται σ την ανακάλυψη βασ ισ μένη σ ε σ τόχους (goal based discovery) και σ την κλήσ η υπηρεσ ιών. Οι χρήσ τες (αυτοί θέλουν να χρησ ιμοποιήσ ουν μία υπηρεσ ία) περιγράφουν την αίτησ ή τους σ αν σ τόχους (goals) σ ημασ ιολογικά και ανεξάρτητα από της υπηρεσ ίες ενώ η αρχιτεκτονική επιλύει αυτούς τους σ τόχους μέσ ω λογικών σ υμπερασ μών (logical reasoning) και μέσ ω των περιγραφών των σ τόχων και των υπηρεσ ιών. Με αυτό τον τρόπο οι χρήσ τες δεν χρειάζεται να γνωρίζουν την διαδικασ ία για την παροχή της υπηρεσ ίας αλλά μόνο τα αποτελέσ ματα και την επιθυμητή ποιότητα. Η κατανεμημένη αρχή επιτρέπει την σ ύνθεσ η δυνάμεων από διάφορες υπολογισ τικές οντότητες έτσ ι ώσ τε να εκτελούνται σ υνεργατικά εργασ ίες (tasks) με ένα διαφανή και σ υνεκτικό τρόπο. Ετσ ι από την οπτική του χρήσ τη φαίνετε σ αν ένα σ υγκεντρωτικό σ ύσ τημα. Αυτή η αρχή αντικατοπτρίζει την φύσ η των δημόσ ιων υπηρεσ ιών που είναι γεωγραφικά διασ κορπισ μένες.

68 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 57 Σχήμα 4.1: Η αρχιτεκτονική του SemanticGov Επίπεδο 1. Επίπεδο Ενδιαφερόμενων (Stakeholders Layer) Οι ενδιαφερόμενοι είναι μία ομάδα από χρήσ τες οι οποίοι κάνουν χρήσ η της λειτουργικότητας της αρχιτεκτονικής για διάφορους λόγους. Υπάρχουν δύο τύποι ενδιαφερόμενων : Χρήσ τες (Users) όπου η αρχιτεκτονική παρέχει λειτουργικότητα τελικού χρήσ τη (end-user) μέσ ω εξειδικευμένων εφαρμογών. Ο σ τόχος είναι η αλληλεπίδρασ η των χρησ τών με τις back-end διαδικασ ίες ενώ παράλληλα περιορίζουν την φυσ ική τους αλληλεπίδρασ η με τις λειτουργίες back-oce. Μηχανικοί (Engineers) οι οποίοι εκτελούν καθήκοντα ανάπτυξης και διαχείρισ ης σ την αρχιτεκτονική. Αυτά τα καθήκοντα πρέπει να υποσ τηρίζουν όλο τον κύκλο ζωής SOA ο οποίος εμπεριέχει μοντελοποίησ η, δημιουργία (σ υναρμολόγησ η), δημοσ ίευσ η και διαχείρισ η. Υπάρχουν διάφοροι τύποι μηχανικών που εμπλέκονται σ την διαδικασ ία, αυτοί είναι ειδικοί τομέα (domain experts) (μοντελοποίησ η, δημιουργία), Διαχειρισ τες σ υσ τήματος (system administrators) και μηχανικοί λογισ μικού (software engineers). Στο χώρο της ηλεκτρονικής διακυβέρνησ ης (e-government) ενδιαφερόμενοι (stakeholders) είναι οι πολίτες (citizens), εταιρίες (businesses) και δημόσ ιες υπηρεσ ίες (public servants). Οι πολίτες και οι εταιρίες θεωρούνται ως χρήσ τες της ηλεκτρονικής διακυβέρνησ ης και χρησ ιμοποιούν υπηρεσ ίες και διαδικασ ίες ηλεκτρονικής διακυβέρνησ ης ανάλογα με τις ανάγκες τους μέσ ω της λειτουργικότητας

69 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 58 που παρέχεται από το επίπεδο επίλυσ ης προβλημάτων (problem solving layer) (π.χ. διαδικτυακή πύλη πρόσ βασ ης). Οι δημόσ ιες υπηρεσ ίες (public servants) είναι οι ειδικοί του χώρου αυτού (domain experts) και οι διαχειρισ τές έχουν πρόσ βασ η σ το σ ύσ τημα ηλεκτρονικής διακυβέρνησ ης έτσ ι ώσ τε να διαχειρισ τούν, να ρυθμίσ ουν, να δημιουργήσ ουν και να σ υντηρήσ ουν υπηρεσ ίες της ηλεκτρονικής διακυβέρνησ ης[65] Επίπεδο 2. Επίπεδο Επίλυσ ης Προβλημάτων (Problem Solving Layer) Το Επίπεδο Επίλυσ ης Προβλημάτων περιέχει εφαρμογές και εργαλεία τα οποία υποσ τηρίζουν τους ενδιαφερόμενους σ την διατύπωσ η προβλημάτων/αιτήσ εων, και παράγουν περιγραφές τέτοιων αιτήσ εων ως επίσ ημους σ τόχους (formal goals) (π.χ. διαδικτυακές πύλες πρόσ βασ ης ηλεκτρονικής διακυβέρνησ ης). Μέσ ω του Επίπεδου Επίλυσ ης Προβλημάτων, ένας χρήσ της θα μπορεί να επιλύσ ει τα προβλήματα του/της, αυτό που χρειάζεται να κάνει είναι να διατυπώσ ει το πρόβλημα, να αλληλεπιδράσ ει με την αρχιτεκτονική κατά την επεξεργασ ία και να λάβει τα επιθυμητά αποτελέσ ματα. Αυτό το επίπεδο περιέχει, σ υσ τήματα back-end τα οποία μπορούν να αλληλεπιδρούν απ ευθείας με την διαμεσ ολάβησ η (middleware) εντός των επιχειρηματικών διαδικασ ιών που τρέχουν σ ε αυτά τα back-end σ υσ τήματα, ειδικές (specic) εφαρμογές που δημιουργήθηκαν για σ υγκεκριμένο σ κοπό σ ε ένα σ υγκεκριμένο τομέα ο οποίος παρέχει επιπλέον ειδικές οντολογίες τομέα, και εργαλεία ανάπτυξης παρέχοντας λειτουργικότητα για την ανάπτυξη και την διαχείρισ η εργασ ιών σ την αρχιτεκτονική[65] Επίπεδο 3. Επίπεδο Αιτούντων Υπηρεσ ίας (Service Requester's Layer) Οι Αιτούντες Υπηρεσ ίας ενεργούν ως σ υσ τήματα πελατών (client systems). Εκπροσ ωπούνται από σ τόχους (goals) που δημιουργήθηκαν μέσ ω της διαμόρφωσ ης προβλήματος/αίτησ ης μέσ ω των οποίων περιγράφουν αιτήσ εις καθώς και διεπαφές με τις οποίες επικοινωνούν με τις υπηρεσ ίες της διαδικτυακής πύλης[65] Επίπεδο 4. Επίπεδο διαμεσ ολάβησ ης (Middleware Layer) Είναι ο πυρήνας της αρχιτεκτονικής παρέχοντας την κύρια νοημοσ ύνη για την αλληλεπίδρασ η και διαλειτουργικότητα υπηρεσ ιών ηλεκτρονικής διακυβέρνησ ης. Ο διαμεσ ολαβητής αυτός ονομάζεται SEE (Semantic Execution Environment). Το SEE ορίζει την απαραίτητη εννοιολογική λειτουργικότητα. Οι λειτουργικότητες αυτές χωρίζονται σ ε Επίπεδο βάσ ης (base layer), Επίπεδο μεσ ολάβησ ης (broker layer) και κάθετο επίπεδο (vertical layer)[65]. Κάθετο Επίπεδο (Vertical Layer) Το κάθετο επίπεδο ορίζει την λειτουργικότητα του πλαισ ίου διαμεσ ολάβησ ης. Που χρησ ιμοποιείτε κατά μήκος (across) των επιπέδων μεσ ολάβησ ης και βάσ ης αλλά παραμένει αόρατο σ ε αυτά. Καταναλώνει την λειτουργικότητα των επιπέδων αυτών σ υντονίζοντας και διαχειρ ιζοντας όλη την διαδικασ ία εκτέλεσ ης σ το επίπεδο διαμεσ ολάβησ ης.

70 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 59 Το περιβάλλον εκτέλεσ ης (execution environment) ορίζει τον έλεγχο διαφόρων σ εναρίων εκτέλεσ ης και χειρίζεται την κατανεμημένη εκτέλεσ η των υπηρεσ ιών διαμεσ ολάβησ ης. Η ασ φάλεια (Security) ορίζει την ασ φαλή επικοινωνία που εφαρμόζεται σ το σ ενάριο εκτέλεσ ης. Επίπεδο Μεσ ολάβησ ης (Broker Layer) Το Επίπεδο Μεσ ολάβησ ης ορίζει την λειτουργικότητα που απαιτείται για την κλήσ η Σημασ ιολογικών Υπηρεσ ιών Ισ τού βασ ισ μένη σ ε σ τόχους (goal based invocation). Αυτό το επίπεδο περιέχει τα παρακάτω σ τοιχεία: Την ανακάλυψη (Discovery) που ορίζει τις λειτουργίες για τον προσ διορισ μό και εντοπισ μό υπηρεσ ιακών υπηρεσ ιών (business services) οι οποίες μπορούν να εκπληρώσ ουν τον σ τόχο του αιτούντα. Την ενορχήσ τρωσ η (Orchestration) ορίζει την εκτέλεσ η σ ύνθετων διαδικασ ιών μαζί με την επικοινωνία μεταξύ του αιτούντα και του παρόχου της υπηρεσ ίας που σ υμβαίνουν σ ε αυτήν την διαδικασ ία. Την παρακολούθησ η (Monitoring) όπου ορίζει την παρακολούθησ η της εκτέλεσ ης των υπηρεσ ιών τελικού σ ημείου (end-point services) αυτή η παρακολούθησ η μπορεί να χρησ ιμοποιηθεί για την σ υλλογή πληροφοριών των υπηρεσ ιών την ώρα που καλούνται π.χ. QoS ή προσ διορισ μός σ φαλμάτων κατά την διάρκεια της εκτέλεσ ης. Το χειρισ μό σ φαλμάτων (Fault Handling) όπου ορίζει τον χειρισ μό των σ φαλμάτων που σ υμβαίνουν κατά την εκτέλεσ η των υπηρεσ ιών ισ τού τελικού σ ημείου. Τη μεσ ολάβησ η (Mediation) ορίζει την διαλειτουργικότητα σ ε επίπεδο λειτουργικό, δεδομένων και διαδικασ ίας. Την σ ύνθεσ η (Composition) ορίζει μία σ ύνθεσ η υπηρεσ ιών σ ε ένα εκτελέσ ιμη ροή εργασ ίας (workow) (ή διαφορετικά business process). Η γείωσ η (Grounding) ορίζει την σ ύνδεσ η μεταξύ σ του σ ημασ ιολογικού επιπέδου (WSMO) και του μη σ ημασ ιολογικού επιπέδου (π.χ. WSDL) που χρησ ιμοποιείται για την κλήσ η της υπηρεσ ίας. Επίπεδο Βάσ ης (Base Layer) Το Επίπεδο Βάσ ης ορίζει λειτουργικότητα που δεν απαιτείται απευθείας από την κλήσ η βασ ισ μένη σ ε σ τόχο (goal based invocation) των επιχειρησ ιακών υπηρεσ ιών. Παρόλα αυτά αυτό το επίπεδο απαιτείται από το Επίπεδο Μεσ ολάβησ ης για την επιτυχή λειτουργία. Το Επίπεδο Βάσ ης περιέχει : Τις Επίσ ημες γλώσ σ ες (Formal Languages) που ορίζει σ υντακτικές λειτουργίες (π.χ. parsing) με σ ημασ ιολογικές γλώσ σ ες που χρησ ιμοποιούνται για την σ ημασ ιολογική περιγραφή υπηρεσ ιών (Services), σ τόχων (Targets) και οντολογιών (Ontologies).

71 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 60 Την Αιτιολογία (Reasoning) που ορίζει την λειτουργικότητα αιτιολόγησ ης σ ε σ ημασ ιολογικές περιγραφές. Την Αποθήκευσ η (Storage) που ορίζει τον μηχανισ μό διατήρησ ης για διάφορα σ τοιχεία (π.χ. υπηρεσ ίες, οντολογίες) Την Επικοινωνία (Communication) ορίζει την εισ ερχόμενη και εξερχόμενη επικοινωνία του Διαμεσ ολαβητη (Middleware) Επίπεδο Παρόχων Υπηρεσ ιών (Service Providers Layer) Οι Πάροχοι υπηρεσ ιών αναπαρισ τούν διάφορα back-end σ υσ τήματα. Τα σ υσ τήματα αυτά που υπάρχουν σ το επίπεδο παρόχων υπηρεσ ιών ενεργούν ως διακομισ τές (servers) που παρέχουν ορισ μένες λειτουργίες για ορισ μένους λόγους για ορισ μένο σ κοπό όπως οι υπηρεσ ίες Δημόσ ιας Διοίκησ ης (PA Services). Αυτά τα back-end σ υσ τήματα μπορούν να προέρχονται από ένα οργανισ μό Δημόσ ιας Διοίκησ ης ή από πολλούς που διασ υνδέονται μέσ ω του δικτύου (Διαδικτύου, ενδοδικτύου (intranet) ή extranet) H ontologða GEA (Governance Enterprise Architecture) Η οντολογία GEA είναι μία προσ πάθεια μοντελοποίησ ης η οποία σ τοχεύει σ την εισ αγωγή ενός σ υνεπούς σ υνόλου μοντέλων αντικειμένων και διαδικασ ιών που περιγράφουν την Δημόσ ια Διοίκησ η με ένα γενικό τρόπο [45]. Η GEA προτείνει μοντέλα αντικειμένων και διαδικασ ιών για όλο το σ ύσ τημα διακυβέρνησ ης. Παρακάτω θα επικεντρωθούμε σ ένα από τα μοντέλα που ονομάζεται Μοντέλο Υπηρεσ ιών Δημόσ ιας Διοίκησ ης (Public Administration (PA) Service Model). Οι Κυβερνητικοί φορείς (Governance entities) που σ υμμετέχουν σ την παροχή υπηρεσ ιών είναι δύο ειδών, Πολιτικοί φορείς (Political entities) και φορείς της Δημόσ ιας Διοίκησ ης (Public Administration entities) (WSMO-PA: Formal Specication of Public Administration). Οι οντότητες κατά την φάσ η εκτέλεσ ης μπορούν να έχουν ένα από τους παρακάτω ρόλους[45, 50]: Πάροχος Υπηρεσ ίας (Service Provider): Παρέχουν την υπηρεσ ία Δημόσ ιας Διοίκησ ης (PA Service) σ τις κοινωνικές οντότητες (Social Entities) (clients)[58]. Πάροχος αποδεικτικών σ τοιχείων (Evidence Provider): Παρέχει τα απαραίτητα αποδεικτικά σ τοιχεία σ τον πάροχο υπηρεσ ίας Δέκτης σ υνεπειών (Consequence Receiver): Αυτός που πρέπει να ενημερωθεί για την εκτέλεσ η της υπηρεσ ίας Δημόσ ιας Διοίκησ ης (PA Service) Συνεργάτης υπηρεσ ίας (Service Collaborator): Αυτός που λαμβάνει μέρος σ την παροχή της υπηρεσ ίας. Οι πολιτικοί φορείς ορίζουν υπηρεσ ίες Δημόσ ιας Διοίκησ ης (PA Services). οποίες διέπονται από: Οι

72 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 61 Προϋποθέσ εις (preconditions) που σ υνήθως προσ διορίζονται από νόμους. Οι προϋποθέσ εις επικυρώνονται από το αποδεικτικά σ τοιχεία (Piece of Evidence) που εξυπηρετούν ένα σ κοπό[58]. Οι προϋποθέσ εις αυτές θέτουν ένα γενικό πλαίσ ιο, όπου η υπηρεσ ία Δημόσ ιας Διοίκησ ης (PA Service) θα πρέπει να εκτελεσ τεί και οι κανόνες τις πρέπει να ικανοποιηθούν για να επιτευχθεί η ασ φαλής εκτέλεσ η της. Αποτέλεσ μα (Outcome): Αναφέρεται σ τα διαφορετικά αποτελέσ ματα που μία Υπηρεσ ία Δημόσ ιας Διοίκησ ης μπορεί να έχει. Η GEA ορίζει τρεις τύπους αποτελεσ μάτων [45]: Εξοδος (Output): Είναι η τεκμηριωμένη απόφασ η όσ ον αφορά την υπηρεσ ία που ζητήθηκε από την κοινωνική οντότητα (Societal Entity). Επίδρασ η (Eect): Είναι η αλλαγή της κατάσ τασ ης του πραγματικού κόσ μου (π.χ. μεταφορά χρημάτων σ ε έναν λογαριασ μό) που προκαλείται από την εκτέλεσ η της υπηρεσ ίας. Σε περίπτωσ η που η Δημόσ ια Διοίκησ η αρνηθεί την παροχή της υπηρεσ ίας δεν πραγματοποιείται καμία αλλαγή κατάσ τασ ης σ τον πραγματικό κόσ μο. Συνέπειες (Consequence): Είναι πληροφορία σ χετικά με την εκτέλεσ η της υπηρεσ ίας Δημόσ ιας Διοίκησ ης που χρειάζεται να διαβιβασ τούν σ ε άλλα ενδιαφερόμενα μέρη (parties) (π.χ. άλλους δημόσ ιους διοικητικούς φορείς). Πάροχος αποδεικτικών (Evidence Provider) σ τοιχείων είναι ένας φορέας Δημόσ ιας Διοίκησ ης ο οποίος παρέχει τις απαραίτητες αποδείξεις (evidence) σ τον πάροχο Υπηρεσ ιών έτσ ι ώσ τε να εκτελεσ τεί η Υπηρεσ ία Δημόσ ιας Διοίκησ ης [58]. Οι Κοινωνικές οντότητες (Societal Entity) (π.χ. πολίτες, εταιρίες) έχουν ανάγκες που σ χετίζονται με σ υγκεκριμένους σ τόχους (goals). Η ανάγκη είναι μια ανεπίσ ημη περιγραφή του σ τόχου, όπως την βιώνουν οι πελάτες (clients). Επιπλέον οι κοινωνικές οντότητες (Social Entities) μπορούν να χρησ ιμοποιήσ ουν τις υπηρεσ ίες μίας άλλης υπηρεσ ίας Δημόσ ιας Διοίκησ ης έτσ ι ώσ τε να εξυπηρετήσ ει τους σ τόχους της[67]. Τέλος οι Υπηρεσ ίες Δημόσ ιας Διοίκησ ης (PA Services) κατηγοριοποιούνται σ ε διάφορους τομείς (domains) (π.χ. Μεταφορά) και κάθε τομέας (domain) χωρίζεται σ ε διάφορους υποτομείς (subdomains) (π.χ. μεταφορά αέρος). Στην παρακάτω εικόνα απεικονίζεται το μοντέλο Δημόσ ιας Διοίκησ ης GEA.

73 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 62 Figure 4.2: Η οντολογία GEA Αντισ τοίχησ η GEA σ ε WSMO Στο κεφάλαιο 3 έγινε η περιγραφή του WSMO επίσ ης περιγράψαμε την οντολογία GEA σ ε αυτό το κεφάλαιο θα περιγραφή η αντισ τοίχησ η της οντολογίας GEA με το εννοιολογικό μοντέλο WSMO. Οι αντισ τοιχίσ εις παρουσ ιάζονται σ τον πίνακα παρακάτω. GEA Societal Entity, Service Provider, Evidence Placeholders, Evidence etc. PA Service Preconditions Outputs Eects Consequences Needs WSMO Ontology Web Service Precondition, Assumption Postconditions Eects Orchestration Choreography Goal Mediator Figure 4.3: Αντισ τοίχησ η GEA με WSMO

74 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 63 Σχήμα 4.4: Η οντολογία GEA μοντελοποιημένη με την γλώσ σ α WSML Οπως βλέπουμε σ το πίνακα το PA Service μοντελοποιείται ως WSMO Web Service. Για τα capabilities του Web Service γίνεται αντισ τοίχησ η των PA preconditions με WSMO preconditions καθώς και των PA preconditions με WSMO assumptions. Τα PA outputs αντισ τοιχίζονται με τα WSMO postconditions και τα PA eects αντισ τοιχίζονται με το WSMO eects. Οι Societal entities λειτουργούν ως clients (π.χ πολίτες ή επιχειρήσ εις) οι οποίοι έχουν ανάγκες (needs) αυτές οι ανάγκες αντισ τοιχίζονται με το WSMO Goal. Η οντολογία GEA φαίνεται σ το σ χήμα To Senˆrio Το σ ενάριο που επιλέχθηκε περιγράφει έναν πολίτη από την Βουλγαρία που θέλει να ζήσ ει σ την Θεσ σ αλονίκη που για τα τελευταία 12 χρόνια θέλει να αποκτήσ ει Ελληνική ιθαγένεια. Αυτός ο πελάτης της Δημόσ ιας Διοίκησ ης μπορεί αν χρησ ιμοποιήσ ει την υποδομή του SemanticGov έτσ ι ώσ τε να ελέγξει αν έχει την δυνατότητα να πάρει την Ελληνική ιθαγένεια και να ξεκινήσ ει την διαδικασ ία λήψης Ελληνικής ιθαγένειας Οι Υπηρεσ ίες Ισ τού Η υποδομή θεωρεί δεδομένο ότι οι οργανισ μοί που σ υμμετέχουν σ την διαδικασ ία αλλαγής ιθαγένειας θα παρέχουν Υπηρεσ ίες Ισ τού (Back End Web Services). Στην διαδικασ ία αλλαγής ιθαγένειας λαμβάνουν μέρος 6 δημόσ ιοι φορείς όπου ο κα-

75 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 64 θένας παρέχει 1 back-end Υπηρεσ ία Ισ τού. Οι οργανισ μοί, οι back-end Υπηρεσ ίες Ισ τού και οι λειτουργίες που παρέχουν φαίνονται σ τον παρακάτω πίνακα.

76 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 65

77 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 66 Στα πλαίσ ια του έργου αυτού δημιουργήθηκαν 6 back-end Υπηρεσ ίες Ισ τού χρησ ιμοποιώντας την γεννήτρια κώδικα Apache Axis2 v , το περιβάλλον ανάπτυξης NetBeans v6.1 2 για την προσ θήκη λειτουργικότητας σ της Υπηρεσ ίες Ισ τού, την βάσ η δεδομένων MySQL v5.0 3 με την οποία σ υνδέονται οι Υπηρεσ ίες Ισ τού, ο διακομισ τής εφαρμογών (application server) Apache Tomcat 4 όπου μέσ ω αυτού οι υπηρεσ ίες Ισ τού γίνονται διαθέσ ιμες και την java Για να εκμεταλλευτούμε τα πλεονεκτήματα του Σημασ ιολογικού Ισ τού πρέπει να σ υνδέσ ουμε τις back-end Υπηρεσ ίες Ισ τού με τις Σημασ ιολογικές Υπηρεσ ίες Ισ τού (Semantic Web Service). Η σ ύνδεσ η αυτή γίνεται κατά τον ορισ μό της Συμασ ιολογικής Υπηρεσ ίας Ισ τού παρακάτω υπάρχει η σ ύνταξη μίας Σημασ ιολογικής Υπηρεσ ίας Ισ τού

78 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 67 Σχήμα 4.5: Σημασ ιολογική Υπηρεσ ία Ισ τού Η πρώτη γραμμή ορίζει το WSML variant σ την προκειμένη περίπτωσ η έχει πάρει τιμή wsml-full. Η γραμμή namespace { _http://www.semantic-gov.org/ont ologies/bulgaria# Ορίζει ότι ο εξ ορισ μού ονοματοχώρος θα είναι

79 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 68 antic-gov.org/ontologies/bulgaria#, δηλαδή το όνομα της Σημασ ιολογικής Υπηρεσ ίας Ισ τού θα είναι BulgariaCitizenVerifyAgeService το IRI του είναι το όνομα του Semantic Web Service μαζί με το όνομα του εξ ορισ μόυ ονοματοχώρου δηλαδή _http://www.semantic-gov.org/ontologies/bulgaria#bulgariacitizenverifya geservice. Το nonfunctionalproperty _http://owner είναι απαραίτητο σ την δήλωσ η των Semantic Web Services γιατί η τιμή του προσ διορίζει τους προσ αρμογείς (adapters) για το lifting και το lowering[27] (lifting είναι η μετατροπή του SOAP μηνύματος σ ε WSML ενώ lowering η μετατροπή της WSML οντολογία σ ε SOAP [60]). Η Semantic Web Service έχει μία δομή Capability με όνομα BulgariaCitizenVerifyAgeServiceCapability. Η δομή sharedvariables χρησ ιμοποιείται σ το να προσ διορίσ ει τις μεταβλητές που θα είναι κοινές (shared) μεταξύ των precondition, postcondition, assumptions και eects [32]. Στην προκειμένη περίπτωσ η οι μεταβλητές που είναι κοινές είναι οι?request,?response (όλες οι μεταβλητές σ την WSML έχουν σ αν πρώτο χαρακτήρα το ερωτηματικό). Η δομή precondition προσ διορίζει ότι για να εκτελεσ τεί το Σημασ ιολογική Υπηρεσ ία Ισ τού πρέπει να υπάρχει ένα σ τιγμιότυπο (Instance) του concept verifyagerequest. Ενώ η δομή postcondition προσ διορίζει ότι μετά την επιτυχή εκτέλεσ η της Σημασ ιολογικής Υπηρεσ ίας Ισ τού η κατάσ τασ η του κόσ μου θα έχει ένα σ τιγμιότυπο του concept verifyagerequest και ένα σ τιγμιότυπο του concept verifyageresponse το οποίο αποτελεί την απάντησ η της Σημασ ιολογικής Υπηρεσ ίας Ισ τού. Η δομή interface BulgariaCitizenVerifyAgeServiceInterface προσ διορίζει το όνομα του interface σ ε BulgariaCitizenVerifyAgeServiceInterface. Το ίδιο ισ χύει και με τις δομές choreography και statesignature. Το statesignature περιέχει για in κάθε σ τιγμιότυπο των concepts που χρησ ιμοποιείται ως είσ οδος έτσ ι ώσ τε να καλέσ ει την WSDL λειτουργία, ο προσ διορισ μός του σ τιγμιότυπου του concept, την διεύθυνσ η URL του εγγράφου WSDL, το πρωτόκολλο SOAP αλλά και το operation που θα χρησ ιμοποιηθεί προσ διορίζεται από την σ υμβολοσ ειρά γείωσ ης Grounding String. Το ίδιο αντίσ τοιχα ισ χύει και για το out. Οι transitionrules καθορίζονται χρησ ιμοποιώντας Αφηρημένες Μηχανές Κατασ τάσ εων (abstract state machines (ASM)) [25]. Οι κανόνες που ορίσ τηκαν επεξεργάζονται και έχουν ως αποτέλεσ μα την προσ θήκη, ενημέρωσ η, διαγραφή δεδομένων από την μνήμη επεξεργασ ίας του αιτούντα ή του παρόχου. Σε περίπτωσ η προσ θήκης ή ενημέρωσ ης, τα δεδομένα μπορεί να χρειασ τεί να λαμβάνονται μέσ ω κλήσ ης υπηρεσ ίας. Η εκτέλεσ η του choreography τελειώνει όταν το βήμα επεξεργασ ίας του παρόχου δεν οδηγεί σ ε περαίτερω κλήσ ης υπηρεσ ιών [27]. Στην προκειμένη περίπτωσ η η δομή forall αναφέρει ότι για όλες τις?request που είναι τύπου verifyagerequest πρόσ θεσ ε σ τον κόσ μο το σ τιγμιότυπο τύπου verifyageresponse σ την απάντησ η του Σημασ ιολογικής Υπηρεσ ίας Ισ τού. Παραπάνω περιγράψαμε τον τρόπο που σ ε μία ήδη υπάρχουσ α back-end Υπηρεσ ία Ισ τού μπορεί με λίγα βήματα να μετατραπεί σ ε Σημασ ιολογική Υπηρεσ ία Ισ τού. Ομως υπάρχει και η δυνατότητα να χρησ ιμοποιηθούν αυτές οι Σημασ ιολογικές Υπηρεσ ίες Ισ τού από ένα άλλη Σημασ ιολογική Υπηρεσ ία Ισ τού υψηλότερου επιπέδου. Αυτή η Σημασ ιολογική Υπηρεσ ία Ισ τού αναλαμβάνει να διαχειρισ τεί την εκτέλεσ η των Σημασ ιολογικών Υπηρεσ ιών Ισ τού. Αυτή φυσ ικά η υψηλού επιπέδου Υπηρεσ ία Ισ τού μπορεί να χρησ ιμοποιηθεί από άλλες Σημασ ιολογικές Υπηρεσ ίες Ισ τού με τον ίδιο ιεραρχικό τρόπο. Αυτή η λειτουργικότητα προσ διορίζεται από την

80 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 69 Υπηρεσ ία Ισ τού μέσ ω της δομής orchestration. Το orchestration προσ διορίζει τις Σημασ ιολογικές Υπηρεσ ίες Ισ τού και την σ ειρά που πρέπει να κληθούν έτσ ι ώσ τε να προσ φέρει την λειτουργικότητα του. Οι περιγραφές του WSMO orchestration κληρονομούν σ ύνταξη και σ ημασ ιολογία από την γλώσ σ α αφηρημένων μηχανών κατάσ τασ ης με οντολογίες Ontologized Abstract State Machine language [15]. Παρακάτω υπάρχει ένα τμήμα του Web Service NaturalizationService_Target που καλεί όλα τις υπόλοιπες Σημασ ιολογικές Υπηρεσ ίες Ισ τού έτσ ι ώσ τε να επιτευχθεί η αλλαγή ιθαγένειας.

81 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 70 Σχήμα 4.6: Τμήμα orchestration

82 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 71 Η δομή controlled ορίζει τα ονόματα των κατασ τάσ εων. Οι κατασ τάσ εις αυτές βοηθούν σ τον προσ διορισ μό της σ ειράς που θα κληθούν οι Σημασ ιολογικές Υπηρεσ ίες Ισ τού. Ετσ ι με την εντολή ((forall {?cs} with (?cs[wsmx#value hasvalue wsmx#initial] memberof wsmx#controlstate) do)) ο εμφωλευμένος κώδικας που υπάρχει μέσ α σ την εντολή θα εκτελεσ τεί όταν το αντικείμενο τύπου control- State έχει τιμή wsmx#initial (είναι η εξ ορισ μού τιμή που το WSMX δίνει σ το αντικείμενο controlstate όταν ξεκινά το orchestration). Η εντολή ((perform prnaturalizationrequest receive source naturalizationrequest)) ορίζει όνομα σ την οντολογίας της εισ ερχόμενης αίτησ ης για αλλαγή ιθαγένειας έτσ ι ώσ τε να γίνει αργότερα η μεσ ολάβησ η. Η δομή delete (?cs[wsmx#value hasvalue wsmx#initial]) διαγράφει την κατάσ τασ η initial που σ ημαίνει ότι αυτό το βήμα ολοκληρώθηκε έτσ ι ώσ τε να μην ξαναεκτελεσ τεί. Η επόμενη εντολή add (?cs[wsmx#value hasvalue cs1]) προσ θέτει σ τον κόσ μο την κατάσ τασ η cs1 που σ ημαίνει ότι ο κώδικας που θα εκτελεσ τεί είναι αυτός που αντισ τοιχεί σ την κατάσ τασ η cs1. Η εντολή forall {?cs,?req} with (?cs[wsmx#value hasvalue cs1] memberof wsmx#controlstate είναι ακριβώς ίδια με την εντολή που αναφέρθηκε παραπάνω με την διαφορά ότι αντί η κατάσ τασ η να είναι wsmx#initial είναι cs1. Επιπλέον η εντολή ανδ?req[ criminalrecordcerticate hasvalue?criminalrecordcerticate, deportationcerticate hasvalue?deportationcerticate ] memberof naturalizationrequest ορίζει ότι για να εκτελεσ τεί το do τμήμα τις εντολής πρέπει σ τον κόσ μο να υπάρχει ένα σ τιγμιότυπο τύπου naturalizationrequest το οποίο έχει criminalrecordcerticate και deportationcerticate. Η αμέσ ως επόμενη εντολή «add (pinput [ criminalrecordcerticate hasvalue?criminalrecordcerticate, deportationcerticate hasvalue?deportationcerticate ] memberof verifysecurityalienrequest)» χρησ ιμοποιεί τις μεταβλητές?criminalrecordcerticate και?deportationcerticate από την ακριβώς προηγούμενη εντολή και δημιουργεί ένα καινούριο σ τιγμιότυπο με όνομα pinput το οποίο είναι τύπου verifysecurityalien- Request και αρχικοποιεί τις ιδιότητες criminalrecordcerticate και deportation- Certicate με τις τιμές των μεταβλητών?criminalrecordcerticate και?deportationcerticate αντίσ τοιχα. Τέλος όλο αυτό το σ τιγμιότυπο τοποθετείται με την εντολή add σ την κατάσ τασ η του κόσ μου. Οι εντολές delete (?cs[wsmx#value hasvalue cs1]) και add (?cs[wsmx#value hasvalue cs2]) όπως αναφέραμε και παραπάνω χρησ ιμοποιούνται για να πάμε σ την επόμενη κατάσ τασ η. Στο επόμενο forall αυτό που έχει ενδιαφέρον είναι η εντολή perform prmed0 applymediation ppbulgarianveifypassportrequest. Οπως θα δείξουμε παρακάτω υπάρχει ετερογένεια όσ ον αφορά τις Ελληνικές και Βουλγαρικές οντολογίες για να αντιμετωπισ τεί η ετερογένεια αυτή γίνεται χρήσ η mediators σ την προκειμένη περίπτωσ η η εντολή αυτή δηλώνει ότι χρησ ιμοποιεί τον ppmediator με όνομα ppbulgarianveifypassportrequest όπου χρησ ιμοποιεί το σ τιγμιότυπο prnaturalizationrequest και το μετατρέπει σ ε σ τιγμιότυπο PverifyPassportIDRequest που είναι τύπου verifypassportirequest. Στο τέταρτο forall ενδιαφέρον έχει η εντολή perform _"http://www.semantic-gov.org/ontologies/rcm#pverifypassportid Request" invokeservice bu#bulgariacitizenverifyidservice η εντολή αυτή καλεί την Σημασ ιολογική Υπηρεσ ία Ισ τού BulgariaCitizenVerifyIDService και για αντικείμενο εισ όδου δίνει το IRI του σ τοιγμιοτύπου PverifyPassportIDRequest. Το αποτέλεσ μα της εντολή ς αυτής είναι να εκτελεσ τεί την λειτουργία verifyage της

83 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 72 back-end υπηρεσ ίας Ισ του Προσ αρμογείς (Adapters) Lowering και Lifting Οι back-end Υπηρεσ ίες Ισ τού για να επικοινωνήσ ουν κάνουν χρήσ η του πρωτοκόλλου SOAP. Το WSMX χρησ ιμοποιεί το SOAP για να καλεί τις λειτουργίες των Υπηρεσ ιών Ισ τού. Ομως πρέπει να υπάρχει τρόπος για την μετατροπή μίας WSMO οντολογίας σ ε SOAP και αντίσ τροφα. Αυτό γίνεται με την βοήθεια των lowering και lifting προσ αρμογέων[66]. Ο προσ αρμογέας Lifting μετατρέπει το μήνυμα SOAP σ ε οντολογία για να γίνει αυτό όμως χρειάζεται να εισ αχθεί κώδικας Java μέσ α σ το περιβάλλον του WSMX. Ο προσ αρμογέας Lowering μετατρέπει την οντολογία σ ε SOAP αυτό μπορεί να γίνει κάνοντας χρήσ η μίας οντολογίας και εντολών XPath. Παράδειγμα μιας τέτοιας οντολογίας βρίσ κεται παρακάτω.

84 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 73 Σχήμα 4.7: Παράδειγμα οντολογιας απεικόνισ ης Το πιο σ ημαντικό από την οντολογία BulgarianAdapterOntology που τμήμα της παρουσ ιάζεται παραπάνω είναι το σ τιγμιότυπο responsemapping5. Το μήνυμα SOAP που έρχεται από την back-end Υπηρεσ ία Ισ τού έχει ετικέτα με όνομα ns1:verifyageresponse η τιμή που περιέχει αυτή η ετικέτα εκχωρείται σ την ιδιότητα checkedage αυτό ακριβώς το περιγράφει η γραμμή «valuemappings hasvalue "//ns1:verifyageresponse=checkedage"» και η γραμμή inputmessage hasvalue "//ns1:verifyageresponse". Τέλος η γραμμή «conceptoutput hasvalue "verifyageresponse"» προσ διορίζει ότι η ιδιότητα checkedage ανήκει σ την έννοια (concept) verifyageresponse. Το αποτέλεσ μα είναι ένα αρχικοποιημένο σ τοιγμιότυπο τύπου verifyageresponse Οντολογίες (Ontologies) Τα verifyagerequest και verifyageresponse που δέχεται η Σημασ ιολογική Υπηρεσ ία Ισ τού που περιγράψαμε παραπάνω αποτελούν έννοιες της οντολογίας RCM_Bulgari

85 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 74 anservicemessages η οντολογία αυτή περιγράφεται παρακάτω. Σχήμα 4.8: Παράδειγμα οντολογίας Η οντολογία αυτή έχει WSML variant _"http://www.wsmo.org/wsml/wsmlsyntax/wsml-ight" και ανήκει σ το namespace _"http://www.semantic-gov.org/ Ontologies/Bulgaria#". Για ευκολία ανάγνωσ ης δημιουργήθηκε ο ονοματοχώρος prex bulg που έχει τιμή Η εντολή ontology RCM_BulgarianServiceMessages προσ διορίζει το όνομα της οντολογίας. Αν ενώσ ουμε τον εξ ορισ μού ονοματοχώρο με το όνομα της οντολογίας θα έχουμε το iri της οντολογίας που είναι _http://www.semantic-gov.org/ontol ogies/bulgaria# RCM_BulgarianServiceMessages. Η οντολογία αυτή έχει 6 concepts (verifyagerequest, verifyageresponse, verifypassportidrequest, verifypassportidresponse, deletecitizenrequest,deletecitizenresponse). Το verifyagerequest έχει ιδιότητα με όνομα haspassportid που είναι τύπου bulg#passport ενώ το verifyageresponse έχει ιδιότητα με όνομα checkedage που είναι τύπου Boolean που προσ διορίζει αν είναι ενήλικος (true) ή όχι (false). Το ίδιο μοτίβο ισ χύει και σ τα υπόλοιπα concepts.

86 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 75 Για να υπάρχει η πλήρης εικόνα της παραπάνω οντολογίας, έχει εισ αχθεί παρακάτω το concept Passport που αναπαρισ τά τα σ τοιχεία που έχει ένα πραγματικό διαβατήριο. Το concept αυτό βρίσ κεται σ την οντολογία BulgarianCitizen. Αυτό το concept έχει ιδιότητες fullname τύπου string, dateofissue τύπου Date, number τύπου string, όπου αναπαρισ τά το πλήρες όνομα, την ημερομηνία έκδοσ ης και αριθμός διαβατηρίου αντίσ τοιχα. Το number είναι το σ τοιχείο που χρησ ιμοποιεί η λειτουργία του back-end Υπηρεσ ίας Ισ τού για να κάνει τον έλεγχο της ηλικίας. Σχήμα 4.9: Παράδειγμα της έννοιας Passport Ενορχήσ τρωσ η RCM (RCM Orchestration) Για να γίνει αλλαγή ιθαγένειας επιτυχώς πρέπει να κληθούν οι Σημασ ιολογικές Υπηρεσ ίες Ισ τού με μία σ υγκεκριμένη σ ειρά. Αυτό επιτυγχάνεται μέσ ω ενορχήσ τρωσ ης των Σημασ ιολογικών Υπηρεσ ιών Ισ τού (Semantic Web Service Orchestration) [46]κομματιού του οποίου περιγράφηκε παραπάνω. Το choreography και το orchestration παρουσ ιάζεται εικονικά παρακάτω. Το Choreography περιγράφει ότι για να γίνει η αλλαγή ιθαγένειας ο χρήσ της μέσ ω της δικτυακής πύλης παρέχει ένα σ τιγμιότυπο τύπου NaturalizzationRequest. Το NaturalizationRequest περιέχει όλα τα απαραίτητα πισ τοποιητικά χρειάζονται για την επιτυχή αλλαγή της ιθαγένειας. Κατά την εκτέλεσ η το orchestration παίρνει τα πισ τοποιητικά αυτά και τα παρέχει σ τις Σημασ ιολογικές Υπηρεσ ίες Ισ τού. Στην παρακάτω εικόνα υπάρχουν οι λειτουργίες των Σημασ ιολογικών Υπηρεσ ιών Ισ τού το χρώμα αναπαρισ τά τον οργανισ μό σ τον οποίο ανήκει. Στα πλαίσ ια της υποδειγματικής εφαρμογής θεωρήθηκε ότι όλοι οι δημόσ ιοι οργανισ μοί χρησ ιμοποιούσ αν τις ίδιες οντολογίες ενώ οι Βουλγαρικοί δημόσ ιοι οργανισ μοί διαφορετικές (αυτός είναι και ο λόγος που έχουν διαφορετικούς ονοματοχώρους). Για να αντιμετωπισ τεί αυτό το πρόβλημα γίνεται χρήσ η της διαμεσ ολάβησ ης που θα περιγραφεί παρακάτω. Απ ότι βλέπουμε σ την εικόνα αλλά και από το Διάγραμμα Ακολουθίας Συσ τήματος (System Sequence Diagram) πρώτα πρέπει να γίνει η έλεγχος αν ο αριθμός διαβατηρίου είναι σ ωσ τός (σ τέλνοντας ένα σ τιγμιότυπο τύπου verifypassportidrequest σ την Σημασ ιολογική Υπηρεσ ία Ισ τού BulgariaCitizenVerifyID- Service) ύσ τερα αν είναι ενήλικας (σ τέλνοντας ένα σ τιγμιότυπο τύπου verifyagere quest σ την Σημασ ιολογική Υπηρεσ ία Ισ τού BulgariaCitizenVerifyAgeService) όπου παρέχονται από λειτουργίες της back-end Υπηρεσ ίας Ισ τού BulgarianRegistry- Service. Σε περίπτωσ η που τα δύο προηγούμενα βήματα είναι επιτυχή τότε γίνεται έλεγχος αν είναι κίνδυνος για την εθνική ασ φάλεια (σ τέλνοντας ένα σ τιγμιότυπο τύπου verifyalienpenalstatusrequest σ την Σημασ ιολογική Υπηρεσ ία Ισ τού GreekCourtAuthorityService) το οποίο με την σ ειρά του μέσ ω του προσ αρμογέα

87 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 76 (adapter) μετατρέπει το σ τιγμιότυπο αυτό σ ε SOAP μήνυμα και καλεί την λειτουργία verifypenalstatus της GreekCourtAuthorityService back-end Υπηρεσ ίας Ισ τού. Αν και πάλι δεν έχει καμία καταδικασ τική απόφασ η που να εκκρεμεί. Το orchestration σ τέλνει ένα σ τιγμιότυπο τύπου verifyaliendeportationstatus- Request σ την Σημασ ιολογική Υπηρεσ ία Ισ τού GreekCourtAuthorityService που αυτή με την σ ειρά της καλεί την λειτουργία verifydeportationstatus της back-end Υπηρεσ ίας Ισ τού GreekCourtAuthorityService. Αν από το προηγούμενο βήμα ο πολίτης δεν έχει εκκρεμή απόφασ η απέλασ ης ένα σ τιγμιότυπο τύπου examinefolderrequest σ τέλνεται σ τη Σημασ ιολογική Υπηρεσ ία Ισ τού όπου αυτό προωθείται σ ε μορφή SOAP σ την λειτουργία examinefolder της back-end Υπηρεσ ίας Ισ τού ExamineDocumentService. Σε περίπτωσ η που ο αιτών έχει τις επαρκείς γνώσ εις της ελληνικής γλώσ σ ας, ισ τορίας, πολιτισ μού από τις εξετάσ εις που υπέσ τει τα οποία αποτελέσ ματα καταχωρήθηκαν πριν αρχίσ ει η διαδικασ ία αλλαγής ιθαγένειας τότε ένα σ τιγμιότυπο τύπου notifycivilstatusrequest αποσ τέλλεται σ την Σημασ ιολογική Υπηρεσ ία Ισ τού RcmValidationService και αυτό προωθείται πάλι σ ε μορφή SOAP σ την λειτουργία NotifyCivilStatus της back-end Υπηρεσ ίας Ισ τού. Σε περίπτωσ η που η κατάσ τασ η του πολίτη του επιτρέπει την αλλαγή ιθαγένειας (χωρίς την προϋπόθεσ η των 10 ετών) ένα σ τιγμιότυπο τύπου updateggrequest αποσ τέλλεται σ τη Σημασ ιολογική Υπηρεσ ία Ισ τού GreekGovernmentGazzetteService και από εκεί σ τη λειτουργία updateggregistry της GreekGovernmentGazetteService back-end Υπηρεσ ίας Ισ τού. Αν η ενημέρωσ η ήταν επιτυχής ένα σ τιγμιότυπο τύπου updatepoliceregistryrequest αποσ τέλλεται σ την Σημασ ιολογική Υπηρεσ ία Ισ τού PoliceVericationService και από εκεί το WSMX σ τέλνει ένα SOAP μήνυμα σ την λειτουργία updategreekpoliceregistry της back-end Υπηρεσ ίας Ισ τού. Σε περίπτωσ η που ενημέρωσ η ήταν επιτυχής τότε ένα σ τιγμιότυπο τύπου deletecitizenrequest αποσ τέλλεται σ την Σημασ ιολογική Υπηρεσ ία Ισ τού BulgariaCitizen- DeleteCitizenService και αυτό με την σ ειρά του καλεί την λειτουργία deletecitizen από τη back-end Υπηρεσ ία Ισ τού BulgarianCitizenRegistryService. Τέλος αν και η διαγραφή του πολίτη από το μητρώο ήταν επιτυχής το orchestration επισ τρέφει σ την δικτυακή πύλη ένα σ τιγμιότυπο τύπου RegisterNaturalization όπου περιέχει ένα μήνυμα όπου αναφέρει ότι η αλλαγή ιθαγένειας είναι επιτυχής. Αν σ ε κάποιο από τα παραπάνω βήματα προκύψει κάποιο σ φάλμα τότε το orchestration χειρίζεται το σ φάλμα αυτό και επισ τρέφει πάλι ένα σ τιγμιότυπο τύπου RegisterNaturalization με μήνυμα ανάλογο με το πρόβλημα.

88 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 77 Σχήμα 4.10: Διαγραμμα Ακολουθίας Συσ τήματος (System Sequence Diagram)[19] Figure 4.11: Ενορχήσ τρωσ η (Orchestration) και Χορογραφία (Choreography) Παρακάτω παρατίθεται ένα ακόμα τμήμα του orchestration έτσ ι ώσ τε να γίνει καλύτερα κατανοητό πώς γίνεται ο χειρισ μός των σ φαλμάτων.

89 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 78 Σχήμα 4.12: Τμήμα της Ενορχήσ τρωσ ης (Orchestration) Ο παραπάνω κώδικας χειρίζεται την κατάσ τασ η cs4 (πριν γίνει η μεσ ολάβησ η για το VerifyAgeRequest). Ο κώδικας?res[bu#checkedpassportid hasvalue _boolean("false")] memberof bu#verifypassportidresponse ελέγχει το σ τιγμιότυπο της απάντησ ης της Σημασ ιολογικής Υπηρεσ ίας Ισ τού και σ υγκεκριμένα την τιμή της ιδιότητας checkedpassportid αν είναι false. Σε περίπτωσ η που είναι false σ ημαίνει ότι το ID δεν είναι έγκυρο. Οι εντολές delete (?cs[wsmx#value has- Value cs4]) add (?cs[wsmx#value hasvalue fail]) κάνουν αλλαγή της κατάσ τασ ης από cs4 σ ε fail. Η εντολή add (outresponse[message hasvalue _string("id could not be validated")] memberof naturalizationresponse) δημιουργεί ένα σ τιγμιότυπο με όνομα outresponse το οποίο έχει ιδιότητα με όνομα message και τιμή ID could not be validated. Μετά την ολοκλήρωσ η της εκτέλεσ ης του παραπάνω κώδικα ενεργοποιείται το παρακάτω τμήμα κώδικα όπου κάνει εκχώρησ η το σ τιγμιότυπο outresponse σ το pschangeresidenceresponse και ύσ τερα μεταβαίνει από την κατάσ τασ η fail σ ε fail2. Αυτό ενεργοποιεί το επόμενο forall όπου με την σ ειρά του θέτει το pschangeresidenceresponse ως απάντησ η της Σημασ ιολογικής Υπηρεσ ίας Ισ τού NaturalizationService_Target και τερματίζει το orchestration με τις εντολές delete (?cs[wsmx#value hasvalue fail2]) add (?cs[wsmx#value hasvalue end]). Σχήμα 4.13: Χειρισ μός σ φάλματος σ την ενορχήσ τρωσ η (Orchestration)

90 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 79 Figure 4.14: Διάγραμμα Κατάσ τασ ης Ενορχήσ τρωσ ης (Orchestration State Diagram) Διαμεσ ολάβησ η (Mediation) Οπως αναφέρθηκε προηγουμένως οι οντολογίες που χρησ ιμοποιούν οι Ελληνικές δημόσ ιες υπηρεσ ίες είναι διαφορετικές από αυτές που χρησ ιμοποιούν οι Βουλγαρικές δημόσ ιες υπηρεσ ίες. Για να επιτευχθεί η διαλειτουργικότητα πρέπει να δημιουργηθεί μία μεσ ολάβησ η η οποία μετατρέπει μία Ελληνική οντότητα σ ε Βουλγαρική. Αυτό γίνεται με ένα αρχείο απεικόνισ ης (rcmmediation.map) που δημιουργήθηκε χρησ ιμοποιώντας τον Mapping Editor που είναι μέρος του WSMO Studio. Η απεικόνισ η αυτή βασ ίζεται OMWG mapping language [52]. Τα σ ημεία που πρέπει να γίνει διαμεσ ολάβησ η αλλά και σ ε τι concept θα αντισ τοιχηθεί το concept NaturalizationRequest παρουσ ιάζονται σ την παρακάτω εικόνα.

91 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 80 Σχήμα 4.15: Σημεια διαμεσ ολάβησ ης (Mediation) Η δικτιακή πύλη από τα δεδομένα που εισ άγει ο χρήσ της δημιουργεί ένα σ τιγμιότυπο τύπου NaturalizationRequest και σ τέλνει αυτό το σ τιγμιότυπο μαζί με το IRI του Σημασ ιολογικής Υπηρεσ ίας Ισ τού NaturalizationService_Target σ το WSMX. Η Σημασ ιολογική Υπηρεσ ία Ισ τού BulgariaCitizenVerifyIDService δέχεται σ αν είσ οδο, σ τιγμιότυπο τύπου verifypassportidrequest τέτοιο σ τιγμιότυπο δεν υπάρχει σ το σ τιγμιότυπο NaturalizationRequest. Η πληροφορία όμως που χρειάζεται για την δημιουργία ενός σ τιγμιοτύπου τύπου verifypassportidrequest είναι διαθέσ ιμη σ το σ τιγμιότυπο NaturalizationRequest. Αυτό που κάνει η αντισ τοίχησ η είναι να μετατρέψει ένα σ τιγμιότυπο σ ε άλλα χρησ ιμοποιώντας δεδομένα από το πρώτο. Η αντισ τοίχησ η ενός concept με ένα άλλο γίνεται με την βοήθεια του Mapping Editor. Το αποτέλεσ μα της απεικόνισ ης φαίνεται παρακάτω σ την εικόνα. Αρισ τερά σ την εικόνα είναι τα concepts της οντολογίας RCM_GreekServiceMessages ενώ δεξιά είναι τα concepts της οντολογίας BulgarianServiceMessage. Οι γαλάζιες γραμμές απεικονίζουν ότι ένα σ τιγμιότυπο του concept NaturalizationRequest μπορεί να μετατραπεί σ ε ένα σ τιγμιότυπο τύπου VerifyPassportIDRequest, VerifyAgeRequest και DeleteCitizenRequest.

92 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 81 Σχήμα 4.16: Απεικόνισ η σ ε επίπεδο εννοιών (concept) Αφού έγινε η αντισ τοίχησ η σ ε επίπεδο concept κατεβαίνουμε ένα επίπεδο παρακάτω και κάνουμε αντισ τοίχησ η σ ε επίπεδο ιδιοτήτων. Στην παρακάτω εικόνα φαίνεται ότι η ιδιότητα haspassport του concept naturalizationrequest αντισ τοιχίζεται με το αντίσ τοιχο haspassportid που αποτελεί ιδιότητα των concepts deletecitizen- Request, VerifyAgeRequest, verifypassportidrequest. Figure 4.17: Απεικόνισ η σ ε επίπεδο ιδιοτήτων (attributes) Τέλος πρέπει να γίνει αντισ τοίχισ η των ιδιοτήτων των passports (Ελληνικό και Βουλγαρικό). Στην παρακάτω εικόνες παρουσ ιάζουν την αντισ τοίχησ η του

93 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 82 Ελληνικού passport με το Βουλγαρικό passport. Σχήμα 4.18: Απεικόνισ η των passport Στην παρακάτω εικόνα παρουσ ιάζεται η αντισ τοίχησ η της ιδιότητας haspassportnumber του Ελληνικού Passport με την ιδιότητα number του Βουλγαρικού concept. Σχήμα 4.19: Απεικόνισ η των ιδιοτήτων (attributes) haspassportnumber με number Ενώ οι δύο παρακάτω εικόνες δείχνουν πώς το hasname και hassurname του

94 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 83 ελληνικού concept σ υγχωνεύονται έτσ ι ώσ τε να αντισ τοιχηθούν με την ιδιότητα του Βουλγαρικού passport. Σχήμα 4.20: Απεικόνισ η της ιδιοτήτας (attribute) hasname με fullname Σχήμα 4.21: Απεικόνισ η της ιδιοτήτας (attribute) hassurname με fullname

95 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ H diktuak pôlh tou SemanticGov Επιλογή της υπηρεσ ίας Η φύσ η των δημόσ ιων υπηρεσ ιών έχουν δομή δένδρου με ριζικό σ τοιχείο τον γενικό τύπο της υπηρεσ ίας ενώ οι υπόλοιποι κόμβοι (εσ ωτερικοί και φύλλα) αναπαρισ τούν διαφορετικές εκδόσ εις του γενικού τύπου ανάλογα με τα χαρακτηρισ τικά όπως το προφίλ του πελάτη, της υπηρεσ ίας, την ροη που πρέπει να ακολουθηθεί αλλά και τα αποτελέσ ματα της παροχής της υπηρεσ ίας. Για την δημιουργία αυτής της δομής έγινε η χρήσ η του WSMO. Και η περιγραφή των γενικών τύπων υπηρεσ ίας αλλά και των διαφορετικών εκδόσ εων των υπηρεσ ιών αυτών αναπαρισ τούνται με την βοήθεια των σ τόχων του WSMO (WS- MO Goals) οι οποίοι έχουν διαφορετικό επίπεδο αναλυτικότητας (granularity). Οσ ο πλησ ιάζουμε προς τα φύλλα του δένδρου τόσ ο πιο λεπτομερής πληροφορίες υπάρχουν όσ ο αφορά το προφίλ του πελάτη της Δημόσ ιας Υπηρεσ ίας. Αυτή η δομή δένδρου βοηθά σ την οργάνωσ η διάφορων τύπων σ τόχων (γενικών ή πιο ειδικών) και επιτρέπει σ το σ ύσ τημα καλύτερη αλληλεπίδρασ η της διαδικτυακής πύλης με τον πελάτη της Δημόσ ιας Υπηρεσ ίας. Αυτές οι δομές δένδρου κωδικοποιήθηκαν σ ε οντολογίες που ονομάζονται Οντολογίες Δένδρου Στόχων (Goal Tree Ontologies). Ετσ ι μία οντολογία δένδρου σ τόχων είναι μία οντολογία που σ τοχεύει σ την μοντελοποίησ η και σ την διατύπωσ η με επίσ ημο τρόπο της διαφορετικές εκδόσ εις των τύπων των δημόσ ιων υπηρεσ ιών μέσ ω των σ τόχων του WSMO. Οι προαναφερθείσ ες οντολογίες δημιουργήθηκαν κάνοντας χρήσ η της γλώσ σ ας WSML αλλά και του εργαλείου WSMO Studio [36]. Μετα-Οντολογία για τις Οντολογίες Δένδρου Στόχων Η μεταοντολογία αυτή χρησ ιμοποιείται για τον ορισ μό των εννοιών που θα χρησ ιμοποιηθούν για την δημιουργία των Οντολογιών Δένδρου Στόχων. Οι έννοιες αυτές είναι[56, 45]: Node: Αυτή η έννοια αναπαρισ τά τους κόμβους της Οντολογίας Δένδρου Στόχων αποτελεί την υπερέννοια των εσ ωτερικών κόμβων (internalnode) και κόμβων φίλων (leafnodes) και έχει τις παρακάτω ιδιότητες: hasdescription όπου παρέχει μία μικρή περιγραφή το τι αναπαρισ τά αυτός ο κόμβος σ την Οντολογία Δένδρου Στόχων. hasparentnode όπου έχει το προσ διορισ τικό του πρόγονου του σ υγκεκριμένου κόμβου. hasquestion όπου περιγράφει την ερώτησ η που θα γίνει σ τον πελάτης της Δημόσ ιας Διοίκησ ης. Ο κόμβος μπορεί να περιέχει περισ σ ότερες από μία ιδιότητες αυτού του τύπου. hascondition όπου προσ διορίζει ένα αξίωμα (axiom) όπου περιγράφονται οι προϋποθέσ εις του τρέχοντα σ τόχου. Internal: Αυτή η έννοια αναπαρισ τά τους εσ ωτερικούς κόμβους της Οντολογίας Δένδρου Στόχων. Κληρονομεί τις ιδιότητες του Node αλλά επιπλέον

96 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 85 έχει την ιδιότητα haschildnode όπου προσ διορίζει τους απόγονους του τρέχοντα κόμβου. Κάθε Internal κόμβος μπορεί να έχει πάνω από ένα κόμβους παιδία. LeafNode: Η έννοια αυτή αναπαρισ τά τους κόμβους φύλλα της Οντολογίας Δένδρου Στόχων. Εκτός από τις ιδιότητες που κληρονομεί από την έννοια Node έχει την ιδιότητα haspostcondition και αναπαρισ τά ποιο θα είναι το αποτέλεσ μα της εκτέλεσ ης της σ υγκεκριμένης έκδοσ ης της υπηρεσ ίας το οποίο αντισ τοιχεί σ ε ένα διακριτό WSMO σ τόχο (Goal). Question: Η έννοια αυτή αναπαρισ τά ερωτήσ εις που θα κληθεί ο πελάτης της Δημόσ ιας Διοίκησ ης να απαντήσ ει μέσ ω της διαδικτυακή πύλης. Η έννοια αυτή έχει τις παρακάτω ιδιότητες: hasdata είναι τύπου σ υμβολοσ ειράς και περιέχει την ερώτησ η π.χ. what is you marital status hasanswer μοντελοποιεί τις πιθανές απαντήσ εις Σχήμα 4.22: Concepts της μετα-οντολογιας για τις Οντολογίες Δένδρου Στόχων Η Οντολογία Δένδρου Στόχων Η διαδικτυακή πύλη χρησ ιμοποιεί την Οντολογία Δένδρου Στόχων έτσ ι ώσ τε να αναπαράγει δυναμικά τις φόρμες HTML που θα σ υμπληρώσ ει ο πελάτης της Δημόσ ιας Διοίκησ ης. Ανάλογα τις απαντήσ εις που εισ άγει ο πελάτης σ την διαδικτυακή πύλη δημιουργείται μία διαδρομή από την γενική έκδοσ η της υπηρεσ ίας σ την πιο εξειδικευμένη έκδοσ η μέχρι να φτάσ ει σ ε ένα από τα φύλλα του δένδρου όπου είναι και ο τελικός σ τόχος. Παρακάτω παρουσ ιάζεται δύο σ τιγμιότυπα από την υπηρεσ ία αλλαγής ιθαγένειας. Οπως αναφέρθηκε

97 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 86 παραπάνω όλα τα σ τιγμιότυπα της Οντολογίας Δένδρου Στόχων πρέπει να είναι τύπου InternalNode, LeafNode ή Question. Σχήμα 4.23: Στιγμιότυπα απο την Οντολογια Δένδρου Στόχων αλλαγής ι- θαγένειας Κάθε Οντολογία Δένδρου Στόχων σ τις μη λειτουργικές ιδιότητες (nonfunctionalproperties) έχει την ιδιότητα keywords όπου παρέχει λέξεις κλειδιά που χαρακτηρίζουν την υπηρεσ ία. Η δικτυακή πύλη χρησ ιμοποιεί αυτή την πληροφορία για παρέχει αναζήτησ η βασ ισ μένη σ ε λέξεις κλειδιά. Οι λέξεις κλειδιά για την υπηρεσ ία αλλαγής ιθαγένειας παρουσ ιάζεται παρακάτω. Σχήμα 4.24: Λέξεις κλειδιά της Οντολογίας Δένδρου Στόχων αλλαγής ιθαγένειας Οπως αναφέραμε προηγουμένως κάθε κόμβος έχει μία ιδιότητα hascondition όπου είναι τύπου σ υμβολοσ ειράς που αντισ τοιχούν σ ε ονόματα αξιωμάτων (axioms) και χρησ ιμοποιούνται για την διαφοροποίησ η των διάφορων σ τόχων της

98 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 87 οντολογίας. Με αυτό τον τρόπο το προφίλ του χρήσ τη που δημιουργείται σ ταδιακά από τις ερωτήσ εις επικυρώνεται με τα αξιώματα αυτά έτσ ι ώσ τε να προσ διορισ τεί η κατάλληλη έκδοσ η της υπηρεσ ίας. Παράδειγμα ενός αξιώματος (axiom) παρουσ ιάζεται παρακάτω. Σχήμα 4.25: Παράδειγμα ενός αξιώματος (axiom) Η Διαδικτυακή πύλη του Se- Λειτουργικότητα της δικτυακής πύλης manticgov έχει δύο ειδών χρήσ τες. Αυτοί είναι: Ο πελάτης της Δημόσ ιας Διοίκησ ης όπου μπορεί να είναι ένας πολίτης ή μία επιχείρησ η που χρησ ιμοποιεί την Διαδικτυακή πύλη. Ενας πελάτης μπορεί: Βρει την κατάλληλη έκδοσ η της Δημόσ ιας υπηρεσ ίας που του ταιριάζει βάσ ει των δεδομένων του προφίλ του. Να ελέγξει αν δικαιούται να χρησ ιμοποίησ η μία σ υγκεκριμένη υπηρεσ ία. Να έχει πρόσ βασ η σ ε πληροφορίες όσ ων αφορά την δημόσ ια υπηρεσ ία όπως τα σ τοιχεία εισ όδου και εξόδου της υπηρεσ ίας τον πάροχο της υπηρεσ ίας και το ηλεκτρονικό σ ημείο εκτέλεσ ης κτλ. Να κάνει κλήσ η της Δημόσ ιας Υπηρεσ ίας Ο ειδικός του τομέα (domain expert) προσ θέτει και ενημερώνει το περιεχόμενο της διαδικτυακής πύλης. Μπορεί να είναι είτε δημόσ ιος υπάλληλος είτε υπάλληλος σ ε μια εταιρία λογισ μικού. Επιτυγχάνει την ενημέρωσ η και την προσ θήκη του περιεχομένου διαχειμάζοντας τις Οντολογίες Δένδρου Στόχων. Εύρεσ η Δημόσ ιας Υπηρεσ ίας Οι ενέργειες που κάνει ο πελάτης της Δημόσ ιας Διοίκησ ης και η δικτυακή πύλη για την εύρεσ η της υπηρεσ ίας παρουσ ιάζονται σ τα παρακάτω βήματα: 1. Ο πελάτης της Δημόσ ιας Διοίκησ ης χρησ ιμοποιεί την πύλη για να αναζητήσ ει την υπηρεσ ία που θέλει κάνοντας χρήσ η λέξεων κλειδιών.

99 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ Η πύλη αναζητά τις λέξεις κλειδιά όλων των Οντολογιών Δένδρων Στόχων που αντισ τοιχούν σ ε δημόσ ιες υπηρεσ ίες και επισ τρέφει τα ονόματα των υπηρεσ ιών που ταιριάζουν. 3. Ο πελάτης της Δημόσ ιας Διοίκησ ης επιλέγει το όνομα της υπηρεσ ίας (Οντολογία Δένδρου Στόχων) που θέλει αρχικοποιώντας με αυτό τον τρόπο τον διάλογο που θα επακολουθήσ ει. 4. Από αυτό το σ ημείο η πύλη ξεκινά από την ρίζα του δένδρου κάνοντας ερωτήσ εις που βρίσ κονται σ τους κόμβους της σ υγκεκριμένης Οντολογίας Δένδρου Στόχων. Ανάλογα από τις απαντήσ εις που εισ άγει ο πελάτης της Δημόσ ιας Διοίκησ ης επιλέγεται ένα από τους απογόνους. Σε περίπτωσ η που το προφίλ του χρήσ τη δεν επικυρώνεται με καμία από τις σ υνθήκες των κόμβων τότε σ ημαίνει ότι ο χρήσ της δεν μπορεί να χρησ ιμοποιήσ ει την υπηρεσ ία αυτή. Σε περίπτωσ η που σ υμβεί αυτό η διαδικτυακή πύλη ενημερώνει το χρήσ τη ότι δεν μπορεί να χρησ ιμοποιήσ ει την υπηρεσ ία. Σε διαφορετική περίπτωσ η αν η πύλη μέσ ω των ερωτήσ εων φτάσ ει σ ε ένα κόμβο που είναι φύλλο τότε ένας WSMO σ τόχος έχει προσ διορισ τεί και ο διάλογος σ ταματά. 5. Αφού τελείωσ ε επιτυχώς η πύλη αποσ τέλλει την πληροφορία σ την μηχανή ανακάλυψης (discovery engine). Η μηχανή ανακάλυψης αναζητά την υπηρεσ ία από ένα σ ύνολο διαθέσ ιμων και επισ τρέφει την υπηρεσ ία που ταιριάζει. Σε περίπτωσ η που δεν βρεθεί σ ημαίνει ότι δεν υπάρχει η σ υγκεκριμένη υπηρεσ ία που να καλύπτει τις ανάγκες του πελάτη της Δημόσ ιας Διοίκησ ης. 6. Η πύλη προωθεί την σ ημασ ιολογική περιγραφή της υπηρεσ ίας που βρέθηκε (WSMO PA Service) και μία σ υνοπτική αναφορά σ τον πελάτη μέσ ω της σ ελίδας της πύλης. Κλήσ η της Υπηρεσ ίας Ο πελάτης της Δημόσ ιας Διοίκησ ης εκτός του να δει αν μπορεί ν χρησ ιμοποιήσ ει την υπηρεσ ία μπορεί να καλέσ ει την ηλεκτρονική εκτέλεσ η της Δημόσ ιας υπηρεσ ίας. Η διαδικασ ία παρουσ ιάζεται παρακάτω: 1. Ο χρήσ της της Δημόσ ιας Διοίκησ ης καλεί την υπηρεσ ία που βρήκε προηγουμένως. 2. Η πύλη ύσ τερα κάνει ερωτήσ εις για την δημιουργία του προφίλ του χρήσ τη έτσ ι ώσ τε να προσ διορισ τεί η κατάλληλη έκδοσ η της υπηρεσ ίας. 3. Ο χρήσ της της Δημόσ ιας Διοίκησ ης παρέχει τις πληροφορίες και υποβάλλει την φόρμα. 4. Η εκτέλεσ η της δημόσ ιας υπηρεσ ίας εκτελέσ τηκε επιτυχώς και ο πελάτης της Δημόσ ιας Διοίκησ ης ενημερώνεται για το αποτέλεσ μα. Σε περίπτωσ η που η εκτέλεσ η δεν ήταν επιτυχής η πύλη ενημερώνει τον πελάτη για το πρόβλημα που προέκυψε. Εικόνες από τα βήματα που περιγράφηκαν παρουσ ιάζονται παρακάτω:

100 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 89 Σχήμα 4.26: Αναζήτησ η Σχήμα 4.27: Επιλογή υπηρεσ ίας

101 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 90 Σχήμα 4.28: Φόρμα εισ αγωγης σ τοιχείων 1 Σχήμα 4.29: Φόρμα εισ αγωγης σ τοιχείων 2

102 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 91 Σχήμα 4.30: Φόρμα εισ αγωγής σ τοιχείων 3 Σχήμα 4.31: Επιβεβαίωσ η σ τοιχείων φόρμας

103 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 92 Σχήμα 4.32: Στοιχεία υπηρεσ ίας για την αλλαγή ιθαγένειας Σχήμα 4.33: Ενημερωτικό μήνυμα

104 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 93 Σχήμα 4.35: Αποτέλεσ μα εκτέλεσ ης της υπηρεσ ίας Σχήμα 4.34: Φόρμα εισ αγωγής σ τοιχείων 4

105 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ H isvtosvelðda SemGov Ο σ υγγραφέας της πτυχιακής αυτή έλαβε μέρος σ την ανάπτυξη της υποδομής που χρησ ιμοποιεί η δικτυακή πύλη του SemanticGov. Για λόγους καλύτερης κατανόησ ης των λειτουργιών του WSMX από την πλευρά χρήσ ης των Σημασ ιολογικών υπηρεσ ιών Ισ τού δημιουργήθηκε μία Ισ τοσ ελίδα η οποία αλληλεπιδρά με το WSMX για την επίτευξη αλλαγής ιθαγένειας Τεχνολογίες που χρησ ιμοποιήθηκαν Οι τεχνολογίες που χρησ ιμοποιήθηκαν για την δημιουργία αυτής της Ισ τοσ ελίδας είναι: Η επιχειρησ ιακή πλατφόρμα Ισ τού Liferay portal, κάνοντας χρήσ η του σ υσ τήματος διαχείρισ ης περιεχομένου (Content Management System). Ο διακομισ τής εφαρμογών Tomcat για την λειτουργία του Liferay την χρήσ η δυναμικών σ ελίδων (jsp) αλλά και την παροχή των υπηρεσ ιών Ισ τού. AXIS2 v2.1.3 για την δημιουργία των back-end υπηρεσ ιών Ισ τού. MySQL v5.0 για την προσ ημείωσ η της βάσ ης δεδομένων που έχουν οι υπηρεσ ίες Δημόσ ιας Διοίκησ ης. Netbeans για την ανάπτυξη των σ ελίδων jsp WSMO4J 6 για την δημιουργία των σ τιγμιότυπων WSML που θα εισ αχθούν σ το WSMX για την κλήσ η των Σημασ ιολογικών Υπηρεσ ιών Ισ τού Περιγραφή λειτουργίας Ισ τοσ ελίδας Ο χρήσ της επισ κέπτεται την ισ τοσ ελίδα, επιλέγει το μενού Naturalization service, εισ άγει τα σ τοιχειά του και πατά το κουμπί με όνομα Naturalization. Η ισ τοσ ελίδα με την σ ειρά της επεξεργάζεται τα σ τοιχεία που εισ ήγαγε ο χρήσ της και δημιουργεί μία οντολογία σ τόχων που περιέχει ένα σ τιγμιότυπο τύπου citizen και την αποσ τέλλει σ την μηχανή ανακάλυψης μέσ ο του τελικού σ ημείου discoverwebservices. Η μηχανή ανακάλυψης επιλεγεί τη κατάλληλη υπηρεσ ία κάνοντας έλεγχο των αξιωμάτων από τα precondition, postcondition της κάθε Σημασ ιολογικής Υπηρεσ ίας Ισ τού. Σε περίπτωσ η που βρεθεί Σημασ ιολογική Υπηρεσ ία Ισ τού η μηχανή ανακάλυψης επισ τρέφει σ την ισ τοσ ελίδα ολόκληρη την περιγραφή της Σημασ ιολογικής Υπηρεσ ίας Ισ τού. Η ισ τοσ ελίδα με την σ ειρά της, από την περιγραφή, μαθαίνει το IRI της και με την βοήθεια της βιβλιοθήκης WSMO4J αρχικοποιεί ένα σ τιγμιότυπο της οντολογίας Date, Passport, MaritalStatusCerticate, CriminalRecordCerticate, DeportationCerticate, naturalizationrequest και μαζί με το IRI της Σημασ ιολογικής Υπηρεσ ίας Ισ τού τα παρέχει σ το WSMX μέσ ω του τελικού σ ημείου invokewebservice έτσ ι ώσ τε να καλέσ ει την υπηρεσ ία. 6

106 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 95 Το αποτέλεσ μα που επισ τρέφεται σ ε μορφή οντολογίας επεξεργάζεται πάλι από την Ισ τοσ ελίδα και εμφανίζει το περιεχόμενο της ιδιότητας message όπου όπως είπαμε σ την ενορχήσ τρωσ η περιέχει μήνυμα για το αν η εκτέλεσ η ήταν επιτυχής ή όχι. Σε περίπτωσ η που δεν ήταν επιτυχής αναφέρει το πρόβλημα που προέκυψε. Για λόγους επίδειξης έχουν δημιουργηθεί δύο κουμπιά όπου παρουσ ιάζουν το σ τιγμιότυπο εισ όδου και εξόδου αντίσ τοιχα. Σχήμα 4.36: Παράδειγμα σ τόχου

107 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 96 Σχήμα 4.37: Στιγμιότυπο εισ όδου

108 ΚΕΦ ΑΛΑΙΟ 4. ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΗΣ ΑΛΛΑΓΗΣ ΙΘΑΓΕΝΕΙΑΣ 97 Σχήμα 4.38: Στιγμιότυπο εξόδου

109 Kefˆlaio 5 SUMPERASMATA KAI PERAITERW EREUNA Το SemanticGov πρότεινε την δημιουργία εργαλείων και αρχιτεκτονικής έτσ ι ώσ τε να μπορούν οι χρήσ τες της Δημόσ ιας Διοίκησ ης να μπορούν προσ διορίσ ουν της υπηρεσ ίες που θέλουν βάσ η των αναγκών τους. Υσ τερα να ανακαλύψει δυναμικά την έκδοσ η της σ υγκεκριμένης υπηρεσ ίας που θέλει μέσ ω δυναμικών ερωτήσ εων. Μέσ ω της σ ημασ ιολογίας και της διαμεσ ολάβησ ης μπορεί να επιτευχθεί διαλειτουργικότητα μεταξύ διαφορετικών υπηρεσ ιών της Δημόσ ιας Διοίκησ ης σ ε εθνικό ή και σ ε διεθνή επίπεδο. Χωρίς την μεταφορά εγγράφων από τον πελάτη. Επιπλέον βοηθά τους διαχειρισ τές του διαδικτυακού τόπου σ την δημιουργία και σ ύνθεσ η νέων υπηρεσ ιών μέσ ω των ειδικών εργαλείων ανάπτυξης. Περαιτέρω έρευνα θα μπορούσ ε να γίνει σ την Διαδικτυακή πύλη με την επέκτασ η της λειτουργικότητας της προσ θέτοντας επιπλέον χαρακτηρισ τικά όπως δημιουργία μίας διαδικτυακής πύλης φωνής (voiceportal) όπου οι χρήσ τες μπορούν να χρησ ιμοποιήσ ουν τις υπηρεσ ίες αυτές ακόμα και από το σ ταθερό τηλέφωνο, μιας Διαδικτυακής πύλης WAP (Wireless Access Protocol) όπου οι χρήσ τες μπορούν να έχουν πρόσ βασ η σ τις υπηρεσ ίες μέσ ω του κινητού τους τηλεφώνου και μέσ ω ειδικών εφαρμογών κινητών τηλεφώνων. Από την περιγραφή της Διαδικτυακής πύλης παρατηρήσ αμε ότι όταν οι χρήσ τες απαντάνε σ τις ερωτήσ εις μπορεί να εισ άγουνε και ψευδή σ τοιχεία αυτό έχει σ αν αποτέλεσ μα να γίνει κλήσ η της υπηρεσ ίας και να αναγνωρισ τεί η ασ υνέπεια αυτή κατά την εκτέλεσ η. Αυτό σ ημαίνει ότι υπάρχουν έλεγχοι οι οποίοι επαναλαμβάνονται. Μία βελτίωσ η του σ υσ τήματος θα μπορούσ ε να είναι ο χρήσ της να εισ άγει διαπισ τευτήρια σ την διαδικτυακή πύλη (Security Tokens) και με αυτόν τον τρόπο εξουσ ιοδοτεί το σ ύσ τημα να αποκτήσ ει πρόσ βασ η σ τα προσ ωπικά του σ τοιχεία. Να κάνει αναζήτησ η της υπηρεσ ίας που θέλει και αφού επιτρέψει να γίνει εκτέλεσ η αυτής της υπηρεσ ίας η δικτυακή υπηρεσ ία σ υλλέγει της πληροφορίες από της Δημόσ ιες Υπηρεσ ίες και δημιουργεί δυναμικά το προφίλ του χρήσ τη και βάσ η αυτού κάνει αναζήτησ η της κατάλληλης έκδοσ ης της υπηρεσ ίας. Σε περίπτωσ η που βρεθεί η κατάλληλη έκδοσ η της υπηρεσ ίας για το προφίλ αυτό, γίνεται η εκτέλεσ η της 98

110 ΚΕΦ ΑΛΑΙΟ 5. ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΕΡΑΙΤΕΡΩ ΕΡΕΥΝΑ 99 υπηρεσ ίας, διαφορετικά ο χρήσ της ενημερώνεται ότι δεν μπορεί να χρησ ιμοποιήσ ει την υπηρεσ ία. Στον πραγματικό κόσ μο σ υσ τημάτων υπάρχουν περιπτώσ εις μη διαθεσ ιμότητας της υπηρεσ ίας. Παραδείγματος χάρη η υπηρεσ ία ισ τού που παρέχει πληροφορίες για τις ταυτότητες, δεν ανταποκρίνεται το σ ύσ τημα ενεργοποιεί διαδικασ ίες έτσ ι ώσ τε να αναζητήσ ει τις απαραίτητες πληροφορίες από άλλα τεκμήρια όπως το διαβατήριο. Με αυτόν τον τρόπο το σ ύσ τημα έχει ανοχή σ τα σ φάλματα. Τέλος ένα απαραίτητο χαρακτηρισ τικό που πρέπει να έχουν όλες οι υπηρεσ ίες που έχουν σ χέσ η με την ηλεκτρονική διακυβέρνησ η είναι η ασ φάλεια. Η αρχιτεκτονική πρέπει να επεκταθεί με την παροχή ασ φάλειας σ ε όλα τα επίπεδα της αρχιτεκτονικής.

111 PÐkanac Ellhnik n kai Agglik n ìrwn Ελληνικά Αίτησ η απάντησ η Αιτιολογία Αιτούμενη απάντησ η Αιτών Ανακάληψη Υπηρεσ ίας Ισ τού Ανακάλυψη βασ ισ μένη σ ε σ τόχους Ανεξέλεγκτο Αντίθετες αλυσ ίδες σ υλλογισ μού Αντικείμενο Απανταχού Ισ τός Απλών τύπων Αποδεικτικά σ τοιχεία Απόλυτος προορισ μός Αποτελέσ ματα Αρχή προσ ανατολισ μένη σ τις υπηρεσ ίες Αρχιτεκτονική Υπηρεσ ιών Ισ τού Ασ φάλεια Άτομα Ατομική ταυτότητα Άτομο Αφηρημένες Μηχανές Κατασ τάσ εων Βασ ισ μένων σ τον Ισ τό Γείωσ η Γενικός Γλώσ σ α βασ ισ μένη σ ε λογικούς κανόνες Δέκτης σ υνεπειών Δήλωσ η Δημόσ ιες υπηρεσ ίες Διαδικασ ίες Αγγλικά Request-response Reasoning Solicit-response Requestor Web Service Discovery Goal based discovery Unrequlated Contrary reasoning chains Object Ubiquitous Web Simple types Piece of Evidence Ultimate destination Eects Service oriented principle Web Service Architecture Security Individuals Individual Identity Person Abstract State Machines Web Based Grounding Global Logical rule-based language Consequence Receiver Declaration Public servants Procedures 100

112 ΚΕΦ ΑΛΑΙΟ 5. ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΕΡΑΙΤΕΡΩ ΕΡΕΥΝΑ 101 Ελληνικά Διακομισ τής εφαρμογών Διαλειτουργικότητα Διαχωρισ μός οντολογικών ρόλων Δόκιμος Εγκυρο Ειδικοί τομέα Εκδοσ η Ελαφρί Ενδιαφερόμενους Εννοιλογικό Ενορχήσ τρωσ η Ενωσ η Επαυξησ η Επέκτασ η κλάσ ης Επικετρομένο σ την διαμεσ ολάβσ η Επικύρωσ η Επικύρωσ η δεδομένων Επίπεδο Αιτούντων Υπηρεσ ίας Επίπεδο επίλυσ ης προβλημάτων Επίπεδο μεσ ολάβησ ης Επίσ ημες γλώσ σ ες Επιχειρήσ εις Επιχειρησ ιακές υπηρεσ ίες Εργασ ίες Ετικέτα Ετικέτα αρχής Θεμελιώδες Ιδιότητες Ιδιότητες αντικειμένων Ιδιότητες τύπων δεδομένων Ιεραρχίες κλάσ εων Ισ χυρισ μών Κατά την λειτουργία Κατανεμημένων σ υσ τημάτων Κατηγόρημα Κατηγορηματική λογική Κλάσ εις Κοινοποίησ ης Κοινωνική οντότητα Κυβερνητικοί Φορείς Κωδικοποίησ η Λειτουργία Λεκτικά αντικειμένων Αγγλικά Application server Interoperability Ontological role seperation Formal Valid Domain experts Version Lightweight Stakeholders Conceptual Orchestration Union Augmentation Class extension Centrality of mediation Validate Data validation Service Requester's Layer Problem solving layer Broker Layer Formal Languages Businesses Business Services Tasks Tag Start tag Foundational Attributes Object properties Data type properties Taxonomies Assertions Runtime Distributed systems Predicate Predicate logic Classes Notication Societal Entity Governance Entities Encoding Operation Object literal

113 ΚΕΦ ΑΛΑΙΟ 5. ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΕΡΑΙΤΕΡΩ ΕΡΕΥΝΑ 102 Ελληνικά Λογική Horn Λογικό τμήματα Λογικός προγραμματισ μός Λογικών σ υμπερασ μών Μεσ ολαβητής Μεταμοντελοποίησ η Μεταφατική ιδιότητα Μη λειτουργικές Μη μονοτονική άρνησ η Μη μονοτονικοί κανόνες Μητρώο υπηρεσ ιών Μονόδρομη εκτέλεσ η σ τόχου Μονόδρομος Μονοτονική Μονοτονικοί κανόνες Μοντέλων τομέων Οντολογιών Οντότητα Πάροχος αποδεικτικών σ τοιχείων Πάροχος υπηρεσ ιών Περιβάλλον εκτέλεσ ης Περιγραφική λογική Περιορισ μοί πληθικότητας Περιορισ μός Ιδιότητας Περιορισ μός τιμής Περιοχή εφαρμογής Πλαίσ ιο εργασ ίας Πολιτικοί φορείς Πραγμάτωσ η Προδιαγραφή Πρόθεμα ονοματοχώρου Προσ ανατολισ μένο σ την διαδικασ ία Προσ ανατολισ μένο σ το έγγραφο Προσ αρμογέας Πρότυπο ανταλλαγής μηνύματος Πρωταρχικές μεταδόσ εις Πρωταρχικοί τύποι δεδομένων Πρωτόκολλο εφαρμογής δικτύου Ριζικό σ τοιχείο Ροή εργασ ίας Σειριακή διάταξη Σημάνσ εις Σημασ ιολογικές Υπηρεσ ίες Ισ τού Αγγλικά Horn logic Logical parts Logic programming Logical reasoning Mediator Meta-modeling Transitive property Non functional Nonmonotonic negation Nonmonotonic rules Service registry One-way goal execution One-way Monotonic Monotonic rules Domain models Ontologies Entity Evidence provider Service provider Execution environment Description logic Cardinality constraints Property restrictions Value constraint Application domain Framework Political entities Reication Specication Namespace prex Procedure-oriented Document-oriented Adapter Message exchange pattern Transmission primitives Primitive data types Network application protocol Root Element Workow Serialization Annotations Semantic Web Services

114 ΚΕΦ ΑΛΑΙΟ 5. ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΕΡΑΙΤΕΡΩ ΕΡΕΥΝΑ 103 Ελληνικά Σημασ ιολογική εκτέλεσ η Σημασ ιολογικός Ισ τός Σημεία εισ όδου Στιγμιότυπο Στοιχεία Στοιχείο κειμένου Στοιχείο ομαδοποίησ ης Στοιχείο ορολογίας Στοιχειολογισ μικό Στόχος Στόχος των χρησ τών Συμπέρασ μα Συμπλήρωμα Συνεργάτης υπηρεσ ίας Σύνθετων κειμένων Σύνθετων τύπων Σύνθετων τύπων δεδομένων Συντακτική ζάχαρη Σύσ τασ η Σύσ τημα τύπων Συσ τήματα ενέργειας Συσ τήματα πελατών Συσ χέτισ η Σωσ τά διαμορφωμένο Τελικό σ ημείο Τιμή δεδομένου Τμήματα Τμηματοποίησ η Τομή Τριπλέτα Υπηρεσ ία Υπηρεσ ίες διαμεσ ολάβησ ης Υπηρεσ ίες Ισ τού Υπογραφή Υποδειγματικές εφαρμογές Υπόθεσ η ανοικτού κόσ μου Υπόθεσ η κεισ τού κόσ μου Υποκείμενο Φορείς Δημόσ ιας Διοίκησ ης Χαμηλή ανάλυσ η Χρήσ της υπηρεσ ίας Αγγλικά Execution semantics Semantic Web Entry points Instance Elements Document element Wrapper element Terminologiccal component Component Goal User goals Inference Complement Service Collaborator Compound documents Complex types Complex data types Syntactic sugar Recommendation Type system Power systems Client systems Correlation Well formed Endpoint Data value Blocks Granulation Intersection Triples Service Middleware Services Web Services Signature Showcases Open world assumption Close world assumption Subject Public administration Entities Coarse granulation Service requestor

115 Bibliography [1] Description logic, oct [2] List of programming languages by category, dec [3] Web services, sep [4] Semanticgov, [5] Semanticgov overview, jan [6] Dean Allemang and James Hendler. Semantic Web for the Working Ontologist: Eective Modeling in RDFS and OWL. Morgan Kaufmann, [7] Grigoris Antoniou and Frank van Harmelen. A Semantic Web Primer, 2nd Edition (Cooperative Information Systems). The MIT Press, [8] Brian Benz and John R. Durant. XML Programming Bible. Wiley, [9] Tim Berners-lee. Weaving the Web : The Original Design and Ultimate Destiny of the World Wide Web by its Inventor. HarperOne, [10] Tim Berners-Lee. Notation 3. Technical report, W3C, [11] Philippe Besnard and Pierre Siegel. Supposition-Based Logic for Automated Nonmonotonic Reasoning. 310/1988: [12] The Unicode Consortium. Unicode Standard, Version 5.0, The (5th Edition). Addison-Wesley Professional, [13] Grit Denker Jerry Hobbs Lalana Kagal Drew McDermott Sheila McIlraith Massimo Paolucci Bijan Parsia Terry Payne Marta Sabou Evren Sirin Monika Solanki Naveen Srinivasan David Martin, Mark Burstein and Katia Sycara. Owl-s 1.0 release. Technical report, Oct

116 BIBLIOGRAPHY 105 [14] Axel Polleres Jos de Bruijn Michael Stollberg Dumitru Roman Dieter Fensel, Holger Lausen and John Domingue. Enabling Semantic Web Services: The Web Service Modeling Ontology. Springer, [15] Dieter Fensel Dumitru Roman, James Scicluna and Thomas Haselwanter. D15v0.1. orchestration in wsmo. Technical report, apr [16] Holger Lausen Jos de Bruijn Rubén Lara Michael Stollberg Axel Polleres Cristina Feier Cristoph Bussler Dumitru Roman, Uwe Keller and Dieter Fensel. Web service modeling ontology. Appl. Ontol., 1(1):77106, [17] Tom Bellwood (editor). Uddi version 2.04 api specication. Technical report, OASIS, oct V2.04-Published htm. [18] Greg Meredith Erik Christensen, Francisco Curbera and Sanjiva Weerawarana. Web services description language (wsdl) 1.1, March [19] Nikolaos Loutas Lemonia Giantsiou Vassilios Peristeras Evangelos Tolias, Stamatia-Ann Katriou and Konstantinos Tarabanis. Semanticgov: A showcase for the region of central macedonia, jun [20] Srdjan Komazec Federico Michele Facca and Ioan Toma. WSMX 1.0: A Further Step toward a Complete Semantic Execution Environment. In Proceedings of the 6th European Semantic Web Conference on The Semantic Web: Research and Applications, page 830. Springer, [21] Lee Feigenbaum. W3c semantic web frequently asked questions, [22] Vladimir Lifschitz Frank van Harmelen and Bruce Porter. Handbook of Knowledge Representation (Foundations of Articial Intelligence). Elsevier Science, [23] W3C OWL Working Group. OWL 2 web ontology language document overview. Technical report, W3C, October [24] Ramanathan V. Guha and Dan Brickley. RDF vocabulary description language 1.0: RDF schema. W3C recommendation, W3C, February [25] Yuri Gurevich. Evolving algebras 1993: Lipari guide. pages 936, [26] Murray Maloney Henry S. Thompson, David Beech and Noah Mendelsohn. Xml schema part 1: Structures second edition, October [27] Maximilian Herold. Wsmx documentation. Technical report, DERI, mar 2008.

117 BIBLIOGRAPHY 106 [28] Ryan Blace John Hebeler, Matthew Fisher and Andrew Perez-Lopez. Semantic Web Programming. Wiley, [29] Axel Polleres Jos de Bruijn, Holger Lausen and Dieter Fensel. The Web Service Modeling Language WSML: An Overview. Lecture Notes in Computer Science, 4011:590, [30] John Domingue Dieter Fensel Martin Hepp Uwe Keller Michael Kifer Birgitta K nig-ries Jacek Kopecky Rubn Lara Holger Lausen Eyal Oren Axel Polleres Dumitru Roman James Scicluna Jos de Bruijn, Christoph Bussler and Michael Stollberg. Web service modeling ontology (wsmo). Technical report, W3C, Jun [31] Mick Kerrigan Uwe Keller Holger Lausen Jos de Bruijn, Dieter Fensel and James Scicluna. Modeling Semantic Web Services: The Web Service Modeling Language. Springer, [32] Uwe Keller Michael Kifer Holger Lausen Reto Krummenacher Axel Polleres Jos de Bruijn, Dieter Fensel and Livia Predoiu. Web service modeling language (wsml). Technical report, [33] Stamatia Ann Katriou. Ontology initialization from sites with structural content. [34] Martin Gudgin Mark Nottingham Keith Ballinger, David Ehnebuske and Prasad Yendluri. Basic prole version 1.0, [35] E. van der Graaf A. Deiro E. kirgiannakis Nikolaos Loutas Arnold Van Overeem D. Papadopoulou Vassilios Peristeras Ioannis Savvas Konstantinos Tarabanis Tomas Vitvar M. Billiet, Silvia Bonomi and Johan Witters. D2.3: Identication and analysis of the semanticgov showcase. Project deliverable, [36] Vassil Momtchev Mihail Konstantinov Marin Dimitrov, Alex Simov. WSMO Studio A Semantic Web Services Modelling Environment for WSMO. Lecture Notes in Computer Science, 4519:749758, [37] Noah Mendelsohn Jean-Jacques Moreau Henrik Frystyk Nielsen Anish Karmarkar Martin Gudgin, Marc Hadley and Yves Lafon. Soap version 1.2 part 1: Messaging framework (second edition), April [38] Benedikt Fries Matthias Klusch and Katia Sycara. Automated semantic web service discovery with owls-mx. In AAMAS '06: Proceedings of the fth international joint conference on Autonomous agents and multiagent systems, pages , New York, NY, USA, ACM. [39] Deborah L. McGuinness and Frank van Harmelen. OWL web ontology language overview. W3C recommendation, W3C, February

118 BIBLIOGRAPHY 107 [40] M. Mealling and R. Denenberg. Report from the Joint W3C/IETF URI Planning Interest Group: Uniform Resource Identiers (URIs), URLs, and Uniform Resource Names (URNs): Clarications and Recommendations. RFC 3305 (Informational), [41] Leo J. Obrst Michael C. Daconta and Kevin T. Smith. The Semantic Web: A Guide to the Future of XML, Web Services, and Knowledge Management. Wiley, [42] Djamal Benslimane Zakaria Maamar Florian Rosenberg Michael Mrissa, Chirine Ghedira and Schahram Dustdar. A context-based mediation approach to compose semantic web services. ACM Trans. Internet Technol., 8(1):4, [43] Richard Monson-Haefel. J2EE Web Services: XML SOAP WSDL UDDI WS-I JAX-RPC JAXR SAAJ JAXP. Addison-Wesley Professional, [44] Tim Berners-Lee Nigel Shadbolt and Wendy Hall. The semantic web revisited. IEEE intelligent systems, 21(3):96101, [45] Vassilios Peristeras Nikolaos Loutas, Lemonia Giantsiou and Konstantinos Tarabanis. A semantically enabled portal for facilitating the public service provision. Semantic Technologies for E-Government, pages , [46] Barry Norton and Thomas Haselwanter. D15.1: Dataow for orchestration in wsmo. Project deliverable, jan [47] Terry Payne and Ora Lassila. Semantic web services. IEEE Intelligent Systems, 19(4):1415, [48] Jerey T. Pollock. Semantic Web For Dummies. For Dummies, [49] Matjaz Juric Poornachandra Sarang and Benny Mathew. Business Process Execution Language for Web Services BPEL and BPEL4WS 2nd Edition. Packt Publishing, [50] Martin Dimitrov Th. Fragis Giuseppe De Giacomo Atanas Kiryakov Nikolaos Loutas M. Maccela Adrian Mocan Sanaullah Nazir Arnold Van Overeem Vassilios Peristeras R. Russo Konstantinos Tarabanis E. Triantafyllou Tomas Vitvar Walter Waterfeld k. Winkler Roberto Baldoni, Emilia Cimpian and Johan Witters. D1.2: State of the art report. Technical report, [51] Dumitru Roman, Jos de Bruijn, Adrian Mocan, Holger Lausen, John Domingue, Christoph Bussler, and Dieter Fensel. WWW: WSMO, WSML, and WSMX in a nutshell. Lecture Notes in Computer Science, 4185:516, [52] Francois Schare. Omwg d7.2: Ontology mapping language rdf/xml syntax. Deliverable, jan

119 BIBLIOGRAPHY 108 [53] Guus Schreiber and Mike Dean. OWL web ontology language reference. W3C recommendation, W3C, March [54] Guus Schreiber and Mike Dean. OWL web ontology language reference. W3C recommendation, W3C, February [55] Markus Schumacher. Security Engineering with Patterns: Origins, Theoretical Model, and New Applications. Springer-Verlag New York Inc, [56] Damiano Pozzi V. Colaianni Silvia Bonomi, Massimo Mecella and Nikos Loutas. D6.2: Methodology to design and develop negs and pegs with sws technologies. Project deliverable, jul [57] Ian Sommerville. Software Engineering: (Update) (8th Edition). Addison Wesley, [58] Vassilios Peristeras Sotirios K. Goudos and Konstantinos Tarabanis. Mapping Citizen Proles to Public Administration Services Using Ontology Implementations of the Governance Enterprise Architecture (GEA) models. Semantic Web for egovernment 2006, page 25. [59] Priscilla Walmsley Hugo Haas L. Umit Yalcinalp Kevin Liu David Orchard Andre Tost Thomas Erl, Anish Karmarkar and James Pasley. Web Service Contract Design and Versioning for SOA. Prentice Hall PTR, Upper Saddle River, [60] Matthew Moran Tomas Vitvar Thomas Haselwanter, Paavo Kotinurmi and Maciej Zaremba. Wsmx: A semantic service oriented middleware for b2b integration. Lecture Notes in Computer Science, 4294:477, [61] James Hendler Tim Berners-Lee and Ora Lassila. The semantic web. Scientic American, 284(5):3443, [62] Andrew Layman Tim Bray, Dave Hollander and Richard Tobin. Namespaces in xml 1.0 (second edition), [63] C. M. Sperberg-McQueen Eve Maler Tim Bray, Jean Paoli and Francois Yergeau. Extensible markup language (xml) 1.0 (fth edition), [64] Colin Evans Toby Segaran and Jamie Taylor. Programming the Semantic Web. O'Reilly Media, [65] Federico faca Emilia Cimpian Sanaullah Nazir Xia Wang Euthimios Kirgiannakis Kay Winkler Marin Dimitrov Vassil Momtchev Nikos Loutas Konstantinos Tarabanis Massimo Mecella Tomas Vitvar, Adrian Mocan. D3.2: Semanticgov architecture v2.0. Project deliverable, Jun 2007.

120 BIBLIOGRAPHY 109 [66] Laurentiu Vasiliu. D2.2: Web service execution environment integrated with a reasoning engine. Project deliverable, may [67] Vassilios Peristeras Adrian Mocan Sotirios K. Goudos Xia Wang, Tomas Vitvar and Konstantinos Tarabanis. Wsmo-pa: Formal specication of public administration service model on semantic web service ontology. In Hawaii International Conference On System Sciences, volume 0, page IEEE, 2007.

121 Parˆrthma Aþ Parart mata Aþ.1 Prosvj kh mðac uphresvðac Για την προσ θήκη μίας υπηρεσ ίας πρέπει να πραγματοποιηθούν τα παρακάτω βήματα: 1. Ορισ μός εννοιών: Ο μηχανικός των υπηρεσ ιών πρέπει πρώτα απ όλα ορίσ ει τις έννοιες που θα χρησ ιμοποιήσ ει η υπηρεσ ία. Αυτό γίνεται με την βοήθεια του εργαλείου WSMO Studio. 2. Δημιουργία των Σημασ ιολογικών Υπηρεσ ιών Ισ τού με την βοήθεια του Web Service Editor οι οποίες φυσ ικά χρησ ιμοποιούν τις οντολογίες που δημιουργήθηκαν σ το βήμα Σημασ ιολογική περιγραφή της υπηρεσ ίας: Υσ τερα με την χρήσ η του πρόσ θετου PA Editor του WSMO Studio δημιουργούμε Σημασ ιολογικές Υπηρεσ ίες Ισ τού Δημόσ ιας Διοίκησ ης. 4. Σύνθεσ η των υπηρεσ ιών: Οταν δημιουργηθούν οι καινούριες υπηρεσ ίες μ- πορούν να χρησ ιμοποιηθούν και να δημιουργήσ ουν υπηρεσ ίες υψηλότερου επιπέδου. Η χρήσ η ήδη υπαρχόντων Σημασ ιολογικών Υπηρεσ ιών Ισ τού γίνεται μέσ ω της ενορχήσ τρωσ ης (orchestration). Στα πλαίσ ια του ερευνητικού έργου SemanticGov δημιουργήθηκε το εργαλείο SWSCE (Semantic Web Service Composition Engine) το οποίο βοηθά σ την δημιουργία της ενορχήσ τρωσ ης. 5. Δημιουργία Αντισ τοιχήσ εων (Mappings): Οπως έχουμε αναφέρει και σ ε προηγούμενα κεφάλαια σ ε περίπτωσ η που έχουμε να χρησ ιμοποιήσ ουμε Σημασ ιολογικές Υπηρεσ ίες Ισ τού οι οποίες για είσ οδο χρησ ιμοποιούν διαφορετικές οντολογίες και έννοιες πρέπει να εισ αχθούν μεσ ολαβητές (mediators) για την μετατροπή μίας ή περισ σ ότερων οντολογιών σ την επιθυμητή οντολογία. Για να γίνει αυτό πρέπει να δημιουργηθούν οι αντισ τοιχίσ εις. Το εργαλείο που χρησ ιμοποιείται για την δημιουργια των αντισ τοιχίσ εων είναι ο mapping editor. 110

122 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ Δημιουργία της Οντολογίας Δένδρου Στόχων: Για να μπορεί να βρεθεί η καινούρια αυτή υπηρεσ ία από την διαδικτυακή πύλη αλλά και για να προσ διορισ τεί η έκδοσ η της υπηρεσ ίας που ταιριάζει σ το προφίλ του πελάτη πρέπει να δημιουργηθεί η Οντολογία Δένδρου Στόχων για την σ υγκεκριμένη υπηρεσ ία. Γι αυτό τον σ κοπό έχει δημιουργηθεί το πρόσ θετο Goal Tree Editor το οποίο βοηθά σ την δημιουργία Οντολογιών Δένδρου Στόχων. 7. Εισ αγωγή κώδικα σ το WSMX: Ετσ ι ώσ τε να γίνει το Lowering και δημίουργία οντολογίας για το Lifting. Τα αποτελέσ ματα αυτών των εργαλείων αλλά και το που αποθηκεύονται παρουσ ιάζονται σ την παρακάτω εικόνα. Σχήμα Αʹ.1: Εργαλεία και πού αποθηκεύεται το κάθε αποτέλεσ μα Qr svh tou WSMO Studio gia thn dhmiourgða mðac ontologðac Για να δημιουργήσ ουμε μία οντολογία πρέπει από το μενού επιλέγουμε File -> new ->other. Στη φόρμα που εμφανίζεται επιλέγουμε ontology και πατάμε next.

123 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 112 Σχήμα Αʹ.2: Φόρμα επιλογής Στο Επόμενο πεδίο προσ διορίζουμε το όνομα του αρχείου που θα περιέχει την οντολογία, για παράδειγμα RCM_BulgarianServiceOntology και πατάμε next. Στο πεδίο new ontology identier εισ άγουμε το όνομα που θέλουμε να έχει η οντολογία π.χ. RCM_BulgarianServiceMessages. Στο πεδίο Default namespace εισ άγουμε τον εξ ορισ μού ονοματοχώρο που θέλουμε να έχει η οντολογία π.χ. Ενώ σ το WSML Variant επιλέγουμε την παραλλαγή WSML που θέλουμε π.χ. wsml-ight και πατάμε nish. Στο Navigator επιλέγουμε το αρχείο που μόλις δημιουργήσ αμε κάνουμε διπλό κλικ και εμφανίζεται η εικόνα παρακάτω.

124 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 113 Σχήμα Αʹ.3: Ontology Editor Για να εισ άγουμε μία έννοια (concept) κάνουμε δεξί κλικ σ την οντολογία R- CM_BulgarianServiceMessages σ το WSMO Navigator και επιλέγουμε add concept. Στην φόρμα που εμφανίζεται επιλέγουμε το όνομα που θέλουμε να έχει η έννοια π.χ. verifyageresponse Την ίδια ακριβώς διαδικασ ία ακολουθούμε για να προσ θέσ ουμε σ την οντολογία Axiom, Instance, Relation. Για να εισ άγουμε ιδιότητα (attribute) κάνουμε δεξί κλικ σ την έννοια (concept) verifyageresponse και επιλέγουμε addattribute. Στο μενού που εμφανίζεται σ το πεδίο attribute name εισ άγουμε το όνομα της ιδιότητας π.χ. checkedage. Για να προσ διορίσ ουμε τον τύπο της ιδιότητας επιλέγουμε (αν θέλουμε να είναι πρωταρχικός τύπος) Data Type και επιλέγουμε τον τύπο της ιδιότητας π.χ. boolean. Σε περίπτωσ η που ο τύπος της ιδιότητας είναι τύπου μίας έννοιας επιλέγουμε το πλήκτρο concept και επιλέγουμε την έννοια που θέλουμε.

125 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 114 Σχήμα Αʹ.4: Νέα ιδιότητα Αν θέλουμε να εισ άγουμε ένα σ τιγμιότυπο κάνουμε δεξί κλικ σ το RCM_Bulgari anservicemessages και επιλέγουμε add Instance. Στο μενού που εμφανίζεται επιλέγουμε το όνομα που θέλουμε να έχει το σ τιγμιότυπο π.χ. instance1 και πατάμε ok. Κάνοντας διπλό κλικ σ το νεοεισ αχθέν σ τιγμιότυπο εμφανίζεται η παρακάτω οθόνη. Σχήμα Αʹ.5: Δημιουργία σ τιγμιότυπου

126 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 115 Στο πεδίο concepts και επιλέγουμε add concepts και επιλέγουμε τι τύπου πρέπει να είναι το σ τιγμιότυπο π.χ. verifyageresponse. Αφού το επιλέξουμε πηγαίνουμε σ το πεδίο Attribute Values και κάνουμε δεξί κλικ και επιλέγουμε (σ την προκειμένη περίπτωσ η) New Attribute Data Value και επιλέγουμε π.χ. checkedage. Αφού πατήσ ουμε το select επιλέγουμε τιμή που θέλουμε να έχει το σ τιγμιότυπο π.χ. true. Το αποτέλεσ μα φαίνεται σ την παρακάτω εικόνα. Σχήμα Αʹ.6: Επεξεργασ ία σ τιγμιότυπου Shmasviologik perigraf thc uphresvðac Αφού περιγράφηκε η διαδικασ ία δημιουργίας οντολογιών που θα χρησ ιμοποιηθούν από τις Σημασ ιολογικές Υπηρεσ ίες Ισ τού μπορούμε τώρα να περιγράψουμε την διαδικασ ια δημιουργίας Σημασ ιολογικών υπηρεσ ιών ισ τού. Για να δημιουργήσ ουμε μία Σημασ ιολογική υπηρεσ ία ισ τού επιλέγουμε από το μενού le->new->other και σ την φόρμα που εμφανίζεται επιλέγουμε Web Service και πατάμε next. Στην επόμενη φόρμα εισ άγουμε το όνομα που θα έχει το αρχείο και πατάμε next. Οπως κάναμε και σ την δημιουργία της οντολογίας παραπάνω εισ άγουμε το όνομα που θέλουμε να έχει η Σημασ ιολογική Υπηρεσ ία Ισ τού τον ονοματοχώρο που θα ανήκει και την παραλλαγή (variant) και πατάμε nish. Αφού πατήσ ουμε nish και κάνουμε διπλό κλικ σ το αρχείο που μόλις δημιουργήσ αμε εμφανίζεται η παρακάτω εικόνα.

127 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 116 Σχήμα Αʹ.7: Επεξεργασ ία Σημασ ιολογικής Υπηρεσ ίας Ισ τού Στην καρτέλα import ontologies όπως είπαμε προηγουμένως κάνουμε εισ- αγωγή των οντολογιών που θα χρησ ιμοποιηθούν από την Σημασ ιολογική Υπηρεσ ία Ισ τού Στο παράδειγμα εισ άγουμε την οντολογία RCM_BulgarianServiceMessages. Για να δημιουργήσ ουμε ένα capability πατάμε σ το πλήκτρο new που υπάρχει σ το πλαίσ ιο Capability & interfaces. Στην φόρμα που εμφανίζεται εισ άγουμε ένα όνομα που θέλουμε να έχει το capability. Για να εισ άγουμε sheared variables, preconditions assumptions και eects κάνουμε διπλό κλικ σ το όνομα του capability που δημιουργήσ αμε και κάνουμε δεξί κλικ σ την αντίσ τοιχη καρτέλα και προσ θέτουμε το Axiom (οι καρτέλες παρουσ ιάζονται σ την παρακάτω εικόνα). Αφού εισ άγουμε το όνομα του Axiom εισ άγουμε την λογική έκφρασ η κάνοντας διπλό κλικ σ το νεοεισ- αχθέν Axiom και σ την φόρμα που εμφανίζεται κάνουμε δεξί κλικ σ το πλαίσ ιο logical expression και επιλέγουμε add expression τέλος σ το πλαίσ ιο expression editor εισ άγουμε το expression που θέλουμε.

128 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 117 Σχήμα Αʹ.8: Επεξεργασ ία Capability Για την δημιουργία interface, σ την καρτέλα WSMO Navigator κάνουμε δεξί κλικ σ το όνομα της Σημασ ιολογικής Υπηρεσ ίας Ισ τού επιλέγουμε create interface. Αφού εισ άγουμε το όνομα του interface σ την ίδια καρτέλα (WSMO Navigator) κάνουμε διπλό κλικ σ το interface που δημιουργήθηκε για να εισ άγουμε οντολογίες διαμεσ ολαβητές κτλ. Για αν δημιουργήσ ουμε χορογραφία κάνουμε δεξί κλικ σ το interface που μόλις δημιουργήσ αμε και επιλέγουμε create choreography και εισ άγουμε το όνομα που θέλουμε να δώσ ουμε σ το choreography. Οπως και σ τα προηγούμενα βήματα κάνουμε διπλό κλικ σ το choreography και κάνουμε δεξί κλικ σ την καρτέλα IN modes και επιλέγουμε add state signature. Υσ τερα μπορούμε να εισ άγουμε τα concepts που θα δέχεται σ αν είσ οδο η Σημασ ιολογική Υπηρεσ ία Ισ τού κάνοντας δεξί κλικ σ την καρτέλα IN nodes και επιλέγοντας ADD node όπου σ το μενού που εμφανίζεται επιλέγουμε το concept. Η ίδια ακριβώς διαδικασ ία σ υμβαίνει και για την καρτέλα OUT nodes. Αφού δημιουργήθηκε αυτή η υπηρεσ ία πρέπει να προσ θέτουμε επιπλέον πληροφορία έτσ ι ώσ τε να προσ διορίσ ουμε τι τύπου είναι η οντολογία. Για να το κάνουμε αυτό πρέπει να κάνουμε δεξί κλικ σ την σ το αρχείο που έχει την Σημασ ιολογική Υπηρεσ ία Ισ τού και να επιλέξουμε open With-> PA editor. Για να προσ θέσ ουμε την πληροφορία αυτή πρέπει πρώτα απ όλα να εισ άγουμε την οντολογία GeaInstancesForPAServices κάνοντας δεξί κλικ και add ontologies σ την καρτέλα import ontologies. Αφού γίνει αυτό επιλέγουμε πληροφορίες που χαρακτηρίζουν την υπηρεσ ία όπως Service type, Domain κτλ. Οπως φαίνεται σ την εικόνα παρακάτω.

129 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 118 Σχήμα Αʹ.9: Επεξεργασ ία Σημασ ιολογικής Υπηρεσ ίας Ισ τού Δημόσ ιας Διοίκησ ης SÔnjesvh twn uphresvi n Η σ ύνθεσ η των υπηρεσ ιών περιγράφηκε αναλυτικά σ το κεφάλαιο 4. Το εργαλείο SWSCE ολοκληρώθηκε η ανάπτυξη του προς το τέλος του ερευνητικού έργου και δεν είναι ελεύθερα διαθέσ ιμο. DhmiourgÐa Antisvtoiq svewn (Mappings) Η δημιουργία αντισ τοιχήσ εων παρουσ ιάσ τηκε σ το κεφάλαιο 4. DhmiourgÐa thc OntologÐac Dèndrou Stìqwn Για την δημιουργία μίας Οντολογίας Δένδρου Στόχων ακολουθούμε την διαδικασ ία για την δημιουργία οντολογίας που περιγράφηκε πιο πριν. Αφού δημιουργηθεί μία οντολογία κάνουμε δεξί κλικ σ το αρχείο που βρίσ κεται σ το πλαίσ ιο Navigator και επιλέγουμε open with -> Goal Tree editor και θα εμφανισ τεί το παρακάτω μήνυμα.

130 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 119 Σχήμα Αʹ.10: XML αρχείο δεν βρέθηκε Πατάμε ok και ύσ τερα εμφανίζεται η παρακάτω οθόνη Σχήμα Αʹ.11: Επεξεργασ ια Οντολογιας Δένδρου Στόχων Πριν την εισ αγωγή του αξιώματος θα εισ άγουμε ένα ονοματοχώρο που θα χρησ ιμοποιηθεί αργότερα. Για να το κάνουμε αυτό πρέπει να κάνουμε κλικ σ την καρτέλα namespaces σ τον πίνακα που εμφανίζεται κάνουμε δεξί κλικ και πατάμε add και εισ άγουμε το πρόθεμα που θέλουμε να χρησ ιμοποιήσ ουμε π.χ. co και ύσ τερα εισ άγουμε τον ονοματοχώρο. Επιπλέον πρέπει να εισ άγουμε τις οντολογίες που θα αρχικοποιηθούν από την διαδικτυακή πύλη, για να το κάνουμε αυτό κάνουμε κλικ σ την καρτέλα import ontologies και επιλέγουμε add ontology και επιλέγουμε την οντολογία που θέλουμε να αρχικοποιήσ ει η δικτυακή πύλη π.χ. GreekCitizenOntology.

131 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 120 Για την προσ θήκη ενός αξιώματος πηγαίνουμε σ την καρτέλα axioms και κάνουμε δεξί κλικ και επιλέγουμε create axiom σ το μενού που εμφανίσ τηκε εισ άγουμε το όνομα του αξιώματος που θα δημιουργήσ ουμε και πατάμε ok. Αφού δημιουργήθηκε κάνουμε διπλό κλικ και εμφανίζεται το πεδίο για την εισ αγωγή. Εκεί εισ άγουμε δεξί κλικ και επιλέγουμε add expression. Στον expression editor εισ άγουμε την λογική έκφρασ η όπως φαίνεται παρακάτω σ την εικόνα. Σχήμα Αʹ.12: Επεξεργασ ία λογικής έκφρασ ης Για να εισ άγουμε ένα ριζικό σ τοιχείο επιλέγουμε την καρτέλα Goal Tree Editor και κάνουμε δεξί κλικ σ το σ τοιχείο της καρτέλας Goal Tree και επιλέγουμε το Set Root Node όπως φαίνεται σ την εικόνα παρακάτω.

132 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 121 Σχήμα Αʹ.13: Εισ αγωγη ριζικού σ τοιχείου Στο μενού που εμφανίζεται εισ άγουμε το όνομα που θέλουμε να έχει ο ριζικός κόμβος π.χ. NaturalizationService. Μετά την εισ αγωγή του κόμβου επιλέγουμε add choice question για την διατύπωσ η ερώτησ ης της οποίας απάντησ η έχουν επιλογές και εισ άγουμε όνομα που θα έχει η ερώτησ η π.χ. qstnfellowgreek. Στον κόμβο ερώτησ ης που δημιουργήθηκε κάνουμε αρισ τερό κλικ και σ το question text εισ άγουμε την ερώτησ η που θα εμφανίζεται σ την διαδικτυακή πύλη π.χ. "Are you a fellow Greek?. Σε περίπτωσ η που θέλουμε να εισ άγουμε απαντήσ εις με πολλές επιλογες κάνουμε πάλι δεξί κλικ και επιλέγουμε Add Radiobuton Item και κάνοντας αρισ τερό κλικ σ το πεδίο Associated Attribute επιλέγουμε Select και ύσ τερα την ιδιότητα τις έννοιας που θα αρχικοποιήσ ουμε π.χ. Citizen ->isfellowgreek. Στο πεδίο Answer Data type επιλέγουμε κάποια έννοια, σ ε περίπτωσ η που η οντολογία που αρχικοποιούμε έχει ιδιότητα τύπου αυτής της έννοιας ή εισ άγουμε κάποιο από τους πρωταρχικούς τύπους π.χ. Boolean. Στο πεδίο Approving Value εισ άγουμε την τιμή που θα αρχικοποιηθεί η ιδιότητα που ορίσ αμε σ το Associated Attribute σ ε περίπτωσ η που επιλεγεί αυτή από τον χρήσ τη π.χ. true. Στο πεδίο Display text εισ άγουμε το κείμενο που θα εμφανίζεται από την μεριά του χρήσ τη σ το γραφικό περιβάλλον π.χ. yes. Αυτό που καταφέραμε είναι να εισ άγουμε μια απάντησ η σ την ερώτησ η. Αν θέλουμε να εισ άγουμε και άλλη απάντησ η ακολουθούμε ξανά την ίδια διαδικασ ία. Σε περίπτωσ η που θέλουμε να εισ άγουμε ένα καινούριο κόμβο κάνουμε δεξί κλικ σ τον κόμβο NaturalizationService και επιλέγουμε add Child node εισ άγουμε το όνομα του κόμβου και επαναλαμβάνουμε την διαδικασ ία όπως την περιγράψαμε πιο πριν.

133 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 122 GeÐwsvh (Grounding) Shmasviologik n Uphresvi n IsvtoÔ Ο μηχανισ μός γείωσ ης αναλαμβάνει την μετατροπή από XML σ ε WSML και αντίσ τροφα. Αυτό σ το WSMX επιτυγχάνεται με την χρήσ η προσ αρμογέων (adapters). Κάθε προσ αρμογέας υλοποιεί την διεπαφή (java interface) ie.deri.wsmx.adapte r.adapter η οποία έχει τρείς κύριες μεθόδους: WSMLDocument getwsml(string document, EndpointGrounding endpoint) όπου δέχεται το XML έγγραφο και το αντικείμενο τύπου Endpoing- Grounding και επισ τρέφει το αντίσ τοιχο έγγραφο WSML. Document getxml(instance instance, String id) Δέχεται ένα σ τιγμιότυπο και μία σ υμβολοσ ειρά που αναπαρισ τά το URL τελικού σ ημείου και επισ τρέφει ένα XML κείμενο. Document getxml (List<Entity> data, String id2) Δέχεται μία λίσ τα από σ τιγμιότυπα και μια σ υμβολοσ ειρά που αναπαρισ τά το URL τελικού σ ημείου και τα μετατρέπει σ ε μορφή XML. Για να μπορέσ ει ο communication manager να προσ διορίσ ει ποιόν προσ αρμογέα θα χρησ ιμοποιήσ ει κάνει χρήσ η της ιδιότητας που βρίσ κεται τις μη λειτουργικές ιδιότητες (non functional properties) π.χ. hasvalue _http://www.semantic-gov.org/rcm/bulgaria. Οπως έχουμε αναφέρει το τμήμα του προσ αρμογέα για το lowering είναι βασ ισ μένο μόνο σ ε Java. Η μέθοδος getxml από το σ τιγμιότυπο ή τα σ τιγμιότυπα που δέχεται αναγνωρίζει τι τύπου είναι το κάθε ένα και καλεί τις ανάλογες μεθόδους για τον χειρισ μό τους. Παρακάτω υπάρχει ένα παράδειγμα μιας τέτοιας μεθόδου που δέχεται ένα σ τιγμιότυπο και μια σ υμβολοσ ειρά η οποία περιέχει την σ υμβολοσ ειρά γείωσ ης (grounding string) (έτσ ι ώσ τε ανάλογα την σ υμβολοσ ειρά αυτή να κ- ωδικοποιεί διαφορετικά το XML που θα παράγει) και επισ τρέφει το σ τιγμιότυπο WSML σ ε μορφή XML. Σχήμα Αʹ.14: Μετατροπή σ τιγμιότυπου WSML σ ε XML Στο παράδειγμα αυτό απομονώνουμε την τιμή της ιδιότητας haspassportnumber και την εκχωρούμε σ την μεταβλητή passportnumber. Στο τμήμα if γίνεται ο έλεγχος της σ υμβολοσ ειράς γείωσ ης (grounding string) έτσ ι ώσ τε το σ τιγμιότυπο να μετατραπεί σ την κατάλληλη XML μορφή. Η εντολή doc.createelementns(xsd _NS_URI, "param0"); δημιουργεί ένα σ τοιχείο με όνομα param0 ενώ η εντολή

134 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 123 result2.appendchild(doc.createtextnode(passportnumber)); Εισ άγει την τιμή του passportnumber μέσ α σ το σ τοιχείο που δημιουργήθηκε. Τέλος επισ τρέφει το σ τοιχείο που δημιουργήθηκε. Το Lifting τμήμα όπως περιγράψαμε και σ το κεφάλαιο 4 γίνεται με την βοήθεια ειδικών οντολογιών. Το μόνο που χρειάζεται να γίνει από πλευράς κώδικα σ ε Java είναι να προσ διορίζουμε το IRI της οντολογίας (της οποίας οι έννοιες θα αρχικοποιηθούν από το XML μήνυμα) και το IRI της οντολογίας απεικόνισ ης (mapping ontology). Αυτό γίνεται με την εντολή Xml2WSMLAdapter adapt = new Xml2WSMLAdapter(GreekCourtAuthorityConstants.GreekCourtOntoIRI, Greek- CourtAuthorityConstants.GreekCourtAdapterIRI); η οποία βρίσ κεται μέσ α την μέθοδο getwsml. Aþ.2 Egkatˆsvtasvh tou svusvt matoc Παρακάτω περιγράφεται πως θα γίνει η εγκατάσ τασ η της υποδειγματικής εφαρμογής του SemanticGov. Η εγκατάσ τασ η όλων των δομικών σ τοιχείων γίνεται με την βοήθεια του εργαλείου ant. Κάθε δομικό σ τοιχείο έχει ένα build.xml αρχείο το οποίο αναλαμβάνει την εγκατάσ τασ η του σ υγκεκριμένου δομικού σ τοιχείου. Δομικό σ τοιχείο Περιγραφή Εξαρτίσ εις Tools WSMOStudio WSMX Προετοιμάζει τα ANT contrib., Maven, 7Zip Κάνει εγκατάσ τασ η το περιβάλλον ανάπτυξης (eclipse, PA-Editor, Goal Tree Editor, Mapping Editor) Σημασ ιολογικό περιβάλλον εκτέλεσ ης (Semantic Execution Environment) Αυτό το δομικό σ τοιχείο πρέπει να εγκατασ ταθεί πριν από τα αλλά. Tools Tools Portal Tomcat with Liferay + portal servlet Tools Backend AXIS2 Tools Εγκατάσ τασ η της RCM υποδειγματικής Tools, Backend εφαρμογής RCM (Axis2), WSMX

135 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 124 Παρακάτω υπάρχουν οι σ τόχοι (targets) που υπάρχουν σ τα περισ σ ότερα από τα αρχεία Ant. Target install congure start stop uninstall clean Παρατηρήσ εις Κάνει εγκατάσ τασ η το δομικό σ τοιχείο Ρυθμίζει το δομικό σ τοιχείο Θέτει σ ε λειτουργία το δομικό σ τοιχείο Σταματά την λειτουργία του δομικού σ τοιχείου Απεγκαθισ τά το δομικό σ τοιχείο Αφαίρεσ η του δομικού σ τοιχείου Aþ.2.1 Proetoimˆzontac to peribˆllon gia thn egkatˆsvtasvh Το περιβάλλον για να εγκατασ ταθεί με επιτυχία χρειάζεται 5-10 GB διαθέσ ιμο χώρο σ τον σ κληρό δίσ κο και μέγεθος μνήμης RAM 2GB. Εχει δοκιμασ τεί και λειτούργει σ ε περιβάλλον Windows XP. Πριν γίνει η εγκατάσ τασ η των δομικών σ τοιχείων πρέπει να εγκατασ ταθούν τα παρακάτω: Java 6 (για την λειτουργία του WSMX) Ant Εκδοσ η 1.7 Firefox (η έκδοσ η πρέπει να είναι πάνω από την 2.0) Οι μεταβλητές περιβάλλοντος πρέπει να ορισ τούν είναι οι παρακάτω: Επέκτασ η του υπάρχοντος PATH με τα παρακάτω: Προσ θήκη του φακέλου bin του εργαλείου Ant Προσ θήκη του φακέλου bin του περιβάλλοντος JDK Επιπλέον πρέπει να δημιουργηθεί (σ ε περίπτωσ η που δεν έχουν δημιουργηθεί) οι μεταβλητή περιβάλλοντος JAVA_HOME όπου πρέπει να έχει τιμή την διαδρομή που βρίσ κεται το περιβάλλον της Java Και η μεταβλητή CATALINA_HOME όπου θα δείχνει σ τον φάκελο Install\portal2\liferayportal-5.2.3\tomcat (Η μεταβλητή αυτή θα έχει την διαδρομή αφότου γινει η αντιγραφή των αρχείων σ τον υπολογισ τή όπως περιγράφεται παρακάτω) Aþ.2.2 Antigraf twn arqeðwn Αφού γίνουν οι ρυθμίσ εις αντιγράφουμε τα αρχεία Download, Install και showcases σ τον σ κληρό δίσ κο. Μετά την αντιγραφή πρέπει να τροποποιήσ ουμε το αρχείο /showcases/setup/common/build.env.properties και πρέπει να αλλαχτούν τα παρακάτω.

136 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 125 Download.root.dir Install.rood.dir wsmx.httpport wsmx.axisport wsmx.sshport portal.port Firefox.cmd Πρέπει να έχει τιμή την πλήρη διαδρομή του Download φακέλου Πρέπει να έχει τιμή την πλήρη διαδρομή του Install φακέλου Οι θύρες (ports) IP για τα διαφορετικά δομικά σ τοιχεία (σ υνήθως δεν πρέπει να αλλάξουν) Η πλήρης διαδρομή του refox π.χ. C:\program Files\Mozilla Firefox\refox.exe Aþ.2.3 Egkatˆsvtasvh twn domik n svtoiqeðwn Από την γραμμή εντολών πηγαίνουμε σ τον φάκελο.//showcases/setup/tools και σ τον φάκελο./showcases/setup/backend. Και πληκτρολογούμε την εντολή ant download install congure. Υσ τερα αντιγράφουμε τον φάκελο repository που βρίσ κεται σ τον φάκελο required programs (που βρίσ κεται σ το CD), σ τον φάκελο.m2 που βρίσ κεται σ το C:\Documents and Settings\(username)\. Στον φάκελο./download/showcases/setup/wsmx εισ άγουμε την εντολή ant build install congure eclipse Dshowcase=RCM. Ενώ για τον φάκελο /download/showcases/setup/rcm. πρέπει να εισ άγουμε την εντολή ant install start.mysqsl load.mysql2 (η παράμετρος load.mysql2 επαναφέρει την βάσ η δεδομένων σ την αρχική της κατάσ τασ η) Για την Ισ τοσ ελίδα πρέπει να ανοίξουμε το αρχείο setenv που βρίσ κεται σ τον φάκελο \Install\Portal2\liferay-portal-5.2.3\tomcat \bin και να θέσ ουμε την μεταβλητή JRE_HOME=C:/Program Files/Java/jdk1.6.0_18 με την διαδρομή που έχει εγκατασ ταθεί το JDK ή το JRE σ το σ ύσ τημα. Aþ.2.4 'Enarxh twn uphresvi n Mysql: Πηγαίνουμε σ τον φάκελο cd./showcases/setup/rcm και εισ άγουμε την εντολή ant start.mysqsl load.mysql2. WSMX:Πηγαίνουμε σ τον φάκελο cd./showcases/setup/wsmx και εισ άγουμε την εντολή ant start.wsmx Dshowcase=RCM Για την έναρξη της ισ τοσ ελίδας κάνουμε διπλό κλικ σ το αρχείο startup.bat το οποίο βρίσ κεται σ τον φάκελο Install\Portal2\liferay-portal-5.2.3\tomcat \bin

137 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 126 Aþ.2.5 Qr svh thc IsvtosvelÐdac Από την σ τιγμή που όλα λειτούργησ αν με επιτυχία μπορούμε να χρησ ιμοποιήσ ουμε την ισ τοσ ελίδα. Ανοίγουμε ένα φυλλομετρητή και εισ άγουμε την διεύθυνσ η http: //localhost:8084 και θα εμφανισ τεί η κεντρική σ ελίδα όπως φαίνεται παρακάτω σ την εικόνα. Σχήμα Αʹ.15: Κύρια σ ελίδα Από το μενού επιλέγουμε Naturalization Service και σ υμπληρώνουμε τα σ τοιχεία της φόρμας όπως φαίνεται παρακάτω και πατάμε το κουμπί naturalization.

138 ΠΑΡ ΑΡΤΗΜΑ Αʹ. ΠΑΡΑΡΤ ΗΜΑΤΑ 127 Σχήμα Αʹ.17: Αποτέλεσ μα εκτέλεσ ης Σχήμα Αʹ.16: Φόρμα εισ αγωγής σ τοιχείων Αν η εκτέλεσ η της υπηρεσ ίας είναι επιτυχής τότε εμφανίζεται ένα μήνυμα όπως φαίνεται σ την παρακάτω εικόνα. Στην σ ελίδα με τα αποτελέσ ματα για λόγους επίδειξης υπάρχουν τα πλήκτρα

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture)

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture) Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture) Χρήστος Ηλιούδης Πλεονεκτήματα των Υπηρεσιών Ιστού Διαλειτουργικότητα: Η χαλαρή σύζευξή τους οδηγεί στην ανάπτυξη ευέλικτου λογισμικού

Διαβάστε περισσότερα

March 24, 2013. Abstract. 1 http://en.wikipedia.org/wiki/foss

March 24, 2013. Abstract. 1 http://en.wikipedia.org/wiki/foss Open-Source: Η εναλλακτική επιλογή που κερδίζει έδαφος Χάρης Β. Γεωργίου March 24, 2013 Abstract Μέχρι πριν μερικά χρόνια, η φράσ η free / open-source software (FOSS) 1 ήταν σ χεδόν σ υνώνυμη με μαλλιαρούς

Διαβάστε περισσότερα

Κεφάλαιο 29. Τεχνητή Νοημοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου

Κεφάλαιο 29. Τεχνητή Νοημοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Κεφάλαιο 29 Σημασιολογικό Διαδίκτυο "The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation."

Διαβάστε περισσότερα

Σύνθεση διαδικτυακών υπηρεσιών με χρήση τεχνικών σχεδιασμού ενεργειών

Σύνθεση διαδικτυακών υπηρεσιών με χρήση τεχνικών σχεδιασμού ενεργειών Σύνθεση διαδικτυακών υπηρεσιών με χρήση τεχνικών σχεδιασμού ενεργειών Ουρανία Χατζή raniah@hua.gr Χαροκόπειο Πανεπιστήμιο 29 Νοεμβρίου 2007 Outline Web Service Overview Standards & Model Syntactic vs Semantic

Διαβάστε περισσότερα

Διακιρυξθ Διαγωνιςμοφ για το Ζργο ΨΘΦΙΑΚΘ ΠΕΡΙΘΓΘΘ ΣΟ ΠΟΛΙΣΙΣΙΚΟ ΚΑΙ ΙΣΟΡΙΚΟ ΑΡΧΕΙΟ ΣΟΤ ΧΑΪΔΑΡΙΟΤ

Διακιρυξθ Διαγωνιςμοφ για το Ζργο ΨΘΦΙΑΚΘ ΠΕΡΙΘΓΘΘ ΣΟ ΠΟΛΙΣΙΣΙΚΟ ΚΑΙ ΙΣΟΡΙΚΟ ΑΡΧΕΙΟ ΣΟΤ ΧΑΪΔΑΡΙΟΤ Διακιρυξθ Διαγωνιςμοφ για το Ζργο ΨΘΦΙΑΚΘ ΠΕΡΙΘΓΘΘ ΣΟ ΠΟΛΙΣΙΣΙΚΟ ΚΑΙ ΙΣΟΡΙΚΟ ΑΡΧΕΙΟ ΣΟΤ ΧΑΪΔΑΡΙΟΤ Ανακζτουςα Αρχι: Διμοσ Χαϊδαρίου Προχπολογιςμόσ: 105.731,71 (χωρίσ ΦΡΑ) Προχπολογιςμόσ: 130,050.00 (με

Διαβάστε περισσότερα

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. WSDLBook:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. WSDLBook: ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ WSDLBook: Web 2.0 εφαρμογή για WSDL Περιγραφές Υπηρεσιών Ιστού (Web Services) Διπλωματική Εργασία του Γεωργακάκη Νικολάου

Διαβάστε περισσότερα

Πρότυπα και Τεχνολογίες Semantic Web και Web 2.0 και η εφαρμογή τους στην Ηλεκτρονική Διακυβέρνηση

Πρότυπα και Τεχνολογίες Semantic Web και Web 2.0 και η εφαρμογή τους στην Ηλεκτρονική Διακυβέρνηση Πρότυπα και Τεχνολογίες Semantic Web και Web 2.0 και η εφαρμογή τους στην Ηλεκτρονική Διακυβέρνηση Νίκος Λούτας (nlout@uom.gr) http://nikosloutas.com Υποψήφιος Διδάκτορας, Εργαστήριο Πληροφοριακών Συστημάτων,

Διαβάστε περισσότερα

Δυνατότητα επέκτασης για υποστήριξη ξεχωριστής διεπαφής χρήστη για φορητές συσκευές

Δυνατότητα επέκτασης για υποστήριξη ξεχωριστής διεπαφής χρήστη για φορητές συσκευές e-gateway SOLUTION ΕΙΣΑΓΩΓΗ Ιδιωτικοί και δημόσιοι οργανισμοί κινούνται όλο και περισσότερο προς την κατεύθυνση της μηχανογράφησης και αυτοματοποίησης των εργασιών τους, σε μια προσπάθεια να διαχειριστούν

Διαβάστε περισσότερα

Ανάπτυξη Οντολογικής Γνώσης για Τεκμηρίωση Οπτικοακουστικού Περιεχομένου ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Ανάπτυξη Οντολογικής Γνώσης για Τεκμηρίωση Οπτικοακουστικού Περιεχομένου ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη Οντολογικής Γνώσης για Τεκμηρίωση Οπτικοακουστικού Περιεχομένου

Διαβάστε περισσότερα

Διπλωματική Εργασία των φοιτητών του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Διπλωματική Εργασία των φοιτητών του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ:ΣΥΣΤΗΜΑΤΩΝ ΚΑΙ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ ΕΡΓΑΣΤΗΡΙΟ ΑΥΤΟΜΑΤΙΣΜΩΝ ΚΑΙ ΡΟΜΠΟΤΙΚΗΣ Διπλωματική Εργασία των φοιτητών του Τμήματος

Διαβάστε περισσότερα

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12 Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των

Διαβάστε περισσότερα

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού 1η διάλεξη Χαρακτηριστικά Μαθήματος Μάθημα προγραμματισμού (και όχι μόνον) Μπορεί να εξελιχθεί σε εφιάλτη αν δεν έχετε καλή γνώση και αρκετή εμπειρία προγραμματισμού (Java)

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Μεταπτυχιακή Διατριβή Τίτλος Διατριβής Επίκαιρα Θέματα Ηλεκτρονικής Διακυβέρνησης Ονοματεπώνυμο Φοιτητή Σταμάτιος

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Σημασιολογική Συσταδοποίηση Αντικειμένων Με Χρήση Οντολογικών Περιγραφών.

Διαβάστε περισσότερα

Σηµασιολογικές Υπηρεσίες Ιστού

Σηµασιολογικές Υπηρεσίες Ιστού Citation: Thanassis Tiropanis, Notes on Semantic Web Services, July 2006 http://eprints.ecs.soton.ac.uk/18173/ You may contact the author at: tt2@ecs.soton.ac.uk Σηµασιολογικές Υπηρεσίες Ιστού Θανάσης

Διαβάστε περισσότερα

ΥΠΗΡΕΣΙΑ «TAXISNET» - ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΤΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΔΗΛΩΣΕΩΝ ΓΙΑ ΤΟ ΤΜΗΜΑ ΕΣΩΤΕΡΙΚΩΝ ΠΡΟΣΟΔΩΝ ΚΑΙ ΤΗΝ ΥΠΗΡΕΣΙΑ ΦΟΡΟΥ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΤΟΥ

ΥΠΗΡΕΣΙΑ «TAXISNET» - ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΤΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΔΗΛΩΣΕΩΝ ΓΙΑ ΤΟ ΤΜΗΜΑ ΕΣΩΤΕΡΙΚΩΝ ΠΡΟΣΟΔΩΝ ΚΑΙ ΤΗΝ ΥΠΗΡΕΣΙΑ ΦΟΡΟΥ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΤΟΥ ΥΠΗΡΕΣΙΑ «TAXISNET» - ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΤΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΔΗΛΩΣΕΩΝ ΓΙΑ ΤΟ ΤΜΗΜΑ ΕΣΩΤΕΡΙΚΩΝ ΠΡΟΣΟΔΩΝ ΚΑΙ ΤΗΝ ΥΠΗΡΕΣΙΑ ΦΟΡΟΥ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΤΟΥ ΥΠΟΥΡΓΕΙΟΥ ΟΙΚΟΝΟΜΙΚΩΝ ΤΗΣ ΚΥΠΡΙΑΚΗΣ ΔΗΜΟΚΡΑΤΙΑΣ Οδηγίες

Διαβάστε περισσότερα

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών World Wide Web (WWW) Θέματα Επεξεργασία δεδομένων στο Web Δημιουργία απλών σελίδων HTML Περιγραφή κάποιων XHTML στοιχείων (tags) Εξέλιξης του WWW Το WWW

Διαβάστε περισσότερα

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

Ενότητα 6 (κεφάλαιο 19) Υπηρεσιοκεντρική Αρχιτεκτονική

Ενότητα 6 (κεφάλαιο 19) Υπηρεσιοκεντρική Αρχιτεκτονική ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 6 (κεφάλαιο 19) Υπηρεσιοκεντρική Αρχιτεκτονική Οι διαφάνειες

Διαβάστε περισσότερα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

Υπηρεσίες Χαρτών Ιστού WMS. Ανάλυση των δυνατοτήτων και εφαρμογή στον ελληνικό χώρο.

Υπηρεσίες Χαρτών Ιστού WMS. Ανάλυση των δυνατοτήτων και εφαρμογή στον ελληνικό χώρο. ΤΜΗΜΑ ΑΓΡΟΝΟΜΩΝ ΚΑΙ ΤΟΠΟΓΡΑΦΩΝ ΜΗΧΑΝΙΚΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ «ΤΕΧΝΙΚΕΣ ΚΑΙ ΜΕΘΟΔΟΙ ΣΤΗΝ ΑΝΑΛΥΣΗ, ΣΧΕΔΙΑΣΗ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΤΟΥ ΧΩΡΟΥ» Υπηρεσίες

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΥΠΗΡΕΣΙΟΚΕΝΤΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Αρχειονομίας - Βιβλιοθηκονομίας Μεταπτυχιακό Πρόγραμμα Αθήνας Έτος 2007-2008

Ιόνιο Πανεπιστήμιο Τμήμα Αρχειονομίας - Βιβλιοθηκονομίας Μεταπτυχιακό Πρόγραμμα Αθήνας Έτος 2007-2008 Ιόνιο Πανεπιστήμιο Τμήμα Αρχειονομίας - Βιβλιοθηκονομίας Μεταπτυχιακό Πρόγραμμα Αθήνας Έτος 2007-2008 Εργασία στα πλαίσια του μαθήματος «Τεχνολογίες της Πληροφορίας» Διαλειτουργικότητα Μανόλης Πεπονάκης

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής ίκτυα Η/Υ Συστήµατα Επικοινωνίας (Ε) (PC) (N) Επικοινωνίες: Εφαρµογές Υπολογιστές ίκτυα Μοντέλο TCP/IP πολλές πολλοί N A N B Ενότητα E PC A PC B PC D PC E E A E B

Διαβάστε περισσότερα

Μητρώο [.gr] Οδηγός ιασύνδεσης. Αξιοποίησης του Εξυπηρετητή EPP. Έκδοση 2.0. [ EPP Server Connection and Use Guide ]

Μητρώο [.gr] Οδηγός ιασύνδεσης. Αξιοποίησης του Εξυπηρετητή EPP. Έκδοση 2.0. [ EPP Server Connection and Use Guide ] [.gr] cctld Σελίδα 1 από 13 Μητρώο [.gr] Οδηγός ιασύνδεσης & Αξιοποίησης του Εξυπηρετητή EPP Έκδοση 2.0 [ EPP Server Connection and Use Guide ] [.gr] cctld Σελίδα 2 από 13 Περιεχόµενα Περιεχόµενα... 2

Διαβάστε περισσότερα

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html Χρ. Ηλιούδης Παγκόσμιος Ιστός (WWW) Ο Παγκόσμιος Ιστός (World Wide Web WWW), ή απλώς Ιστός, βασίζεται στην ιδέα των κατανεμημένων πληροφοριών. Αντί όλες

Διαβάστε περισσότερα

Επίπεδο δικτύου IP Forwading κτλ

Επίπεδο δικτύου IP Forwading κτλ Επίπεδο δικτύου IP Forwading κτλ (IP για που το έβαλες) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής (Application layer):

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΥΠΗΡΕΣΙΟΣΤΡΕΦΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΩΝ ΓΙΑ RFID ΣΥΣΤΗΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΗ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΕΡΓΑΣΙΑ

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΥΠΗΡΕΣΙΟΣΤΡΕΦΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΩΝ ΓΙΑ RFID ΣΥΣΤΗΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΗ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΕΡΓΑΣΙΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΣΤΑΜΑΤΙΑΔΟΥ ΜΑΡΙΝΑ - ΕΙΡΗΝΗ ΣΧΕΔΙΑΣΗ

Διαβάστε περισσότερα

Πίνακας Εικόνων. 22/04/2014 Έκδοση 3.0.1

Πίνακας Εικόνων. 22/04/2014 Έκδοση 3.0.1 Προδιαγραφές για Προγραμματιστές Διαδικτυακής Υπηρεσίας «Βασικά στοιχεία μητρώου για νομικά πρόσωπα, νομικές οντότητες, και φυσικά πρόσωπα με εισόδημα από επιχειρηματική δραστηριότητα». Πίνακας Περιεχομένων

Διαβάστε περισσότερα

ΠΕΡΙΛΗΨΗ. Είναι γνωστό άτι καθημερινά διακινούνται δεκάδες μηνύματα (E~mail) μέσω του διαδικτύου

ΠΕΡΙΛΗΨΗ. Είναι γνωστό άτι καθημερινά διακινούνται δεκάδες μηνύματα (E~mail) μέσω του διαδικτύου GREEKLISH: ΜΙΑ ΝΕΑ ΔΙΑΛΕΚΤΟΣ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ; Α.Καράκος, Λ.Κωτούλας ΠΕΡΙΛΗΨΗ Είναι γνωστό άτι καθημερινά διακινούνται δεκάδες μηνύματα (E~mail) μέσω του διαδικτύου {INTERNEη από την μια άκρη του κόσμου

Διαβάστε περισσότερα