ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ ΙΘ ΕΚΠΑΙΔΕΥΤΙΚΗ ΣΕΙΡΑ

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ ΙΘ ΕΚΠΑΙΔΕΥΤΙΚΗ ΣΕΙΡΑ"

Transcript

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

2 ΕΠΙΤΕΛΙΚΗ ΣΥΝΟΨΗ Στο πλαίσιο της ανάγκης για βελτίωση της ποιότητας των δημόσιων υπηρεσιών που παρέχονται σε πολίτες και επιχειρήσεις, πρωταρχική θέση κατέχει το όραμα της ηλεκτρονικής διακυβέρνησης τόσο σε εθνικό επίπεδο όσο και σε επίπεδο Ευρωπαϊκής Ένωσης. Ωστόσο, η ετερογένεια που χαρακτηρίζει τη δημόσια διοίκηση σε επίπεδο πληροφοριακών συστημάτων έχει ως αποτέλεσμα τη δυσχέρεια επικοινωνίας και αλληλεπίδρασης των δημόσιων φορέων. Η έννοια της διαλειτουργικότητας έχει πλέον καθιερωθεί σε όλες τις πολιτικές για την ηλεκτρονική διακυβέρνηση, προκειμένου οι φορείς της δημόσιας διοίκησης να υποστηρίξουν την ηλεκτρονική ανταλλαγή δεδομένων, ως βασική προϋπόθεση της παροχής ηλεκτρονικών δημόσιων υπηρεσιών. Η μελέτη των προτύπων αποθήκευσης και διαχείρισης ηλεκτρονικών εγγράφων που διενεργήθηκε στο πλαίσιο της παρούσας εργασίας, τόσο μέσα από τη βιβλιογραφική επισκόπηση, όσο και μέσα από την ανάπτυξη και πρότυπη εφαρμογή ενός μοντέλου ανταλλαγής ηλεκτρονικών εγγράφων μεταξύ οργανισμών, παρέχει ένα πλαίσιο για τη διαχείριση ηλεκτρονικών εγγράφων στην ελληνική δημόσια διοίκηση. Το μοντέλο που προτείνεται αξιοποιεί τα πλεονεκτήματα που διαθέτει η XML, όπως είναι η ανεξαρτησία της από τις εφαρμογές, η ευελιξία και η προσαρμοστικότητα που τη χαρακτηρίζει, καθώς και οι δυνατότητες μετασχηματισμών που υποστηρίζουν οι τεχνολογίες XSLT, XSL FO. Με τη χρήση των προτύπων XML (XML Schema, XSLT, XSL-FO), το μοντέλο συνιστά μία λύση στο επίπεδο της τεχνικής συντακτικής διαλειτουργικότητας μεταξύ δημόσιων οργανισμών, υποστηρίζοντας τη δημιουργία, αποθήκευση και ανταλλαγή έγκυρων XML εγγράφων, καθώς και μετασχηματισμούς του περιεχομένου, της δομής και του τρόπου παρουσίασής τους, ανάλογα με τον παραλήπτη και τις ανάγκες αυτού σε ό,τι αφορά τη φύση της πληροφορίας στην οποία χρειάζεται να έχει πρόσβαση. Το επίπεδο στο οποίο αναπτύσσεται και υλοποιείται το μοντέλο ανταλλαγής ηλεκτρoνικών εγγράφων, έχει τη δυνατότητα να επεκταθεί σε ένα ανώτερο επίπεδο, με την προσθήκη των σύγχρονων τεχνολογιών του σημασιολογικού ιστού, όπως είναι τα πλαίσια RDF, RDF Schema και οι οντολογίες, προκειμένου να διευκολυνθεί η υλοποίηση των μετασχηματισμών XSLT και να καλυφθεί η έλλειψη σημασιολογικού περιεχομένου που χαρακτηρίζει την XML, συνιστώντας έτσι και λύση στο επίπεδο της σημασιολογικής διαλειτουργικότητας στο πλαίσιο της ηλεκτρονικής διακυβέρνησης. 1

3 EXECUTIVE SUMMARY The need for improvement of the quality of public services towards the citizens and the enterprises sets the framework of the electronic government, which is of great importance both at national and at European Union level. Nevertheless, the heterogeneity of the information systems within the Public Administration, leads to a lack of effective communication and interaction of the public agencies. The concept of interoperability has been well established in all policies concerning the electronic governance, aiming to support the electronic data interchange, within the context of electronic public services. Studying the standards of storing and managing electronic documents, within the framework of this project, through a bibliographical review along with the development and implementation of a model for electronic document interchange between organizations, provides some principles of managing electronic documents within the Greek Public Administrations. The model proposed utilises the advantages of XML, such as its independency of applications, flexibility and adaptability, as well as capabilities of transformations supported by XSLT and XSL FO. Using the standards provided by XML (XML Schema, XSLT, XSL-FO), the model constitutes a solution at the level of technical syntactic interoperability, as it supports the creation, storage and interchange of valid XML documents, as well as transformations of their contect, structure and way of presentation, accordingly to the receiver of each document and the need of access to certain kinds of information. The level of the model could be extended to a higher level, by introducing the modern technologies of the semantic web, such as RDF, RDF Schema and ontologies, in order to facilitate the implementation of XSLTs and cover the lack of semantics which characterizes XML. In this way, the model will be able to provide a solution at the level of semantic interoperability within the framework of the electronic government. Keywords: electronic document interchange, interoperability, public administration, XML, XSLT Λέξεις κλειδιά: ανταλλαγή ηλεκτρονικών εγγράφων, διαλειτουργικότητα, δημόσια διοίκηση, XML, XSLT 2

4 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΕΠΙΤΕΛΙΚΗ ΣΥΝΟΨΗ... 1 EXECUTIVE SUMMARY... 2 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ... 3 ΕΙΣΑΓΩΓΗ... 6 ΚΕΦΑΛΑΙΟ 1. ΔΙΑΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑ ΣΤΟ ΠΛΑΙΣΙΟ ΤΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΥΒΕΡΝΗΣΗΣ Εισαγωγή Ανταλλαγή εγγράφων στη Δημόσια Διοίκηση Υφιστάμενη Κατάσταση Ευρωπαϊκή Ένωση Τα Προγράμματα IDA, IDA II και IDABC Το Ευρωπαϊκό Πλαίσιο Διαλειτουργικότητας Ελληνική Δημόσια Διοίκηση Το Πλαίσιο Διαλειτουργικότητας & Υπηρεσιών Ηλεκτρονικών Συναλλαγών ΚΕΦΑΛΑΙΟ 2. ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΠΡΟΤΥΠΩΝ ΑΝΤΑΛΛΑΓΗΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΓΓΡΑΦΩΝ Electronic Data Interchange (EDI) Εισαγωγή Τα Πρότυπα EDI Τα συστατικά των προτύπων EDI Η σειρά προτύπων X Τα πρότυπα EDIFACT Η σχέση ανάμεσα στα πρότυπα X12 και EDIFACT Υποδομή Υλοποίησης ενός EDI Συστήματος Αξιολόγηση του EDI Extensible Markup Language (XML) Εισαγωγή Οι τρεις πυλώνες της XML Η Σύνταξη της XML Η δομή ενός XML Εγγράφου Επικύρωση των XML Εγγράφων Document Type Definitions (DTDs) XML Schemas Παρουσίαση XML Εγγράφων Cascading Style Sheets (CSS) Extensible Stylesheet Language (XSL) Επεξεργασία XML Εγγράφων Document Object Model (DOM) Simple API for XML (SAX)

5 2.2.8 Αξιολόγηση της XML Νεότερα Πρότυπα Ανταλλαγής Επιχειρηματικών Εγγράφων XML/EDI EbXML XBRL RosettaNet UN/CEFACT Οι Τεχνολογίες του Σημασιολογικού Ιστού Resource Description Framework (RDF) Οντολογίες Προϊόντα Λογισμικού Εφαρμογές σε Χρηματοδοτούμενα Έργα R4EGOV ESTRELLA ABILITIES Ανακεφαλαίωση και Γραφική Αναπαράσταση Θεωρητικού Αντικειμένου ΚΕΦΑΛΑΙΟ 3. ΜΟΝΤΕΛΟ ΑΝΤΑΛΛΑΓΗΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΓΓΡΑΦΩΝ ΜΕΤΑΞΥ ΟΡΓΑΝΙΣΜΩΝ Αρχιτεκτονική Δυνατότητα Μελλοντικής Επέκτασης ΚΕΦΑΛΑΙΟ 4. ΠΡΟΤΥΠΗ ΕΦΑΡΜΟΓΗ ΤΟΥ ΜΟΝΤΕΛΟΥ Σχεδίαση Εφαρμογών Εφαρμογή Υποβολής Φορολογικής Δήλωσης Σκοπός Μοντέλο Δεδομένων XML Schema και XML Instance Εφαρμογή Εμφάνισης Στοιχείων Εισοδήματος Σκοπός Μοντέλο Δεδομένων XML Schema και XML Instance Εφαρμογή Εμφάνισης Στοιχείων Ακινήτων Σκοπός Μοντέλο Δεδομένων XML Schema και XML Instance Μετασχηματισμοί XSL Μετασχηματισμός Αρχείου Φορολογούμενου σε Αρχείο Εισοδήματος Μετασχηματισμός Αρχείου Φορολογούμενου σε Αρχείο Ακινήτων Μετασχηματισμός Αρχείου Εισοδήματος σε Αρχείο PDF Περιβάλλον Ανάπτυξης Συμπληρωματικές Τεχνολογίες που Χρησιμοποιήθηκαν Apache Xerces

6 4.3.2 Apache Xalan Apache FOP jpdfprint ΚΕΦΑΛΑΙΟ 5. ΣΕΝΑΡΙΑ ΕΚΤΕΛΕΣΗΣ ΕΦΑΡΜΟΓΩΝ Εφαρμογή Υποβολής Φορολογικής Δήλωσης Εισαγωγή Στοιχείων Φορολογούμενου Εισαγωγή Στοιχείων Εισοδήματος Εισαγωγή Στοιχείων Ακινήτων Δημιουργία XML Αρχείων Ανάκτηση XML Αρχείου Εισοδήματος Εφαρμογή Εμφάνισης Στοιχείων Εισοδήματος Εμφάνιση Στοιχείων Φορολογούμενου Εμφάνιση Αποτελέσματος Εκκαθάρισης Αποθήκευση XML Αρχείου Εισοδήματος σε PDF Εκτύπωση Αρχείου Εισοδήματος Εφαρμογή Εμφάνισης Στοιχείων Ακινήτων ΚΕΦΑΛΑΙΟ 6. ΑΝΑΚΕΦΑΛΑΙΩΣΗ - ΣΥΜΠΕΡΑΣΜΑΤΑ ΒΙΒΛΙΟΓΡΑΦΙΑ Α. Ξενόγλωσση Βιβλιογραφία Β. Ελληνική Βιβλιογραφία Γ. Διαδικτυακοί Τόποι ΠΑΡΑΡΤΗΜΑTA

7 ΕΙΣΑΓΩΓΗ Σκοπός της παρούσας εργασίας είναι η μελέτη των προτύπων αποθήκευσης και διαχείρισης ηλεκτρονικών εγγράφων και η ανάπτυξη ενός μοντέλου για τη διαχείριση ηλεκτρονικών εγγράφων με στόχο την επίτευξη διαλειτουργικότητας μεταξύ δημόσιων οργανισμών στο πλαίσιο της ηλεκτρονικής διακυβέρνησης. Για το σκοπό αυτό, η εργασία περιλαμβάνει ένα θεωρητικό μέρος, όπου παρουσιάζονται οι υπάρχουσες ανάγκες και λύσεις και προτείνεται ένα πλαίσιο ανταλλαγής ηλεκτρονικών εγγράφων και ένα πρακτικό, όπου μέσα από μία πρότυπη εφαρμογή, επιχειρείται μια επίδειξη των δυνατοτήτων που προσφέρουν τα πρότυπα διαχείρισης ηλεκτρονικών εγγράφων στην ηλεκτρονική διακυβέρνηση. Το θεωρητικό μέρος της εργασίας αποτελείται από έξι κεφάλαια. Στο Κεφάλαιο 1 γίνεται μία περιγραφή της ανταλλαγής εγγράφων στη Δημόσια Διοίκηση καθώς και αποτύπωση της υφιστάμενης κατάστασης σε ό,τι αφορά τις πολιτικές για επίτευξη διαλειτουργικότητας σε επίπεδο Ευρωπαϊκής Ένωσης και σε εθνικό επίπεδο. Το Κεφάλαιο 2 περιλαμβάνει τη βιβλιογραφική επισκόπηση παλαιότερων και πιο σύγχρονων προτύπων ανταλλαγής ηλεκτρονικών εγγράφων, ξεκινώντας από τα πρότυπα EDI, περνώντας στην XML και καταλήγοντας στις σύγχρονες τεχνολογίες του σημασιολογικού ιστού. Στο Κεφάλαιο 3 παρουσιάζεται το μοντέλο ανταλλαγής ηλεκτρονικών εγγράφων που προτείνεται, το οποίο αναπαριστά τον τρόπο αλληλεπίδρασης δημόσιων οργανισμών με στόχο την επίτευξη διαλειτουργικότητας. Το μοντέλο αυτό υλοποιήθηκε με την ανάπτυξη πρότυπης εφαρμογής που αποτελείται από τρεις επιμέρους εφαρμογές οι οποίες υπστηρίζουν δημιουργία, αποθήκευση, και μετασχηματισμούς XML εγγράφων. Στο Κεφάλαιο 4 αναλύεται η σχεδίαση αυτών των εφαρμογών, με περιγραφή του σκοπού, του μοντέλου δεδομένων και των XML Schemas που ακολουθούν. Στο Κεφάλαιο 5, περιγράφονται τα σενάρια εκτέλεσης των εφαρμογών με παρουσίαση όλων των δυνατότητων που παρέχουν στους χρήστες, ενώ τέλος στο Κεφάλαιο 6 πραγματοποιείται μία ανακεφαλαίωση της εργασίας και παρατίθενται τα συμπεράσματα που προέκυψαν από την υλοποίηση της εργασίας. 6

8 ΚΕΦΑΛΑΙΟ 1. ΔΙΑΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑ ΣΤΟ ΠΛΑΙΣΙΟ ΤΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΥΒΕΡΝΗΣΗΣ 1.1 Εισαγωγή Η παγκοσμιοποίηση των δικτύων επικοινωνίας και οι δυνατότητες που προσφέρονται από τις Τεχνολογίες Πληροφορικής και Επικοινωνιών (ΤΠΕ), μεταβάλλουν σημαντικά τη λειτουργία και τις υπηρεσίες του δημοσίου τομέα. Η ηλεκτρονική διακυβέρνηση έχει πλέον ενσωματωθεί στις πολιτικές και τα προγράμματα των διοικήσεων σε όλα τα επίπεδα: τοπικό, περιφερειακό, εθνικό, ευρωπαϊκό. Σε ευρωπαϊκό επίπεδο, τα σχέδια eeurope 2005 και i2010 δίνουν έμφαση στη σημασία της ηλεκτρονικής διακυβέρνησης και επιτάσσουν γρήγορες αλλαγές. Σε εθνικό επίπεδο, υπάρχει η απαίτηση παροχής ηλεκτρονικών δημόσιων υπηρεσιών σύμφωνα με τις ανάγκες των πολιτών [1]. Ωστόσο, οι δυνατότητες των ΤΠΕ δημιουργούν και μεγάλες προκλήσεις. Σε πολυπολιτισμικά περιβάλλοντα, όπως η Ευρωπαϊκή Ένωση, η δημόσια διοίκηση συνιστά ένα πολύπλοκο δίκτυο που απαρτίζεται από οργανισμούς, ανθρώπους, πληροφοριακά συστήματα, δομές πληροφοριών, κανόνες, διαδικασίες και πρακτικές. Η αποτελεσματική αξιοποίηση των ΤΠΕ προϋποθέτει την ύπαρξη ρητών κανόνων για την επικοινωνία και μέσων για την ενοποίηση ετερογενών συστημάτων και πληροφοριακών πόρων. Η ευέλικτη ανταλλαγή δεδομένων αποτελεί μία ιδιαίτερα σημαντική παράμετρο στο πλαίσιο των σύγχρονων παγκόσμιων και τοπικών δικτύων που διασυνδέουν ετερογενή συστήματα, πηγές δεδομένων και οργανισμούς. Παράλληλα με την επέκταση της Ευρωπαϊκής Ένωσης, η ανάγκη ενοποίησης των πηγών πληροφοριών που είναι γραμμένες σε διάφορες ευρωπαϊκές γλώσσες είναι περισσότερο ορατή παρά ποτέ, ενώ επιτακτική είναι και η ανάγκη βελτίωσης της ανταλλαγής δεδομένων μεταξύ οργανισμών των κρατών-μελών της ΕΕ [2]. 1.2 Ανταλλαγή εγγράφων στη Δημόσια Διοίκηση Η επικοινωνία ανάμεσα στη δημόσια διοίκηση γενικά και τους πολίτες / επιχειρήσεις, αλλά και ανάμεσα στους φορείς της δημόσιας διοίκησης, είναι συχνά βασισμένη σε έγγραφα. Επιπρόσθετα, η δημόσια διοίκηση έχει την υποχρέωση να 7

9 διατηρεί αρχείο για μελλοντική χρήση, συνεπώς θα πρέπει να διασφαλίζεται η πρόσβαση στις πληροφορίες των εγγράφων για μία μεγάλη χρονική περίοδο. Τα παραδοσιακά προβλήματα που συνδέονται με τη διαχείριση και ανταλλαγή των εγγράφων σε έντυπη μορφή, είναι η δύσκολη πρόσβαση στο περιεχόμενό τους εξαιτίας του τεράστιου όγκου του αρχείου, η δυσκολία παρακολούθησης των αλλαγών, και ασφαλώς η χρονοβόρα ανταλλαγή πληροφοριών με χρήση των παραδοσιακών μέσων, όπως το ταχυδρομείο, το fax κλπ. Καθίσταται αντιληπτό ότι σε ένα ταχέως μεταβαλλόμενο και ανταγωνιστικό περιβάλλον, η εν λόγω προσέγγιση θα πρέπει να αναθεωρηθεί, προκειμένου η επικοινωνία στο πλαίσιο της δημόσιας διοίκησης να γίνει πιο ευέλικτη, αποτελεσματική και αποδοτική. Τα τελευταία χρόνια, με την εισαγωγή των ΤΠΕ στο χώρο της δημόσιας διοίκησης, αυξάνεται ολοένα και περισσότερο ο όγκος των ηλεκτρονικών εγγράφων. Η εξασφάλιση της γρήγορης και ασφαλούς διακίνησης της δημόσιας πληροφορίας είναι μία από τις κρίσιμες προτεραιότητες σε ό,τι αφορά τις ψηφιακές συναλλαγές. Ωστόσο, καθίσταται πλέον ως πρωταρχική ανάγκη η καθιέρωση προτύπων που θα καθορίζουν τη δομή και το περιεχόμενο των ηλεκτρονικών εγγράφων, προκειμένου να καταστεί δυνατή η ανταλλαγή εγγράφων που παράγονται από διαφορετικές εφαρμογές. Επίσης, ένα θέμα που τίθεται στο πλαίσιο της ανταλλαγής ηλεκτρονικών εγγράφων στη δημόσια διοίκηση είναι το γεγονός ότι η εμπλοκή διαφορετικών φορέων στην παροχή μίας δημόσιας υπηρεσίας, συνεπάγεται διαφορετικό βαθμό και τρόπο συμμετοχής κάθε φορέα, και συχνά την πρόσβαση σε διαφορετικά μέρη από το σύνολο της πληροφορίας. Άλλωστε η παραγωγή ενδιάμεσων εγγράφων, δηλαδή εγγράφων που χρησιμοποιούνται τελικά μόνο από το φορέα ή τους φορείς που πρόκειται να εκδώσουν το τελικό έγγραφο και όχι από τον ίδιο τον πολίτη, αποτελεί συνηθισμένο φαινόμενο. Επομένως, θα πρέπει να προβλεφθούν μηχανισμοί μέσω των οποίων ένα ηλεκτρονικό έγγραφο θα πρέπει να μετασχηματιστεί σε κάποιο άλλο με διαφορετικό περιεχόμενο, το οποίο για παράδειγμα ενδέχεται να είναι υποσύνολο του πρώτου. Με τον τρόπο αυτό, κάθε δημόσιος φορέας που εμπλέκεται στην υλοποίηση μίας υπηρεσίας, θα διαθέτει πρόσβαση μόνο στις πληροφορίες που τον αφορούν άμεσα, γεγονός που αφενός μπορεί να επιβάλλεται από το νομικό πλαίσιο σε κάποιες περιπτώσεις, αφετέρου απλοποιεί αναμφισβήτητα την ίδια την υπηρεσία. Τέλος, θα πρέπει να ληφθεί σοβαρά υπόψη ο τεράστιος αριθμός πληροφοριακών συστημάτων που αναπτύσσονται καθημερινά για φορείς της δημόσιας διοίκησης, και που συνεπώς οδηγούν σε μεμονωμένες, κατακερματισμένες και δίχως συσχέτιση 8

10 υπολογιστικές εφαρμογές («νησίδες τεχνολογίας») [3]. Για την αντιμετώπιση του φαινομένου αυτού, αναγκαία θεωρείται η υιοθέτηση ενός κοινού πλαισίου αρχών και προδιαγραφών σε οργανωτικό, επιχειρησιακό και τεχνικό επίπεδο, βάσει των οποίων θα αναπτύσσονται τα πληροφοριακά συστήματα, ώστε να υποστηρίζεται η ηλεκτρονική ανταλλαγή δεδομένων. 1.3 Υφιστάμενη Κατάσταση Ευρωπαϊκή Ένωση Ο υψηλός βαθμός ετερογένειας που χαρακτηρίζει σε πολλούς τομείς τη διευρυμένη Ευρωπαϊκή Ένωση (ΕΕ) αποτελεί γεγονός αναμφισβήτητο. Η πλούσια παράδοση και η διαφορετική κοινωνική, οικονομική, πολιτική και πολιτισμική κουλτούρα κάθε λαού, αντικατοπτρίζεται και στα συστήματα διοικήσεων των κρατώνμελών της ΕΕ. Συνεπώς, η ΕΕ απαρτιζόμενη από έναν μεγάλο αριθμό κρατών-μελών, στο σύνολο της παρουσιάζει ετερογένεια στις ακόλουθες διαστάσεις της δημόσιας διοίκησης: Διοικητικές υπηρεσίες, διαδικασίες και υλοποίηση ροών εργασίας Διοικητικές έννοιες, νομικές απαιτήσεις και δικαιώματα προστασίας των δεδομένων Πληροφοριακά συστήματα που χρησιμοποιούνται από τους δημόσιους φορείς Διοικητική κουλτούρα και προσδοκίες των πολιτών από τη δημόσια διοίκηση [4] Σε αυτό το πλαίσιο, οι ευρωπαϊκές δημόσιες διοικήσεις αντιμετωπίζουν τη μεγάλη πρόκληση της υλοποίησης ολοένα και περισσότερων πανευρωπαϊκών υπηρεσιών ηλεκτρονικής διακυβέρνησης, όχι μόνο ως μέρος της διαδικασίας μετασχηματισμού τους με στόχο την εξοικονόμηση κόστους και την αύξηση της αποδοτικότητας, αλλά επίσης εξαιτίας νομικών απαιτήσεων. Η ανταλλαγή δεδομένων αποτελεί μία από τις πιο σημαντικές αναγκαίες προϋποθέσεις για την ανάπτυξη αποτελεσματικών πανευρωπαϊκών υπηρεσιών ηλεκτρονικής διακυβέρνησης. Αυτό οφείλεται στο γεγονός ότι η ανταλλαγή δεδομένων μεταξύ διαφορετικών συστημάτων διευκολύνει την υλοποίηση διασυνοριακών υπηρεσιών ηλεκτρονικής διακυβέρνησης και εφαρμογών στην ΕΕ ή μεταξύ των κρατών μελών της [5]. Επομένως, δεδομένης της ετερογενούς μορφής του δημοσίου τομέα στο πλαίσιο της ΕΕ, μία βασική πρόκληση της ηλεκτρονικής διακυβέρνησης, αποτελεί η επίτευξη 9

11 διαλειτουργικότητας. Προς την κατεύθυνση αυτή, τα τελευταία χρόνια η ΕΕ έχει αναπτύξει ορισμένες πρωτοβουλίες προκειμένου να καταστεί εφικτή η ηλεκτρονική ανταλλαγή πληροφοριών μεταξύ των δημόσιων διοικήσεων των κρατών-μελών που θα συντελέσει προς την πραγματοποίηση του οράματος για ανάπτυξη πανευρωπαϊκών υπηρεσιών ηλεκτρονικής διακυβέρνησης Τα Προγράμματα IDA, IDA II και IDABC Η ανάγκη εύρεσης λύσεων που θα καθιστούσαν δυνατή την ηλεκτρονική ανταλλαγή δεδομένων μεταξύ των δημοσίων διοικήσεων των κρατών-μελών της ΕΕ, οδήγησαν την Ευρωπαϊκή Επιτροπή στην ανάπτυξη του Προγράμματος για την Ανταλλαγή Δεδομένων μεταξύ των Διοικήσεων (Programme for the Interchange of Data between Administrations), του αποκαλούμενου Προγράμματος IDA. Τα πρώτα σημάδια του ενδιαφέροντος για το Πρόγραμμα IDA εντοπίζονται στο 1991, όταν η Ευρωπαϊκή Επιτροπή δημοσίευσε ένα έγγραφο εργασίας στο οποίο επισήμαινε την ανάγκη προαγωγής και συντονισμού της ανταλλαγής πληροφοριών μεταξύ των εθνικών διοικήσεων στο πλαίσιο των δραστηριοτήτων δημιουργίας της Ενιαίας Ευρωπαϊκής Αγοράς. Τελικά, η εφαρμογή του IDA ξεκίνησε το 1995, είχε ισχύ για την περίοδο και ο κύριοςιδρυτικόςτου στόχοςήταν η βελτίωση της τηλεματικής ανταλλαγής πληροφοριών μεταξύ των κρατών-μελών, αλλά και μεταξύ κρατών-μελών και των οργάνων της ΕΕ. Με τη λήξη του πρώτου σταδίου του Προγράμματος, η Επιτροπή προετοίμασε το IDA II για την περίοδο , του οποίου οι στόχοι διαχωρίστηκαν σε δύο μεγάλες κατηγορίες. Η πρώτη κατηγορία στόχων έδινε έμφαση στη συμμετοχή σε έργα κοινού ενδιαφέροντος σχετικά με πανευρωπαϊκά δίκτυα για την ηλεκτρονική ανταλλαγή δεδομένων μεταξύ των δημόσιων διοικήσεων, ενώ η δεύτερη επικεντρώθηκε στην υλοποίηση μίας σειράς μέτρων για τη διασφάλιση της διαλειτουργικότητας των πανευρωπαϊκών τηλεματικών δικτύων. Η ένταξη του Προγράμματος στο πλαίσιο της πρωτοβουλίας e-europe και η αυξανόμενη σημασία της Ηλεκτρονική Διακυβέρνησης για την Ευρωπαϊκή Ένωση, οδήγησαν στην επικέντρωση των δραστηριοτήτων γύρω από τη δεύτερη συνιστώσα του Προγράμματος IDA ΙΙ, δηλαδή στην προαγωγή της διαλειτουργικότητας. Η διαλειτουργικότητα, στο πλαίσιο της Ηλεκτρονικής Διακυβέρνησης, αναδείχθηκε σε ένα ζήτημα στρατηγικής σημασίας και υψηλής προτεραιότητας στο οποίο οι Θεσμοί της Ευρωπαϊκής Ένωσης θα έπρεπε πλέον να δώσουν έμφαση. 10

12 Στο πλαίσιο του Προγράμματος IDA ΙΙ αναπτύχθηκαν ορισμένες οριζόντιες δραστηριότητες, οι σημαντικότερες από τις οποίες είναι οι ακόλουθες [6]: Κατευθυντήριες Γραμμές για την Αρχιτεκτονική Διευρωπαϊκών Τηλεματικών Συστημάτων (Architecture Guidelines for the trans-european Telematic Systems) σε μία προσπάθεια κατάρτισης τεχνικών προτύπων και κατευθυντήριων γραμμών που θα χρησιμοποιούνταν από τους σχεδιαστές τέτοιου τύπου συστημάτων, κυρίως στο πλαίσιο έργων που θα χρηματοδοτούνταν από το Πρόγραμμα. Οι κατευθυντήριες γραμμές περιγράφουν την αρχιτεκτονική που έχει συμφωνηθεί στο πλαίσιο του IDA η οποία επιτρέπει στα διευρωπαϊκά δίκτυα να διαλειτουργούν και επομένως στις δημόσιες διοικήσεις των κρατών μελών να ανταλλάσσουν δεδομένα [7]. Ευρωπαϊκό Πλαίσιο Διαλειτουργικότητας (European Interoperability Framework, EIF) που δημοσιεύθηκε το 2004 και είχε ως στόχο την ανάπτυξη ενός πλαισίου που θα διασφαλίσει τη διαλειτουργικότητα διευρωπαϊκών υπηρεσιών ηλεκτρονικής διακυβέρνησης (βλ ). Το Παρατηρητήριο Ηλεκτρονικής Διακυβέρνησης (egovernment Observatory) που υλοποιήθηκε το 2003 ως ένα εργαλείο πληροφοριών αναφοράς επάνω σε ζητήματα ηλεκτρονικής διακυβέρνησης της Ευρώπης [6]. Το Πρόγραμμα IDABC (Interoperable Delivery of pan-european egovernment Services to Public Administrations, Businesses and Citizens) που αποτελεί το διάδοχο του προγράμματος IDA II για την περίοδο , υιοθετήθηκε με την Απόφαση 2004/387/ΕΚ και δίνει μεγαλύτερη έμφαση στους πολίτες και τις επιχειρήσεις. Το Πρόγραμμα IDABC της Ευρωπαϊκής Επιτροπής αντιμετωπίζει τις προκλήσεις της διαλειτουργικότητας σε όλες της τις διαστάσεις. Η Απόφαση 2004/387/ΕΚ θέτει το πλαίσιο κοινών αρχών και κανόνων σε ανοιχτά πρότυπα και διεπαφές για την υλοποίηση της διαλειτουργικότητας μεταξύ συστημάτων, εφαρμογών, επιχειρησιακών διαδικασιών και δρώντων που παράγουν ή χρησιμοποιούν υπηρεσίες ηλεκτρονικής διακυβέρνησης. Στόχος του προγράμματος IDABC είναι να προσδιορίζει, να υποστηρίζει και να προωθεί τη δημιουργία πανευρωπαϊκών υπηρεσιών ηλεκτρονικής διακυβέρνησης και την ανάπτυξη των συναφών διαλειτουργικών τηλεματικών δικτύων, υποβοηθώντας τα κράτη μέλη και την Κοινότητα να εφαρμόζουν, στους αντίστοιχους τομείς αρμοδιότητάς τους, τις κοινοτικές πολιτικές και δραστηριότητες, ούτως ώστε να 11

13 αποκομίζονται σημαντικά οφέλη για τις δημόσιες διοικήσεις, τις επιχειρήσεις και τους πολίτες.το πρόγραμμα επιδιώκει επίσης: (α) Να καταστήσει δυνατή την αποτελεσματική, αποδοτική και ασφαλή ανταλλαγή πληροφοριών μεταξύ των δημόσιων διοικήσεων σε όλα τα προσήκοντα επίπεδα, καθώς και μεταξύ των εν λόγω δημόσιων διοικήσεων και των κοινοτικών οργάνων ή άλλων φορέων, κατά περίπτωση, (β) να επεκτείνει τα οφέλη της ανταλλαγής πληροφοριών, ούτως ώστε να διευκολύνεται η παροχή υπηρεσιών προς τις επιχειρήσεις και τους πολίτες, λαμβανομένων υπ όψη των αναγκών τους, (γ) να υποστηρίξει την κοινοτική διαδικασία λήψης αποφάσεων και τη διευκόλυνση της επικοινωνίας μεταξύ των κοινοτικών οργάνων με ανάπτυξη του σχετικού στρατηγικού πλαισίου σε πανευρωπαϊκό επίπεδο, (δ) να επιτύχει διαλειτουργικότητα, τόσο εντός όσο και μεταξύ των διαφόρων τομέων πολιτικής και, όπου ενδείκνυται, με τις επιχειρήσεις και τους πολίτες, κυρίως βάσει του EIF, (ε) να συμβάλλει στις προσπάθειες των δημοσίων διοικήσεων των κρατών μελών και της Κοινότητας από απόψεως εκσυγχρονισμού των διαδικασιών, επιτάχυνσης των εφαρμογών, ασφάλειας, αποτελεσματικότητας, διαφάνειας, ανάπτυξης φιλοσοφίας εξυπηρέτησης και ικανότητας ανταπόκρισης στις ανάγκες, (στ) να προωθήσει τη διάδοση ορθών πρακτικών και την ενθάρρυνση της ανάπτυξης καινοτομικών τηλεματικών λύσεων στις δημόσιες διοικήσεις. Ο καθορισμός κανόνων συνεργασίας, συντονισμού διαδικασιών, μορφών και προδιαγραφών μεταξύ συστημάτων απαιτεί μεγάλη προσπάθεια. Ο ρόλος επομένως του IDABC δεν περιορίζεται στη δημιουργία κατευθυντήριων γραμμών, αλλά συνεπάγεται και σχεδιασμό και υλοποίηση υποδομών για την υποστήριξη της διαλειτουργικότητας. Μία από τις ευθύνες του IDABC είναι η ρητή αποστολή να προάγει την επαναχρησιμοποίηση και την εναρμόνιση μορφών δεδομένων στο πλαίσιο της ΕΕ [5]. Έτσι, η ΕΕ σε συνεργασία με τα κράτη-μέλη, υλοποιεί σχέδια κοινού ενδιαφέροντος και λαμβάνει οριζόντια μέτρα προς υποστήριξη αυτών. Τα σχέδια κοινού ενδιαφέροντος και τα οριζόντια μέτρα περιλαμβάνουν όλες τις δράσεις οι οποίες είναι απαραίτητες για τη θέσπιση ή την ενίσχυση πανευρωπαϊκών υπηρεσιών ηλεκτρονικής διακυβέρνησης [31]. 12

14 Το Ευρωπαϊκό Πλαίσιο Διαλειτουργικότητας Η ενίσχυση της ηλεκτρονικής διακυβέρνησης, ως ένας από τους κυρίαρχους στόχους της ΕΕ τα τελευταία χρόνια, έχει αναδείξει τη διαλειτουργικότητα ως μία αρχή για τη σύλληψη και την ανάπτυξη πρωτοβουλιών ηλεκτρονικής διακυβέρνησης. Τα πλαίσια διαλειτουργικότητας αποτελούν το εργαλείο για την υλοποίηση της εν λόγω αρχής. Ένα πλαίσιο διαλειτουργικότητας μπορεί να οριστεί ως ένα σύνολο προτύπων και κατευθυντήριων γραμμών που περιγράφει τον τρόπο στον οποίο οι οργανισμοί θα πρέπει να συμφωνήσουν να αλληλεπιδρούν. Η Ευρωπαϊκή Επιτροπή δημοσίευσε το 2004 το Ευρωπαϊκό Πλαίσιο Διαλειτουργικότητας (European Interoperability Framework, EIF), το οποίο καθορίζει ένα σύνολο συστάσεων και κατευθυντήριων γραμμών για τις υπηρεσίες ηλεκτρονικής διακυβέρνησης, ώστε οι δημόσιες διοικήσεις, οι επιχειρήσεις και οι πολίτες να μπορούν να αλληλεπιδρούν πέρα από τα σύνορα των χωρών, σε ένα πανευρωπαϊκό περιβάλλον. Οι στόχοι του EIF είναι οι ακόλουθοι: Η υποστήριξη της στρατηγικής της ΕΕ για την παροχή ηλεκτρονικών υπηρεσιών προσανατολισμένων στο χρήστη μέσα από τη διευκόλυνση της διαλειτουργικότητας υπηρεσιών και συστημάτων μεταξύ των δημοσίων διοικήσεων, αλλά και μεταξύ κοινού (πολιτών και επιχειρήσεων) και δημοσίων διοικήσεων σε πανευρωπαϊκό επίπεδο. Η συμπλήρωση των εθνικών προτύπων διαλειτουργικότητας σε περιοχές που δεν μπορούν να αντιμετωπιστούν με μία καθαρά εθνική λογική. Η επίτευξη διαλειτουργικότητας τόσο εντός όσο και μεταξύ διαφορετικών τομένων πολιτικής, ιδιαίτερα στο πλαίσιο του προγράμματος IDABC και άλλων σχετικών προγραμμάτων της ΕΕ. Το EIF δείχνει τον τρόπο με τον οποίο θα πρέπει να συσχετιστούν τα συστήματα των δημοσίων διοικήσεων της Ευρώπης, προκειμένου να εξυπηρετούν, να συμπληρώνουν και να εμπλουτίζουν το ένα το άλλο, με στόχο την παροχή πανευρωπαϊκών υπηρεσιών ηλεκτρονικής διακυβέρνησης. Σύμφωνα με το EIF, «ως διαλειτουργικότητα ορίζεται «η ικανότητα των συστημάτων πληροφορικής και επικοινωνιών και των επιχειρησιακών διαδικασιών που υποστηρίζονται από αυτά να ανταλλάσσουν δεδομένα και να μοιράζονται πληροφορία και γνώση». Το EIF ορίζει τρεις διαστάσεις διαλειτουργικότητας: την Οργανωσιακή Διαλειτουργικότητα, η οποία αναφέρεται στον καθορισμό επιχειρησιακών στόχων, τη μοντελοποίηση διαδικασιών και την επίτευξη 13

15 συνεργασίας των φορέων που επιδιώκουν ανταλλαγή πληροφοριών και ίσως έχουν διαφορετικές εσωτερικές δομές και διαδικασίες. Επιπλέον στοχεύει στην ικανοποίηση των απαιτήσεων της κοινότητας των χρηστών προσφέροντας υπηρεσίες αναγνωρίσιμες, προσβάσιμες και επικεντρωμένες στις ανάγκες του χρήστη. τη Σημασιολογική Διαλειτουργικότητα, η οποία επιδιώκει να διασφαλίσει ότι η ακριβής έννοια/σημασία των ανταλλασσόμενων πληροφοριών είναι κατανοητή από οποιαδήποτε εφαρμογή. Η επίτευξη διαλειτουργικότητας σε σημασιολογικό επίπεδο επιτρέπει στα συστήματα να συνδυάζουν τις πληροφορίες με εκείνες από άλλες πηγές και να τις επεξεργάζονται αποτελεσματικά. την Τεχνική Διαλειτουργικότητα, η οποία καλύπτει τα τεχνικά ζητήματα διασύνδεσης υπολογιστικών συστημάτων και υπηρεσιών. Περιλαμβάνει παραμέτρους όπως οι ανοιχτές διεπαφές, υπηρεσίες διασύνδεσης, ενοποίηση, παρουσίαση και ανταλλαγή δεδομένων, προσβασιμότητα και υπηρεσίες ασφάλειας. Σε ό,τι αφορά την οργανωσιακή διαλειτουργικότητα, το EIF προβλέπει ότι οι απαιτήσεις για τις πανευρωπαϊκές υπηρεσίες ηλεκτρονικής διακυβέρνησης θα πρέπει να αποφασιστούν από κοινού και να τεθούν σε προτεραιότητα οι υπηρεσίες που θα πρέπει να παρέχονται σε πανευρωπαϊκό επίπεδο. Επίσης, οι δημόσιες διοικήσεις που επιδιώκουν να καθιερώσουν υπηρεσίες ηλεκτρονικής διακυβέρνησης με πανευρωπαϊκή διάσταση θα πρέπει να αναλύσουν τις σχετικές επιχειρησιακής διαδικασίες και τους δρώντες που εμπλέκονται. Θα πρέπει να συμφωνήσουν σε Διεπαφές Επιχειρησιακής Διαλειτουργικότητας (Business Interoperability Interfaces, BII), μέσω των οποίων οι επιχειρησιακές τους διαδικασίες θα διαλειτουργούν σε πανευρωπαϊκό επίπεδο. Στο πλαίσιο της σημασιολογικής διαλειτουργικότητας, οι φορείς που συνεργάζονται θα πρέπει να κατανοούν με τον ίδιο τρόπο την ερμηνεία των δεδομένων που ανταλλάσσονται. Το πέρασμα από την απλή παρουσίαση πληροφορίας στην ανταλλαγή, στο συνδυασμό με άλλες πηγές πληροφοριών και στην επεξεργασία αυτής από τα υπολογιστικά προγράμματα, απαιτεί την ύπαρξη συμφωνίας σε ένα ευρύ φάσμα ζητημάτων που σχετίζονται με το περιβάλλον στο οποίο δημιουργείται και χρησιμοποιείται η πληροφορία. Ο στόχος της σημασιολογικής διαλειτουργικότητας είναι να επιτρέψει στην πληροφορία να γίνεται αυτόματα κατανοητή και επομένως 14

16 επαναχρησιμοποιήσιμη από εφαρμογές που δεν εμπλέκονταν κατά τη δημιουργία της πληροφορίας αυτής. Τέλος, σε ό,τι αφορά την τεχνική διαλειτουργικότητα, το EIF προβλέπει ότι σε επίπεδο front-office η τεχνική διαλειτουργικότητα αφορά στην παρουσίαση και ανταλλαγή δεδομένων, στην προσβασιμότητα και τις σχεδιαστικές αρχές των διεπαφών, στην πολυκαναλική πρόσβαση, στα σύνολα χαρακτήρων, στους τύπους και τη συμπίεση των αρχείων και στις μορφές εγγράφων. Σε επίπεδο back-office η τεχνική διαλειτουργικότητα αφορά στην ενοποίηση δεδομένων και λογισμικού, σε πρότυπα που βασίζονται σε EDI, XML, σε υπηρεσίες ιστού και διασύνδεσης, σε πρωτόκολλα μεταφοράς αρχείων και μηνυμάτων, στην μεταφορά και ασφάλεια των μηνυμάτων [8]. Στο διάστημα που μεσολάβησε από το 2004 και την πρώτη έκδοση του EIF, έχουν εκτιμηθεί και επιπρόσθετες παράμετροι της διαλειτουργικότητας, πέρα από την ικανότητα των συστημάτων πληροφορικής και επικοινωνιών να ανταλλάσσουν δεδομένα. Στο πλαίσιο του EIF 2.0, το οποίο δεν έχει εκδοθεί επίσημα ακόμη, παρουσιάζεται μία πιο γενική θεώρηση της διαλειτουργικότητας, ως η ικανότητα διαφορετικών οργανισμών και συστημάτων να εργάζονται μαζί αποτελεσματικά προς την κατεύθυνση κοινών στόχων. Στο περιβάλλον της ΕΕ και υπό το πρίσμα του EIF ο τομέας της κοινής εργασίας περιλαμβάνει την παροχή υπηρεσιών ηλεκτρονικής διακυβέρνησης με διασυνοριακή διάσταση (Pan-European e-government Services, PEGS). Στην πιο γενική περίπτωση, προκειμένου να καταστεί αποτελεσματική και αποδοτική η κοινή εργασία, τα διαφορετικά συστήματα και οι οργανισμοί θα πρέπει να ανταλλάσσουν δεδομένα με κοινά συμφωνημένες φόρμες και με βάση κοινά συμφωνημένα πρωτόκολλα. Το γεγονός αυτό συνεπάγεται ως ένα βαθμό την ενοποίηση των επιχειρησιακών διαδικασιών ή τη θεώρηση αυτών των διαδικασιών ως ένα μέρος της διαλειτουργικότητας σε επίπεδο ΕΕ. Σύμφωνα με αυτές τις παρατηρήσεις, «ως διαλειτουργικότητα ορίζεται η ικανότητα διαφορετικών οργανισμών να αλληλεπιδρούν προς την κατεύθυνση κοινά συμφωνημένων στόχων, η οποία περιλαμβάνει το διαμοιρασμό πληροφορίας και γνώσης μεταξύ των οργανισμών μέσω των επιχειρησιακών διαδικασιών που υποστηρίζουν, με μέσα ανταλλαγής δεδομένων μεταξύ των αντίστοιχων συστημάτων πληροφορικής και επικοινωνιών». Η νέα θεώρηση της διαλειτουργικότητας στο EIF 2.0 εισάγει και δύο νέα επίπεδα διαλειτουργικότητας: την πολιτική και τη νομική διαλειτουργικότητα. Έτσι, πλέον 15

17 θεωρείται σημαντικό πριν από την καθιέρωση δημοσίων υπηρεσιών με διασυνοριακή διάσταση, τόσο το πολιτικό περιβάλλον όσο και το νομικό πλαίσιο θα πρέπει να παρέχουν την κατάλληλη υποστήριξη. Επομένως σε πολιτικό επίπεδο θα πρέπει να υπάρχουν κοινά οράματα, καθώς και συντονισμός και συγχρονισμός των αλλαγών που πρόκειται να λάβουν χώρα, ενώ σε νομικό επίπεδο θα πρέπει να υπάρχει συγχρονισμός της νομοθεσίας των κρατών-μελών έτσι ώστε τα ηλεκτρονικά δεδομένα που προέρχονται από οποιοδήποτε κράτος-μέλος να έχουν την αντίστοιχη νομική αναγνώριση για να χρησιμοποιηθούν και στα υπόλοιπα κράτη-μέλη [9] Ελληνική Δημόσια Διοίκηση Η Ελλάδα, ως μέλος της ΕΕ, εντάσσεται στο πλαίσιο που περιγράφηκε παραπάνω και συνεπώς έχει ως στόχο την επίτευξη ηλεκτρονικής διακυβέρνησης μέσα από την παροχή ολοκληρωμένων ηλεκτρονικών υπηρεσιών, υπηρεσιών δηλαδή που περιλαμβάνουν πλήρη κύκλο ηλεκτρονικών συναλλαγών, χωρίς την ανάγκη επιπλέον ενεργειών από τον πολίτη. Επομένως, οι τεχνολογικές υποδομές της δημόσιας διοίκησης (εξοπλισμός, λογισμικό, δικτύωση) θα πρέπει να παράγουν ενιαίες, ανοικτές και απλές ηλεκτρονικές υπηρεσίες. Οι υπηρεσίες αυτές, πολλές φορές απαιτούν τη διασύνδεση και τη συνέργια περισσότερων δημόσιων φορέων, που ανήκουν όχι απαραίτητα στο κεντρικό επίπεδο διοίκησης, αλλά και στην περιφερειακή διοίκηση ή τοπική αυτοδιοίκηση. Πράγματι, οι ανάγκες των πολιτών σε πολλές περιπτώσεις μπορούν να ικανοποιηθούν μόνο με τη συγκέντρωση πληροφοριών και/ή υπηρεσιών που παρέχονται από διαφορετικούς δημόσιους φορείς. Επιπρόσθετα, η τοποθέτηση των πολιτών στο επίκεντρο των υπηρεσιών συνεπάγεται την παροχή μίας υπηρεσίας μέσα από πολλαπλά κανάλια επικοινωνίας. Η σχεδίαση υπηρεσιών με βάση το αποτέλεσμα ή καλύτερα σύμφωνα με τις ανάγκες των πολιτών προϋποθέτει την συνεργασία των δημοσίων φορέων και συνεπώς την αλλαγή του τρόπου λειτουργίας του δημοσίου τομέα συνολικά [1]. Ειδικότερα, για να ικανοποιηθούν οι απαιτήσεις των χρηστών από τις ηλεκτρονικές υπηρεσίες που παρέχουν οι φορείς της Δημόσιας Διοίκησης, είναι φανερό ότι οι υπηρεσίες θα πρέπει να παρέχονται από ένα πληροφοριακό σύστημα που υπερβαίνει τα όρια ενός φορέα. Το σύστημα αυτό θα πρέπει να μπορεί να συνδυάζει περιεχόμενο και λειτουργίες από τις επιμέρους διαδικτυακές υπηρεσίες των εμπλεκόμενων φορέων. Ωστόσο, για να επιτευχθεί η δυναμική σύνθεση ετερογενών 16

18 δεδομένων, λειτουργιών και υπηρεσιών που προέρχονται από διαφορετικούς Φορείς της Δημόσιας Διοίκησης και να καταστεί εφικτή η διάθεσή τους στους ενδιαφερόμενους, απαιτείται η ολοκλήρωση και η διαλειτουργικότητα όλων των εμπλεκόμενων πληροφοριακών συστημάτων, τα οποία εκτελούν τμήματα των διαφορετικών αυτών λειτουργιών, δεδομένου ότι μια συναλλαγή σε ένα δημόσιο οργανισμό μπορεί να οδηγήσει ή/και να απαιτεί αυτόματους ελέγχους στα δεδομένα άλλων οργανισμών [32]. Η αντιμετώπιση όλων των εμποδίων προς την επίτευξη διαλειτουργικότητας αποτελεί μία σημαντική εργασία. Ακόμη και αν το νομικό πλαίσιο δε δημιουργεί εμπόδια, η καθιέρωση των κατάλληλων ενδο- και δι-οργανωσιακών ροών εργασίας δεν είναι αμελητέα εργασία. Σε ένα ανώτερο επίπεδο, οι φορείς που συνεργάζονται θα πρέπει να κατανοούν με τον ίδιο τρόπο την ερμηνεία των δεδομένων που ανταλλάσσονται. Τέλος, η αυτόματη ανταλλαγή δεδομένων θα πρέπει να καταστεί τεχνικά εφικτή, ακόμη και στις περιπτώσεις που οι συμμετέχοντες φορείς διαθέτουν διαφορετικά πληροφοριακά συστήματα [1]. Στο πεδίο της διαλειτουργικότητας, η ελληνική δημόσια διοίκηση έχει πραγματοποιήσει ορισμένα βήματα, ωστόσο απαιτείται ακόμη μεγάλη προσπάθεια. Πιο συγκεκριμένα, μέχρι πριν από μερικά χρόνια, οι υπηρεσίες που παρείχαν οι φορείς της ελληνικής δημόσιας διοίκησης σε πολίτες και επιχειρήσεις σχεδιάζονταν με τέτοιο τρόπο ώστε να εξυπηρετούν κατά πρώτο λόγο τις ανάγκες των ίδιων των φορέων. Με την ίδια λογική σχεδιάστηκαν και αναπτύχθηκαν πολλά πληροφοριακά συστήματα για την υποστήριξη αυτών των υπηρεσιών. Ειδικά στην περίπτωση των πληροφοριακών συστημάτων, η στρατηγική, οι βασικές αρχές και τα πρότυπα σχεδιασμού και ανάπτυξής τους δεν ακολουθούσαν ένα κοινό σύνολο προδιαγραφών ως αποτέλεσμα ενός κεντρικού σχεδιασμού, συντονισμού και βελτιστοποίησης των διαδικασιών που άπτονται της εισαγωγής και αξιοποίησης ΤΠΕ στο δημόσιο τομέα. Κάθε φορέας σχεδίαζε δηλαδή τις δικές του παρεμβάσεις σε επίπεδο ΤΠΕ, οι οποίες στις περισσότερες περιπτώσεις δεν λάμβαναν υπόψη τις ανάγκες των τελικών αποδεκτών των υπηρεσιών ούτε τις ανάγκες επικοινωνίας, συνεργασίας και ανταλλαγής δεδομένων με άλλους φορείς της δημόσιας διοίκησης για την παροχή ολοκληρωμένων υπηρεσιών προς τους τελικούς αποδέκτες [32]. Σύμφωνα με τις ανωτέρω παρατηρήσεις, προκύπτει το συμπέρασμα ότι η αρχιτεκτονική των ΤΠΕ που έχει αναπτυχθεί στην ελληνική δημόσια διοίκηση έχει οργανωθεί κάθετα γύρω από τους δημόσιους φορείς και δεν διαθέτει, εκτός από 17

19 ελάχιστες περιπτώσεις, οριζόντια λειτουργικότητα. Το αποτέλεσμα αυτού είναι ότι υπάρχει ένας μεγάλος αριθμός ετερογενών πληροφοριακών συστημάτων, με τρόπο που δεν είναι δυνατή η επικοινωνία αυτών, σε περίπτωση που απαιτείται να διαλειτουργήσουν στο πλαίσιο μίας ενιαίας δημόσιας υπηρεσίας. Ένα από τα βήματα που έχουν υλοποιηθεί για την επίτευξη διαλειτουργικότητας, σε συμφωνία και με το Ευρωπαϊκό Πλαίσιο Διαλειτουργικότητας (EIF) που αναλύθηκε παραπάνω, είναι η κατάρτιση του ελληνικού Πλαισίου Διαλειτουργικότητας το οποίο αποτελεί μέρος του έργου: «Ελληνικό Πλαίσιο Παροχής Υπηρεσιών Ηλεκτρονικής Διακυβέρνησης και Πρότυπα Διαλειτουργικότητας» Το Πλαίσιο Διαλειτουργικότητας & Υπηρεσιών Ηλεκτρονικών Συναλλαγών Το Πλαίσιο Διαλειτουργικότητας & Υπηρεσιών Ηλεκτρονικών Συναλλαγών επιχειρεί να δώσει λύσεις στις ελλείψεις και αδυναμίες της ελληνικής δημόσιας διοίκησης στο πεδίο της διαλειτουργικότητας, καθορίζοντας κοινά πρότυπα και προδιαγραφές για το σχεδιασμό και ανάπτυξη των πληροφοριακών συστημάτων των φορέων της δημόσιας διοίκησης, τα οποία υποστηρίζουν την παροχή ηλεκτρονικών υπηρεσιών προς φορείς, επιχειρήσεις και πολίτες και τη μεταξύ τους διαλειτουργικότητα. Επίσης, το Πλαίσιο δεν παραβλέπει να καθορίσει τις γενικές αρχές που πρέπει να ακολουθούν οι φορείς σε οργανωτικό και επιχειρησιακό επίπεδο, προκειμένου να είναι σε θέση να συνεργάζονται και να ανταλλάσσουν έγγραφα/ στοιχεία με άλλους φορείς για την παροχή τελικών υπηρεσιών σε πολίτες/ επιχειρήσεις. Το Πλαίσιο βρίσκεται σε αρμονία και με το EIF, συνεπώς αναγνωρίζει τις τρεις διαστάσεις διαλειτουργικότητας που προαναφέρθηκαν: οργανωτική, σημασιολογική και τεχνική. Η επίτευξη διαλειτουργικότητας στη Δημόσια Διοίκηση ξεκινά με την αναγνώριση των απαραίτητων διεπαφών για την ολοκλήρωση των διαδικασιών του Δημοσίου Τομέα σε επιχειρησιακό και οργανωτικό επίπεδο. Σκοπός της οργανωτικής και επιχειρησιακής διάστασης της διαλειτουργικότητας είναι ο καθορισμός των κατευθύνσεων που καλείται να υπερασπιστεί ο επιχειρησιακός σχεδιασμός της ηλεκτρονικής διακυβέρνησης, η μοντελοποίηση των επιχειρησιακών διαδικασιών και η αναγνώριση των απαιτήσεων για τη συνεργασία μεταξύ των Φορέων, οι οποίοι καλούνται να προσαρμόσουν τα συστήματα και τις διαδικασίες τους ώστε να επιτευχθεί η ομαλή ανταλλαγή πληροφοριών. 18

20 Το πρόβλημα της σημασιολογικής ετερογένειας, από το οποίο πηγάζει η ανάγκη για σημασιολογική διαλειτουργικότητα, εντοπίζεται στην ανάγκη για την κοινή συμφωνία οργανισμών, διαδικασιών και συστημάτων γύρω από τα δεδομένα που αυτά διαχειρίζονται, καθώς και τη σημασία τους για κάθε συμμετέχοντα. Το πρόβλημα της σημασιολογικής ετερογένειας παράγεται από τις σημασιολογικές αντιθέσεις, οι οποίες προκύπτουν όταν η σημασία των δεδομένων και της πληροφορίας μπορεί να εκφραστεί με διαφορετικούς τρόπους και ερμηνείες. Ακόμα και όταν το σύνολο των φορέων της Δημόσιας Διοίκησης χρησιμοποιούν έναν κοινό τρόπο αναπαράστασης των δεδομένων τους ώστε η ανταλλαγή αυτών ανάμεσά τους να είναι τεχνολογικά εφικτή, δεν είναι πάντοτε εξασφαλισμένο ότι οι διαφορετικοί φορείς θα αντιλαμβάνονται το νόημα των δεδομένων αυτών με τον ίδιο τρόπο. Το πρόβλημα επομένως της επίτευξης σημασιολογικής διαλειτουργικότητας μεταξύ των φορέων αφορά στη διασφάλιση ότι η ακριβής έννοια/ σημασία των ανταλλασσόμενων πληροφοριών είναι το ίδιο κατανοητή από τον κάθε φορέα και τα πληροφοριακά συστήματά του. Για την επίτευξη της σημασιολογικής διαλειτουργικότητας απαιτείται η ανάπτυξη συγκεκριμένων στοιχείων που να αναπαριστούν, να κωδικοποιούν και να ταξινομούν με ενιαίο τρόπο. Τα στοιχεία αυτά είναι κωδικολόγια (code lists), δομικά στοιχεία δεδομένων (core data components), τύποι δεδομένων (data types), πρότυπα σχήματα ηλεκτρονικών εγγράφων (standard XML Schemas), μταδεδομένα (metadata) και οντολογίες (ontologies). Τέλος, για την επίτευξη τεχνικής διαλειτουργικότητας, το Πλαίσιο προβλέπει ορισμένες γενικές τεχνολογικές αρχές (εξωστρέφεια, επαναχρησιμοποίηση στοιχείων, προσαρμοστικότητα, πρότυπα κλιμάκωση, διαθεσιμότητα, ανοχή σφαλμάτων, ασφάλεια) σύμφωνα με τις οποίες θα πρέπει να σχεδιάζονται και να υλοποιούνται τα πληροφοριακά συστήματα των φορέων. Επίσης, οι διαδικτυακές εφαρμογές θα πρέπει να ακολουθούν πολύ-επίπεδη αρχιτεκτονική βασισμένη σε υπηρεσίες, να βασίζονται σε αυτόνομες μονάδες, και να ακολουθούν τεχνολογίες υπηρεσιών ιστού (web services) [32]. 19

21 ΚΕΦΑΛΑΙΟ 2. ΕΠΙΣΚΟΠΗΣΗ ΤΩΝ ΠΡΟΤΥΠΩΝ ΑΝΤΑΛΛΑΓΗΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΓΓΡΑΦΩΝ 2.1 Electronic Data Interchange (EDI) Εισαγωγή Το EDI αφορά στην ανταλλαγή επιχειρηματικών πληροφοριών από υπολογιστή σε υπολογιστή (computer-to-computer) με τη χρησιμοποίηση μίας τυποποιημένης μορφής δεδομένων και με την ελάχιστη δυνατή ανθρώπινη παρέμβαση [35]. Παρέχει συνεπώς ένα εργαλείο για την αυτοματοποιημένη μετάδοση δεδομένων από ένα υπολογιστικό σύστημα ενός οργανισμού απευθείας σε κάποιο άλλο [10]. Τα προτυποποιημένα μηνύματα EDI βασίζονται σε κοινά επιχειρησιακά έγγραφα, όπως παραγγελίες, τιμολόγια, φορτωτικές, που αποστέλλονται από μία εφαρμογή σε μία άλλη μέσα από τηλεπικοινωνιακές συνδέσεις, δίχως να απαιτούν την ανθρώπινη παρέμβαση. Πιο συγκεκριμένα, το EDI είναι η διαδικασία της μεταφοράς δεδομένων μεταξύ οργανισμών, όπου οι πληροφορίες περνούν από τον Η/Υ του ενός οργανισμού στον Η/Υ του άλλου οργανισμού χωρίς να χρειάζεται ανθρώπινη παρέμβαση για την ερμηνεία ή την αντιγραφή των στοιχείων αυτών. Για να μπορεί να υλοποιηθεί αυτή η αυτόματη μεταφορά, θα πρέπει οι πληροφορίες να είναι δομημένες με τέτοιο τρόπο, ώστε να είναι δυνατόν ο οποιοσδήποτε Η/Υ να μπορεί να μεταφράσει αυτές τις πληροφορίες στην μορφή των εσωτερικών του εφαρμογών και να ενημερώσει τις βάσεις δεδομένων του [33] Τα Πρότυπα EDI Το EDI αποσκοπεί να διαχειριστεί όλες τις πλευρές των επιχειρηματικών συναλλαγών, όπως οι παραγγελίες, τιμολογήσεις, μεταφορές, παραλαβές, δελτία αποστολής, πληρωμές και οικονομικές αναφορές. Ένας από τους πρωταρχικούς στόχους του EDI ήταν η ανάπτυξη ηλεκτρονικών υποκατάσταστων για εκατομμύρια έγγραφων φορμών που χρησιμοποιούνται τις εμπορικές συναλλαγές, όπως οι παραγγελίες και τα τιμολόγια. Από την αρχή του 1970, ένας αριθμός επιχειρήσεων χρησιμοποίησε ιδιωτικά συστήματα για την ανταλλαγή τιμολογίων και παραγγελιών. Οι επιχειρήσεις που εμπλέκονταν στις εμπορικές λειτουργίες αντιλήφθηκαν γρήγορα τα οικονομικά 20

22 πλεονεκτήματα της γρήγορης, αποτελεσματικής και ακριβούς ροής πληροφοριών. Ένα μεγάλο μέρος της εργασίας επάνω στο EDI καθοδηγήθηκε από συγκεκριμένους ιδιωτικούς τομείς, όπως, ο τομέας των μεταφορών, ο φαρμακευτικός, ο τραπεζικός και ο τομέας αυτοκινήτων. Κάθε τομέας ανέπτυξε το δικό του σύνολο από στοιχεία δεδομένων και μηνύματα για να καλύψει τις ειδικότερες ανάγκες του. Το αποτέλεσμα αυτού ήταν ότι οι διαφορετικοί αυτοί τομείς δεν μπορούσαν να ανταλλλαξουν μηνύματα μεταξύ τους. Έως τις αρχές του 1980, αναγνωρίστηκε η ανάγκη ανάπτυξης προτύπων EDI που θα μπορούσαν να χρησιμοποιηθούν από διαφορετικούς βιομηχανικούς τομείς αλλά και διασυνοριακά. Έτσι ξεκίνησε η εργασία ανάπτυξης προτύπων από ομάδες προτύπων και βιομηχανικούς οργανισμούς [35]. Ένα πρότυπο EDI μπορεί να οριστεί ως ένα σύνολο κανόνων, διαδικασιών και σχετικής τεχνογνωσίας που συνιστούν μία μορφή γραμματικής και σύνταξης για την καθοδήγηση της επικοινωνίας μεταξύ οργανισμών από υπολογιστή - σε υπολογιστή [10]. Η πρωτοβουλία ανάπτυξης διατομεακών προτύπων EDI επικεντρώνεται σε δύο περιοχές. Η Επιτροπή Χ12 του Ινστιτούτου Αμερικανικών Εθνικών Προτύπων (ANSI) ανέπτυξε σύνολα προτυποποιημένων συναλλαγών (ή μηνύματα) που αποσκοπούν πρωταρχικά στην κάλυψη των Βορειοαμερικάνικων αναγκών. Οι κατευθυντήριες γραμμές που αναπτύχθηκαν υπό την αιγίδα της Οικονομικής Επιτροπής των Ηνωμένων Εθνών για την Ευρώπη (United Nations Economic Commission for Europe -UN/ECE), αποκαλούμενες ως EDIFACT, αποσκοπούν στο να έχουν παγκόσμια εφαρμογή και στοχεύουν στο διεθνές εμπόριο [35] Τα συστατικά των προτύπων EDI Τα δύο προαναφερθέντα πρότυπα συμφωνούν στο ακόλουθο περίγραμμα των τριών βασικών δομικών συστατικών: Ύπαρξη κοινών συντακτικών κανόνων και ενός σχήματος κωδικοποίησης για την δημιουργία μηνυμάτων που καθορίζει τη δομή των δεδομένων. Τα δεδομένα θα πρέπει να είναι ανεξάρτητα από τα πληροφοριακά συστήματα. Επίσης, τα στοιχεία δεδομένων, ως μέρη των πρότυπων μηνυμάτων, θα πρέπει να είναι ανεξάρτητα μεταξύ τους, έτσι ώστε οποιαδήποτε αλλαγή σε ένα μέρος να μην επηρεάζει κάποιο άλλο. 21

23 Ένα λεξικό δεδομένων που να ορίζει τα πρότυπα για τα επιχειρησιακά στοιχεία δεδομένων, όπως τη μορφή του νομίσματος, διευθύνσεων, ημερομηνίας κ.α. Ύπαρξη συνδυασμών από στοιχεία δεδομένων που χρησιμοποιούνται σε πρότυπα μηνύματα. Για παράδειγμα, ένα τιμολόγιο αποτελείται από διάφορα τμήματα, όπως την αρχή του εγγράφου που περιλαμβάνει το όνομα και την διεύθυνση του πιστωτή, το όνομα και την διεύθυνση του χρεώστη, την ημερομηνία του τιμολογίου, κ.α. Ακολουθεί ένα τμήμα που αποτελείται από μια σειρά γραμμών που δίνουν λεπτομερειακές πληροφορίες για το κάθε είδος που τιμολογείται, όπως, την περιγραφή του, την ποσότητα, την τιμή μονάδας, κ.α. Τέλος, υπάρχει και ένα τμήμα του εγγράφου που δίνει τα τελικά σύνολα. Για κάθε ένα από αυτά τα τμήματα πρέπει να υπάρχει μία αντίστοιχη EDI μορφή, σύμφωνα με την οποία τα στοιχεία δεδομένων συνδυάζονται σε «τμήματα» και εκείνα περαιτέρω συνδυάζονται και δημιουργούν τα «μηνύματα» [35] Η σειρά προτύπων X12 Η σειρά προτύπων Χ12 αποτελείται από έναν αριθμό ανεξάρτητων προτύπων και έχει αναπτυχθεί από την Επιτροπή Προτυποποίησης ASC X12 (Accredited Standards Committee X12) του Ινστιτούτου ANSI (American National Standards Institute). Το ANSI ιδρύθυκε το 1918 ως φορέας συντονισμού των εθνικών προτύπων των Ηνωμένων Πολιτειών. Η Επιτροπή ASC X12 που δημιουργήθηκε από το ANSI, ανέλαβε την ανάπτυξη προτύπων EDI για χρησιμοποίηση αυτών στις Ηνωμένες Πολιτείες. Η εργασία της επιτροπής διενεργείται κυρίως από μία σειρά υποεπιτροπών και ομάδων. Μία φορά το χρόνο, η Γραμματεία της Επιτροπής (Data Interchange Standards Association, DISA) δημοσιεύει ολόκληρη τη σειρά των προτύπων X12 σε ένα ενιαίο τόμο. Ο τόμος αυτός περιλαμβάνει τις αναθεωρήσεις των προηγούμενα δημοσιευμένων προτύπων, καθώς και ένα σχέδιο των νέων προτύπων που εγκρίνονται από την επιτροπή κάθε χρόνο. Μέρος από τη σειρά προτύπων X12 αποτελούν τα πρότυπα ομάδας συναλλαγών (transaction set standards), τα οποία καθορίζουν την ομαδοποίηση των δεδομένων σε τμήματα (segments), καθώς και την ακολουθία των τμημάτων που χρησιμοποιείται σε μία συγκεκριμένη επιχειρηματική συναλλαγή, όπως μία παραγγελία. Υπάρχουν επίσης και τα «θεμελιώδη» πρότυπα ( foundation standards) που καθορίζουν τη σύνταξη για 22

24 τον καθορισμό των X12 transaction sets, των στοιχείων δεδομένων (data elements), των τμημάτων δεδομένων (data segments) και των δομών ελέγχου που χρησιμοποιούνται. Το πλήρες σύνολο των θεμελιωδών προτύπων που απαιτούνται για την ερμηνεία, κατανόηση και χρήση των προτύπων ομάδας συναλλαγών αποτελείται από τα παρακάτω: Λεξικό στοιχείων δεδομένων (X12.3) Δομή ελέγχου ανταλλαγής (X12.5) Δομή ελέγχου εφαρμογής (X12.6) Κατάλογος τμημάτων δεδομένων (X12.22) Λειτουργική επιβεβαίωση (X.20) Τα πρότυπα X12 βασίζονται στην αρχή της ανταλλαγής μηνυμάτων μεταξύ μερών που επικοινωνούν μεταξύ τους, η οποία αποτελεί επέκταση της παραδοσιακής ανταλλαγής φορμών μέσω ταχυδρομείου. Μία μονάδα μηνύματος EDI, σύμφωνα με τα πρότυπα X12, καλείται ομάδα συναλλαγής (transaction set), καθώς αποτελεί ένα σύνολο από τμήματα δεδομένων που χρησιμοποιείται για μία και μόνο επιχειρησιακή συναλλαγή. Τα πρότυπα Χ12 καθορίζουν: τα τμήματα που χρησιμοποιούνται σε μία ομάδα συναλλαγής την ακολουθία σύμφωνα με την οποία θα πρέπει να εμφανίζονται τα τμήματα αν τα τμήματα είναι υποχρεωτικά ή προαιρετικά πότε τα τμήματα μπορούν να επαναλαμβάνονται πώς δομούνται και χρησιμοποιούνται οι κύκλοι επανάληψης (loops) Όπως παρουσιάζεται και στο Σχήμα 2.1, η μορφή ενός μηνύματος Χ12 αποτελείται από τα ακόλουθα δομικά στοιχεία: Δομές Ελέγχου Ανταλλαγής (Interchange Control Structures). Τα τμήματα αυτά αποτελούν την ηλεκτρονική δομή που περιβάλλει τις ομάδες συναλλαγών που πρόκειται να μεταδοθούν. Εκπέμπουν σήμα για την έναρξη και τη λήξη των οργανωτικών μονάδων πληροφορίας εντός του μηνύματος, αλλά δεν περιέχουν δεδομένα σχετικά με τη συναλλαγή EDI. Δείχνουν τον αποστολέα του μηνύματος, τον παραλήπτη, την ημερομηνία και ώρα της μετάδοσης, καθώς και την έκδοση Χ12 που χρησιμοποιείται. Ο άλλος τύπος ελέγχου συνδέεται με κύκλους επανάληψης των τμημάτων μέσα σε ένα μήνυμα. Ένας κύκλος επανάληψης μπορεί να χρησιμοποιεί για παράδειγμα τα ονόματα και τις διευθύνσεις διαφόρων μερών που 23

25 συμμετέχουν σε μία παραγγελία. Επομένως για να υποδειχθεί η έναρξη και η λήξη ενός loop, χρησιμοποιούνται τμήματα loop header και loop trailer. Λειτουργικές Ομάδες (Functional Groups). Μία λειτουργική ομάδα είναι μία ομάδα από όμοιες ομάδες συναλλαγών (π.χ. τρεις παραγγελίες). Η απόδειξη μίας ανταλλαγής Χ12, λειτουργικής ομάδας και ομάδας συναλλαγής, πρέπει να επιβεβαιωθεί μέσα από τη λειτουργική επιβεβαίωση. Με αυτόν τον τρόπο, ο αποστολέας γνωρίζει εάν η ανταλλαγή παραλήφθηκε. Ομάδες Συναλλαγής (Transaction Sets). Όπως αναφέρθηκε και προηγουμένως, μία επιχειρηματική συναλλαγή προσδιορίζεται από μία ομάδα συναλλαγής, η οποία αποτελείται από τμήματα μεταβλητού μεγέθους. Κάθε τμήμα με τη σειρά του αποτελείται από στοιχεία δεδομένων μεταβλητού μεγέθους. Μία ομάδα συναλλαγής είναι ανάλογη με ένα επιχειρησιακό έγγραφο, όπως μία παραγγελία, ένα τμήμα είναι ανάλογο με μία γραμμή πληροφορίας σε αυτήν την παραγγελία, ενώ ένα στοιχείο δεδομένων είναι ανάλογο με μία μονάδα από τη γραμμή πληροφορίας. Κάθε ομάδα συναλλαγής ξεκινάει με μία επικεφαλίδα (header), η οποία ακολουθείται από ένα «αρχικό τμήμα» ("beginning segment") που ταυτοποιεί μοναδικά τον τύπο της ομάδας συναλλαγής. Γενικά, τα στοιχεία που εντάσσονται στην επικεφαλίδα είναι προκαταρκτικές πληροφορίες που αντιστοιχούν σε ολόκληρο το κείμενο. Η επικεφαλίδα της ομάδας συναλλαγής περιέχει τον προσδιορισμό ταυτότητας (transaction set identification) και τον αριθμό ελέγχου (transaction set control number) της ομάδας συναλλαγής. Στη συνέχεια, ακολουθεί η περιοχή λεπτομερειών (Detail or line item area) με λεπτομερειακές πληροφορίες, όπως είναι η ποσότητα και η τιμή προϊόντος. Μία ακόμα διακριτή περιοχή της ομάδας συναλλαγής είναι η περιοχή σύνοψης (summary area) η οποία μπορεί να περιέχει συνοπτικές πληροφορίες και δεδομένα που σχετίζονται με τη συνολική συναλλαγή, όπως η συνολική τιμή μίας παραγγελίας. Το τελευταίο στοιχείο μίας ομάδας συναλλαγής είναι το transaction set trailer, το οποίο σηματοδοτεί το τέλος της ομάδας συναλλαγής και περιέχει έναν αριθμό τμημάτων καθώς και τον αριθμό ελέγχου της ομάδας συναλλαγής. Τμήματα (Segments). Ένα τμήμα αποτελεί την ενδιάμεση μονάδα πληροφορίας μίας ομάδας συναλλαγής. Αποτελείται από λογικά συσχετιζόμενα στοιχεία δεδομένων σε μία καθορισμένη ακολουθία: ένα 24

26 προκαθορισμένο αναγνωριστικό τμήματος, ένα ή περισσότερα στοιχεία δεδομένων που διαχωρίζονται μεταξύ τους και ένα στοιχείο που δηλώνει το τελευταίο στοιχείο δεδομένων. Τα τμήματα που χρησιμοποιούνται στις ομάδες συναλλαγών Χ12 προσδιορίζονται στον «Κατάλογο Τμημάτων Δεδομένων» ("Data Segment Directory", ANSI X12.22), όπου κάθε τμήμα αναπαρίσταται με ένα διάγραμμα που καθορίζει το αναγνωριστικό του τμήματος και τα στοιχεία δεδομένων με την ακολουθία που περιέχονται στο τμήμα. Κάθε τμήμα δηλώνεται με ένα μοναδικό αναγνωριστικό δύο ή τριών αλφαριθμητικών στοιχείων. Στοιχεία δεδομένων (Data elements). Τα στοιχεία δεδομένων που χρησιμοποιούνται στα τμήματα Χ12 αποτελούν τη μικρότερη μονάδα πληροφορίας σε μία ομάδα συναλλαγής και προσδιορίζονται στο «Λεξικό Στοιχείων Δεδομένων» ("Data Element Dictionary", ANSI X12.3). Τα στοιχεία δεδομένων δεν έχουν ρητό αναγνωριστικό, αλλά ταυτοποιούνται μόνο από την ακολουθία τους στο τμήμα. Ένα στοιχείο δεδομένων μπορεί να είναι αριθμός (numeric), δεκαδικός (decimal), κωδικός (identifier), string, ημερομηνία (date) ή ώρα (time). Όλοι οι τύποι αναπαρίστανται με μία σειρά χαρακτήρων, όπως για παράδειγμα "AN" (alphanumeric) ή "DT" (date). Τα στοιχεία δεδομένων χαρακτηρίζονται επίσης από ελάχιστα και μέγιστα μεγέθη, και από μία ένδειξη για το αν η παρουσία τους είναι υποχρεωτική ή προαιρετική. Το βασικό σύνολο χαρακτήρων Χ12 αποτελείται από κεφαλαία γράμματα (από Aέως Z), ψηφία και βασικούς χαρακτήρες στίξης. Τα τμήματα και τα στοιχεία δεδομένων προορίζονται για καθολική χρήση, για το λόγο αυτό καθορίζονται ανεξάρτητα από τις ομάδες συναλλαγής στις οποίες χρησιμοποιούνται [35]. 25

27 Communications Transport Protocol Interchange Control Header Functional Group Header Transaction Set Header Detail Data Segments (e.g. Purchase Order) Transaction Set Trailer Transaction Set Header Detail Data Segments (e.g. Purchase Order Acknowledgement) Transaction Set Trailer FUNCTIONAL GROUP INTERCHANGE ENVELOPE COMMUNICATIONS SESSION Functional Group Trailer Interchange Control Trailer Communications Transport Protocol Σχήμα 2.1. Τα δομικά στοιχεία μίας συναλλαγής Χ12 [35] Τα πρότυπα EDIFACT Τα πρότυπα UN/EDIFACT αντιστοιχούν στους κανόνες των Ηνωμένων Εθνών (UN) για την Ηλεκτρονική Ανταλλαγή Δεδομένων για τη Διοίκηση, το Εμπόριο και τις Μεταφορές (Electronic Data Interchange for Administration, Commerce and Transport). Πρόκειται για ένα σύνολο από διεθνή πρότυπα, καταλόγους και κατευθυντήριες γραμμές για την ηλεκτρονική ανταλλαγή δομημένων δεδομένων, και ιδιαίτερα εκείνων που σχετίζονται με εμπόριο προϊόντων και υπηρεσιών μεταξύ ανεξάρτητων πληροφοριακών συστημάτων. Η προσπάθεια EDIFACT γνωρίζει ευρεία υποστήριξη και δέσμευση από όλα τα κράτη μέλη των Ηνωμένων Εθνών. Τα πρότυπα αναπτύχθηκαν από την Επιτροπή Πραγματογνωμόνων για τη Διευκόλυνση των Διαδικασιών Διεθνούς Εμπορίου (United Nations Working Party on Facilitation of International Trade Procedures, WP.4). Η εργασία διεξήχθη επίσης και από άλλους φορείς, ενώ ένας αριθμός από ομάδες εργασίας προετοίμασε πρότυπα 26

28 μηνύματα για συγκεκριμένους εμπορικούς τομείς (π.χ. μεταφορές διαχείριση υλικών κ.α.). Όταν πραγματοποιείται συμφωνία για ένα νέο μήνυμα EDIFACT, τα Συμβούλια του EDIFACT εισηγούνται για επίσημη έγκριση από την Οικονομική Επιτροπή των Ηνωμένων Εθνών για την Ευρώπη (UN/ECE). Σε αυτήν την περίπτωση, το μήνυμα εγκρίνεται επίσημα ως Πρότυπο Μήνυμα των Ηνωμένων Εθνών (United Nations Standard Message, UNSM). Τα Πρότυπα Μηνύματα των Ηνωμένων Εθνών βασίζονται σε κοινούς συντακτικούς κανόνες και σε έναν κοινό κατάλογο στοιχείων δεδομένων. Οι κανόνες δόμησης και μετάδοσης μηνυμάτων υιοθετήθηκαν από τον Διεθνή Οργανισμό Προτυποποίησης (International Organization for Standardization, ISO) το 1987 (ISO EDIFACT - Application level syntax rules). Τα στοιχεία δεδομένων που χρησιμοποιούνται στα μηνύματα EDIFACT περιέχονται στο ISO UN/Trade Elements Directory. Κάθε μετάδοση EDIFACT ορίζεται ως μία «ανταλλαγή» και αποτελείται από έναν αριθμός «τμημάτων» (segments). Κάθε τμήμα έχει μία ετικέτα (tag) που περιέχει έναν μοναδικό αναγνωριστικό κωδικό για το τμήμα. Η ετικέτα αυτή μπορεί επίσης να περιέχει και μία ένδειξη για τη δομή του τμήματος. Το τμήμα μπορεί επίσης να αποτελείται από στοιχεία δεδομένων (data elements). Κάθε ετικέτα διαχωρίζεται από το πρώτο στοιχείο δεδομένων με ένα διαχωριστικό χαρακτήρα (delimiter character) που καλείται ετικέτα τμήματος ( segment tag ). Ο ίδιος χαρακτήρας χρησιμοποιείται και για τον διαχωρισμό διαδοχικών στοιχείων δεδομένων ( data element separator ). Το τέλος ενός τμήματος εκφράζεται από έναν άλλο χαρακτήρα που ονομάζεται segment terminator. Επίσης ένα στοιχείο δεδομένων μπορεί να περιέχει υποστοιχεία που διαχωρίζονται μεταξύ τους με ένα χαρακτήρα που καλείται sub-element separator. Τα πρότυπα EDIFACT καθορίζουν δύο επίπεδα σύνταξης, το ένα από τα οποία (επίπεδο Α) χρησιμοποιεί τον «ελάχιστα κοινό παρονομαστή» του συνόλου των χαρακτήρων που αποτελείται από κεφαλαία γράμματα, αριθμούς, και σημεία στίξης. Τα διαχωριστικά που χρησιμοποιούνται στο επίπεδο Α είναι οι ακόλουθοι χαρακτήρες: ' (απόστροφος= segment terminator), + (συν= segment tag και data element delimiter), : (άνω και κάτω τελεία = sub-element delimiter) Το σύνολο χαρακτήρων του Επιπέδου Β περιλαμβάνει κεφαλαία και μικρά γράμματα, αριθμούς και σημεία στίξης. Οι διαχωριστικοί χαρακτήρες είναι μη 27

29 εκτυπώσιμοι χαρακτήρες ελέγχου. Υπάρχει επίσης και ένας αριθμός από τμήματα «υπηρεσιών» που χρησιμοποιούνται τη μετάδοση μηνυμάτων, τα οποία είναι τα ακόλουθα: Κεφαλίδα Ανταλλαγής (Interchange Header): UNB Κεφαλίδα Μηνύματος (Message Header): UNH Message Trailer: UNT Interchange Trailer: UNZ Το Σχήμα 2.2 απεικονίζει τη δομή μίας ανταλλαγής EDIFACT. Ανάμεσα σε μία κεφαλίδα και ένα trailer μηνύματος, ένα μήνυμα περιέχει μία προκαθορισμένη ακολουθία τμημάτων, όπως προσδιορίζεται στον Κατάλογο Προτύπων Μηνυμάτων. Τα τμήματα μπορούν να επαναλαμβάνονται και να «φωλιάζονται» το ένα μέσα στο άλλο, επιτρέποντας έτσι τη μετάδοση πολύπλοκων δομών δεδομένων. Το περιεχόμενο κάθε τμήματος είναι επίσης μία προκαθορισμένη ακολουθία στοιχείων δεδομένων, όπως προσδιορίζεται στον Κατάλογο Προτύπων Τμημάτων. Κάποια στοιχεία δεδομένων είναι απλά (περιέχουν μία μοναδική τιμή), ενώ άλλα είναι σύνθετα (περιέχουν περισσότερες από μία τιμες, ή υποστοιχεία). Δεδομένου ότι τα στοιχεία δεδομένων ταυτοποιούνται από τη σειριακή τους θέση μέσα στο τμήμα, γίνεται κατανοητό ότι τα κενά στοιχεία δεδομένων δεν μπορούν να παραλείπονται, εκτός και αν το κενό στοιχείο αποτελεί το τελευταίο στοιχείο του τμήματος. Οι σχεδιαστές ενός μηνύματος μπορούν να καθορίσουν ότι τα τμήματα μπορούν να επαναλαμβάνονται για έναν ορισμένο αριθμό φορών. Η υπόδειξη της επανάληψης μπορεί να είναι ρητή (π.χ. με τη χρήση ενός υποστειχείου επανάληψης μέσα στην ετικέτα) ή να υπονοείται, χωρίς δηλαδή μία πρόσθετη ένδειξη πέρα από την πολλαπλή εμφάνιση του τμήματος. Δυνατή είναι επίσης και η επανάληψη των στοιχείων δεδομένων μέσα σε ένα τμήμα, με τη διαφορά ότι η επανάληψη αυτή πάντα υπονοείται και δεν εκφράζεται ρητά. Παρόμοια στοιχεία με τις επαναλήψεις τμημάτων, ισχύουν και για τα «φωλιάσματα» τμημάτων [35]. 28

30 Σχήμα 2.2 Η δομή μίας ανταλλαγής EDIFACT [35] Η σχέση ανάμεσα στα πρότυπα X12 και EDIFACT Η απαίτηση για λειτουργία των επιχειρήσεων σε μία διεθνή αγορά οδήγησε στην ανάπτυξη των προσπαθειών για συγχώνευση των προτύπων X12 και EDIFACT. Τα κοινά χαρακτηριστικά των δύο προτύπων είναι τα ακόλουθα: Κωδικοποίηση βασισμένη σε χαρακτήρες με πολλαπλά επίπεδα υποστήριξης Δομές δεδομένων με ετικέτες και διαχωριστικούς χαρακτήρες Σύνολο από τμήματα δεδομένων που ορίζονται από έναν κατάλογο τμημάτων Σύνολο από στοιχεία δεδομένων που ορίζονται από έναν κατάλογο στοιχείων δεδομένων Μήνυμα προκαθορισμένου τύπου που αποτελείται από συγκεκριμένη ακολουθία τμημάτων Μη ρητή ταυτοποίηση στοιχείων δεδομένων μέσα σε ένα τμήμα 29

31 Μία «ανταλλαγή» που αποτελείται είτε από λειτουργικές ομάδες (που περιέχουν ένα ή περισσότερα μηνύματα) είτε από τα ίδια τα μηνύματα. Ωστόσο, παρά το γεγονός ότι οι δομές των μορφών που υποστηρίζουν τα δύο πρότυπα είναι παρόμοιες, υπάρχουν διαφορές μεταξύ τους που θα πρέπει να επιλυθούν: Το EDIFACT χρησιμοποιεί σύνθετα στοιχεία δεδομένων Οι διαδικασίες επανάληψης και φωλιάσματος είναι διαφορετικές Στο ANSI X12 ορίζονται έξι τύποι στοιχείων δεδομένων, ενώ στο EDIFACT μόνο τρεις Το EDIFACT δεν προβλέπει προαιρετικά πεδία Το EDIFACT επιτρέπει δύο επίπεδα σύνταξης Οι διαφορές μεταξύ των προτύπων δε θεωρούνται ιδιαίτερα σημαντικές, υπάρχουν διαφορές όμως και στον τρόπο με τον οποίο δομούνται τα τμήματα και τα στοιχεία δεδομένων γεγονός που καθιστά ένα μήνυμα X12 να μην μπορεί να αποκωδικοποιηθεί από ένα σύστημα που βασίζεται στη σύνταξη EDIFACT. Μία λύση θα μπορούσε να είναι η ανάπτυξη ενός κοινού λεξικού δεδομένων, προκειμένου να χρησιμοποιείται από τους ανθρώπους που αναπτύσσουν λογισμικό. Αυτή η προσέγγιση θα οδηγούσε σε λογισμικό EDI που υποστηρίζει μορφές δεδομένων τόσο από τα EDIFACT όσο και από τα and X12 πρότυπα [35] Υποδομή Υλοποίησης ενός EDI Συστήματος Τα πρότυπα EDI, όπως το X12 και το EDIFACT που αναλύθηκαν παραπάνω, είναι σχεδιασμένα για να επιτρέψουν την επικοινωνία μεταξύ διαφορετικών υπολογιστών, ωστόσο εκείνο που παρέχουν μόνο είναι μορφές μηνυμάτων και δεν καθορίζουν τον τρόπο με τον οποίο θα λάβει χώρα η επικοινωνία. Για το λόγο αυτό, απαιτείται μία δικτυακή υπηρεσία για τη μετάδοση των μηνυμάτων. Οι δικτυακές επιλογές για την υποστήριξη των εφαρμογών που βασίζονται στο EDI, περιλαμβάνουν είτε τη χρήση προϊόντων που στηρίζονται στο μοντέλο OSI (Open Systems Interconnection), είτε τη χρήση των δικτύων προστιθέμενης αξίας (value-added networks, VANs), είτε τη χρήση Internet με βάση τα πρωτόκολλα TCP/IP. Η χρήση των δικτύων προστιθέμενης αξίας (VANs) αποτελεί μία αρκετά διαδεδομένη δικτυακή υπηρεσία. Ένα VAN είναι μία υπηρεσία δεδομένων που παρέχεται από έναν τρίτο φορέα και βοηθάει στην επίτευξη ηλεκτρονικής επικοινωνίας. Τα εν λόγω δίκτυα χρησιμοποιούν υπάρχοντα δίκτυα επικοινωνίας και προσθέτουν 30

32 «αξία» σε αυτά, παρέχοντας ορισμένες επιπρόσθετες υπηρεσίες στους χρήστες του δικτύου, πέρα από τη βασική διασυνδεσιμότητα. Συχνά, οι λειτουργίες ενός VAN παρομοιάζονται με εκείνες του ταχυδρομείου, υπό την έννοια ότι διασφαλίζει την ασφαλή μετάδοση των EDI μηνυμάτων. Ένα VAN παρέχει εύκολη διασυνδεσιμότητα, προσφέροντας ένα μοναδικό σημείο πρόσβασης, ενώ παρέχει και τα μέσα για την αποστολή, λήψη και διαχείριση των μηνυμάτων, καθώς επίσης και υπηρεσίες μετατροπής των εσωτερικών μορφών δεδομένων σε πρότυπα μηνύματα, όπως το Χ12. Αξίζει να σημειωθεί ότι τα κόστη υλοποίησης και επικοινωνίας μέσω των VANs είναι γενικά πολύ υψηλά, ιδιαίτερα για τις επιχειρήσεις που δεν διενεργούν μεγάλο αριθμό συναλλαγών EDI. Η ευρεία επέκταση του Internet προσφέρει μία εναλλακτική λύση υλοποίησης του EDI, με χαμηλότερο κόστος, ώστε να είναι προσιτή στις μικρομεσαίες επιχειρήσεις [11]. Τέλος, θα πρέπει να αναφερθεί ότι η επιτυχής υλοποίηση του EDI, πέρα από τα πρότυπα και τις δικτυακές υπηρεσίες, προϋποθέτει και την ύπαρξη του κατάλληλου λογισμικού. Ο ρόλος του συνίσταται στο να ενσωματώνει όλες τις προς αποστολή πληροφορίες σε μία δομή, ανάλογα με το πρότυπο που χρησιμοποιείται, και αντίστροφα, να αποκωδικοποιεί τα εισερχόμενα μηνύματα και να τα μετατρέπει σε πληροφορίες άμεσα εκμεταλλεύσιμες από το υπάρχον πληροφοριακό σύστημα [33]. Σε μία τυπική διάρθρωση EDI, το υπολογιστικό σύστημα του αποστολέα χρησιμοποιεί ένα μεταφραστή (translator) που μετατρέπει την ηλεκτρονική έκδοση ενός αρχείου στην προτυποποιημένη μορφή ενός μηνύματος EDI. Ο υπολογιστής του παραλήπτη, εκτελώντας την αντίστροφη διαδικασία, ερμηνεύει το μήνυμα EDI και ενημερώνει τα δεδομένα του πληροφοριακού συστήματος κατάλληλα [10]. Για τη μετάφραση της πληροφορίας σε ένα μήνυμα EDI, απαιτούνται τρεις ενέργειες: η χαρτογράφηση (mapping), η εξαγωγή (extraction), και η δημιουργία (generation). Κατά τη χαρτογράφηση, εξετάζεται στα πρότυπα η πληροφορία που χρειάζεται για τη δημιουργία της ομάδας συναλλαγής και κατόπιν αναζητάται αυτή η πληροφορία στη Βάση Δεδομένων ή στο αρχειακό σύστημα της επιχείρησης. Στη συνέχεια, η πληροφορία όταν βρεθεί εξάγεται σε ένα flat file με εγγραφές και τέλος μέσω του μεταφραστή γίνεται η δημιουργία της ομάδας συναλλαγής [15]. 31

33 2.1.4 Αξιολόγηση του EDI Σύμφωνα με όσα αναφέρθηκαν παραπάνω, γίνεται κατανοητό ότι το EDI καθιστά αποτελεσματική την επικοινωνία μεταξύ των υπολογιστικών συστημάτων παρά το γεγονός ότι μπορεί να αποθηκεύουν τα δεδομένα τους σε εντελώς διαφορετικές μορφές. Κάτι τέτοιο γίνεται εφικτό, καθώς το EDI παρέχει μία κοινά κατανοητή και προτυποιημένη μορφή δεδομένων των σχετικών δεδομένων, προκειμένου αυτά να μπορούν να μεταδίδονται από ένα υπολογιστικό σύστημα σε άλλο, αυτοματοποιώντας τη διαδικασία επεξεργασίας με την ελαχιστοποίηση της ανθρώπινης παρέμβασης. Πιο συγκεκριμένα, τα οφέλη που προκύπτουν από την υλοποίηση του EDI είναι τα ακόλουθα: Εξοικονόμηση κόστους και χρόνου: η χρήση του EDI εξαλείφει τις λειτουργικές δαπάνες που προέρχονται από τη διαχείριση χαρτιού σε μία επιχείρηση, το κόστος ταχυδρόμησης και αναπαραγωγής των εγγράφων, καθώς και το κόστος των τηλεφωνικών κλήσεων που διενεργούνταν, προκειμένου να επιβεβαιωθεί η σωστή και ακριβής αποστολή και λήψη πληροφοριών με τα παραδοσιακά μέσα. Παρά το γεγονός ότι ο σχεδιασμός, η ανάπτυξη και η υλοποίηση ενός συστήματος EDI, προϋποθέτει αρχικό κόστος, η ηλεκτρονική διαχείριση και ανταλλαγή εγγράφων που επιτυγχάνεται μέσω του EDI, μειώνει σημαντικά το λειτουργικό κόστος μίας επιχείρησης, ενώ οδηγεί και στην καλύτερη αξιοποίηση του παραγωγικού χρόνου από το προσωπικό, εφόσον δεν υφίστανται πλέον εργασίες σχετικές με τη διαχείριση των εγγράφων (π.χ. επαναπληκτρολόγηση πλεονάζουσας πληροφορίας, χειρωνακτική ταξινόμηση, συμπλήρωση εγγράφων). Βελτίωση της ακρίβειας: η μείωση της ανθρώπινης παρέμβασης στις διαδικασίες διαχείρισης των εγγράφων, βελτιώνει την ακρίβεια των διαδικασιών, καθώς πλέον η επαλήθευση και επικύρωση των συναλλαγών διενεργούνται ηλεκτρονικά. Έτσι μειώνονται και οι πιθανότητες λαθών που υπήρχαν κατά την εισαγωγή των δεδομένων από το προσωπικό. Αύξηση της ευελιξίας: Η αποστολή ηλεκτρονικών δεδομένων μπορεί να διενεργηθεί οποιαδήποτε ώρα της ημέρας, ενώ ταυτόχρονα διασφαλίζει ότι τα δεδομένα που αποστέλλονται είναι τα πλέον επικαιροποιημένα [12]. Βελτίωση της εικόνας του οργανισμού: η υιοθέτηση καινοτομικών μεθόδων για τη διεκπεραίωση των επιχειρησιακών διαδικασιών βελτιώνει την εικόνα του οργανισμού και τη σχέση με τους πελάτες και οι επιχειρήσεις καθίστανται πιο 32

34 αποτελεσματικές στο να ανταποκριθούν στις μεταβαλλόμενες απαιτήσεις και προσδοκίες των πελατών [10]. Ωστόσο, στο σημείο αυτό, αξίζει να αναφερθούν και οι αδυναμίες που παρουσιάζουν τα πρότυπα EDI. Αρχικά, θα πρέπει να σημειωθεί ότι η χρήση των προτύπων EDI θέτει ένα δίλημμα. Αφενός τα πρότυπα λειτουργούν ως «οδηγός» για να να διασφαλίσουν συνοχή και σταθερότητα στην επικοινωνία, αφετέρου όμως θέτουν περιοριστικά όρια στις εμπορικές συναλλαγές, υπό την έννοια ότι δεν μπορούν να συμπεριλάβουν και να καλύψουν οποιαδήποτε συναλλαγή αναπτύσσεται καθημερινά, δεδομένου και του ευέλικτου και ταχύτατα μεταβαλλόμενου περιβάλλοντος. Επομένως, η αποδοχή της σταθερότητας αυτών των προτύπων θα ήταν λανθασμένη. Μία προσέγγιση «ένα μέγεθος για όλα» ( one-size-fits-all ) δεν θα μπορούσε να θεωρηθεί επιτυχημένη στη σύγχρονη πραγματικότητα που χαρακτηρίζεται από τις υπερδιαφοροποιημένες ανάγκες των επιχειρήσεων [10]. Από την άλλη μεριά, η έλλειψη ενός καθολικού προτύπου εμποδίζει την ανάπτυξη πακέτων λογισμικού που θα μπορούσαν να χρησιμοποιηθούν από οποιαδήποτε επιχείρηση, με αποτέλεσμα η υλοποίηση των συστημάτων EDI να γίνεται επί παραγγελία, καθιστώντας την λύση αυτή απαγορευτική για τις περισσότερες μικρομεσαίες επιχειρήσεις. Το παραδοσιακό EDI σχεδιάστηκε με την παραδοχή ότι οι επιχειρήσεις θα συμφωνούσαν στη μορφή και τη δομή των EDI μηνυμάτων και στη συνέχεια θα έπρεπε να «παγώσουν» / να σταθεροποιήσουν αυτές τις προδιαγραφές. Καθίσταται επομένως αντιληπτό, ότι οποιαδήποτε αλλαγή έπρεπε να πραγματοποιηθεί σε μία συναλλαγή (π.χ. η προσθήκη ενός πεδίου σε ένα έγγραφο) συνεπαγόταν επιπλέον κόστος στον αρχικό σχεδιασμό λογισμικού. Κάτι τέτοιο όμως, προσδίδει μεγάλη δυσκαμψία και δυσχεραίνει την προσαρμοστικότητα στις μεταβαλλόμενες συνθήκες [15]. Ένα κεντρικό ζήτημα που αφορά στην υλοποίηση του EDI είναι το θεμελιώδες ερώτημα της σημασιολογικής διαφάνειας (semantic transparency): όταν ο αποστολέας στέλνει ένα μήνυμα, πώς γνωρίζει το υπολογιστικό σύστημα του παραλήπτη (ή ο ίδιος ο παραλήπτης) τι σημαίνει το μήνυμα αυτό; Τα πρότυπα EDI, αφενός παρουσιάζουν κάποιες ελλείψεις στα λεξικά που χρησιμοποιούν και στη γραμματική που καθορίζουν, αλλά το κυριότερο μειονέκτημά τους είναι η πλήρης απουσία σημασιολογίας. Ειδικότερα, σε ό,τι αφορά τους γραμματικούς κανόνες των προτύπων, αφενός δεν προσδιορίζουν πλήρως και αυστηρά τη γραμματική των μηνυμάτων και αφετέρου οι κανόνες αυτοί πολλαπλασιάζονται συνεχώς ανάλογα με τον τύπο του μηνύματος (π.χ. παραγγελία, τιμολόγιο), γεγονός που δυσχεραίνει την αποσαφήνισή τους και καθιστά 33

35 πολύπλοκη τη συνολική διαχείριση. Επιπρόσθετα, παρόλο που τα πρότυπα παρέχουν μία πρόχειρη και «διαισθητική» πληροφόρηση σχετικά με τη σημασία των διαφόρων πεδίων (π.χ. μίας παραγγελίας), κάτι τέτοιο απέχει σημαντικά από την ύπαρξη μίας πλήρους, ενδελεχούς σημασιολογίας [13]. Επίσης, δεν θα πρέπει να παραβλεφθεί και το γεγονός ότι η προϋπόθεση υψηλού αρχικού κεφαλαίου για την εγκατάσταση ενός EDI συστήματος, καθιστά συνήθως απαγορευτική για τις μικρομεσαίες επιχειρήσεις την υλοποίησή του. Το υψηλό κόστος οφείλεται στη δυσκολία ενοποίησης του EDI με τις εσωτερικές εφαρμογές των επιχειρήσεων [14]. Όπως αναφέρθηκε και παραπάνω, η εργασία της χαρτογράφησης αποτελεί μία βασική ενέργεια για τη δημιουργία μίας ομάδας συναλλαγής. Η εργασία αυτή ωστόσο συχνά αποτελεί ένα εμπόδιο για την υλοποίηση ενός συστήματος EDI, καθώς απαιτεί υψηλό κόστος για την εφαρμογή και τη διατήρησή της. Πιο συγκεκριμένα, κάθε φορά που μία επιχείρηση εισχωρούσε σε μία νέα συμφωνία με άλλες επιχειρήσεις, η επιχείρηση αυτή θα έπρεπε να εγκαταστήσει ένα επιπλέον λογισμικό-μεταφραστή, προκειμένου να μορφοποιήσει τα δεδομένα της και να συμμορφωθεί προς τα συμφωνημένα πρότυπα που χρησιμοποιούνταν [15]. Ακόμη, παρά τα βήματα που έχουν γίνει για τη δημιουργία κοινά αποδεκτών προτύπων EDI, εξακολουθεί να υπάρχει δυσκολία στην υιοθέτησή τους και στη συμφωνία μεταξύ επιχειρήσεων σε κοινά πρότυπα επικοινωνίας [14]. Τα πρότυπα EDI είναι εκτεταμένα, πολύπλοκα και δύσκολα στην υλοποίησή τους. Ένας βασικός λόγος της πολυπλοκότητας των EDI μηνυμάτων είναι ότι οι δημιουργοί του EDI στην προσπάθειά τους να έχουν αρκετό εύρος ζώνης (bandwidth), σχεδίαζαν τα EDI μηνύματα έτσι ώστε να συμπιέζονται και χρησιμοποιούσαν κωδικούς για την αναπαράσταση των πολύπλοκων τιμών του εγγράφου. Τα EDI μηνύματα δεν έχουν καθόλου μεταδεδομένα και έτσι η πολυπλοκότητα αυτή, καθιστά ακριβή την αγορά και διατήρηση των EDI εφαρμογών [15]. Όπως, θα αναλυθεί στη συνέχεια, τόσο η XML όσο και οι νεότερες τεχνολογίες του σημασιολογικού ιστού (RDF, οντολογίες) έρχονται να καλύψουν αδυναμίες που παρουσιάζει to EDI και να βελτιώσουν τη δόμηση και ανταλλαγή ηλεκτρονικών εγγράφων. 34

36 2.2 Extensible Markup Language (XML) Εισαγωγή Η ιστορία της XML συνδέεται αρκετά με την ιστορία και τις δυνατότητες του παγκόσμιου ιστού. Η παγκόσμια διασυνδεσιμότητα, σε συνδυασμό με τα αποδεκτά πρότυπα επικοινωνίας του Internet, δημιούργησαν νέες ιδέες για τη διαχείριση αυτών των δυνατοτήτων [19]. Η XML, που δημιουργήθηκε από την Κοινοπραξία W3C (World Wide Web Consortium) το 1988, χρησιμοποιείται για την περιγραφή εγγράφων και δεδομένων σε μία προτυποποιημένη μορφή κειμένου η οποία μπορεί να μεταφερθεί εύκολα μέσω των πρωτοκόλλων Internet [18]. Η XML συνιστά μία μετα-γλώσσα (κυριολεκτικά μία γλώσσα για τις γλώσσες) που χρησιμοποιείται δηλαδή για τη δημιουργία γλωσσών σήμανσης και λεξιλογίων, περιγράφοντας τους κανόνες για τον τρόπο δημιουργίας των λεξιλογίων αυτών [16]. Μία γλώσσα σήμανσης (markup language) αποτελείται από λέξεις και «σημεία» («marks») που περιβάλλουν το περιεχόμενο ενός κειμένου, και αποσκοπεί να δώσει ένα τρόπο ερμηνείας και να προσθέσει σημασιολογική πληροφορία στο περιεχόμενο του κειμένου [17]. Τη βάση και την έμπνευση για όλων των σύγχρονων γλωσσών σήμανσης αποτέλεσε η SGML (Standard Generalized Markup Language), η οποία δημιουργήθηκε το 1974 ως μέρος ενός έργου διαμοιρασμού εγγράφων της IBM και έγινε επίσημα πρότυπο του ISO το 1986 [18]. Η κυριότερη αδυναμία της SGML εντοπίζεται στην πολυπλοκότητα που τη διακρίνει, για το λόγο αυτό δε γνώρισε ευρεία αποδοχή. Η XML έρχεται να καλύψει τη συγκεκριμένη αδυναμία. Σύμφωνα με τον επίσημο ορισμό στο γλωσσάριο του W3C ( η XML αποτελεί μία υπερβολικά απλή διάλεκτο της SGML. Ο στόχος είναι να δοθεί η δυνατότητα σε μία «περίληψη» της SGML να εξυπηρετείται, να παραλαμβάνεται, και να υπόκειται σε επεξεργασία στο πλαίσιο του παγκόσμιου ιστού με εφικτό τρόπο, όπως συμβαίνει με την HTML. Η XML σχεδιάστηκε με στόχο την εύκολη υλοποίηση και την επίτευξη διαλειτουργικότητας τόσο με την SGML όσο και με την HTML [16]. Οι αρχικοί στόχοι του σχεδιασμού της XML ήταν οι ακόλουθοι: 1. Απευθείας χρησιμοποίηση της XML μέσω Internet. 2. Υπηστήριξη μίας ευρείας ποικιλίας εφαρμογών. 3. Πλήρης συμβατότητα της XML με την SGML. 35

37 4. Ευκολία δημιουργίας προγραμμάτων με την επεξεργασία εγγράφων XML. 5. Ο αριθμός των προαιρετικών χαρακτηριστικών της XML θα πρέπει να διατηρηθεί στο ελάχιστο, ιδανικά στο μηδέν. 6. Τα XML έγγραφα θα πρέπει να είναι ευανάγνωστα από τους ανθρώπους. 7. Ο σχεδιασμός XML θα πρέπει να προετοιμαστεί χρήγορα. 8. Ο σχεδιασμός XML θα πρέπει να είναι επίσημος και συνοπτικός. 9. Τα XML έγγραφα θα είναι εύκολα στη δημιουργία. 10. Η λακωνικότητα στη σήμανση της XML είναι μικρής σημασίας [21] Οι τρεις πυλώνες της XML H XML στηρίζεται σε τρεις πυλώνες που είναι οι ακόλουθοι: Επεκτασιμότητα (Extensibility). Η μορφή που χρησιμοποιεί η XML για την περιγραφή δομημένων δεδομένων ως κείμενο είναι επεκτάσιμη. Αυτό σημαίνει ότι οποιαδήποτε δεδομένα μπορούν να περιγραφούν σε μορφή κειμένου με τους κανόνες της XML, μπορούν να γίνουν αποδεκτά ως XML. Οι επεκτάσεις χρειάζεται απλώς να ακολουθούν τους βασικούς συντακτικούς κανόνες της XML. Δομή (Structure). Η XML παρέχει μία καθορισμένη δομή των δεδομένων, η οποία είναι συνήθως πολύπλοκη (ιδιαίτερα όσο μεγαλώνει ο όγκος των δεδομένων και το βάθος της πληροφορίας) και δύσκολο να παρατηρηθεί από το ανθρώπινο μάτι, αλλά θα πρέπει να σημειωθεί ότι η XML δε σχεδιάστηκε για να διαβάζεται από τους ανθρώπους. Εγκυρότητα (Validity). Πέρα από τις υποχρεωτικές συντακτικές απαιτήσεις για τη δημιουργία ενός XML εγγράφου, τα δεδομένα που έχουν αναπαρασταθεί με την XML, μπορούν να επικυρώνονται για τη δομή και το περιεχόμενό τους σύμφωνα με δύο πρότυπα επικύρωσης: το πρότυπο Data Type Definition (DTD) και το πιο πρόσφατο XML Schema [18] Η Σύνταξη της XML Η XML χρησιμοποιεί ετικέτες (tags) για να «μαρκάρει» ένα κείμενο. Λαμβάνοντας υπόψη ότι η XML σχεδιάστηκε για την περιγραφή δεδομένων και εγγράφων, η Σύσταση του W3C για την XML (W3C XML Recommendation), είναι ιδιαίτερα αυστηρή ως προς τον πυρήνα των απαιτήσεων που συντελούν στη διαφοροποίηση ενός εγγράφου που απλά περιέχει ετικέτες από ένα πραγματικό XML 36

38 έγγραφο. Για να είναι σαφής ο παραπάνω διαχωρισμός, ένα XML έγγραφο που πληρεί τους συντακτικούς κανόνες που τίθενται από τον οργανισμό W3C στη Σύσταση για την XML, χαρακτηρίζεται με τον όρο «σωστά διαμορφωμένο XML έγγραφο» (well-formed XML document) [18]. Βασικό δομικό χαρακτηριστικό ενός XML εγγράφου συνιστά το στοιχείο (element), το οποίο αποτελείται από τα παρακάτω: μία ετικέτα έναρξης (start tag) (π.χ. <element>) περιεχόμενο (content) μία ετικέτα λήξης (end tag) (π.χ. </element>) Το περιεχόμενο ενός στοιχείου μπορεί να περιλαμβάνει απλά δεδομένα ή άλλα υποστοιχεία. Ο διαχωρισμός του κειμένου με ετικέτες σε στοιχεία και υποστοιχεία ακολουθεί μία ιεραρχική ή δενδρική δομή, σύμφωνα με την οποία ένα XML έγγραφο περιέχει ένα μόνο στοιχείο ρίζα (root), το οποίο μπορεί να αποτελείται από άλλα στοιχεία, υποστοιχεία κ.ο.κ [17]. Για να γίνουν κατανοητά τα παραπάνω, παρατίθεται ένα παράδειγμα. Το XML έγγραφο του Σχήματος 2.3, αποτελείται από ένα στοιχείο person (root element). Σύμφωνα με τη δενδρική δομή του εγγράφου, το στοιχείο person ονομάζεται γονέας (parent) και έχει τέσσερα στοιχεία ως παιδιά (children): ένα στοιχείο name και τρία στοιχεία profession. Αντίστοιχα, το στοιχείο name είναι γονέας δύο άλλων στοιχείων: του first_name και του last_name. Το Σχήμα 2.4 απεικονίζει τη δενδρική δομή που αναλύθηκε και που αντιστοιχεί στο XML έγγραφο του Σχήματος 2.3 [20]. <person> <name> <first_name>alan</first_name> <last_name>turing</last_name> </name> <profession>computer scientist</profession> <profession>mathematician</profession> <profession>cryptographer</profession> </person> Σχήμα 2.3 Παράδειγμα XML εγγράφου [20] 37

39 Σχήμα 2.4 Η Δενδρική Δομή ενός XML εγγράφου [20] Ένας εναλλακτικός τρόπος κωδικοποίησης των δεδομένων σε XML παρέχεται με τη χρήση χαρακτηριστικών (attributes). Έτσι λοιπόν, τα XML στοιχεία μπορούν να έχουν χαρακτηριστικά. Ένα χαρακτηριστικό συνιστά ένα ζευγάρι ονόματος τιμής (name-value pair) το οποίο συνδέεται με ένα στοιχείο. Το όνομα και η τιμή είναι strings που διαχωρίζονται μεταξύ τους με το ίσον (=), ενώ η τιμή θα πρέπει να περικλείεται πάντοτε σε εισαγωγικά [21]. Το παράδειγμα του παραπάνω XML εγγράφου παρουσιάζεται με χρήση attributes στο Σχήμα 2.5. <person> <name first="alan" last="turing"/> <profession value="computer scientist"/> <profession value="mathematician"/> <profession value="cryptographer"/> </person> Σχήμα 2.5 Παράδειγμα XML εγγράφου με χρήση attributes [20] Τέλος, προβλέπεται ειδική σύνταξη για τα κενά στοιχεία (empty elements), δηλαδή για εκείνα τα στοιχεία που δεν έχουν περιεχόμενο. Η σύνταξή τους γίνεται με τη χρήση μίας κενής ετικέτας (empty tag), η οποία έχει τη μορφή: (element/). 38

40 Συνοψίζοντας, ένα σωστά διαμορφωμένο XML έγγραφο θα πρέπει να ικανοποιεί τα παρακάτω βασικά κριτήρια: Το έγγραφο περιέχει ένα ή περισσότερα στοιχεία. Το έγγραφο περιέχει ένα μόνο στοιχείο-ρίζα το οποίο μπορεί να περιέχει άλλα στοιχεία Κάθε στοιχείο πρέπει να «ανοίγει» και να «κλείνει» σωστά. Τα στοιχεία είναι case-sensitive. Οι τιμές των χαρακτηριστικών θα πρέπει να περικλείονται σε εισαγωγικά και δεν μπορούν να είναι κενές [16] Η δομή ενός XML Εγγράφου Ένα XML έγγραφο περιλαμβάνει δεδομένα σήμανσης (markup data) και χαρακτήρων (character data, CDATA). Γενικά, τα δεδομένα χαρακτήρων συνίστανται στο κείμενο ανάμεσα σε μία ετικέτα έναρξης και μία ετικέτα λήξης, ενώ τα υπόλοιπα δεδομένα αποτελούν τα δεδομένα σήμανσης. Κάθε XML έγγραφο χωρίζεται σε δύο τμήματα: τον πρόλογο (prolog) και το στοιχείο-ρίζα (root element). Ο πρόλογος εμφανίζεται στην αρχή του XML εγγράφου και περιέχει πληροφορίες για το έγγραφο. Πιο συγκεκριμένα, ο πρόλογος μπορεί να περιέχει: Τη δήλωση XML (XML declaration). Αποτελεί πάντα την πρώτη φράση του XML εγγράφου. Είναι προαιρετική, ωστόσο συνιστάται, καθώς δίνει πληροφορίες στην εφαρμογή ή στον άνθρωπο να περιμένουν XML περιεχόμενο μέσα στο έγγραφο (και ποια έκδοση XML ακολουθείται), καθώς και άλλες πρόσθετες πληροφορίες όπως ο τύπος κωδικοποίησης των χαρακτήρων και αν το έγγραφο είναι αυτοτελές (standalone). Ένα παράδειγμα δήλωσης XML είναι: <?xml version="1.0" encoding="utf-8" standalone="yes"?> Οδηγίες Επεξεργασίας (Processing Instructions). Παρέχουν πληροφορίες για το XML έγγραφο σε άλλες εφαρμογές. Αρχίζουν με <? και τελειώνουν με?>, όπως και η XML δήλωση, αλλά δεν θα πρέπει να συγχέονται με αυτήν. Το πρώτο πράγμα που υπάρχει σε μία οδηγία είναι ένα όνομα που καλείται στόχος (target) και θα μπορούσε να είναι το όνομα της εφαρμογής στην οποία αναφέρεται η οδηγία ή απλά ένα αναγνωριστικό της συγκεκριμένης οδηγίας. Ένα παράδειγμα οδηγίας επεξεργασίας είναι: <?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?> 39

41 Σχόλια (Comments). Τα σχόλια μπορούν να συμπεριληφθούν και σε οποιοδήποτε άλλο σημείο του εγγράφου. Αρχίζουν με <!-- και τελειώνουν με --> (π.χ. <!-- Αυτό είναι ένα σχόλιο-->) DTDs και XML Schemas. Παρέχουν κανόνες για το ποια στοιχεία και χαρακτηριστικά μπορούν να υπάρχουν μέσα στο XML έγγραφο, δηλαδή καθορίζουν ποια στοιχεία και χαρακτηριστικά είναι έγκυρα, ποια απαιτούνται και ποια είναι προαιρετικά. Σε ό,τι αφορά το στοιχείο ρίζα, αυτό μπορεί να περιέχει: Άλλα Στοιχεία (Elements). Τα στοιχεία μπορούν να είναι κενά, να περιέχουν μόνο κείμενο, να περιέχουν μόνο στοιχεία-παιδιά ή συνδυασμόςτων δύο προηγούμενων. Χαρακτηριστικά (Attributes) Κείμενο (Text). Περικλείεται ανάμεσα σε ετικέτες που ανοίγουν και κλείνουν (opening, closing tags) Τμήματα Δεδομένων Χαρακτήρων (CDATA Sections). Επιτρέπουν τη σήμανση τμημάτων κειμένου ώστε αυτά να μην υπόκεινται σε επεξεργασία ως κομμάτια XML, για παράδειγμα χρησιμεύουν στην ενσωμάτωση κώδικα (π.χ. Javascript) ή στην προσθήκη περιεχομένου που δε χρειάζεται επεξεργασία. Αρχίζουν με <!CDATA[ και τελειώνουν με ]]. Αναφορές Οντοτήτων (Entity References). Υπάρχουν ορισμένοι χαρακτήρες που έχουν συγκεκριμένη ερμηνεία σε ένα XML έγγραφο. Για να χρησιμοποιηθούν αυτοί οι χαρακτήρες με κάποια άλλη ερμηνεία, θα πρέπει να αντικατασταθούν από αναφορές οντοτήτων. Στον Πίνακα 1 παρουσιάζονται οι αναφορές οντοτήτων που μπορούν να χρησιμοποιηθούν σε ένα XML έγγραφο. Σχόλια (Comments). [16], [18], [20], [21] 40

42 Πίνακας 1. Αναφορές Οντοτήτων Χαρακτήρας Αναφορά Οντότητας & ' & &apos; > > < < " " Επικύρωση των XML Εγγράφων Η XML αποτελεί ένα άριστο μέσο μεταφοράς για το διαμοιρασμό δεδομένων μεταξύ των συστημάτων. Ωστόσο, τα σωστά διαμορφωμένα XML έγγραφα που ακολουθούν μόνο τους βασικούς συντακτικούς κανόνες της XML μπορούν να παραχθούν πολύ εύκολα στην πηγή τους, αλλά συνήθως είναι πολύ δύσκολο να διαβαστούν στον προορισμό τους, εάν δεν υπάρχει ένα είδος περιγραφής για τη δομή τους. Έτσι εισάγεται η έννοια της επικύρωσης (validation). Οι κανόνες της μορφής (formatting rules) ενός XML εγγράφου, ως επιπρόσθετοι στους συντακτικούς κανόνες, πειργράφονται και ενισχύονται μέσω μίας διαδικασίας που καλείται επικύρωση. Η επικύρωση XML χρησιμοποιεί ένα χωριστό από το XML έγγραφο, το οποίο μπορεί να δημοσιευθεί ή να αποθηκευθεί χωριστά σε μία URL. Το έγγραφο επικύρωσης περιγράφει τη δομή και μορφή των δεδομένων που υπάρχει σε ένα XML έγγραφο. Τα έγγραφα επικύρωσης συνήθως παράγονται την ίδια στιγμή και από την ίδια πηγή που παράγει τα XML έγγραφα. Τα XML έγγραφα χρησιμοποιούν αναφορά στο έγγραφο επικύρωσης και χρησιμοποιούνται από τους parsers (προγράμματα για την ανάγνωση και διαχείριση των XML εγγράφων) για να διασφαλίσουν ότι το XML έγγραφο πληρεί τα κριτήρια του εγγράφου επικύρωσης. Αν το XML έγγραφο είναι σωστά διαμορφωμένο και ο parser καταλήξει ότι το έγγραφο πληρεί επιπλέον και τις προδιαγραφές δομής και μορφής που θέτει το έγγραφο επικύρωσης, τότε το έγγραφο θεωρείται ένα έγκυρο XML έγγραφο. Η επικύρωση μπορεί να πραγματοποιηθεί σε πολλά επίπεδα. Η επικύρωση της δομής διασφαλίζει ότι οι δομές των στοιχείων και των χαρακτηριστικών ενός XML εγγράφου πληρούν ορισμένες προδιαγραφές, ωστόσο δεν ασχολείται ιδιαίτερα με το 41

43 περιεχόμενο του κειμένου. Κάτι τέτοιο πραγματοποιείται από την επικύρωση δεδομένων, η οποία διασφαλίζει ότι το περιεχόμενου συμμορφώνεται με κανόνες σχετικούς με τον τύπο της πληροφορίας που θα έπρεπε να υπάρχει [22]. Οι δύο πλέον κοινοί τύποι επικύρωσης δεδομένων είναι τα Document Type Definitions (DTDs) και τα W3C XML Schemas. Τα DTDs και Schemas αποτελούν έγγραφα που περιγράφουν το περιεχόμενο και τη δομή των XML εγγράφων και χρησιμοποιούνται για την XML επικύρωση. Τα DTDs είναι έγγραφα κειμένου που περιγράφουν τις μορφές δεδομένων XML εγγράφων, αλλά τα ίδια δεν έχουν μορφή XML. Τα Schemas αποτελούν την επόμενη γενιά της επικύρωσης της μορφής δεδομένων, περιγράφουν όπως και τα DTDs τις μορφές δεδομένων XML εγγράφων, αλλά σε αντίθεση με τα DTDs, και τα ίδια έχουν μορφή XML. Επίσης, τα Schemas μπορούν να περιγράψουν με πολύ μεγαλύτερη λεπτομέρεια τη δομή και μορφή XML [18]. Σχήμα 2.6 Επικύρωση των XML εγγράφων με DTD και XML Schema [19] Document Type Definitions (DTDs) Ένα DTD περιλαμβάνει τα στοιχεία, τα χαρακτηριστικά, τις οντότητες και τις σημειογραφίες που χρησιμοποιούνται σε ένα έγγραφο, καθώς και τις δυνατές σχέσεις μεταξύ τους και προσδιορίζει ένα σύνολο κανόνων για τη δομή του εγγράφου [21]. Τα DTDs αναπτύχθηκαν αρχικά ως μέρος της SGML και επεκτάθηκαν από τη Σύσταση 42

44 W3C HTML για να δηλώσουν τις προδιαγραφές ενός HTML εγγράφου. Αργότερα, επεκτάθηκαν ως λειτουργία της XML επικύρωσης, με ως μέρος της Σύστασης W3C XML 1.0 το 1988 [18]. Κάθε κανόνας που θέτει το DTD αποδίδεται με μία δήλωση (declaration). Όπως αναφέρθηκε και παραπάνω, ένα έγκυρο XML έγγραφο πρέπει να βρίσκεται σε συμφωνία με το αντίστοιχο DTD. Αν το DTD δεν εμπεριέχεται απευθείας στο έγγραφο, αλλά συνδέεται με αυτό από μία εξωτερική πηγή, οι αλλαγές που γίνονται στο DTD, αυτόματα αναπαράγονται σε όλα τα έγγραφα που χρησιμοποιούν αυτό το DTD. Τα DTDs παρέχουν ένα μέσο για τις επιχειρήσεις, τους οργανισμούς, και τις ομάδες συμφερόντων να συμφωνήσουν πάνω σε ένα έγγραφο και να ενισχύσουν τη συνοχή των προτύπων σήμανσης. Επίσης, ορίζουν επακριβώς τι επιτρέπεται να εμφανίζεται σε ένα έγγραφο και τι απαγορεύεται, καθιερώνοντας έτσι ότι ο,τιδήποτε πέρα από όσα ορίζει το DTD είναι μη έγκυρο. Επιπλέον, παρουσιάζουν τη γενική δομή των δεδομένων ενός εγγράφου, ανεξάρτητα από τα ίδια τα δεδομένα στα διάφορα instances του ίδιου εγγράφου [21]. Δεδομένου ότι τα DTDs σχεδιάστηκαν αρχικά για την SGML, μπορούμε εύκολα να συμπεράνουμε ότι θα παρουσιάζουν ορισμένες ελλείψεις για την επικύρωση των XML εγγράφων. Ένας βασικός περιορισμός που παρατηρήθηκε αρχικά από τους σχεδιαστές είναι η σχεδόν παντελής έλλειψη του τύπου δεδομένων (data typing), ειδικά για το περιεχόμενο των στοιχείων. Για παράδειγμα, τα DTDs δεν μπορούν να δηλώσουν ότι ένα PRICE element θα πρέπει να περιέχει θετικό αριθμό δύο δεκαδικών ψηφίων και με τη χρηματική μονάδα $ ή ότι ένα MONTH element θα πρέπει να είναι ακέραιος αριθμός από το 1 έως το 12. Επιπρόσθετα, η ασυνήθιστη σύνταξη των DTDs, που δεν είναι XML, δεν μπορεί να διαβαστεί από τους parsers που διαβάζουν ένα XML έγγραφο. Για τους λόγους αυτούς και για επιπλέον περιορισμούς που θέτουν τα DTDs, χρησιμοποιούνται πλέον τα XML Schemas που αναλύονται στη συνέχεια XML Schemas Ένα XML Schema είναι μία γλώσσα ορισμού (definition language) που υποχρεώνει τη συμμόρφωση των XML εγγράφων με ένα συγκεκριμένο λεξιλόγιο και μία συγκεκριμένη ιεραρχική δομή. Τα πράγματα που είναι επιθυμητό να οριστούν είναι οι τύποι στοιχείων, χαρακτηριστικών και ο τρόπος συγκρότησής τους σε πιο σύνθετους τύπους [17]. Σε πολλές περιπτώσεις, ένα schema μπορεί να χρησιμεύσει ως σχεδιαστικό εργαλείο επάνω στο οποίο χτίζεται η υλοποίηση. Εφόσον η τυποποίηση είναι 43

45 απαραίτητη προϋπόθεση για τους σχεδιαστές λογισμικού, η τυποποίηση των περιορισμών και της δομής των XML εγγράφων, μπορεί να οδηγήσει στην υλοποίηση διαφορετικών εφαρμογών [22]. Το W3C XML Schema δημιουργήθηκε από την W3C Schema Ομάδα Εργασίας και παρουσιάστηκε ως Σύσταση του W3C το Αποτελεί μία εκτεταμένη προδιαγραφή που σχεδιάστηκε για να διαχειριστεί ένα ευρύ φάσμα περιπτώσεων. Πρόκειται για ένα ανοιχτό πρότυπο, ελεύθερο για υλοποίηση από οποιοδήποτε ενδιαφερόμενο μέρος [21]. Σε αντίθεση με το DTD, το XML Schema μπορεί να υποστηρίξει ένα ευρύ φάσμα τύπων δεδομένων με κύριους τύπους τους: String, Date, Numeric, Other και ειδικότερες κατηγορίες αυτών. Στο Παράρτημα της εργασίας παρατίθεται πίνακας με τους τύπους δεδομένων που υποστηρίζει το XML Schema. Οι τύποι δεδομένων έχουν τη μορφή χαρακτηριστικών (attributes) σε δηλώσεις στοιχείων (element declarations), όπως ισχύει και στη σύνταξη των XML εγγράφων. Οι τύποι δεδομένων περιέχονται σε τέσσερα είδη στοιχείων: Δηλώσεις Στοιχείων (Element declarations). Περιγράφουν ένα στοιχείο ενός XML εγγράφου. Ορισμοί απλών τύπων (Simple type definitions). Περιέχουν τιμές για ένα μόνο στοιχείο, συνήθως με χαρακτηριστικά που ορίζουν έναν από τους πρωτογενείς τύπους στοιχείων W3C, αλλά μπορούν να ορίσουν και τύπους δεδομένων που προέρχονται από το χρήστη. Οι απλοί τύποι στοιχείων έχουν ως περιεχόμενο μόνο κείμενο και όχι άλλα στοιχεία ή χαρακτηριστικά. Ορισμοί σύνθετων τύπων (Complex type definitions). Μία σειρά από φωλιασμένα στοιχεία με χαρακτηριστικά που περιγράφουν μία σύνθετη δομή XML εγγράφου, αλλά και τύπους δεδομένων. Δηλώσεις χαρακτηριστικών (Attribute declarations). Στοιχεία που περιγράφουν χαρακτηριστικά και χαρακτηριστικά που ορίζουν τον τύπο δεδομένων του χαρακτηριστικού [18]. Οι δηλώσεις στοιχείων, οι ορισμοί απλών και σύνθετων τύπων και οι δηλώσεις χαρακτηριστικών που περιγράφηκαν παραπάνω, ορίζονται με τη δήλωση ενόςή περισσοτέρων στοιχείων του Schema (Schema elements) που παρουσιάζονται σε πίνακα στο Παράρτημα της εργασίας. Επιπλέον, πέρα από τα Schema elements, υπάρχουν και άλλοι τύποι στοιχείων που ορίζουν περιορισμούς για άλλα στοιχεία, τα οποία παρατίθενται στο Παράρτημα της εργασίας. 44

46 Για να γίνει πιο κατανοητός ο τρόπος δήλωσης των απλών και σύνθετων δεδομένων, παρουσιάζεται ένα παράδειγμα στο Σχήμα 2.7. <xsd:complextype name="address"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="street" type="xsd:string"/> <xsd:element name="city" type="xsd:string"/> <xsd:element name="state" type="xsd:string"/> <xsd:attribute name="phone" type="xsd:string" use="optional"/> </xsd:complextype> Σχήμα 2.7 Ορισμοί απλών και σύνθετων τύπων δεδομένων [23] Σύμφωνα με το Σχήμα 2.7, αρχικά δηλώνεται η διεύθυνση (address), η οποία αποτελεί σύνθετο τύπο δεδομένων (complextype), καθώς περιέχει άλλα στοιχεία και χαρακτηριστικά. Τα στοιχεία που περιέχει είναι το όνομα (name), η οδός (street), η πόλη (city), το κράτος (state), ενώ περιέχει και ένα χαρακτηριστικό, που είναι το τηλέφωνο (phone). Τα στοιχεία που προαναφέρθηκαν και που αποτελούν το περιεχόμενο του σύνθετου στοιχείου της διεύθυνσης, είναι απλά στοιχεία και δηλώνονται με την έκφραση type="xsd:string". Γενικά, με το attribute type ενός xsd:element δηλώνεται ο τύπος δεδομένων. Σε ό,τι αφορά τη σύνταξη ενός XML Schema, αυτή έχει τα ακόλουθα βασικά χαρακτηριστικά: Ξεκινάει με μία δήλωση XML (XML declaration), αντίστοιχη με εκείνη που αναφέρθηκε στην παράγραφο Κατά τον ίδιο τρόπο, μπορεί να εισάγονται και σχόλια. Ακολουθεί η δήλωση του W3C Schema namespace, ως μέρος του στοιχείουρίζας. Η δήλωση αυτή αρχίζει πάντοτε με <xs: που αποτελεί άλλωστε και την συλλαβή που χρησιμοποιείται σε όλες τις δηλώσεις του Schema. Ένα παράδειγμα μίας τέτοιας δήλωσης είναι: <xs:schema xmlns:xs= elementformdefault= qualified > Η δήλωση των στοιχείων γίνεται ξεκινώντας με xs:element 45

47 Η δήλωση των σύνθετων στοιχείων γίνεται με τη χρήση του xs:complextype, ενώ των απλών στοιχείων με χρήση του xs:simpletype Παρουσίαση XML Εγγράφων Όπως αναφέρθηκε παραπάνω, τα XML έγγραφα χρησιμοποιούνται για τη δόμηση και οργάνωση των δεδομένων και όχι για την παρουσίασή τους. Σε αντίθεση με ένα HTML αρχείο που περιλαμβάνει όλες τις απαραίτητες πληροφορίες μορφοποίησης για την προβολή του εγγράφου σε έναν browser, τα XML έγγραφα στερούνται τέτοιων πληροφοριών. Η αναπαράσταση των XML εγγράφων δίνει νέες δυνατότητες στη μεταφορά και το διαμοιρασμό δεδομένων. Για το λόγο αυτό, υπάρχουν συμπληρωματικές τεχνολογίες της XML για την παρουσίαση των εγγράφων, παρέχοντας έναν κλιμακωτό τρόπο για τη μεταφορά και προβολή περιεχομένου σε μία μεγάλη ποικιλία συσκευών. Στο πλαίσιο της εργασίας, θα παρουσιαστούν οι τεχνολογίες CSS και XSL [19] Cascading Style Sheets (CSS) Η CSS είναι μία απλή τεχνολογία, υποστηρικτική της XML, για την προσθήκη ιδιοτήτων στυλ εμφάνισης σε XML έγγραφα. Οι ιδιότητες αφορούν για παράδειγμα το μέγεθος της γραμματοσειράς, το χρώμα φόντου, κενά μεταξύ παραγράφων, περιγράμματα γύρω από τα στοιχεία κ.α. Η CSS αποτελεί μία γλώσσα δήλωσης (declaration language) που παρουσιάστηκε το 1966 ως ένα πρότυπο μέσο για την προσθήκη πληροφοριών σχετικών με τις ιδιότητες εμφάνισης των ΗTML εγγράφων. Ωστόσο, έχει διαπιστωθεί ότι εφαρμόζεται καλύτερα στα ΧML έγγραφα, καθώς η HTML παρουσιάζει κάποια προβλήματα συμβατότητας [21]. Το κύριο χαρακτηριστικό της τεχνολογίας CSS είναι ότι η αποθήκευση όλων των πληροφοριών που αφορούν στο στυλ του εγγράφου, αντί να αποθηκεύονται στο ίδιο το έγγραφο, βρίσκονται σε ένα άλλο έγγραφο που ονομάζεται φύλλο στυλ (style sheet). Με τον τρόπο αυτό, ένα XML έγγραφο μπορεί να μορφοποιηθεί πολλές φορές με διαφορετικά στυλ εμφάνισης, μόνο με την αλλαγή του φύλλου στυλ [21]. Για το λόγο αυτό, η τεχνολογία είναι ιδιαίτερα σημαντική και για τους σχεδιαστές, καθώς επιτρέπει το διαχωρισμό της παρουσίασης από το περιεχόμενο, παρέχοντας δυνατότητες βελτίωσης της μακροζωίας του λογισμικού [19]. Ένα φύλλο στυλ περιέχει μία λίστα κανόνων, δίνοντας οδηγίες σε έναν browser ή κάποιο άλλο μηχάνημα για το πώς θα παρουσιάσει το περιεχόμενο οτυ εγγράφου. Κάθε 46

48 κανόνας χρησιμοποιεί το όνομα του στοιχείου που είναι επιθυμητό να μορφοποιηθεί, καθώς και τα στυλ που πρόκειται να εφαρμοστούν σε αυτό. Κάθε κανόνας έχει έναν selector, που αποτελεί το όνομα του στοιχείου (για κάποιο στιγμιότυπο) στο οποίο θα εφαρμοστεί το στυλ και μία λίστα από στυλ (list of styles) που θα εφαρμοστούν σε στιγμιότυπα αυτού του στοιχείου [21]. Η σύνταξη του κανόνα ακολουθεί την εξής μορφή: selector { property: value } Θα πρέπει ωστόσο να σημειωθεί ότι η CSS παρουσιάζει ορισμένους περιορισμούς, που θέτουν εμπόδια στην παρουσίαση των XML εγγράφων, όπως αυτή μπορεί να είναι επιθυμητή: Η CSS δεν μπορεί να συνδυάσει πολλά έγγραφα [25]. Τα στοιχεία XML μπορούν να εμφανιστούν μόνο με τη σειρά που έχει οριστεί στο XML έγγραφο, δηλαδή δεν μπορεί να αλλάξει η σειρά τους κατά την εμφάνιση. Η CSS δεν εφαρμόζεται στα attributes των στοιχείων. Το περιεχόμενο των στοιχείων εμφανίζεται ακριβώς όπως είναι και δεν μπορούν εύκολα να γίνουν αλλαγές σε αυτό (π.χ. προσθήκη κειμένου, εκτέλεση επεξεργασίας / υπολογισμών σε κάποιες πληροφορίες). Η CSS δεν επιτρέπει την προβολή δυναμικού περιεχομένου (π.χ. προσθήκη links σε μία σελίδα, απόκρυψη τμημάτων του εγγράφου κλπ.) [24]. Ειδικότερα για τον τελευταίο περιορισμό, που είναι ιδιαίτερα σημαντικός για τα XML έγγραφα, (π.χ. την προβολή ενός XML εγγράφου, που δε θα περιέχει κάποια τμήματα ενός αρχικού XML εγγράφου, θα είναι δηλαδή υποσύνολο του αρχικού), η λύση παρέχεται από την τεχνολογία XSL που θα αναλυθεί στη συνέχεια Extensible Stylesheet Language (XSL) Το 1998 ο Οργανισμός W3C ξεκίνησε την ανάπτυξη μίας πρότυπης γλώσσας για την παρουσίαση XML πληροφοριών. Η γλώσσα αυτή ονομάστηκε Extensible Stylesheet Language (XSL) και στόχος της ήταν η ανάπτυξη μίας γλώσσας φύλλου στυλ που θα μπορούσε να ξεπεράσει τους περιορισμούς που έθετε η CSS, δηλαδή μία γλώσσα που θα έδινε τη δυνατότητα αναδιοργάνωσης της πληροφορίας και προσθήκης επιπλέον στοιχείων σε ένα έγγραφο (π.χ. επικεφαλίδα σε μία σελίδα). Για την επίτευξη αυτού του στόχου, η XSL δανείστηκε στοιχεία από την γλώσσα Document Style Semantics and Specification Language (DSSSL), η οποία αποτελεί πρότυπη γλώσσα φύλλου στυλ για εφαρμογές SGML. Επίσης, μία απόφαση που λήψθηκε ήταν ότι η 47

49 XSL θα χρησιμοποιούσε σύνταξη XML για να αναπαραστήσει τους κανόνες παρουσίασης των XML εγγράφων. Αρκετά σύντομα μετά την ανάπτυξη της XSL, κατέστη σαφές ότι η γλώσσα αποτελείται από τρία τμήματα: Μία γλώσσα σήμανσης για τον ορισμό του τρόπου προδιαγραφής της XML σε γλώσσα παρουσίασης Μία γλώσσα παρουσίασης για την επιλογή πληροφοριών σε ένα XML έγγραφο και την εκτέλεση υπολογισμών σε αυτές Μία γλώσσα σήμανσης για την περιγραφή λεπτομερειών παρουσίασης (π.χ. χρώμα κελιού ενός πίνακα) Συνεπώς, η XSL διαχωρίζεται σε δύο γλώσσες σήμανσης και μία τρίτη text-based γλώσσα. Η πρώτη γλώσσα σήμανσης καθορίζει τον τρόπο με τον οποίο μπορεί να γίνει μετασχηματισμός ενός εγγράφου XML σε ένα άλλο έγγραφο είτε XML είτε μίας άλλης γλώσσα σήμανσης (π.χ. HTML, XHTML) είτε σε ένα απλό έγγραφο κειμένου. Η γλώσσα αυτή ονομάζεται XSL Transformations ή XSLT. Η δεύτερη γλώσσα χρησιμοποιείται συνήθως με την XSLT για να δείχνει κομμάτια πληροφορίας ενός XML εγγράφου και είναι γνωστή ως XML Path Language, ή XPath. Η τρίτη γλώσσα σήμανσης ασχολείται καθαρά με την παρουσίαση, περιγράφει τον τρόπο με τον οποίο μορφοποιημένα αντικείμενα θα προβάλλονται στη σελίδα και είναι γνωστή ως XSL Formatting Objects ή XSL-FO [24]. XSL Transformations ( XSLT) Ένα XML έγγραφο γραμμένο σε XSLT, είναι γνωστό ως XSLT φύλλο στυλ και συνήθως έχει την επέκταση.xsl. Κάθε XSLT φύλλο στυλ περιγράφει τον τρόπο με τον οποίο ένα σύνολο από XML έγγραφα source documents μπορούν να μετατραπούν σε άλλα έγγραφα result documents οποιασδήποτε γλώσσας. Όπως προαναφέρθηκε, για την επίτευξη αυτού του μετασχηματισμού, η XSLT, θα πρέπει να επιλέξει πληροφορίες από το source document, ώστε να τις επεξεργαστεί κατάλληλα και να δώσει το result document. Την εργασία αυτή την εκτελεί η XPath. Πιο συγκεκριμένα, συλλέγει την απαιτούμενη πληροφορία (κατόπιν πλοήγησης) από ένα XML έγγραφο και ακολούθως επιτρέπει την εκτέλεση υπολογισμών σε αυτήν [24]. Επομένως, το λεξιλόγιο των XSLT φύλλου στυλ προκύπτει από τις οδηγίες και τις λειτουργίες XSL, σε συνδυασμό με τις λειτουργίες XPath [18]. 48

50 Η χρησιμοποίηση XSLT, προϋποθέτει την ύπαρξη ενός XSLT επεξεργαστή (XSLT processor). Οι XSLT επεξεργαστές αποτελούν εφαρμογές που γνωρίζουν πώς να επεξεργαστούν ένα XSLT φύλλο στυλ. Χρησιμοποιούν ένα XSLT φύλλο στυλ, μαζί με το αρχικό XML έγγραφο, και παράγουν το τελικό έγγραφο [24]. Πιο συγκεκριμένα, ένας XSLT επεξεργαστής δέχεται ως είσοδο ένα διάγραμμα δένδρου που αντιστοιχεί σε ένα XML έγγραφο και παράγει ένα διαφορετικό δενδρικό διάγραμμα. Η γλώσσα XSLT διαθέτει χειριστές (operators) για την επιλογή ορισμένων κόμβων του δένδρου, αναδιάταξη των κόμβων και εξαγωγή των τελικών [21]. Υπάρχουν αρκετοί XSLT επεξεργαστές διαθέσιμοι για διαφορετικές πλατφόρμες, πολλοί από αυτούς είναι ελεύθερου κώδικα. Οι κυριότεροι από τους XSLT 1.0 επεξεργαστές είναι οι παρακάτω: MSXML (Microsoft) Saxon version (Michael Kay) Xalan (Apache) [24] Σε ό,τι αφορά τη δομή ενός XSLT φύλλου στυλ, εκείνο αποτελείται από κανόνες προτύπων (template rules). Όταν ο XSLT επεξεργαστής μετασχηματίζει ένα XML έγγραφο με βάση ένα XSLT φύλλο στυλ, ξεκινάει από το στοιχείο-ρίζα του εγγράφου και ακολουθεί τη σειρά των κανόνων αυτών. Όπως ο επεξεργαστής επισκέπτεται κάθε κόμβο του XML εγγράφου, τον συγκρίνει με εκείνον που υπαγορεύεται από τον κανόνα του φύλλου στυλ. Όταν βρίσκει έναν κόμβο που ταιριάζει με το υπόδειγμα του κανόνα, εφαρμόζει το πρότυπο του κανόνα σε αυτόν τον κόμβο και τον εξάγει. Το πρότυπο του κανόνα μπορεί να αφορά σήμανση, νέα δεδομένα, δεδομένα που έχουν αντιγραφεί από το αρχικό XML έγγραφο, καθώς και οδηγίες για το ποιοι κόμβοι θα υποστούν σε επεξεργασία στη συνέχεια [21]. Ακολούθως, αναφέρονται τα κύρια χαρακτηριστικά της δομής ενός XSLT φύλλου στυλ: Το στοιχείο-ρίζα ενός XSLT φύλλου στυλ εισάγεται με το στοιχείο <xsl:stylesheet>, το οποίο ορίζει το xsl namespace, καθώς και την έκδοση XSLT. Ένα παράδειγμα είναι το ακόλουθο: <xsl:stylesheet xmlns:xsl=" version="1.0"> Εναλλακτικά, το στοιχείο-ρίζα μπορεί να εισαχθεί και με το στοιχείο <xsl:transform> Κάθε κανόνας προτύπου ορίζεται με το στοιχείο <xsl:template>. Το χαρακτηριστικό match υποδεικνύει ποια μέρη του εγγράφου θα πρέπει να υποστούν επεξεργασία, σύμφωνα με αυτόν τον κανόνα, ενώ το περιεχόμενο του στοιχείου καθορίζει το τι πρέπει ακριβώς να γίνει με αυτό το τμήμα. 49

51 Εάν ο επεξεργαστής δεν μπορεί να βρεί ένα πρότυπο για να ταιριάξει κάποιο κόμβο, τότε χρησιμοποιεί built-in πρότυπα (built-in templates). Δηλαδή, οι built-in templates κανόνες εφαρμόζονται όταν δεν υπάρχει από πριν κάποιος συγκεκριμένος κανόνας. Υπάρχει μία σειρά από παραλλαγές αυτών των κανόνων. Αυτό που σημειώνεται είναι ότι είναι χαμηλότερης προτεραιότητας από τους κανόνες προτύπων [18], [21], [24], [25]. Αναλυτικά, όλα τα XSLT στοιχεία παρατίθενται στο Παράρτημα της εργασίας. XPath Το ταίριασμα των υποδειγμάτων που περέχουν οι κανόνες προτύπων, διευκολύνεται από τις εκφράσεις XPath, οι οποίες εκφράζουν τους αναλυμένους (parsed) κόμβους ενός XML εγγράφου. Οι αναπαραστάσεις δένδρων XPath διασπούν τα XML έγγραφα σε ρίζα, στοιχεία, κείμενο, χαρακτηριστικά, namespaces, οδηγίες επεξεργασίας και κόμβους σχολίων. Η εφαρμογή μίας έκφρασης XPath σε ένα έγγραφο μπορεί να επιστρέψει ένα από τα παρακάτω: Έναν κόμβο Μία ομάδα κόμβων Μία τιμή Boolean Έναν δεκαδικό αριθμό Ένα string Θα μπορούσαμε να φανταστούμε τον XSLT επεξεργαστή να αναλύει ένα έγγραφο και να τοποθετεί καθένα από τα στοιχεία του εγγράφου σε ένα κατάλογο αρχείου συστήματος, προσδιορίζοντας τα χαρακτηριστικά, τα namespaces, τα δεδομένα κειμένου με συγκεκριμένα αναγνωριστικά. Το νέο αρχείο συστήματος ξεκινάει με τον κατάλογο ρίζα (/), και κάθε κατώτερο στοιχείο μπορεί να βρεθεί σε κάποιον υποκατάλογο της ρίζας. Η XPath δεν λειτουργεί ακριβώς κατά τον τρόπο που μόλις περιγράφηκε, ωστόσο η παρομοίωση με το αρχείο συστήματος είναι ένα καλό παράδειγμα που καθιστά κατανοητό τον τρόπο λειτουργίας της XPath. Μία έκφραση XPath χρησιμοποιεί ένα όνομα άξονα (axis name) και τους χαρακτήρες (::) για την αναγνώριση κόμβων μέσα σε ένα XML έγγραφο. Επίσης περιλαμβάνει κάποιο μονοπάτι εντοπισμού (location path), το οποίο διαβάζεται από αριστερά προς τα δεξιά, για την αναγνώριση των διαφορετικών μερών του εγγράφου. Κάθε βήμα στο μονοπάτι χωρίζεται από το επόμενο με slash (/). Ο άξονας ή οι άξονες που χρησιμοποιούνται στο μονοπάτι περιγράφουν τις σχέσεις των κόμβων. Η XPath 50

52 αναγνωρίζει συγκεκριμένους άξονες, οι οποίοι παρατίθενται σε Πίνακα στο Παράρτημα της εργασίας. Στον Πίνακα 2 που ακολουθεί παρουσιάζονται οι βασικοί χειριστές εντοπισμού (location operators) που χρησιμοποιούνται για τον εντοπισμό των διαφόρων κόμβων ενός XML εγγράφου. Ο εντοπισμός των κόμβων γίνεται, όπως προαναφέρθηκε, με την πλοήγηση και τον προσδιορισμό μονοπατιών στην ιεραρχική-δενδρική δομή του XML εγγράφου [16], [18], [21]. Πίνακας 2. XPath Location Operators Operator Περιγραφή. Ο τρέχων κόμβος.. Ο κόμβος γονέας / Το στοιχείο ρίζα // Όλοι οι κατώτεροι Αναγνωριστικό χαρακτηριστικού * Όλοι οι κόμβοι-παιδιά XSL Formatting Objects ( XSL-FO) Η γλώσσα XSL-FO παρέχει τη δυνατότητα δυναμικής μορφοποίησης των XML εγγράφων σε εκτυπώσιμες σελίδες. Κάτι τέτοιο επιτυγχάνεται με τον καθορισμό ορθογώνιων περιοχών εντός του οποίου καθορίζεται το περιεχόμενο (κείμενο, εικόνες κλπ.) καθώς και ο τρόποςπαρουσίασής του. Κατά τον ίδιο τρόπο πουη XSLT χρειάζεται έναν XSLT επεξεργαστή για την υλοποίηση των μετασχηματισμών, έτσι και η XSL-FO χρειάζεται μία μηχανή FOP (Formatting Objects Processor) για την υλοποίηση της επεξεργασίας. Ο FOP δέχεται το αρχικό XML έγγραφο και το XSL-FO έγγραφο και παράγει το εκτυπώσιμο έγγραφο (σε μορφή Pordable Document Format PDF) [18]. Το αποτέλεσμα που παράγεται από την εφαρμογή της XSL-FO μορφοποιείται σε σελίδες (pages). Κάθε σελίδα αποτελείται από περιοχές (regions), οι οποίες με τη σειρά τους περιέχουν περιοχές τμημάτων (blocks) που καθορίζουν μικρά στοιχεία blocks, όπως για παράδειγμα παραγράφους, πίνακες, λίστες κ.α. Η τμηματοποίηση επεκτείνεται με τον περαιτέρω διαχωρισμό των blocks σε περιοχές γραμμών (line areas) και σε 51

53 διαχωρισμό των τελευταίων σε περιοχές εντός των γραμμών (inline areas), οι οποίες καθορίζουν το κείμενο μέσα στις γραμμές (τελείες, χαρακτήρες κλπ.). Σε ό,τι αφορά τη δομή ενός εγγράφου XSL-FO, εκείνο αποτελείται από ορισμένα βασικά στοιχεία. Αρχικά, όπως όλα τα xml έγγραφα, ξεκινά με τη δήλωση XML, η οποία στη συνέχεια ακολουθείται από τη δήλωση των xsl και fo namespaces. Ακολούθως, ορίζεται μία xsl δήλωση μεταβλητής (<fo:layout-master-set>) που καθορίζει τη διάταξη της σελίδας και περιέχει κανόνες για μία ή περισσότερες σελίδες. Κάθε κανόνας ορίζεται με το στοιχείο <fo:simple-page-master>, έχει ένα μοναδικό όνομα και προσδιορίζει το μέγεθος της σελίδας τα περιθώρια και άλλες πληοροφορίες. Επίσης ένα ή περισσότερα στοιχεία <fo:page-sequence> περιγράφει το περιεχόμενο της σελίδας. Βασικό δομικό στοιχείο της XSL-FO είναι το block. Οι ιδιότητες ενός block που προσδιορίζονται από την XSL-FO είναι οι ακόλουθες: space before, space after: πρόκειται για το κενό διάστημα που υπάρχει ανάμεσα σε δύο blocks margin: είναι η κενή περιοχή έξω από το block border: είναι το περίγραμμα γύρω από ένα block padding: είναι η περιοχή μεταξύ του περιγράμματος και του περιεχομένου του block Επίσης ένα block έχει χαρακτηριστικά που καθορίζουν το στυλ του, όπως είναι τα χαρακτηριστικά γραμματοσειράς (font attributes) και τα χαρακτηριστικά κειμένου (text attributes). Η XSL-FO για τον καθορισμό της διάταξης του περιεχομένου χρησιμοποιεί επίσης λίστες και πίνακες με τα στοιχεία <fo:list-block> και <fo:table> αντίστοιχα [49] Επεξεργασία XML Εγγράφων Όπως προαναφέρθηκε, το περιεχόμενο και η δομή ενός XML εγγράφου υπόκειται σε επεξεργασία από XML επεξεργαστές, τους καλούμενους parsers, και στη συνέχεια το έγγραφο περνάει στην εφαρμογή από την οποία θα χρησιμοποιηθεί. Οι τύποι επεξεργασίας ενός XML εγγράφου είναι δύο: επεξεργασία βασισμένη σε δένδρα (treebased processing) και επεξεργασία βασισμένη σε γεγονότα (event-based processing). Κάποιοι επεξεργαστές υποστηρίζουν και τους δύο τύπους επεξεργασίας. Τα δύο βασικά περιβάλλοντα Διεπαφής Προγραμματισμού Εφαρμογών API (Application Programming Interface) είναι το DOM (Document Object Model), που υποστηρίζει τον 52

54 πρώτο τύπο επεξεργασίας και το SAX (Simple API for XML) που υποστηρίζει τον δεύτερο [16] Document Object Model (DOM) Το DOM είναι είναι ένα περιβάλλον API που υποστηρίζεται από τον W3C και παρέχει μία πλατφόρμα που επιτρέπει την πρόσβαση και την τροποποίηση του περιεχομένου και της δομής εγγράφων με δενδρική δομή, όπως είναι τα XML έγγραφα. Σύμφωνα με αυτήν τη δομή, οι κόμβοι του δένδρου είναι τα elements του εγγράφου. Το DOM επιτρέπει σε κάποιον να διασχίσει το δένδρο και να έχει πρόσβαση στα elements, στις τιμές το υς και ό λα τα υπόλο πα ι μέρη το υ εγγράφο υ μέσω είτε μίας προγραμματιστικής γλώσσας, είτε μίας γλώσσας σεναρίου, όπως η JavaScript. Επίσης, μπορεί να επικυρώσει ένα XML έγγραφο με βάση ένα DTD ή ένα XML Schema. Η επεξεργασία βασισμένη στο DOM, απαιτεί τη φόρτωση ολόκληρου του εγγράφου στη μνήμη, για το λόγο αυτό η επεξεργασία είναι σχετικά αργή και δεν ενδείκνυται για έγγραφα μεγάλου μεγέθους. Το DOM ενδείκνυται για εφαρμογές που απαιτούν τυχαία πρόσβαση σε διάφορα τμήματα ενός εγγράφου σε διαφορετικές στιγμές ή για εφαρμογές που χρειάζεται να τροποποιούν γρήγορα τη δομή ενός XML εγγράφου [16], [20] Simple API for XML (SAX) Ένας επεξεργαστής SAX παρουσιάζει ένα XML έγγραφο ως μία σειρά γεγονότων. Οι προγραμματιστές ορίζουν χειριστές γεγονότων (event handlers) οι οποίοι συνδέονται με τα elements ενός XML εγγράφου και ενεργοποιούνται από τα γεγονότα. Ανάλογα με το γεγονός και τον handler που ενεργοποιεί αυτό, συμβαίνει η κατάλληλη ενέργεια επεξεργασίας. Πιο συγκεκριμένα, κατά την ανάγνωση ενός XML εγγράφου, ο parser στέλνει πληροφορίες από το έγγραφο στο πρόγραμμα σε πραγματικό χρόνο. Τα γεγονότα που οδηγούν την αποστολή πληροφοριών είναι για παράδειγμα το άνοιγμα μίας ετικέτας, οι χαρακτήρες δεδομένων, το κλείσιμο της ετικέτας κλπ. Η επεξεργασία αυτού του τύπου είναι σειριακή, δηλαδή όταν ένας κόμβος υποστεί επεξεργασία και προσπεραστεί, τότε δεν μπορεί να υποστεί ξανά επεξεργασία. Η επεξεργασία με το SAX δεν προϋποθέτει την αναμονή για ενέργεια πάνω στα δεδομένα μέχρι την ανάγνωση ολόκληρου του εγγράφου, αλλά το πιο σημαντικό είναι ότι δεν απαιτείται η φόρτωση ολόκληρου του εγγράφου στη μνήμη, όπως συμβαίνει με 53

55 το DOM, επομένως ενδείκνυται σε μεγάλου μεγέθους έγγραφα. Το μειονέκτημα του SAX είναι ότι οι προγραμματιστές που το χρησιμοποιούν, θα πρέπει να χτίζουν τις δικές τους δομές δεδομένων, προκειμένου να παρακολουθούν τα δεδομένα του εγγράφου, γεγονός που παρουσιάζει δυσκολίες [16], [19], [20] Αξιολόγηση της XML Η πρωταρχική χρήση της XML είναι για την ανταλλαγή δεδομένων μεταξύ διαφορετικών οργανισμών, με την XML να λειτουργει ως μηχανισμός διαλειτουργικότητας. Τα κυριότερα επιτεύγματα της XML που την διαφοροποιούν από άλλες τεχνολογίες οργάνωσης, αποθήκευσης και ανταλλαγής δεδομένων είναι τα ακόλουθα: Δημιουργία δεδομένων και εγγράφων ανεξάρτητων από την εφαρμογή. Η ανεξαρτησία της XML από την εφαρμογή έγκειται στο γεγονός ότι πρόκειται για μία εξαιρετικά απλή μορφή δεδομένων, σε αντίθεση με τη δυαδική μορφή ενός εγγράφου που έχει δημιουργηθεί σε έναν επεξεργαστή κειμένου. Το ίδιο έγγραφο πιθανόν να μην μπορεί να αναγνωστεί από κάποιον άλλο επεξεργαστή κειμένου, συνεπώς δημιουργείται τεράστια δέσμευση με αυτήν την εφαρμογή. Αντίθετα, η κωδικοποίηση ενός κειμένου σε XML, επιτρέπει σε οποιοδήποτε πρόγραμμα να ανοίξει και να διαβάσει το αρχείο και όχι μόνο στον άνθρωπο ή την εφαρμογή που το δημιούργησε. Έτσι, καθίσταται δυνατή η ανταλλαγή δεδομένων μεταξύ διαφορετικών εφαρμογών. Η παράμετρος αυτή είναι ιδιαίτερα σημαντική στη σύγχρονη εποχή που υπάρχει μία τεράστια ποικιλία λογισμικών προγραμμάτων και συστημάτων. Παροχή μία τυποποιημένης σύνταξης για μεταδεδομένα. Ένας συχνός ορισμός των μεταδεδομένων είναι: «δεδομένα για τα δεδομένα». Η συνεισφορά της XML συνεπώς συνίσταται στην παροχή ενός απλού τρόπου για την κωδικοποίηση πληροφορίας που αφορά στη σημασία των δεδομένων. Παροχή μίας τυποποιημένης δομής τόσο για τα έγγραφα όσο και για τα δεδομένα. Όπως παρουσιάστηκε παραπάνω, η δομή στην οποία στηρίζεται η κωδικοποίηση της XML είναι ιεραρχική ή δενδρική που επιτρέπει στο χρήστη να αναλύσει μία έννοια σε συστατικά μέρη. Η δομή αυτή καθιστά την XML ιδανική για την κωδικοποίηση μεγάλων, πολύπλοκων εγγράφων [17]. Αντιπαραπομπή (Cross-Reference). Η XML παρέχει ένα μηχανισμό που ενοποιεί δεδομένα από διαφορετικές πηγές σε ένα έγγραφο. Τα δεδομένα 54

56 μπορούν ακόμα και να αναδιοργανωθούν, π.χ. τμήματα αυτών να παρουσιάζονται ή να αποκρύπτονται, ανάλογα με τις ενέργειες των χρηστών. Κάτι τέτοιο είναι εξαιρετικά σημαντικό όταν στην εργασία χρησιμοποιούνται μεγάλες αποθήκες πληροφοριών (information repositories), όπως οι σχεσιακές Βάσεις Δεδομένων [21]. Επιπρόσθετα, οι συμπληρωματικές τεχνολογίες XSL επιτρέπουν την αναδιοργάνωση και επαναχρησιμοποίηση των δεδομένων από άλλες εφαρμογές και οργανισμούς που ανταλλάσσουν ηλεκτρονικά έγγραφα και έχουν πρόσβαση σε διαφορετικά μέρη της πληροφορίας. Αξίζει βέβαια να σημειωθεί ότι ο τομέας στον οποίο η XML παρουσιάζει υστέρηση, παρά τις βελτιώσεις που εισήγαγε σε σχέση με το EDI, είναι η σημασιολογία των δεδομένων. Όπως αναφέρθηκε, ο τρόπος περιγραφής των δεδομένων που χρησιμοποιεί η XML είναι τα μεταδεδομένα, τα οποία αυξάνουν την ακρίβεια των δεδομένων, προσθέτοντας λέξεις (ή ετικέτες) για την περιγραφή των τιμών των δεδομένων. Καθίσταται κατανοητό ότι η προσθήκη απλά και μόνο λέξεων δεν είναι αρκετή για να προσθέσει ικανή σημασιολογική πληροφορία στα δεδομένα. Η ανάγκη για μία πλουσιότερη περιγραφή των δεδομένων, οδηγεί στη μετακίνηση της επεξεργασίας τους από την προσχεδιασμένη και μηχανική επεξεργασία, σε μία δυναμική και περισσότερο προσαρμοστική επεξεργασία. Απαιτούνται επομένως νέα βήματα πέρα από την απλή μοντελοποίηση μεταδεδομένων προς την μοντελοποίηση και την επεξεργασία της γνώσης. Το Σχήμα 2.8 απεικονίζει την ακρίβεια που απαιτείται να έχουν τα δεδομένα, για τη δημιουργία εφαρμογών που θα «καταλαβαίνουν» τη σημασιολογία τους. Η χρήση της XML και XML Schema, παρέχει επεξεργασία μεταδεδομένων για μεμονωμένα δεδομένα και αντιστοιχεί στο Επίπεδο 1 του Σχήματος, παρέχοντας απλά μία περιγραφή ξεχωριστών εννοιών ή αντικειμένων. Στο Επίπεδο 2 του Σχήματος, παρουσιάζεται η μετακίνηση από τη μοντελοποίηση των δεδομένων στη μοντελοποίηση της γνώσης. Προς αυτήν την κατεύθυνση οδηγούν νέες τεχνολογίες του σημασιολογικού ιστού, όπως το RDF. Πιο συγκεκριμένα, στο Επίπεδο 2, υπάρχει επιπρόσθετη πληροφορία για το πώς συνδέονται μεταξύ τους οι έννοιες και για το πώς λειτουργούν τα αντικείμενα. Πέρα και από τις δηλώσεις γνώσης του Επιπέδου 2, υπάρχουν οι υπερ-δομές (superstructures) του Επιπέδου 3, ή αλλιώς μοντελοποίηση του κόσμου (closed-world modeling). Στην επίτευξη αυτού του επιπέδου βοηθά η χρήση οντολογιών [17]. 55

57 Σχήμα 2.8 Η εξέλιξη στην ακρίβεια των δεδομένων [17] Επομένως, η XML με την ανάπτυξη των μεταδεδομένων, παρέχει τη δυνατότητα επαναχρησιμοποίησης αυτών των μεταδεδομένων μεταξύ διαφορετικών οργανισμών και συστημάτων. Όπως σημειώθηκε ωστόσο παραπάνω, για τη μετάβαση από τη μοντελοποίηση των δεδομένων στη μοντελοποίηση της γνώσης και την προσθήκη σημασιολογικού περιεχομένου στα δεδομένα, θα πρέπει να χρησιμοποιηθούν οι πιο εξελιγμένες τεχνολογίες του σημασιολογικού ιστού. 2.3 Νεότερα Πρότυπα Ανταλλαγής Επιχειρηματικών Εγγράφων Από την εισαγωγή του EDI στις αρχές του 1970, τα πρότυπα e-business διανύουν μία εξελικτική πορεία, από τα μονολιθικά, δύσκαμπτα πρότυπα προς σύγχρονα πρότυπα που καλύπτουν ένα ευρύ φάσμα επιχειρησιακών απαιτήσεων. Στην ενότητα αυτή, θα παρουσιαστούν τα βασικότερα σύγχρονα πρότυπα στο πλαίσιο του e-business XML/EDI Η ανάγκη αντιμετώπισης των ελλείψεων και αδυναμιών του παραδοσιακού EDI, σε συνδυασμό με τις αυξημένες δυνατότητες της XML οδήγησαν στην ανάπτυξη του XML/EDI, ενός νέου πλαισίου προτύπων για την ανταλλαγή διαφορετικών τύπων δεδομένων, ώστε οι πληροφορίες που ανταλλάσσονται στο πλαίσιο μίας συναλλαγής να 56

58 μπορούν να αναζητούνται, αποκωδικοποιούνται, και να προβάλλονται με ορθό και συνεκτικό τρόπο. Κάτι τέτοιο επιτυγχάνεται αρχικά με τη χρησιμοποίηση των λεξικών του EDI, την επέκταση του λεξιλογίου με νέους όρους και κανόνες και τον συνδυασμό αυτών με τους κανόνες της XML. Ο στόχος του XML/EDI είναι η υλοποίηση των επιχειρησιακών συναλλαγών με ηλεκτρονικά μέσα και η καθιέρωση ενός προτύπου για την ανταλλαγή εμπορικών ηλεκτρονικών δεδομένων, που θα είναι ανοιχτό και προσβάσιμο από όλους και το οποίο θα παρέχει ένα ευρύ φάσμα δυνατοτήτων κατάλληλων για να καλύψουν τις επιχειρησιακές ανάγκες. Για την επίτευξη αυτού του στόχου απαιτείται μία μεθοδολογία επεκτάσιμη που θα καλύπτει και τις μελλοντικές απαιτήσεις, αλλά και προσαρμόσιμη, ώστε να ενσωματώνει νέες τεχνολογίες που αναδύονται. Το XML/EDI προτείνει τη χρήση XML ηλεκτρονικών φορμών ως κύρια μέθοδο απόκτησης και κωδικοποίησης των EDI πληροφοριών. Έτσι, ένα σύστημα XML/EDI μπορεί να κωδικοποιήσει τις πληροφορίες ενός εγγράφου με πολύ πιο ακριβή τρόπο και με μία πληρέστερη δομή, σε σχέση με τις δυνατότητες που παρείχε το παραδοσιακό EDI. Το XML/EDI μπορεί να θεωρηθεί ως η συγχώνευση πέντε βασικών τεχνολογιών: Ανταλλαγή δεδομένων βασισμένη στις προδιαγραφές της XML Υφιστάμενες επιχειρησιακές μέθοδοι και δομές μηνυμάτων από το EDI Πρότυπα γνώσης (knowledge templates) που παρέχουν λογική ελέγχου διαδικασιών Πράκτορες χειρισμού δεδομένων (Data manipulation agents-databots) που επιτελούν εξειδικευμένες λειτουργίες Αποθήκες δεδομένων (data repositories) που επιτρέπουν τη διατήρηση των σχέσεων Ένα σύστημα βασιμένο στο XML/EDI μπορεί να χτιστεί σε ορισμένα τεχνικά επίπεδα, σύμφωνα με μία αρχιτεκτονική κατά την οποία κάθε διαδοχικό επίπεδο παρέχει αυξημένες δυνατότητες στην αντιμετώπιση των επιχειρησιακών αναγκών (Σχήμα 2.8). Το πλαίσιο ωστόσο δεν παρέχει μία μοναδική λύση ( all or nothing ) υλοποίησης, αλλά είναι δυνατή η υλοποίηση ενός τέτοιου συστήματος, δίχως να περιλαμβάνονται όλα τα τεχνικά επίπεδα που προτείνονται [37]. 57

59 Σχήμα 2.9 Αρχιτεκτονική Επιπέδων ενός XML/EDI συστήματος [37] EbXML Η ebxml (Electronic Business XML) αποτελεί μία διεθνή πρωτοβουλία που αναπτύχθηκε το 1999 από το UN/CEFACT (United Nations Centre for Trade Facilitation and Electronic Business) και τον OASIS (Organization for the Advancement of Structured Information Standards), με σκοπό την έρευνα και καθορισμό της τεχνικής βάσης επάνω στην οποία μπορεί να προτυποποιηθεί η παγκόσμια υλοποίηση της XML. Ο στόχος είναι η παροχή ενός τεχνικού πλαισίου βασισμένου στην XML, που θα δώσει τη δυνατότητα χρησιμοποίησης της XML με ένα συνεκτικό και ομοιόμορφο τρόπο για την ανταλλαγή ηλεκτρονικών επιχειρησιακών δεδομένων (electronic business data), δημιουργώντας έτσι μία ενιαία παγκόσμια ηλεκτρονική αγορά. Ορισμένες γενικές αρχές της ebxml για τη δημιουργία των τεχνικών προδιαγραφών είναι ακόλουθες: Η παροχή ενός παγκόσμιου, ανοιχτού διαλειτουργικού προτύπου για τις συναλλαγές business-to-business (B2B) και business-to-consumer (B2C). Η συγχώνευση των χαρακτηριστικών για τη δομή και το περιεχόμενο των δεδομένων που προέρχονται από διαφορετικές XML πρωτοβουλίες σε ένα ενιαίο, επαναχρησιμοποιήσιμο XML επιχειρησιακό πρότυπο. 58

60 Η παροχή ώθησης για την επίτευξη μακροπρόθεσμα μίας οριζόντιας λύσεις για όλες τις επιχειρήσεις. Η ελαχιστοποίηση του κόστους με τη δημιουργία ηλεκτρονικών επιχειρήσεων. Η προσαρμογή στις απαιτήσεις των προδιαγραφών W3C XML, καθώς και σε σχετικές εθνικές και διεθνείς απαιτήσεις του παγκόσμιου εμπορίου [27]. Η υποδομή της ebxml περιλαμβάνει πέντε επίπεδα προδιαγραφών για: Μοντελοποίηση επιχειρησιακών διαδικασιών και πληροφοριών (Business process and Information Modeling). Πρόκειται για έναν μηχανισμό που επιτρέπει στους εμπορικούς εταίρους να συγκεντρώνουν λεπτομέρειες για συγκεκριμένα επιχειρησιακά σενάρια με τη χρήση μίας συνεκτικής μεθοδολογίας μοντελοποίησης. Μία επιχειρησιακή διαδικασία περιγράφει με λεπτομέρεια τον τρόπο με τον οποίο οι εμπορικοί εταίροι αναλαμβάνουν ρόλους και ευθύνες για τη διευκόλυνση της αλληλεπίδρασης με άλλους εταίρους που συνεργάζονται. Η αλληλεπίδραση αυτή λαμβάνει χώρα μέσω ενός συνόλου επιχειρησιακών συναλλαγών, οι οποίες εκφράζονται με την ανταλλαγή επιχειρησιακών εγγράφων (business documents). Τα επιχειρησιακά έγγραφα ενδέχεται να αποτελούνται από επαναχρησιμοποιήσιμα αντικείμενα επιχειρησιακής πληροφορίας (business information objects). Βασικά συστατικά μέρη δεδομένων (Core data components). Ένα core component αφορά στη συλλογή πληροφοριών για μία επιχειρησιακή έννοια του πραγματικού κόσμου και τις σχέσεις μεταξύ αυτής της έννοιας και άλλων αντικειμένων επιχειρησιακών πληροφορίας, καθώς και μία περιγραφή για τον τρόπο με τον οποίο μία οντότητα βασικής πληροφορίας μπορεί να χρησιμοποιηθεί σε ebxml σενάρια ebusiness. Πληροφορίες Εμπορικών Εταίρων (Trading Partners Information). Για τη διευκόλυνση της διαδικασίας επίτευξης του ebusiness, οι δυνητικοί εμπορικοί εταίροι χρειάζονται έναν μηχανισμό που θα δημοσιεύει πληροφορίες για τις επιχειρησιακές διαδικασίες που υποστηρίζουν καθώς και συγκεκριμένες λεπτομέρειες τεχνολογίας υλοποίησης σχετικά με τις δυνατότητες ανταλλαγής επιχειρησιακών πληροφοριών. Κάτι τέτοιο επιτυγχάνεται με την χρήση του Πρωτοκόλλου CPP (Collaboration Protocol Profile), το οποίο επιτρέπει σε έναν εμπορικό εταίρο να εκφράσει τις επιχειρησιακές διαδικασίες και 59

61 απαιτήσεις των επιχειρησιακών υπηρεσιών διεπαφής με τρόπο καθολικά κατανοητό από τους υπόλοιπους εμπορικούς εταίρους. Μία ειδική επιχειρησιακή συμφωνία που προέρχεται από τη διασταύρωση δύο ή περισσοτέρων CPPs καλείται και έχει το ρόλο της επίσημης «χειραψίας» μεταξύ δύο εμπορικών εταίρων που επιθυμούν να διενεργούν συναλλαγές με βάση την ebxml. Υπηρεσίες Μηνυμάτων (Messaging Services). Ο μηχανισμός της ebxml υπηρεσίας μηνυμάτων παρέχει έναν πρότυπο τρόπο και ένα αξιόπιστο μέσο ανταλλαγής επιχειρησιακών μηνυμάτων μεταξύ των εμπορικών εταίρων. Ένα ebxml μήνυμα αποτελείται από ένα header (απαραίτητο για τη δρομολόγηση και τη μεταφορά του μηνύματος) και από ένα Payload section. Μητρώα και «αποθήκες» (Registries and repositories). Ένα μητρώο ebxml παρέχει ένα σύνολο υπηρεσιών που καθιστούν δυνατό το διαμοιρασμό πληροφοριών μεταξύ των εμπορικών εταίρων. Πρόκειται για ένα component που διατηρεί μία διεπαφή με τα μεταδεδομένα ενός καταχωρημένου αντικειμένου. Η πρόσβαση σε ένα μητρώο ebxml παρέχεται μέσω διεπαφών APIs [26] XBRL Η XBRL (extensible Business Reporting Language) αποτελεί μία γλώσσα βασισμένη στην XML για την ηλεκτρονική επικοινωνία των επιχειρήσεων και τα χρηματοοικονομικά δεδομένα. Πρόκειται για ένα ανοιχτό πρότυπο που αναπτύσσεται από μία διεθνή μη κερδοσκοπική κοινοπραξία περίπου 450 εταιρειών, οργανισμών και κυβερνητικών φορέων και εφαρμόζεται ήδη σε έναν αριθμό χωρών. Η ιδέα στην οποία βασίζεται η XBRL συνίσταται στην παροχή αναγνωριστικών ετικετών (tags) για κάθε στοιχείο από τα δεδομένα των χρηματοοικονομικών πληροφοριών. Για παράδειγμα, το καθαρό κέρδος κάθε εταιρείας έχει μία μοναδική αναγνωριστική ετικέτα. Πέρα από τις αναγνωριστικές ετικέτες, παρέχεται και ένα εύρος πληροφοριών για κάθε στοιχείο, όπως π.χ. αν πρόκειται για χρηματική μονάδα, ποσοστό κλπ. Επιπλέον, με την XBRL παρουσιάζονται και οι σχέσεις μεταξύ αυτών των στοιχείων, συνεπώς μπορεί να αναπαρασταθεί και ο τρόπος υπολογισμού αυτών. Η δυναμική δομή της XBRL δίνει τη δυνατότητα αυτόματης επεξεργασίας της επιχειρησιακής πληροφορίας, εξαλείφοντας χειρωνακτικές εργασίες επαναεισαγωγής και σύγκρισης των δεδομένων. Οι υπολογιστές μπορούν να αναγνωρίσουν την πληροφορία σε ένα XBRL έγγραφο, να την αναλύσουν, να την αποθηκεύσουν, να την 60

62 ανταλλάξουν με άλλους υπολογιστές και να την παρουσιάσουν αυτόματα στους χρήστες. Τα δεδομένα μπορούν να μετασχηματιστούν σε XBRL με χρήση εγραλείων ή να παραχθούν σε XBRL μέσω κατάλληλου λογισμικού. Οι επιχειρήσεις μπορούν να χρησιμοποιήσουν την XBRL για την εξοικονόμηση κόστους και τον εξορθολογισμό των διαδικασιών συλλογής και αναφοράς των χρηματοοικονομικών πληροφοριών [40] RosettaNet Τα πρότυπα RosettaNet αποτελούν μια προσπάθεια καθορισμού μεθόδου ανταλλαγής ηλεκτρονικών εγγράφων στο χώρο του e-business βασισμένης στην XML. Ο οργανισμός RosettaNet υποστηρίζεται από περίπου 500 επιχειρήσεις παγκοσμίως και αναπτύσσει πρότυπα για την προώθηση του συνεργατικού εμπορίου. Τα πρότυπα αναπτύσσονται από χρήστες για τους χρήστες (users for users) και αποσκοπούν στην αύξηση της αποδοτικότητας και της αξιοπιστίας, στην ενίσχυση της συνεργασίας και στη βελτίωση της επικοινωνίας μεταξύ των εμπορικών εταίρων, παρέχοντας μία κοινή γλώσσα για συναλλαγές και την καθιέρωση μίας μεθόδου για την ενοποίηση κρίσιμων διαδικασιών μεταξύ εταίρων που εντάσσονται στο παγκόσμιο εμπορικό δίκτυο. Παρέχουν επίσης τις τεχνικές προδιαγραφές που θα επιτρέψουν την προώθηση της διαλειτουργικότητας των επιχειρησιακών διαδικασιών κατά μήκος της παγκόσμιας αλυσίδας ανεφοδιασμού. Τα πρότυπα περιλαμβάνουν συγκεκριμένα λεξικά (που καθορίζουν ιδιότητες βασικών επιχειρησιακών δραστηριοτήτων και ιδιότητες προϊόντων), ένα πλαίσιο υλοποίησης (implementation framework), σχήματα (schemas) από επιχειρησιακά μηνύματα που βασίζονται στην XML και προδιαγραφές διαδικασιών, που καλούνται Διαδικασίες Διεπαφής Εταίρων (Partner Interface Processes, PIPs) και προσδιορίζουν την ευθυγράμμιση των επιχειρησιακών διαδικασιών μεταξύ των εμπορικών εταίρων. Ειδικότερα, οι PIPs καθορίζουν τόσο τη δομή των επιχειρησιακών εγγράφων που ανταλλάσονται στο πλαίσιο των επιχειρησιακών διαδικασιών, όσο και τη σειρά με την οποία αποστέλλονται από τους διάφορους ρόλους. Για το λόγο αυτό, έχουν οριστεί επτά λειτουργικές ομάδες (clusters) από PIPs ανάλογα με το κομμάτι της αλυσίδας ανεφοδιασμού που αντιστοιχούν. Το πλαίσιο που προτείνεται είναι το RNIF (RosettaNet Implementation Framework) και παρέχει πρωτόκολλα ανταλλαγής, δομές μηνυμάτων και μηχανισμούς ασφάλειας για την υλοποίηση των PIPs. Τα πρότυπα RosettaNet εγγυώνται ομοιόμορφο ορισμό στοιχείων και διαδικασιών του e-business σε τρία κρίσιμα επίπεδα: 61

63 Τεχνικό ή συντακτικό επίπεδο, μέσα από τον καθορισμό της μορφής των μηνυμάτων, του πρωτοκόλλου μεταφοράς και θεμάτων ασφάλειας και κρυπτογράφησης με το πλαίσιο RNIF. Επίπεδο Διαδικασιών, καθώς οι PIPs επιτρέπουν ανοιχτό διάλογο επάνω στις επιχειρησιακές διαδικασίες, καθιερώνοντας μία σειρά μηνυμάτων, κατάλληλων απαντήσεων κλπ. Σημασιολογικό επίπεδο, μέσα από την παροχή κοινής ορολογίας από τα λεξικά [38], [28][28], [39] UN/CEFACT Το πρότυπο UN/CEFACT επιδιώκει να γεφυρώσει το σημασιολογικό κενό στην επικοινωνία μεταξύ επιχειρήσεων (Business-to-Business, B2B) το οποίο έχει δημιουργηθεί από την ανεξέλεγκτη παροχή ορισμών των επιχειρησιακών βιβλιοθηκών. Τα βασικά χαρακτηριστικά του UN/CEFACT παρουσιάζονται παρακάτω: Βιβλιοθήκη CCL (Core Component Library) και προδιαγραφές CCTS (Core Component Technical Specification). Οι CCTS παρέχουν μία μεθοδολογία για το χτίσιμο της επιχειρησιακής πληροφορίας σε ένα ανεξάρτητο συντακτικά επίπεδο που αποσκοπεί στην αντιμετώπιση της έλλειψης δια-οργανωσιακής διαλειτουργικότητας μεταξύ διαφορετικών εφαρμογών στο επίπεδο των δεδομένων. Μεθοδολογία UMM (UN/CEFACT Modeling Methodology). Παρέχει τη βάση για τη μοντελοποίηση επιχειρησιακών διαδικασιών με αποδοτικό τρόπο που επιτρέπει την επαναχρησιμοποίηση. BCSS (Business Collaboration Schema Specification). Παρέχει μία αναπαράσταση των κανόνων του CCTS βασισμένη στη UML. Μεθοδολογία CDM (Context Driven Methodology). Παρουσιάζει την πιθανότητα δυναμικής προσαρμογής των γενικών συνιστωσών των επιχειρησιακών δεδομένων στο περιβάλλον των χρηστών. Προδιαγραφές BMA (Business Message Assembly). Αποτελεί μία προσέγγιση για τη συνάθροιση επιχειρησιακών πληροφοριών υψηλότερου επιπέδου για πλήρη ηλεκτρονικά μηνύματα. Με τον ορισμό ενός προτύπου για τη σύνθεση επιχειρησιακών μηνυμάτων, διευκολύνεται η διαλειτουργικότητα μεταξύ των επιχειρήσεων. 62

64 Προδιαγραφές SBDH (Standard Business Document Header). Υποστηρίζει τον καθορισμό των απαιτήσεων για τη λογική δρομολόγηση (βασισμένη στις εφαρμογές) της επιχειρησιακής πληροφορίας. Το πρότυπο CDT (Core Data Type). Προσδιορίζει τα μικρότερα και πιο περιληπτικά (χωρίς σημασιολογία) κομμάτια πληροφορίας σε ένα μοντέλο δεδομένων μίας επιχείρησης. Κανόνες NDR (Naming and Design Rules). Πρόκειται για ένα σύνολο κανόνων για το μετασχηματισμό των στοιχείων που βασίζονται στο CCTS σε XML Schema και σε στιγμιότυπα XML. XML Schema. Το UN/CEFACT δεν προδιαγράφει την χρήση μίας συγκεκριμένης τεχνολογικής πλατφόρμας. Ένα υποδειγματικό πλαίσιο e- Business που διαχειρίζεται τα πρότυπα UN/CEFACT είναι η ebxml. Το UN/CEFACT δεν επιδιώκει να προδιαγράψει τηυ υιοθέτηση στοιχείων μόνο από μία προσέγγιση, αλλά παρέχει εναλλακτικές, επιτρέποντας στους χρήστες την υιοθέτηση διαφορετικών προτύπων για την τεχνική υλοποίηση και τους συντακτικούς κανόνες. Μία από τις κυριότερες δυνάμεις του UN/CEFACT είναι, σε αντίθεση με το RosettaNet, η δυνατότητα οριζόντιας ενοποίησης όλων των επιχειρήσεων, καθώς δεν προσδιορίζει ένα περιορισμένο στατικό σύνολο εγγράφων και διαδικασιών, αλλά παρέχει μία πολύ ευέλικτη μοντελοποίηση επιχειρησιακών διαδικασιών [28]. 2.4 Οι Τεχνολογίες του Σημασιολογικού Ιστού Στο επίπεδο της σημασιολογικής διαλειτουργικότητας, η XML χρησιμοποιείται συχνά ως λύση σε έναν αριθμό από ζητήματα διαλειτουργικότητας. Ωστόσο, η XML από μόνη της, μπορεί να φτάσει μέχρι την καθιέρωση ενός κοινού πλαισίου για την αναπαράσταση ιεραρχιών των δεδομένων και δεν παρέχει κάποιο μηχανισμό που να προσδιορίζει την ιδιότητα και το νόημα των δεδομένων, δηλαδή τη σημασιολογία τους. Για τον ορισμό και την επικύρωση πιο πολύπλοκων λογικών δομών δεδομένων, απαιτούνται συμπληρωματικές προδιαγραφές, ιδιαίτερα σε περιπτώσεις όπου οι ανάγκες υπερβαίνουν την απλή αναπαράσταση ιεραρχιών ή τη χρήση απλών ταξινομιών. Για την αντιμετώπιση αυτής της έλλειψης, τα τελευταία χρόνια έχει αναπτυχθεί μία σειρά πρωτοβουλιών για τη δημιουργία και την προώθηση αυτού που πλέον ονομάζουμε Σημασιολογικό Ιστό (Semantic Web). Βασικός στόχος του 63

65 Σημασιολογικού Ιστού είναι να προσδώσει ειδικό νόημα και σημασία στα online δεδομένα του παγκόσμιου ιστού, καθιστώντας με αυτόν τον τρόπο εφικτή την καλύτερη «κατανόησή» τους από τους ηλεκτρονικούς υπολογιστές και συνεπώς παρέχοντας νέες δυνατότητες επεξεργασίας και ανταλλαγής των πληροφοριών [34]. Στο πλαίσιο αυτής της ενότητας θα παρουσιαστούν δύο βασικές τεχνολογίες του σημασιολογικού ιστού: το RDF και οι οντολογίες Resource Description Framework (RDF) Το RDF αποτελεί μία γλώσσα βασισμένη στην XML για την αναπαράσταση πηγών πληροφοριών, ή πιο συγκεκριμένα μεταδεδομένων. Μία σημαντική διαφορά του σε σχέση με την XML είναι ο τρόπος δημιουργίας των μεταδεδομένων. Ενώ σε ένα XML έγγραφο τα μεταδεδομένα επισυνάπτονται στο ίδιο το έγγραφο, με τη χρήση του RDF τα μεταδεδομένα αποτελούν μία αυθύπαρκτη, εξωτερική οντότητα από το έγγραφο. Κάτι τέτοιο επιτυγχάνεται με τη χρήση του URI (Uniform Resource Identifier), ενός προτύπου για την αναγνώριση και τον εντοπισμό ενός ονόματος ή μίας πηγής με τη χρήση μίας προκαθορισμένης μορφής απόδοσης ονομάτων. Το RDF βασίζεται στην ιδέα ότι τα πράγματα που περιγράφονται έχουν κάποιες ιδιότητες, οι οποίες με τη σειρά τους έχουν κάποιες τιμές και ότι οι πηγές δεδομένων ή πόροι (resources), μπορούν να περιγραφούν με προτάσεις οι οποίες καθορίζουν αυτές τις ιδιότητες και τιμές. Το RDF χρησιμοποιεί μία συγκεκριμένη ορολογία για τον προσδιορισμό των διαφόρων μερών μιας πρότασης. Το μοντέλο αυτό αποτελείται από τρία μέρη, που είναι τα ακόλουθα: Υποκείμενο (Subject). Έχει την έννοια του υποκειμένου, όπως ορίζεται και στη γραμματική. Πρόκειται για το ουσιαστικό που χαρακτηρίζεται ως ο δράστης μίας ενέργειας. Η αναφορά του υποκειμένου γίνεται με τη χρήση ενός URI, όπως αναφέρθηκε παραπάνω. Κατηγορούμενο (Predicate). Πρόκειται για το μέρος που «τροποποιεί» το υποκείμενο ή δίνει πληροφορίες για αυτό και είναι το ρήμα της πρότασης. Στο πλαίσιο του RDF, το κατηγορούμενο εκφράζει τη σχέση ανάμεσα στο υποκείμενο και το αντικείμενο που είναι το τρίτο μέρος του μοντέλου. Αντικείμενο (Object). Στη γραμματική είναι το ουσιαστικό που ενεργεί πάνω στο ρήμα. Στο RDF αποτελεί είτε μία πηγή που αναφέρεται από το κατηγορούμενο (με τη χρήση URI) είτε μία απλή σταθερή τιμή που ονομάζεται literal (κυριολέκτημα). Τα literals αποτελούνται από 64

66 στοιχειοσειρές (strings), προκειμένου να αναπαριστούν συγκεκριμένους τύπους τιμών ιδιοτήτων (property values). Το RDF χρησιμοποιεί ένα μοντέλο γράφων (graph model), για την αναπαράσταση προτάσεων με τη χρήση κόμβων και βελών. Σύμφωνα με αυτό το μοντέλο, μία πρόταση αναπαρίσταται με: έναν κόμβο για το subject, έναν κόμβο για το object και ένα βέλος για το predicate, με φορά από τον κόμβο του subject στον κόμβο του object. Στο Σχήμα 2.10 παρουσιάζεται ένας γράφος RDF. Predicate Object Subject Predicate Literal = URI = Literal = Ιδιότητα ή σχέση Σχήμα 2.10 Γράφος RDF [17] Πολλές φορές, δεν είναι βολική η απεικόνιση γράφων για την αναπαράσταση RDF προτάσεων και γι αυτό το λόγο υπάρχει ένας εναλλακτικός τρόπος αναπαράστασης αυτών, με τη μορφή τριπλετών (triplets). Σε αυτή την περίπτωση, κάθε πρόταση του γράφου, γράφεται ως μια απλή τριπλέτα που αποτελείται από ένα subject, predicate και object, με αυτή τη σειρά. Κάθε τριπλέτα αντιστοιχεί σε ένα βέλος του γράφου, μαζί με τους κόμβους του (δηλαδή το subject και object της πρότασης). Σε αντίθεση με τους απεικονιζόμενους γράφους, στις τριπλέτες ο κάθε κόμβος θα πρέπει να υπάρχει ξεχωριστά σε κάθε πρόταση στην οποία εμφανίζεται, όπως δηλαδή στην περίπτωση της αρχικής πρότασης. Εντούτοις, θα πρέπει να σημειώσουμε ότι οι τριπλέτες αντιπροσωπεύουν ακριβώς την ίδια πληροφορία με τους απεικονιζόμενους 65

67 γράφους. Αυτό που έχει πρωτεύουσα σημασία στο RDF, είναι το μοντέλο γράφων των προτάσεων και κατά δεύτερο λόγο ο τρόπος αναπαράστασης αυτών. Η χρήση URIs για τον προσδιορισμό ιδιοτήτων, δίνει τη δυνατότητα οι ιδιότητες να θεωρούνται πηγές δεδομένων από μόνες τους. Καθώς λοιπόν οι ιδιότητες αποτελούν πηγές δεδομένων, επιπρόσθετες πληροφορίες μπορούν να καταγραφούν σχετικά με αυτές απλά προσθέτοντας προτάσεις RDF με το URI της ιδιότητας ως subject, όπως και στην περίπτωση του object που περιγράψαμε παραπάνω. Η χρήση URIs για τον προσδιορισμό των subjects, predicates και objects σε προτάσεις RDF, υποστηρίζει την ανάπτυξη και χρήση κοινών λεξιλογίων, αντανακλώντας μία κοινή κατανόηση αυτών των εννοιών ανάμεσα στους χρήστες τους [17], [34]. Το RDF παρέχει έναν τρόπο για την περιγραφή πηγών πληροφοριών, με τη χρήση απλών προτάσεων. Παρόλα αυτά, το RDF από μόνο του δεν είναι ικανό να ορίζει την έννοια των όρων που χρησιμοποιούνται σε αυτές τις προτάσεις και συγκεκριμένα να υποδηλώνει ότι αυτές οι προτάσεις περιγράφουν συγκεκριμένα είδη ή κλάσεις πόρων χρησιμοποιώντας συγκεκριμένες ιδιότητες για την περιγραφή τους. Δεν παρέχει δηλαδή κανένα μέσο για τον προσδιορισμό κλάσεων και ιδιοτήτων. Τέτοιου είδους κλάσεις και ιδιότητες περιγράφονται ως ένα RDF λεξιλόγιο, μέσω ενός μηχανισμού που ονομάζεται RDF Schema (RDFS). To RDFS παρέχει τις προϋποθέσεις που απαιτούνται για να περιγράψει κανείς τέτοιες κλάσεις και ιδιότητες και για να υποδηλώσει ποιες κλάσεις και ιδιότητες αναμένεται να χρησιμοποιηθούν μαζί. Με άλλα λόγια, το RDF Schema παρέχει ένα σύστημα τύπων για το RDF. Το σύστημα αυτό του RDFS είναι παρόμοιο, έως ένα βαθμό, με τα συστήματα τύπων των αντικειμενοστραφών γλωσσών προγραμματισμού όπως η Java. Έτσι, το μοντέλο δεδομένων RDFS επιτρέπει την δημιουργία κλάσεων (classes), δηλαδή ομάδων πραγμάτων με κοινά χαρακτηριστικά, τον ορισμό πόρων ως στιγμιότυπα (instances) μίας ή περισσότερων κλάσεων, καθώς και την οργάνωση των κλάσεων σε μία ιεραρχική δομή. Τέλος, το RDF Schema δίνει και τη δυνατότητα περιγραφής συγκεκριμένων ιδιοτήτων που χαρακτηρίζουν αυτές τις κλάσεις πραγμάτων [34]. 66

68 2.4.2 Οντολογίες Η ομάδα εργασίας Web Ontology Working Group του W3C έχει επισημάνει μερικές χαρακτηριστικές περιπτώσεις, όπου απαιτείται πολύ μεγαλύτερη «εκφραστικότητα» από αυτή που είναι σε θέση να προσφέρουν το RDF και το RDF Schema. Έτσι, το επόμενο επίπεδο στην προσθήκη σημασιολογίας στα δεδομένα, συνιστούν οι οντολογίες. Οι οντολογίες χρησιμοποιούνται για να επεξηγήσουν τους όρους και τις έννοιες που περιγράφουν και αναπαριστούν τη γνώση πάνω σε ένα συγκεκριμένο τομέα (domain) π.χ. στην πληροφορική. Περιέχουν ορισμούς για τις βασικές έννοιες (concepts) του κάθε τομέα, τις ιδιότητες (properties) αυτών των εννοιών, καθώς και για τις σχέσεις (relations) που έχουν μεταξύ τους, δημιουργώντας έτσι ένα κοινό λεξιλόγιο για τα μέλη κάθε κοινότητας. Για να γίνει δυνατή η απεικόνιση όλης αυτής της γνώσης, οι οντολογίες ορίζουν και χρησιμοποιούν κλάσεις που αντιστοιχούν στα βασικά αντικείμενα του χώρου στον οποίο αναφέρονται, τις σχέσεις που υπάρχουν και που συνδέουν τις κλάσεις αυτές και τέλος ορίζουν τα επιμέρους γνωρίσματα και χαρακτηριστικά του κάθε αντικειμένου τους. Ένας μεγάλος αριθμός ερευνητικών ομάδων τόσο στις Η.Π.Α. όσο και στην Ευρώπη, επισήμαναν την ανάγκη ύπαρξης πιο ισχυρών γλωσσών μοντελοποίησης οντολογιών. Αυτό είχε σαν συνέπεια τη δημιουργία μιας πλουσιότερης γλώσσας με την ονομασία DAML-OIL. Στη συνέχεια, η DAML-OIL αποτέλεσε το σημείο εκκίνησης για την ομάδα εργασίας Web Ontology Working Group του W3C, από την οποία τελικά προέκυψε η δημιουργία της OWL (Web Ontology Language) με σκοπό να αποτελέσει ένα πρότυπο γλώσσας οντολογιών για το Σημασιολογικό Ιστό. Και οι δύο αυτές γλώσσες, βασίζονται στο RDF και στο RDF Schema. Στόχος τους είναι να παρέχουν επιπλέον σημασιολογία επεξεργάσιμη από υπολογιστές, δηλαδή να κάνουν τις αναπαραστάσεις των πόρων στους υπολογιστές να μοιάζουν περισσότερο με αυτές του πραγματικού κόσμου. Οι γλώσσες οντολογιών δίνουν τη δυνατότητα στους χρήστες να αναπαριστούν με ξεκάθαρο τρόπο domain models. Οι κύριες απαιτήσεις από αυτές είναι οι ακόλουθες: Kαλά-ορισμένη σύνταξη (well-defined syntax). Αποτελεί αναγκαία προϋπόθεση για την επεξεργασία πληροφοριών από υπολογιστές. Τυπική σημασιολογία (formal semantics). Περιγράφει το νόημα της γνώσης με ακρίβεια, με άλλα λόγια η σημασιολογία δεν αναφέρεται σε υποκειμενικές κρίσεις, ούτε είναι ανοιχτή σε διαφορετικές ερμηνείες από διαφορετικούς ανθρώπους (ή διαφορετικούς υπολογιστές). 67

69 Αποτελεσματική υποστήριξη συλλογισμών (efficient reasoning support). Επιτρέπει τον έλεγχο της συνάφειας μεταξύ οντολογίας και γνώσης, τον έλεγχο ανεπιθύμητων σχέσεων ανάμεσα σε κλάσεις και την αυτόματη ταξινόμηση στιγμιοτύπων κλάσεων. Επαρκή εκφραστική δύναμη (efficient expressive power). Ευκολία στην έκφραση (convenience of expression) [34]. Τέλος, αξίζει να αναφερθεί ότι οι οντολογίες ακολουθούν μία ιεραρχική δομή, σύμφωνα με την οποία μπορούν να δομηθούν σε τρία επίπεδα: Το υψηλότερο επίπεδο (top level), στο οποίο η πληροφορία που αναπαρίσταται συνίσταται σε γενική, κοινή γνώση. Το μεσαίο επίπεδο (middle level), στο οποίο η πληροφορία δεν είναι τόσο γενική. Η γνώση που αναπαρίσταται μπορεί να αφορά σε διαφορετικούς τομείς. Το χαμηλότερο επίπεδο (lower level), στο οποίο οι οντολογίες πλέον αντιστοιχούν σε κάποιο συγκεκριμένο τομέα και αναπαριστούν την εξειδικευμένη γνώση για τον τομέα. Για τη δημιουργία οντολογιών αυτού του επιπέδου, απαιτείται η εξειδικευμένη γνώση από άτομα γνωρίζουν σε βάθος τον κάθε τομέα και αποκαλούνται domain experts [17]. Σχήμα 2.11 Επίπεδα Οντολογιών [17] 68

70 2.5 Προϊόντα Λογισμικού Στην αγορά έχουν κυκλοφορήσει αρκετά προϊόντα λογισμικού που υποστηρίζουν την ανταλλαγή εγγράφων με βάση τα προαναφερθέντα πρότυπα. Το λογισμικό OpenEC TradeLink EDI and XML από την εταιρεία Softcare αποτελεί μία λύση για την ανταλλαγή μηνυμάτων EDI, καθώς και ένα σύστημα διαχείρισης XML που χρησιμοποείται για την μετάφραση και την ανταλλαγή επιχειρησιακών εγγράφων που ακολουθούν μορφή EDI ή XML. Διαθέτει γραφική διεπαφή που διευκολύνει την καθημερινή επεξεργασία, αναφορά, καθώς και έλεγχο, ενώ παρέχει ασφαλή δρομολόγηση πολλών τύπων δεδομένων (XML, EDI, TXT, ASCII, binary). Ένα σημαντικό πλεονέκτημα του προϊόντος είναι η ανεξαρτησία του από τα δίκτυα, με συνέπεια να μπορεί να υποστηρίζει οποιοδήποτε δημόσιο δίκτυο προστιθέμενης αξίας (VAN) ή οποιοδήποτε ιδιωτικό δίκτυο, καθώς και το Internet. Επίσης, το TradeLink έχει τη δυνατότητα να ενσωματώσει ένα πολύ σημαντικό πρόσθετο, τον XML Xmapper, που αποτελεί ένα αυτόνομο σύστημα διαχείρισης XML και διαθέτει ένα ολοκληρωμένο περιβάλλον ανάπτυξης και διαχείρισης μετασχηματισμών Business-to-Business (B2B). Συγκεκριμένα, παρέχει τη δυνατότητα δημιουργία, επικύρωσης, μετατροπής και διαχείρισης XML schemas και XML αρχείων. Η ενοποίηση του XML Xmapper στο TradeLink EDI, δίνει τη δυνατότητα σε μία επιχείρηση να δημιουργεί με ευκολία XML μετασχηματισμούς to και να ανταλλάζει μηνύματα EDI με άλλες επιχειρήσεις [41]. Η εταιρεία Softshare διαθέτει επίσης μία σειρά από προϊόντα που υποστηρίζουν την ανταλλαγή επιχειρησιακών εγγράφων. Το Softshare Athena αποτελεί μία web edi εφαρμογή που παρέχει πρότυπες φόρμες εγγράφων EDI, αναφορές, εξαγωγή σε EDI, αποστολή και λήψη μηνυμάτων EDI και άλλες δυνατότητες. Επιπλέον, για την ενοποίηση των προτύπων EDI και XML, η εταιρεία διαθέτει τον μεταφραστή δεδομένων Softshare Delta που υποστηρίζει μία ποικιλία από μορφές δεδομένων, όπως EDI, αρχεία δεδομένων (flat file), βάσεις δεδομένων και XML. Με αυτόν τον τρόπο είναι δυνατή η ενοποίηση όλων των εισερχόμενων και εξερχόμενων εγγράφων ηλεκτρονικού εμπορίου με τις εσωτερικές εφαρμογές μίας επιχείρησης [42]. Ένα ακόμη εργαλείο για την ανταλλαγή εγγράφων EDI, είναι το EDIdEv Framework EDI, το οποίο αποτελεί ένα προγραμματιστικό εργαλείο με το οποίο είναι δυνατή η δημιουργία συστημάτων EDI που κατασκευάζουν, μεταφράζουν και μεταφέρουν αρχεία UN/EDIFACT και X12. Με τη χρήση του εν λόγω εργαλείου μία 69

71 επιχείρηση μπορεί να δημιουργήσει πολλές εφαρμογές, όπως για παράδειγμα έναν EDI generator (για τη δημιουργία εγγράφων EDI), έναν EDI translator, ή έναν EDI/XML converter (για την μετατροπή εγγράφων από τη μορφή EDI σε XML και το αντίστροφο) [43]. Το λογισμικό Microsoft Navision από την εταιρεία Microsoft Business Solutions της Microsoft αποτελεί μία επιχειρηματική εφαρμογή για την υποστήριξη επιχειρησιακών διαδικασιών, ενώ ειδικότερα το πρόσθετο εργαλείο XMLport objects, υποστηρίζει την ανταλλαγή XML εγγράφων. Το συγκεκριμένο εργαλείο παρέχει τη δυνατότητα δημιουργίας XML εγγράφων, αποκωδικοποίησης των εισερχόμενων XML εγγράφων και ασφαλώς αποστολής και λήψης αυτών [29]. Επίσης η Stylus Studio διαθέτει μία σειρά από εργαλεία EDI, που παρέχουν ευρείες δυνατότητες, απλοποιώντας την εργασία με τα πρότυπα EDI και υποστηρίζοντας τις τεχνολογίες X12 και EDIFACT. Ειδικότερα, οι δυνατότητες των εργαλείων EDI είναι οι ακόλουθες: Μετατροπή EDIFACT σε XML και το αντίστροφο (μέσα από τους EDIFACT και XML adapters) Μετατροπή X12 σε XML και το αντίστροφο (μέσα από τους X12 και XML adapters) Δημιουργία XML Schema από EDIFACT Δημιουργία XML Schema από X12 Μετατροπή από EDI σε EDI Πρόσβαση σε EDI από XSLT ή XQuery Δημιουργία προσαρμοσμένων EDI και XML μετατροπών [44] Τέλος, κυκλοφορεί μία σειρά εργαλείων που υποστηρίζουν την ανταλλαγή μηνυμάτων ebxml. Ορισμένα από αυτά είναι τα ακόλουθα: Oracle A/S suite. Υποστηρίζει την ανταλλαγή μηνυμάτων ebxml και το Collaboration-Protocol Profile (CPA). elife Coupler. Επιτρέπει στις εφαρμογές δύο οργανισμών να επεξεργάζονται κατάλληλα τα έγγραφα ebxml (π.χ. παραγγελίες, τιμολόγια, συμβάσεις κλπ.) που ανταλλάσσουν μεταξύ τους. IBM WebSphere Partner Gateway V6.1. Δίνει τη δυνατότητα ενοποίησης των Business-to-Business (B2B) συναλλαγών, μέσα από την παροχή μίας κεντρικής διαχείρισης συναλλαγών των εμπορικών εταίρων. 70

72 Hermes Messaging Gateway v2.0 (H2O). Πρόκειται για ένα ebxml messaging system και αποτελεί μία λύση για πολλά περιβάλλοντα με ισχυρή υποστήριξη της βασικής λειτουργικότητας της ebxml. OrionSMG. Είναι μία ασφαλής πύλη μηνυμάτων (message gateway) που μπορεί να προσαρμοστεί ώστε να χειρίζεται ebxml, SOAP και άλλες μορφές μηνυμάτων. Είναι συμβατό με τις προδιαγραφές OASIS ebxml 2.0. και εύκολα επεκτάσιμο για παροχή επιπρόσθετων δυνατοτήτων και υποστήριξη περισσότερων πρωτοκόλλων και μορφών μηνυμάτων. Axway's Synchrony Gateway Interchange. Είναι μία ασφαλής πύλη μηνυμάτων και περιλαμβάνει υλοποίηση του προτύπου ebxml 2.0, και υποστήριξη CPAs [45]. 2.6 Εφαρμογές σε Χρηματοδοτούμενα Έργα R4EGOV Το έργο R4EGOV (Towards E-Administration in the Large) συγχρηματοδοτείται από την Ευρωπαϊκή Επιτροπή, εντάσσεται στο πλαίσιο της προτεραιότητας Information Society Technology του 6 ου Προγράμματος Πλαισίου (fp6) και αποσκοπεί να αντιμετωπίσει μία από τις μεγαλύτερες προκλήσεις της ηλεκτρονικής διακυβέρνησης που είναι η κινητικότητα των ανθρώπων στο πλαίσιο της ΕΕ και η διευκόλυνση της ασφαλούς ανταλλαγής πληροφοριών μεταξύ των δημόσιων διοίκησεων, τόσο εντός όσο και πέρα από τα εθνικά σύνορα. Στόχος του έργου είναι να παρέχει εργαλεία για την επίτευξη διαλειτουργικότητας με όραμα τη δημιουργία μίας Ευρωπαϊκής Kοινωνίας Γνώσης (European Knowledge Society). Επιμέρους στόχοι του έργου είναι οι ακόλουθοι: Η συγκέντρωση απαιτήσεων για την Ηλεκτρονική Διοίκηση (e- Administration), στη βάση πάνω στην οποία θα επιτευχθούν web εφαρμογές στο δημόσιο τομέα που θα διαλειτουργούν. Η παροχή εργαλείων και μεθόδων για την Ηλεκτρονική Διοίκηση από μία τεχνική και κοινωνιολογική σκοπιά. Η παροχή της απαιτούμενης ασφάλειας για την Ηλεκτρονική Διοίκηση, με τον καθορισμό των κατάλληλων μεθόδων και εργαλείων για τον έλεγχο και την ασφάλεια του επιπέδου εφαρμογών. 71

73 Για την επίτευξη των παραπάνω στόχων και τον έλεγχο της πρακτικής εφαρμογής του έργου, έχουν δημιουργηθεί Ομάδες Χρηστών στις οποίες συμμετέχουν δημόσιες διοικήσεις κρατών-μελών (Ολλανδία, Γερμανία Γαλλία, Ιταλία Αυστρία, Ηνωμένο Βασίλειο, Βέλγιο), ερευνητικοί οργανισμοί καιθώς και βιομηχανικοί εταίροι. Το έργο έχει προϋπολογισμό 11.4 εκατομμύρια και διάρκεια 36 μηνών, με καταληκτική ημερομηνία την 28/02/2009 [46] ESTRELLA Ένα ακόμη έργο που εντάσσεται στο fp6 είναι το ESTRELLA (European project for standardized transparent representations in order to extend legal accessibility) του οποίου πρωταρχικός επιχειρησιακός στόχος είναι η ανάπτυξη μίας ανοικτής πλατφόρμας βασισμένης σε πρότυπα που θα επιτρέψει στις δημόσιες διοικήσεις να αναπτύξουν λύσεις διαχείρισης νομικής γνώσης. Το έργο θα υποστηρίξει με έναν ολοκληρωμένο τρόπο τη διαχείριση νομικών εγγράφων και των συστημάτων που βασίζονται στη νομική γνώση, παρέχοντας μία λύση για τη βελτίωση της ποιότητας και αποδοτικότητας των διαδικασιών των δημοσίων διοικήσεων που απαιτούν πολύπλοκες νομικές πληροφορίες. Οι κύριοι τεχνικοί στόχοι του έργου είναι η ανάπτυξη μίας Μορφής για την Ανταλλαγή Νομικής Γνώσης (Legal Knowledge Interchange Format, LKIF), η οποία θα χτιστεί πάνω σε πρότυπα του σημασιολογικού ιστού που έχουν ως βάση την XML, όπως το RDF, η OWL και μέσα από χρήση Application Programmer Interfaces (APIs) για την αλληλεπίδραση των συστημάτων. Για την επίδειξη και την επικύρωση της πλατφό ρμας ESTRELLA, θα μοντελοποιηθούν οι νομοθεσίες σχετικές με τη φορολογία από δύο ευρωπαϊκές χώρες και θα χρησιμοποιηθούν σε πιλοτικές εφαρμογές. Επίσης, τα Υπουργεία Οικονομίας ή οι φορολογικοί φορείς πολλών ευρωπαϊκών χωρών θα συμμετέχουν σε ένα Συμβούλιο Παρακολούθησης για τη διασφάλιση της δυνατότητας γενίκευσης της προσέγγισης. Το έργο έχει προϋπολογισμό 3.81 εκατομμύρια και διάρκεια 30 μηνών, με καταληκτική ημερομηνία την 30/06/2008 [47]. 72

74 2.6.3 ABILITIES Το έργο ABILITIES (Application Bus for InteroperabiLITy In enlarged Europe SMEs) επίσης εντάσσεται στο fp6 και βασικός του στόχος είναι η μελέτη, ο σχεδιασμός και η ανάπτυξη μίας αρχιτεκτονικής που θα υλοποιηθεί μέσα από ένα σύνολο έξυπνων και προσαρμόσιμων UBL μηνυμάτων και βασικών υπηρεσιών διαλειτουργικότητας για την υποστήριξη των μικρομεσαίων επιχειρήσεων στο περιβάλλον ηλετρκονικού εμπορίου. Πιο συγκεκριμένα, το ABILITIES ασχολείται με τρία αντικείμενα έρευνας: Προσανατολισμός στις μικρομεσαίες επιχειρήσεις: ξεκίνημα από τις προδιαγραφές UBL του OASIS, ορισμός μίας μορφής XML για την ανταλλαγή επιχειρησιακών εγγράφων (παραγγελίας-τιμολογίου) Αρχιτεκτονική και «έξυπνα» επιχειρησιακά έγγραφα: υποστήριξη της αρχιτεκτονικής ISO Επίσης με την παρουσίαση ενός μετα-μοντέλου αναφοράς για τα επιχειρησιακά έγγραφα παραγγελίας-τιμολογίου (UBL), το έργο θα επιχειρήσει μία καινοτόμο αρχιτεκτονική που θα συνδυάζει στοιχεία από Service Oriented Architectures και Intelligent Multi-Agent Systems Υποστήριξη επιχειρησιακών διαδικασιών: Μελέτη και εναρμόνιση της έρευνας και των προτύπων επάνω στα επιχειρησιακά έγγραφα και επάνω στη διαχείριση επιχειρησιακών διαδικασιών. Το έργο θα δοκιμάσει και θα επικυρώσει τεχνολογίες σε μικρομεσαίες επιχειρήσεις νεότερων κρατών μελών, όπως η Λιθουανία, η Σλοβακία, η Ουγγαρία και η Ρουμανία. Ο προϋπολογισμός του έργου είναι 3.13 εκατομμύρια και η διάρκειά του 25 μήνες, με καταληκτική ημερομηνία την 31/01/2008 [48]. 2.7 Ανακεφαλαίωση και Γραφική Αναπαράσταση Θεωρητικού Αντικειμένου Συνοψίζοντας το θεωρητικό αντικείμενο της παρούσας εργασίας, στο Κεφάλαιο 1 πραγματοποιήθηκε μία αποτύπωση της υφιστάμενης κατάστασης σε ό,τι αφορά την εξέλιξη του οράματος της ηλεκτρονικής διακυβέρνησης όχι μόνο στο πλαίσιο της ελληνικής δημόσιας διοίκησης, αλλά και στο πλαίσιο της Ευρωπαϊκής Ένωσης. Ειδικότερα, η δημόσια διοίκηση στη σύγχρονη πραγματικότητα χαρακτηρίζεται από «νησίδες» διακυβέρνησης, γεγονός που οφείλεται στον υψηλό βαθμό κατακερματισμού και ετερογένειας των Πληροφοριακών Συστημάτων (Π.Σ.) που αναπτύσσονται και υλοποιούνται για την υποστήριξη των δημοσίων φορέων, με αποτέλεσμα τα Π.Σ. να 73

75 μην μπορούν να διαλειτουργήσουν και περαιτέρω να μην είναι δυνατή η παροχή ενιαίων, ολοκληρωμένων ηλεκτρονικών δημοσίων υπηρεσιών. Στο σημείο αυτό έρχονται να διαδραματίσουν σημαντικό ρόλο τα πρότυπα ανταλλαγής ηλεκτρονικών εγγράφων, προς την κατεύθυνση της επίτευξης διαλειτουργικότητας, ως βασικής προϋπόθεσης για την υλοποίηση του οράματος της ηλεκτρονικής διακυβέρνησης. Παλαιότερα πρότυπα όπως το EDI, παρουσιάζουν αρκετές αδυναμίες, όπως το αρχικό υψηλό κόστος, η έλλειψη ευελιξίας, ενώ δε συμβάλλουν και στο επίπεδο της σημασιολογικής διαλειτουργικότητας. Η XML έρχεται να καλύψει τις εν λόγω αδυναμίες, εξασφαλίζοντας τεχνική και συντακτική διαλειτουργικότητα, ωστόσο υστερεί στην επίτευξη σημασιολογικής διαλειτουργικότητας, την οποία αναμένεται να διασφαλίσουν σε σημαντικό βαθμό οι τεχνολογίες του σημασιολογικού ιστού, όπως το RDF και οι οντολογίες. 74

76 Σχήμα 2.12 Συμβολή των Προτύπων Ανταλλαγής Ηλεκτρονικών Εγγράφων στην επίτευξη Διαλειτουργικότητας και στην υλοποίηση της Ηλεκτρονικής Διακυβέρνησης 75

77 ΚΕΦΑΛΑΙΟ 3. ΜΟΝΤΕΛΟ ΑΝΤΑΛΛΑΓΗΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΓΓΡΑΦΩΝ ΜΕΤΑΞΥ ΟΡΓΑΝΙΣΜΩΝ 3.1 Αρχιτεκτονική Όπως παρουσιάστηκε στα δύο πρώτα κεφάλαια της εργασίας, η XML αποτελεί ένα σημαντικό πρώτο βήμα προς την επίτευξη διαλειτουργικότητας μεταξύ των δημόσιων οργανισμών και περαιτέρω προς την επίτευξη του οράματος της ηλεκτρονικής διακυβέρνησης. Σε αυτό το πλαίσιο, στο κεφάλαιο αυτό προτείνεται ένα μοντέλο ανταλλαγής ηλεκτρονικών εγγράφων μεταξύ οργανισμών, το οποίο μπορεί να έχει πρακτική εφαρμογή στην ελληνική δημόσια διοίκηση. Η παροχή μίας δημόσιας υπηρεσίας συχνά προϋποθέτει την εμπλοκή περισσότερων δημόσιων φορέων, γεγονός που συνεπάγεται την ανταλλαγή πληροφοριών, η οποία συνήθως προϋποθέτει διαφορετικό βαθμό και τρόπο πρόσβασης στις πληροφορίες από κάθε φορέα. Στο πλαίσιο της ηλεκτρονικής δακυβέρνησης, ο πολίτης στον οποίο παρέχεται η υπηρεσία επιθυμεί απλά να λάβει το προϊόν αυτής, το οποίο για παράδειγμα μπορεί να είναι ένα έγγραφο, δίχως να έχει σημασία για εκείνον ποιοι φορείς και με ποιον τρόπο συμμετέχουν στην παροχή της συγκεκριμένης υπηρεσίας. Για το λόγο αυτό, καθίσταται κατανοητό ότι οι δημόσιοι φορείς θα πρέπει να επικοινωνούν και να ανταλλάσσουν ηλεκτρονικά τα απαιτούμενα σε κάθε περίπτωση δεδομένα. Το σκοπό αυτό έρχεται να εξυπηρετήσει το μοντέλο της παρούσας εργασίας. Πιο συγκεκριμένα, έστω ότι υπάρχει ένας αριθμός Z από δημόσιους οργανισμούς, οι οποίοι έχουν πρόσβαση σε διάφορα μέρη πληροφοριών, που κάποιες φορές είναι αλληλοεπικαλυπτόμενα, και υπάρχουν ορισμένες αλληλεπιδράσεις των οργανισμών, που προϋποθέτουν ανταλλαγή πληροφοριών για την παροχή δημοσίων υπηρεσιών. Σύμφωνα με το μοντέλο που παρουσιάζεται στο Σχήμα 3.1, έστω ότι ένας δημόσιος οργανισμός Α (Public Organisation A) παρέχει κάποιες υπηρεσίες. Για το σκοπό αυτό, διαθέτει κάποια εφαρμογή Α (Application A) που δέχεται κάποια δεδομένα ως είσοδο και εξάγει επίσης διαφορετικά δεδομένα, ανάλογα με την υπηρεσία. Η εφαρμογή Α μπορεί να δεχτεί ως είσοδο δεδομένα από τους πολίτες, όπως για παράδειγμα με την παροχή ηλκτρονικά κάποιας φόρμας εισαγωγής δεδομένων, είτε μπορεί επιπλέον να λάβει μέρος των δεδομένων που χρειάζεται με την κλήση κάποιας 76

78 web service, η οποία επιτρέπει στις εφαρμογές να επικοινωνούν μεταξύ τους ανεξαρτήτων πλατφόρμας και γλώσσας προγραμματισμού. Οι web services παρέχονται μέσω διαδικτύου και χρησιμοποιούν ένα προτυποποιημένο σύστημα XML μηνυμάτων. Ο Οργανισμός Α βρίσκει στο διαδίκτυο την κατάλληλη web service που θα αποτελέσει πηγή πληροφορίας για την εφαρμογή του, και αποστέλλει ένα αίτημα σε μορφή μηνύματος XML (XML Request). H web service που καλείται αποστέλλει στην εφαρμογή A την απάντηση (XML Response), που είναι επίσης σε μορφή XML. Θα πρέπει να σημειωθεί ότι ο Οργανισμός Α ενδεχομένως χρησιμοποιεί κάποιο μοντέλο δεδομένων, σύμφωνα με το οποίο τα δεδομένα είναι οργανωμένα με διαφορετικό τρόπο από τη δομή που ακολουθούν τα ίδια δεδομένα της web service. Για το λόγο αυτό, εκτελούνται μετασχηματισμοί των XML μηνυμάτων, τόσο από όσο και προς την web service προκειμένου να εξασφαλιστεί η επικοινωνία της web service με την εφαρμογή Α. Ειδικότερα, η εφαρμογή Α στέλνει ένα XML μήνυμα, εκείνο μετατρέπεται κατάλληλα σε άλλο XML μήνυμα μέσω μετασχηματισμών XSLT (XSL Transformations) λαμβάνεται από τη web service και ακολουθείται η αντίστροφη διαδικασία με την απάντηση της web service, ώστε εκείνη να αποτελέσει είσοδο για την εφαρμογή Α. Επιπρόσθετα, η εφαρμογή Α μπορεί να δεχεται δεδομένα εισόδου και από την εφαρμογή ενός Ζ Οργανισμού, η οποία παράγει κάποιο XML έγγραφο (z.xml). Το έγγραφο αυτό για να μπορέσει να αποτελέσει είσοδο της Α εφαρμογής θα πρέπει να μετασχηματιστεί κατάλληλα μέσω μετασχηματισμών XSLT, με την ίδια λογική που περιγράφηκε παραπάνω στην περίπτωση των web services. Ακολούθως η εφαρμογή Α, αφού έχει δεχθεί τα δεδομένα εισόδου, παράγει κάποιο έγγραφο XML (έγγραφο a.xml), το οποίο κατά τη δημιουργία του επικυρώνεται από κάποιο XML Schema (έγγραφο a.xsd). Όλα τα XML instances που παράγονται από την εφαρμογή Α μπορούν να αποθηκεύονται είτε σε σύστημα αρχείων που βασίζεται στην XML για την διαχείριση των αρχείων του, είτε σε μία Βάση Δεδομένων. Οι τρόποι αποθήκευσης των δεδομένων μπορούν να ποικίλουν ανάλογα με τον όγκο και την πολυπλοκότητα των δεδομένων, την πρόσβαση σε αυτά, την ανάγκη μεταφερσιμότητας και άλλους παράγοντες. Στην περίπτωση που δίνεται μεγάλη έμφαση στη χρήση της εφαρμογής από μία ποικιλία χρηστών και από διαφορετικές πλατφόρμες, όπως συμβαίνει στο πλαίσιο της δημόσιας διοίκησης, τα πλεονεκτήματα της αποθήκευσης σε XML έχουν να κάνουν με τον υψηλό βαθμό μεταφερσιμότητας (portability) των XML εγγράφων και την ευελιξία της XML σε ό,τι αφορά τον ορισμό και τις δυνατότητες 77

79 αλλαγής / επέκτασης των XML Schemas. Υπάρχει βέβαια και η δυνατότητα συνδυασμού τρόπων αποθήκευσης, όπως για παράδειγμα η χρήση Βάσης Δεδομένων για ένα μέρος των δεδομένων και η σύνδεση αυτών με τα XML έγγραφα. 78

80 f.xsl Citizens Data Entry a.xsd XSL-FO Output A x.pdf Citizens WsToa.xsl XSLT Xml Response XSLT Input A Application A Input B Xml Request Xml Schema Validation a.xml Xml Schema Validation atob.xsl XSLT Output B b.xml Application B atows.xsl b.xsd Web service Data Storage atoc.xsl Public Organisation B ztoa.xsl XSLT z.xml XSLT Input Z c.xsd Xml Schema Validation Output C c.xml Application C Application Z Public Organisation C Public Organisation Z Public Organisation A Σχήμα 3.1 Αρχιτεκτονική Μοντέλου Ανταλλαγής Ηλεκτρονικών Εγγράφων 79

81 Όπως προαναφέρθηκε, ο Οργανισμός Α αλληλεπιδρά με έναν αριθμό δημόσιων οργανισμών και ανταλλάσσει πληροφορίες στο πλαίσιο παροχής ορισμένων υπηρεσιών προς τους πολίτες. Ωστόσο, η συνεισφορά των υπόλοιπων οργανισμών στην υπηρεσία ποικίλει ως προς το περιεχόμενο των πληροφοριών που χρειάζονται και τις πληροφορίες που πρέπει να παράγουν. Ανάλογα με τη φύση, την αποστολή και τις αρμοδιότητες κάθε οργανισμού, όπως προβλέπονται από το υφιστάμενο νομοθετικό πλαίσιο, είναι διαφορετικά τα δεδομένα που διαχειρίζεται κάθε οργανισμός, και επομένως διαφορετικό το μοντέλο δεδομένων που καθορίζει τον τρόπο οργάνωσης αυτών και πάνω στο οποίο έχει υλοποιηθεί η εφαρμογή που υποστηρίζει τις λειτουργίες του οργανισμού. Ακόμα όμως και στην περίπτωση που δύο οργανισμοί χρησιμοποιούν σε κάποιο βαθμό κοινά δεδομένα, και πάλι ενδέχεται ο τρόπος αναπαράστασης και δόμησης αυτών να διαφέρει. Ακολουθώντας την ίδια λογική, και οι οργανισμοί που αλληλεπιδρούν με τον Οργανισμό Α, επικοινωνούν αντίστοιχα με άλλους οργανισμούς και επομένως χρειάζεται να έχουν πρόσβαση σε μέρος των πληροφοριών αυτών. Η ανταλλαγή πληροφοριών μεταξύ δημόσιων οργανισμών που έχουν υιοθετήσει διαφορετικά μοντέλα δεδομένων που στο πλαίσιο της XML μεταφράζονται σε διαφορετικά XML Schemas, επιτυγχάνεται με την υλοποίηση XSL μετασχηματισμών (XSLT), οι οποίοι, όπως περιγράφηκε στο Κεφάλαιο 2, αλλά και ανωτέρω στην περίπτωση της κλήσης web services, επιτρέπουν τη μετατροπή ενός XML εγγράφου σε άλλο. Η υλοποίηση των XSLT προϋποθέτει αφενός την ύπαρξη ενός κατάλληλου έγγραφου μετασχηματισμού, ενός xsl φύλλου στυλ, το οποίο καθορίζει τους κανόνες που εφαρμόζονται στο αρχικό XML έγγραφο για τη δημιουργία ενός τελικού διαφορετικού από το πρώτο XML εγγράφου, αφετέρου την ύπαρξη ενός XSLT επεξεργαστή που εκτελεί το μετασχηματισμό. Έτσι, όπως φαίνεται και στο Σχήμα 3.1, το έγγραφο a.xml που παράγεται από την εφαρμογή Α, μπορεί να μετασχηματιστεί κατάλληλα με XSLT, ανάλογα και με το XML Schema που ακολουθεί κάθε οργανισμός σε νέα XML έγγραφα (b.xml, c.xml) τα οποία αποτελούν αντίστοιχα τα δεδομένα εισόδου για τις εφαρμογές B, C των δημόσιων οργανισμών B, C. Οι εφαρμογές B και C αντίστοιχα μπορούν να έχουν τις ίδιες δυνατότητες με την A εφαρμογή, δηλαδή, μπορούν να δέχονται δεδομένα εισόδου από τους πολίτες, από web services ή από εφαρμογές άλλων οργανισμών. Σύμφωνα με την παραπάνω περιγραφή, γίνεται αντιληπτό το πλεονέκτημα της χρήσης XSLT στην περίπτωση δημόσιων οργανισμών με διαφορετικές XML εφαρμογές, καθώς καθίσταται δυνατή η αλληλεπίδραση αυτών των οργανισμών και η 80

82 ανταλλαγή δεδομένων σε ηλεκτρονική μορφή. Με τον τρόπο αυτόν, ο πολίτης στον οποίο απευθύνεται μία υπηρεσία, υποβάλλει μία φορά και από ένα σημείο τα απαιτούμενα δεδομένα που απαιτούνται για την ενεργοποίηση της υπηρεσίας, και στη συνέχεια οι δημόσιοι φορείς που εμπλέκονται σε αυτήν, ανεξάρτητα από τις εφαρμογές και τα μοντέλα δεδομένων τους, με τη χρήση των τεχνολογιών XML και XSLT μπορούν να αλληλεπιδρούν, προκειμένου να ολοκληρωθεί η υπηρεσία. Τέλος, αξίζει να σημειωθεί ότι στην περίπτωση που το αποτέλεσμα της υπηρεσίας είναι κάποιο έγγραφο προς τον πολίτη, καθίσταται κατανοητό ότι η XML δεν ενδείκνυται για την παρουσίαση των δεδομένων σε μία κατανοητή μορφή. Για το λόγο αυτό, μπορεί να χρησιμοποιηθεί και πάλι μία τεχνολογία XSL, η XSL FO. Σύμφωνα με αυτήν, το XML έγγραφο, που περιέχει τα δεδομένα ή μέρος των δεδομένων που αποτελούν το προϊόν της υπηρεσίας, μετασχηματίζεται σε έγγραφο PDF, το οποίο περιέχει τα δεδομένα με τον κατάλληλο πλέον τρόπο παρουσίασης και που συνιστά το τελικό έγγραφο της υπηρεσίας προς τον πολίτη. 3.2 Δυνατότητα Μελλοντικής Επέκτασης Όπως αναλύθηκε στην προηγούμενη παράγραφο, η τεχνολογία XSLT αποτελεί μία πολύ καλή λύση για την αντιμετώπιση της ανάγκης ενοποίησης ετερογενών XML εφαρμογών. Αξίζει ωστόσο να αναφερθεί ότι η υλοποίηση της XSLT, και συγκεκριμένα των xsl φύλλων στυλ, προϋποθέτει σημαντική προσπάθεια που απαιτεί ανάλυση τόσο της δομής όσο και της σημασιολογίας του αρχικού και του τελικού XML εγγράφου. Η ύπαρξη βέβαια των XML Schemas διευκολύνει την προσπάθεια αυτή, αλλά μόνο στο κομμάτι ανάλυσης της δομής και της σύνταξης του XML εγγράφου και όχι στο κομμάτι ανάλυσης της σημασιολογίας αυτού. Άλλωστε, αυτή είναι και η κυριότερη αδυναμία της XML, η οποία επισημάνθηκε στις παραγράφους και 2.4. Μάλιστα, όσο αυξάνεται ο αριθμός των διαφορετικών XML Schemas πολλαπλασιάζεται και ο αριθμός μετασχηματισμών που πρέπει να υλοποιηθούν, όπως φαίνεται και στο Σχήμα 3.2. Η αδυναμία αυτή που παρουσιάζεται μπορεί να αντιμετωπιστεί με τη χρήση των τεχνολογιών σημασιολογικού ιστού. Ειδικότερα, η ύπαρξη μίας κοινής οντολογίας ή ενός RDF Schema που θα εμπερικλείει όλες τις έννοιες και τις σχέσεις αυτών που αφορούν στη δημόσια διοίκηση, μπορεί να προσφέρει σημασιολογική ανάλυση των ετερογενών XML Schemas των διαφόρων δημόσιων οργανισμών και να παράγει με αυτόματο ή ημι-αυτόματο τρόπο τα xsl φύλλα 81

83 στυλ που απαιτούνται για το μετσχηματισμό των XML εγγράφων και την ανταλλαγή πληροφοριών μεταξύ των οργανισμών. Όπως παρουσιάζεται και στο Σχήμα 3.3, στην απλή περίπτωση δύο οργανισμών με διαφορετικά XML Schemas, μπορεί να γίνει σημασιολογική αντιστοίχιση (semantic mapping) των στοιχείων από κάθε XML Schema με τις έννοιες της οντολογίας και ακολούθως θα είναι πολύ ευκολότερη η παραγωγή των αρχείων μετασχηματισμών [30]. a.xsd b.xsd c.xsd Σχήμα 3.2 Σημείο προς Σημείο μετασχηματισμοί τριών XML Schemas Σχήμα 3.3 Δημιουργία των μετασχηματισμών μέσω τεχνολογιών σημασιολογικού ιστού 82

84 ΚΕΦΑΛΑΙΟ 4. ΠΡΟΤΥΠΗ ΕΦΑΡΜΟΓΗ ΤΟΥ ΜΟΝΤΕΛΟΥ 4.1 Σχεδίαση Εφαρμογών Εφαρμογή Υποβολής Φορολογικής Δήλωσης Σκοπός Σκοπός της εφαρμογής υποβολής φορολογικής δήλωσης είναι η παροχή της δυνατότητας στους χρήστες να υποβάλλουν ηλεκτρονικά τα προσωπικά τους στοιχεία, καθώς και τα στοιχεία εισοδήματος και ακινήτων που κατέχουν. Συνεπώς, οι βασικές λειτουργίες της εφαρμογής συνίστανται στη συλλογή και επεξεργασία στοιχείων φορολογούμενων πολιτών σχετικά με το εισόδημα και τα ακίνητα που κατέχουν. Η εφαρμογή μπορεί να θεωρηθεί ως η κύρια εφαρμογή (Application A) του μοντέλου ανταλλαγής ηλεκτρονικών εγγράφων όπως παρουσιάστηκε στο Κεφάλαιο 3, και επομένως πέρα από την δημιουργία XML εγγράφων (XML αρχείων φορολογούμενων) για την αποθήκευση αυτών των στοιχείων, εκτελεί τους κατάλληλους μετασχηματισμούς για να δημιουργήσει δύο νέα XML έγγραφα (XML αρχείο εισοδήματος και XML αρχείο ακινήτων) τα οποία αποτελούν τις εισόδους των εφαρμογών εμφάνισης στοιχείων εισοδήματος και στοιχείων ακινήτων ακινήτων Μοντέλο Δεδομένων Η εφαρμογή υποβολής φορολογικής δήλωσης δέχεται ως είσοδο στοιχεία που μπορούν να ενταχθούν σε τρεις κύριες κατηγορίες πληροφοριών: Στοιχεία Φορολογούμενου, Στοιχεία Εισοδήματος και Στοιχεία Ακινήτων. Οι τρεις αυτές κατηγορίες περαιτέρω αναλύονται σε υποκατηγορίες, οι οποίες εναρμονίζονται με τις κατηγορίες πληροφοριών στις οποίες εντάσσονται τα στοιχεία των Δηλώσεων Φορολογίας Εισοδήματος (Ε1) και Στοιχείων Ακινήτων (Ε9). Δεδομένου του όγκου πληροφοριών των δύο παραπάνω Δηλώσεων, στο πλαίσιο της παρούσας εργασίας έγιναν ορισμένες παραδοχές, προκειμένου να απλοποιηθεί το μοντέλο δεδομένων, αλλά και να προσαρμοστεί με τέτοιο τρόπο ώστε να αποτελεί μία ειδικότερη περίπτωση του πραγματικού. Έτσι, για την καλύτερη κατανόηση του τρόπου 83

85 με τον οποίο δημιουργήθηκε το μοντέλο δεδομένων, αξίζει να αναφερθούν οι παραδοχές που ακολουθήθηκαν: Η φορολογική δήλωση εισοδήματος αφορά τα στοιχεία μόνο ενός ατόμου και όχι και του/ της συζύγου. Η διατήρηση ορισμένων βασικών στοιχείων συζύγου, όπως θα αναλυθούν παρακάτω, εντάσσεται στο πλαίσιο της δήλωσης στοιχείων ακινήτων. Τα φορολογούμενα εισοδήματα προέρχονται από μισθωτές υπηρεσίες και / ή από ακίνητα. Πιο συγκεκριμένα, γίνεται η παραδοχή ότι ο φορολογούμενος μπορεί να είναι μισθωτός υπάλληλος ή συνταξιούχος που μπορεί να έχει επίσης εισόδημα από εκμίσθωση κατοικιών. Ως ποσά δαπανών που αφαιρούνται από το συνολικό εισόδημα ή από το φόρο θεωρούνται οι δαπάνες παροχής υπηρεσιών, τα έξοδα ιατρικής και νοσοκομειακής περίθαλψης και το ενοίκιο κύριας κατοικίας. Ως συνέπεια της παραδοχής ότι ο φορολογούμενος είναι μισθωτός υπάλληλος ή συνταξιούχος, οι προκαταβληθέντες παρακρατηθέντες φόροι είναι εκείνοι που αναλογούν και παρακρατήθηκαν στους μισθούς / συντάξεις. Τέλος, ως ακίνητα θεωρούνται τα οικόπεδα και κτίσματα και όχι τα αγροτεμάχια, όπως προβλέπει η Δήλωση Ε9. Λαμβάνοντας υπόψη τις ανωτέρω παραδοχές, το μοντέλο δεδομένων της εφαρμογής υποβολής φορολογικής δήλωσης αναλύεται στις ακόλουθες κατηγορίες και υποκατηγορίες δεδομένων: Στοιχεία Φορολογούμενου Γενικά Στοιχεία o Έτος (Πρόκειται για το οικονομικό έτος) o Ημερομηνία Υποβολής Προσωπικά Στοιχεία o Αριθμός Φορολογικού Μητρώου (Α.Φ.Μ.) o Επώνυμο o Όνομα o Όνομα Πατέρα o Αριθμός Ταυτότητας o Τηλέφωνο 84

86 Διεύθυνση o Οδός o Αριθμός o Ταχυδρομικός Κώδικας (Τ.Κ.) o Πόλη Στοιχεία Προστατευόμενων Μελών o Αύξοντας Αριθμός o Αριθμός Φορολογικού Μητρώου (Α.Φ.Μ.) o Επώνυμο o Όνομα o Πατρώνυμο o Σχέση με τον Υπόχρεο (σύζυγος ή τέκνο) Στοιχεία Εισοδήματος Φορολογούμενα Εισοδήματα o Άθροισμα καθαρών ποσών από μισθούς, ημερομίσθια ή από κύριες συντάξεις o Ακαθάριστο εισόδημα από εκμίσθωση κατοικιών Ποσά δαπανών που αφαιρούνται από το συνολικό εισόδημα ή από το φόρο o Δαπάνη παροχής υπηρεσιών (δεξιώσεων, γυμναστηρίων, υδραυλικών ηλεκτρολόγων) o Έξοδα ιατρικής και νοσοκομειακής περίθαλψης o Ενοίκιο για κύρια κατοικία της οικογένειας Προκαταβληθέντες Παρακρατηθέντες Φόροι o Φόρος που αναλογεί στους μισθούς, συντάξεις o Φόρος που παρακρατήθηκε στους μισθούς, συντάξεις Στοιχεία Ακινήτων o Αύξοντας Αριθμός o Αριθμός Οικοδομικού Τετραγώνου (συμπληρώνεται όταν δεν είναι γνωστοί οι δρόμοι του οικοδομικού τετραγώνου) o Κατηγορία Ακινήτου (1: Κατοικία ή Διαμέρισμα, 2: Μονοκατοικία, 3: Επαγγελματική στέγη, 4: Οικόπεδο, 5: Γεωργικά, κτηνοτροφικά κτίρια, αποθήκες, 6: Θέσεις σταύθμευσης, 7: Σταθμοί αυτοκινήτων δημόσιας χρήσης, 85

87 8: Βιομηχανικά, βιοτεχνικά κτίρια, 9: Τουριστικές εγκαταστάσεις, 10: Εκπαιδευτήρια, 11: Αθλητικές εγκαταστάσεις, 12: Κτίρια που δεν μπορούν να υπαχθούν στις πιο πάνω κατηγορίες, 13: Τίτλος μεταφοράς συντελεστή δόμησης) o Όροφος (συμπληρώνεται όπου έχει εφαρμογή) o Συνολική επιφάνεια κτισμάτων στο οικόπεδο (αριθμός τεραγωνικών μέτρων) o Κωδικός αριθμός ιδιοκτήτη (ανάλογα με το ποιος είναι ο ιδιοκτήτης του ακινήτου, ο κωδικός είναι είτε 1 για τον υπόχρεο, είτε ο αύξοντας αριθμός του προστατευόμενου μέλους) o Κωδικός αριθμός μεταβολής (1: Δήλωση νέου ακινήτου, 2: Μεταβολή στοιχείων ακινήτου, 3: Διαγραφή ακινήτου) Διεύθυνση Ακινήτου o Νομός o Δήμος / Διαμέρισμα ή Κοινότητα o Οδός o Αριθμός o Πρόσοψη (ΝΑΙ / ΟΧΙ) Υπόλοιποι Δρόμοι Οικοδομικού Τετραγώνου o Οδός o Πρόσοψη (ΝΑΙ / ΟΧΙ) o Οδός o Πρόσοψη (ΝΑΙ / ΟΧΙ) o Οδός o Πρόσοψη (ΝΑΙ / ΟΧΙ) Κτίσμα o Επιφάνεια κύριων χώρων (αριθμός τεραγωνικών μέτρων) o Επιφάνεια βοηθητικών χώρων (αριθμός τεραγωνικών μέτρων) o Έτος κατασκευής o Είδος εμπράγματου δικαιώματος (1: Πλήρης κυριότητα, 2: Ψιλή κυριότητα, 3:Επικαρπία ή οίκηση) 86

88 Οικόπεδο o Ποσοστό συνιδιοκτησίας o Έτος γέννησης επικαρπωτή o Επιφάνεια (αριθμός τεραγωνικών μέτρων) o Είδος εμπράγματου δικαιώματος (1: Πλήρης κυριότητα, 2: Ψιλή κυριότητα, 3:Επικαρπία ή οίκηση) o Ποσοστό συνιδιοκτησίας o Έτος γέννησης επικαρπωτή XML Schema και XML Instance Για την αναπαράσταση του μοντέλου δεδομένων της εφαρμογής, όπως αναλύθηκε στην προηγούμενη παράγραφο, δημιουργήθηκε ένα XML Schema ως έγγραφο επικύρωσης των XML εγγράφων που θα παράγει η εφαρμογή, με όνομα taxreturn.xsd, το οποίο παρατίθεται στο Παράρτημα της εργασίας. Τα XSD έγγραφο αποτελείται από δηλώσεις απλών (simple elements) και σύνθετων στοιχείων (complex elements). Οι τύποι των στοιχείων, οι περιορισμοί τους και η αντιστοιχία τους με το μοντέλο δεδομένων παρατίθενται στον Πίνακα 3. Το XML έγγραφο που δημιουργείται από την εφαρμογή έχει ως στοιχείο ρίζα το taxreturns, το οποίο έχει στοιχεία - παιδιά (children-elements) και που κάποια από αυτά με τη σειρά τους αναλύονται σε περισσότερα στοιχεία-παιδιά. Η δενδρική δομή του XML εγγράφου με όλα τα στοιχεία του παρουσιάζεται στο Σχήμα 4.1, ενώ ένα παράδειγμα XML εγγράφου της εφαρμογής παρατίθεται στο Παράρτημα της εργασίας. 87

89 Πίνακας 3. Στοιχεία taxreturn.xsd και αντιστοιχία με το μοντέλο δεδομένων Σύνθετο Στοιχείο Απλό Στοιχείο Τύπος Στοιχείου Περιορισμός Στοιχείο Μοντέλου Δεδομένων taxreturns generaldata Γενικά Στοιχεία year string Μήκος χαρακτήρων = 4 Έτος subdate date Ημερομηνία Υποβολής personaldata Προσωπικά Στοιχεία afm string Μήκος χαρακτήρων = 9 ΑΦΜ last_name string Επώνυμο first_name string Όνομα father_name string Όνομα πατέρα id string Αριθμός ταυτότητας phone_number string Μήκος χαρακτήρων = 10 Τηλέφωνο address Διεύθυνση street string Οδός number integer Αριθμός tk string Μήκος χαρακτήρων = 5 ΤΚ city string Πόλη listchildren_data children_data Στοιχεία Προστατευόμενων Μελών cw_aa integer Ελάχιστη τιμή = 2 Αύξοντας αριθμός cw_afm string Μήκος χαρακτήρων = 9 ΑΦΜ cw_first_name string Όνομα cw_father_name string Πατρώνυμο relation string Τιμές: 1 ή 2 Σχέση με τον υπόχρεο income Φορολογούμενα Εισοδήματα 88

90 Σύνθετο Στοιχείο Απλό Στοιχείο Τύπος Στοιχείου Περιορισμός Στοιχείο Μοντέλου Δεδομένων wage decimal house_rent decimal expense Ποσά δαπανών που αφαιρούνται από το συνολικό εισόδημα ή από το φόρο services decimal health_care decimal rent decimal taxes Προκαταβληθέντες - Παρακρατηθέντες φόροι wage_resp decimal wage_kept decimal listestates estate Στοιχεία ακινήτων cd integer Αύξοντας αριθμός nomos string Νομός dimos string Δήμος street_desc string Οδός street_number integer Αριθμός front integer Πρόσοψη street_desc2 string Οδός front2 integer Πρόσοψη street_desc3 string Οδός front3 integer Πρόσοψη street_desc4 string Οδός front4 integer Πρόσοψη ot string Αριθμός οικοδομικού τετραγώνου 89

91 Σύνθετο Στοιχείο Απλό Στοιχείο Τύπος Στοιχείου Περιορισμός Στοιχείο Μοντέλου Δεδομένων category integer Τιμές: από 1 έως 13 Κατηγορία ακινήτου floor string Όροφος main_mm decimal Επιφάνεια κύριων χώρων help_mm decimal Επιφάνεια βοηθητικών χώρων year_of_construction integer Τιμές: από 1800 έως 2007 Έτος κατασκευής type_of_own integer Είδος εμπράγματου δικαιώματος percentage decimal Ποσοστό συνιδιοκτησίας year_of_birth_epik integer Τιμές: από 1879 έως 2006 Έτος γέννησης επικαρπωτή oik_mm decimal Επιφάνεια type_of_own_oik integer Τιμές: από 0 έως 3 Είδος εμπράγματου δικαιώματος percentage_oik decimal Τιμές: από 0 έως 100 Ποσοστό συνιδιοκτησίας year_of_birth_oik string Τιμές: από 1879 έως 2006 Έτος γέννησης επικαρπωτή total_oik decimal Συνολική επιφάνεια κτισμάτων στο οικόπεδο owner_code integer Ελάχιστη τιμή: 1 Κωδικός αριθμός ιδιοκτήτη change_code integer Τιμές: από 1 έως 3 Κωδικός μεταβολής 90

92 Σχήμα 4.1 Δομή XML εγγράφου της εφαρμογής υποβολής φορολογικής δήλωσης 91

93 4.1.2 Εφαρμογή Εμφάνισης Στοιχείων Εισοδήματος Σκοπός Σκοπός της εφαρμογής εμφάνισης στοιχείων εισοδήματος είναι η διαχείριση των αποτελεσμάτων εκκαθάρισης για κάθε φορολογούμενο και η έκδοση του εκκαθαριστικού σημειώματος. Για το σκοπό αυτό, η εφαρμογή ανακτά το XML αρχείο εισοδήματος, που όπως προαναφέρθηκε παράγεται από την εφαρμογή υποβολής φορολογικής δήλωσης με κατάλληλο μετασχηματισμό του XML αρχείου φορολογούμενου και εμφανίζει τα στοιχεία του φορολογούμενου, μαζί τα στοιχεία εισοδήματος και το αποτέλεσμα εκκαθάρισης. Ακολούθως έχει τη δυνατότητα να παράγει το εκκαθαριστικό σημείωμα σε ένα PDF έγγραφο, με μετασχηματισμό του XML εγγράφου, καθώς και να εκτυπώνει το εκκαθαριστικό σημείωμα για εξυπηρέτηση των πολιτών από την ίδια την υπηρεσία, ως εναλλακτικό τρόπο από την ηλεκτρονική ενημέρωση Μοντέλο Δεδομένων Το μοντέλο δεδομένων της εφαρμογής εμφάνισης στοιχείων εισοδήματος περιέχει τόσο στοιχεία από το μοντέλο δεδομένων της εφαρμογής υποβολής φορολογικής δήλωσης, όσο και νέα στοιχεία που συνιστούν το αποτέλεσμα εκκαθάρισης. Πιο συγκεκριμένα, το μοντέλο δεδομένων αναλύεται στις ακόλουθες κατηγορίες και υποκατηγορίες δεδομένων: Στοιχεία Φορολογούμενου Γενικά Στοιχεία o Έτος (Πρόκειται για το οικονομικό έτος) o Ημερομηνία Υποβολής Προσωπικά Στοιχεία o Αριθμός Φορολογικού Μητρώου (Α.Φ.Μ.) o Επώνυμο o Όνομα o Όνομα Πατέρα o Αριθμός Ταυτότητας o Τηλέφωνο Διεύθυνση 92

94 o Οδός o Αριθμός o Ταχυδρομικός Κώδικας (Τ.Κ.) o Πόλη Στοιχεία Προστατευόμενων Μελών o Αύξοντας Αριθμός o Αριθμός Φορολογικού Μητρώου (Α.Φ.Μ.) o Επώνυμο o Όνομα Στοιχεία Εισοδήματος o Πατρώνυμο o Σχέση με τον Υπόχρεο (σύζυγος ή τέκνο) Φορολογούμενα Εισοδήματα o Άθροισμα καθαρών ποσών από μισθούς, ημερομίσθια ή από κύριες συντάξεις o Ακαθάριστο εισόδημα από εκμίσθωση κατοικιών Ποσά δαπανών που αφαιρούνται από το συνολικό εισόδημα ή από το φόρο o Δαπάνη παροχής υπηρεσιών (δεξιώσεων, γυμναστηρίων, υδραυλικών ηλεκτρολόγων) o Έξοδα ιατρικής και νοσοκομειακής περίθαλψης o Ενοίκιο για κύρια κατοικία της οικογένειας Προκαταβληθέντες Παρακρατηθέντες Φόροι o Φόρος που αναλογεί στους μισθούς, συντάξεις o Φόρος που παρακρατήθηκε στους μισθούς, συντάξεις Αποτέλεσμα εκκαθάρισης o Ποσό που ο φορολογούμενος θα πρέπει να πληρώσει ή το οποίο θα πρέπει να του επιστραφεί, ανάλογα με τα εισοδήματά του, τις δαπάνες και τους παρακρατηθέντες φόρους. o Χαρακτηρισμός αποτελέσματος εκκαθάρισης («Πιστωτικό», «Χρεωστικό» ή «Μηδενικό Υπόλοιπο», ανάλο α γ με το παραπάνω πο σό και το αν ο 93

95 φορολογούμενος πρέπει να πληρώσει ή θα του επιστραφεί το ποσό αυτό). Στο σημείο αυτό, αξίζει να παρουσιαστεί ο τρόπος με τον οποίο γίνεται ο υπολογισμός του φόρου, καθώς και ο χαρακτηρισμός του αποτελέσματος εκκαθάρισης. Αρχικά, οι φορολογικοί συντελεστές που χρησιμοποιήθηκαν παρατίθενται στον Πίνακα 4 και αναφέρονται σε ό,τι ίσχυε για τα εισοδήματα του 2007, ενώ για το ίδιο έτος χρησιμοποιήθηκαν και οι συντελεστές για τα ποσά δαπανών που αφαιρούνται από το συνολικό εισόδημα ή από το φόρο (Πίνακας 5). Πίνακας 4. Φορολογική κλίμακα για τα εισοδήματα του έτους 2007 Φορολογητέο Εισόδημα ( ) Ποσοστό Φόρου στο Εισόδημα (%) Έως > Πίνακας 5. Συντελεστές αφαίρεσης δαπανών από το συνολικό εισόδημα ή από το φόρο Δαπάνη Υπηρεσίες Ιατρική και νοσοκομειακή περίθαλψη Ενοίκιο κύριας κατοικίας Μείωση φόρου ή Φορολογητέου Εισοδήματος Μείωση Φορολογητέου Εισοδήματος κατά 40% της δαπάνης Μείωση Φόρου κατά 20% της δαπάνης Μείωση Φορολογητέου Εισοδήματος κατά 25% της δαπάνης Σύμφωνα με Πίνακα 5, τα εισοδήματα, και τις δαπάνες ενός φορολογούμενου, το Φορολογητέο Εισόδημα που προκύπτει είναι το ακόλουθο: ΦΕ= Μ + Ε - 40%*Υ - 25%*Εν [1] όπου ΦΕ : Φορολογητέο Εισόδημα 94

96 Μ : Μισθός (Άθροισμα καθαρών ποσών από μισθούς, ημερομίσθια, ή από κύριες συντάξεις) E : Ενοίκιο (Ακαθάριστο εισόδημα από εκμίσθωση κατοικιών) Υ : Δαπάνη παροχής υπηρεσιών Π : Έξοδα ιατρικής και νοσοκομειακής περίθαλψης Εν. : Ενοίκιο κύριας κατοικίας της οικογένειας Στη συνέχεια, για τον υπολογισμό του φόρου χρησιμοποιούνται οι φορολογικοί συντελεστές του Πίνακα 4, ενώ από το αρχικό ποσό του φόρου αφαιρούνται τόσο το 20% από έξοδα ιατρικής και νοσοκομειακής περίθαλψης, όσο και ο φόρος που παρακρατήθηκε ή αναλογεί στους μισθούς, συντάξεις. Επομένως, ανάλογα με την κλίμακα στην οποία εντάσσεται το Φορολογητέο Εισόδημα, ο μαθηματικός τύπος που υπολογίζει το φόρο μεταβάλλεται, όπως παρουσιάζεται στον Πίνακα 6. Πίνακας 6. Ποσό φόρου που αντιστοιχεί στο Φορολογητέο Εισόδημα Φορολογητέο Εισόδημα ( ) Φόρος ( ) Έως Φπ. [2] (ΦΕ )*29% - 20%*Π Φα. [3] *29% + (ΦΕ-30000)*39% - 20%*Π Φα. [4] > *29% *39% + (ΦΕ-75000)*40% - 20%*Π Φα. [5] όπου Φα. Φπ. : Φόρος που αναλογεί στους μισθούς, συντάξεις : Φόρος που παρακρατήθηκε στους μισθούς, συντάξεις Τέλος, για το χαρακτηρισμό του αποτελέσματος εκκαθάρισης λαμβάνεται υπόψη το τελικό πρόσημο του φόρου που υπολογίζεται. Εάν ο φόρος υπολογιστεί ίσος με το μηδέν, τότε το αποτέλεσμα θα είναι μηδενικό υπόλοιπο. Εάν ο φόρος είναι θετικός, τότε το αποτέλεσμα είναι χρεωστικό, ενώ αν ο φόρος είναι αρνητικός, το αποτέλεσμα θα είναι πιστωτικό. Θα πρέπει να αναφερθεί ότι στην πρώτη περίπτωση (ΦΕ έως ), το αποτέλεσμα της εκκαθάρισης αποκλείεται να είναι χρεωστικό, αλλά μπορεί να 95

97 είναι μηδενικό υπόλοιπο ή πιστωτικό. Στις υπόλοιπες περιπτώσεις και τα τρία αποτελέσματα είναι δυνατά XML Schema και XML Instance Για την αναπαράσταση του μοντέλου δεδομένων της εφαρμογής, δημιουργήθηκε ένα XML Schema ως έγγραφο επικύρωσης του XML αρχείου εισοδήματος, με όνομα tax.xsd, το οποίο παρουσιάζει αρκετά κοινά σημεία με το taxreturn.xsd, όπως θα γίνει αντιληπτό από τα στοιχεία που περιέχει (Πίνακας 7). Οι διαφορές στα στοιχεία των δύο XML Schema είναι ότι από το tax.xsd λείπουν τα στοιχεία listestates και estate, καθώς και όλα τα υποστοιχεία του estate, εφόσον η λειτουργικότητα της εφαρμογής δεν σχετίζεται με τα στοιχεία των ακινήτων του φορολογούμενου. Το έγγραφο tax.xsd παρατίθεται στο Παράρτημα της εργασίας. Αντίστοιχα το XML έγγραφο έχει ως στοιχείο ρίζα το tax, το οποίο έχει στοιχεία - παιδιά (children-elements) τα: generaldata personaldata income expense taxes char (χαρακτηρισμός του αποτελέσματος εκκαθάρισης) tax_resp (φόρος που αντιστοιχεί στο Φορολογητέο Εισόδημα του φορολογούμενου) Η δενδρική δομή του XML εγγράφου με όλα τα στοιχεία του παρουσιάζεται στο Σχήμα 4.2, ενώ ένα παράδειγμα XML εγγράφου της εφαρμογής παρατίθεται στο Παράρτημα της εργασίας. 96

98 Πίνακας 7. Στοιχεία tax.xsd και αντιστοιχία με το μοντέλο δεδομένων Σύνθετο Στοιχείο Απλό Στοιχείο Τύπος Στοιχείου Περιορισμός Στοιχείο Μοντέλου Δεδομένων tax tax_resp decimal Ποσό που ο φορολογούμενος θα πρέπει να πληρώσει ή το οποίο θα πρέπει να του επιστραφεί char string Χαρακτηρισμός αποτελέσματος εκκαθάρισης generaldata Γενικά Στοιχεία year string Μήκος χαρακτήρων = 4 Έτος subdate date Ημερομηνία Υποβολής personaldata Προσωπικά Στοιχεία afm string Μήκος χαρακτήρων = 9 ΑΦΜ last_name string Επώνυμο first_name string Όνομα father_name string Όνομα πατέρα id string Αριθμός ταυτότητας phone_number string Μήκος χαρακτήρων = 10 Τηλέφωνο address Διεύθυνση street string Οδός number integer Αριθμός tk string Μήκος χαρακτήρων = 5 ΤΚ city string Πόλη listchildren_data children_data Στοιχεία Προστατευόμενων Μελών cw_aa integer Ελάχιστη τιμή = 2 Αύξοντας αριθμός cw_afm string Μήκος χαρακτήρων = 9 ΑΦΜ cw_first_name string Όνομα cw_father_name string Πατρώνυμο 97

99 Σύνθετο Στοιχείο Απλό Στοιχείο Τύπος Στοιχείου Περιορισμός Στοιχείο Μοντέλου Δεδομένων relation string Τιμές: 1 ή 2 Σχέση με τον υπόχρεο income Φορολογούμενα Εισοδήματα wage decimal house_rent decimal expense Ποσά δαπανών που αφαιρούνται από το συνολικό εισόδημα ή από το φόρο services decimal health_care decimal rent decimal taxes Προκαταβληθέντες - Παρακρατηθέντες φόροι wage_resp decimal wage_kept decimal 98

100 Σχήμα 4.2 Δομή XML εγγράφου της εφαρμογής εμφάνισης στοιχείων εισοδήματος 99

101 4.1.3 Εφαρμογή Εμφάνισης Στοιχείων Ακινήτων Σκοπός Σκοπός της εφαρμογής εμφάνισης στοιχείων ακινήτων είναι η συγκέντρωση των στοιχείων ακινήτων τα οποία συμπληρώνει ο πολίτης μέσα από την εφαρμογή υποβολής φορολογικής δήλωσης. Τα στοιχεία αυτά στη συνέχεια μπορούν δυνητικά να συνδυαστούν με επιπρόσθετες νομικές ή / και τεχνικές πληροφορίες για τα ακίνητα και να αποτελέσουν για παράδειγμα το αρχείο του Εθνικού Κτηματολογίου. Με τον τρόπο αυτόν, ο πολίτης δεν είναι υποχρεωμένος να υποβάλλει δύο φορές τα ίδια στοιχεία, αλλά μέσα από την εφαρμογή υποβολής φορολογικής δήλωσης να συμπληρώνει τα απαραίτητα στοιχεία, και να δημιουργείται με τον κατάλληλο μετασχηματισμό το XML έγγραφο (XML αρχείο ακινήτων) το οποίο θα χρησιμοποιηθεί από την εφαρμογή εμφάνισης στοιχείων ακινήτων Μοντέλο Δεδομένων Το μοντέλο δεδομένων της εφαρμογής εμφάνισης στοιχείων ακινήτων αποτελεί γνήσιο υποσύνολο του μοντέλου δεδομένων της εφαρμογής υποβολής φορολογικής δήλωσης. Πιο συγκεκριμένα, δεν περιέχει την κατηγορία Στοιχεία Εισοδήματος, ενώ από την κατηγορία Στοιχεία Φορολογούμενου, δεν περιέχει τα γενικά στοιχεία (δηλαδή το έτος και την ημερομηνία υποβολής). Συνεπώς το μοντέλο δεδομένων που προκύπτει είναι το ακόλουθο: Στοιχεία Φορολογούμενου Προσωπικά Στοιχεία o Αριθμός Φορολογικού Μητρώου (Α.Φ.Μ.) o Επώνυμο o Όνομα o Όνομα Πατέρα o Αριθμός Ταυτότητας o Τηλέφωνο Διεύθυνση o Οδός o Αριθμός o Ταχυδρομικός Κώδικας (Τ.Κ.) o Πόλη Στοιχεία Προστατευόμενων Μελών 100

102 o Αύξοντας Αριθμός o Αριθμός Φορολογικού Μητρώου (Α.Φ.Μ.) o Επώνυμο o Όνομα o Πατρώνυμο o Σχέση με τον Υπόχρεο (σύζυγος ή τέκνο) Στοιχεία Ακινήτων o Αύξοντας Αριθμός o Αριθμός Οικοδομικού Τετραγώνου (συμπληρώνεται όταν δεν είναι γνωστοί οι δρόμοι του οικοδομικού τετραγώνου) o Κατηγορία Ακινήτου (1: Κατοικία ή Διαμέρισμα, 2: Μονοκατοικία, 3: Επαγγελματική στέγη, 4: Οικόπεδο, 5: Γεωργικά, κτηνοτροφικά κτίρια, αποθήκες, 6: Θέσεις σταύθμευσης, 7: Σταθμοί αυτοκινήτων δημόσιας χρήσης, 8: Βιομηχανικά, βιοτεχνικά κτίρια, 9: Τουριστικές εγκαταστάσεις, 10: Εκπαιδευτήρια, 11: Αθλητικές εγκαταστάσεις, 12: Κτίρια που δεν μπορούν να υπαχθούν στις πιο πάνω κατηγορίες, 13: Τίτλος μεταφοράς συντελεστή δόμησης) o Όροφος (συμπληρώνεται όπου έχει εφαρμογή) o Συνολική επιφάνεια κτισμάτων στο οικόπεδο (αριθμός τεραγωνικών μέτρων) o Κωδικός αριθμός ιδιοκτήτη (ανάλογα με το ποιος είναι ο ιδιοκτήτης του ακινήτου, ο κωδικός είναι είτε 1 για τον υπόχρεο, είτε ο αύξοντας αριθμός του προστατευόμενου μέλους) o Κωδικός αριθμός μεταβολής (1: Δήλωση νέου ακινήτου, 2: Μεταβολή στοιχείων ακινήτου, 3: Διαγραφή ακινήτου) Διεύθυνση Ακινήτου o Νομός o Δήμος / Διαμέρισμα ή Κοινότητα o Οδός o Αριθμός o Πρόσοψη (ΝΑΙ / ΟΧΙ) 101

103 Υπόλοιποι Δρόμοι Οικοδομικού Τετραγώνου o Οδός o Πρόσοψη (ΝΑΙ / ΟΧΙ) o Οδός o Πρόσοψη (ΝΑΙ / ΟΧΙ) o Οδός o Πρόσοψη (ΝΑΙ / ΟΧΙ) Κτίσμα o Επιφάνεια κύριων χώρων (αριθμός τεραγωνικών μέτρων) o Επιφάνεια βοηθητικών χώρων (αριθμός τεραγωνικών μέτρων) o Έτος κατασκευής o Είδος εμπράγματου δικαιώματος (1: Πλήρης κυριότητα, 2: Ψιλή κυριότητα, 3:Επικαρπία ή οίκηση) o Ποσοστό συνιδιοκτησίας o Έτος γέννησης επικαρπωτή Οικόπεδο o Επιφάνεια (αριθμός τεραγωνικών μέτρων) o Είδος εμπράγματου δικαιώματος (1: Πλήρης κυριότητα, 2: Ψιλή κυριότητα, 3:Επικαρπία ή οίκηση) o Ποσοστό συνιδιοκτησίας o Έτος γέννησης επικαρπωτή XML Schema και XML Instance Για την αναπαράσταση του μοντέλου δεδομένων της εφαρμογής, δημιουργήθηκε ένα XML Schema ως έγγραφο επικύρωσης του XML αρχείου εισοδήματος, με όνομα ktimatologio.xsd, το οποίο παρουσιάζει αρκετά κοινά σημεία με το taxreturn.xsd, όπως παρουσιάζεται στον Πίνακα 8. Οι διαφορές στα στοιχεία των δύο XML Schema είναι ότι από το ktimatologio.xsd λείπουν τα στοιχεία generaldata, income, expense και taxes, καθώς γίνεται αντιληπτό ότι η λειτουργικότητα της εφαρμογής δεν σχετίζεται με τα στοιχεία εισοδήματος του φορολογούμενου, αλλά μόνο με τα στοιχεία των ακινήτων του. Το έγγραφο ktimatologio.xsd παρατίθεται στο Παράρτημα της εργασίας. Αντίστοιχα, το XML έγγραφο έχει ως στοιχείο ρίζα το ktimatologio, το οποίο έχει στοιχεία - παιδιά (children-elements) τα personaldata και listestates. 102

104 Η δενδρική δομή του XML εγγράφου με όλα τα στοιχεία του παρουσιάζεται στο Σχήμα 4.3, ενώ ένα παράδειγμα XML εγγράφου της εφαρμογής παρατίθεται στο Παράρτημα της εργασίας. 103

105 Πίνακας 8. Στοιχεία ktimatologio.xsd και αντιστοιχία με το μοντέλο δεδομένων Σύνθετο Στοιχείο Απλό Στοιχείο Τύπος Στοιχείου Περιορισμός Στοιχείο Μοντέλου Δεδομένων ktimatologio personaldata address listchildren_data children_data listestates estate Προσωπικά Στοιχεία afm string Μήκος χαρακτήρων = 9 ΑΦΜ last_name string Επώνυμο first_name string Όνομα father_name string Όνομα πατέρα id string Αριθμός ταυτότητας phone_number string Μήκος χαρακτήρων = 10 Τηλέφωνο Διεύθυνση street string Οδός number integer Αριθμός tk string Μήκος χαρακτήρων = 5 ΤΚ city string Πόλη Στοιχεία Προστατευόμενων Μελών cw_aa integer Ελάχιστη τιμή = 2 Αύξοντας αριθμός cw_afm string Μήκος χαρακτήρων = 9 ΑΦΜ cw_first_name string Όνομα cw_father_name string Πατρώνυμο relation string Τιμές: 1 ή 2 Σχέση με τον υπόχρεο Στοιχεία ακινήτων cd integer Αύξοντας αριθμός nomos string Νομός dimos string Δήμος 104

106 Σύνθετο Στοιχείο Απλό Στοιχείο Τύπος Στοιχείου Περιορισμός Στοιχείο Μοντέλου Δεδομένων street_desc string Οδός street_number integer Αριθμός front integer Πρόσοψη street_desc2 string Οδός front2 integer Πρόσοψη street_desc3 string Οδός front3 integer Πρόσοψη street_desc4 string Οδός front4 integer Πρόσοψη ot string Αριθμός οικοδομικού τετραγώνου category integer Τιμές: από 1 έως 13 Κατηγορία ακινήτου floor string Όροφος main_mm decimal Επιφάνεια κύριων χώρων help_mm decimal Επιφάνεια βοηθητικών χώρων year_of_construction integer Τιμές: από 1800 έως 2007 Έτος κατασκευής type_of_own integer Είδος εμπράγματου δικαιώματος percentage decimal Ποσοστό συνιδιοκτησίας year_of_birth_epik integer Τιμές: από 1879 έως 2006 Έτος γέννησης επικαρπωτή oik_mm decimal Επιφάνεια type_of_own_oik integer Τιμές: από 0 έως 3 Είδος εμπράγματου δικαιώματος percentage_oik decimal Τιμές: από 0 έως 100 Ποσοστό συνιδιοκτησίας year_of_birth_oik string Τιμές: από 1879 έως 2006 Έτος γέννησης επικαρπωτή total_oik decimal Συνολική επιφάνεια κτισμάτων στο οικόπεδο owner_code integer Ελάχιστη τιμή: 1 Κωδικός αριθμός ιδιοκτήτη change_code integer Τιμές: από 1 έως 3 Κωδικός μεταβολής 105

107 Σχήμα 4.3 Δομή XML εγγράφου της εφαρμογής εμφάνισης στοιχείων ακινήτων 106

108 4.1.4 Μετασχηματισμοί XSL Η δημιουργία των XML αρχείων εισοδήματος και ακινήτων χρησιμοποιεί ως αρχικό XML έγγραφο, εκείνο που παράγεται από την εφαρμογή υποβολής φορολογικής δήλωσης (έστω taxreturn.xml) και δύο XSLT φύλλα στυλ, ένα για τη δημιουργία του αρχείου εισοδήματος και ένα για τη δημιουργία του αρχείου ακινήτων. Επίσης η δημιουργία του εκκαθαριστικού σημειώματος, το οποίο όπως προαναφέρθηκε είναι ένα έγγραφο PDF, χρησιμοποιεί ως αρχικό XML έγγραφο το XML αρχείο εισοδήματος (έστω tax.xsd) και ένα XSL-FO έγγραφο με το οποίο γίνεται ο μετασχηματισμός Μετασχηματισμός Αρχείου Φορολογούμενου σε Αρχείο Εισοδήματος Η δημιουργία του XML αρχείου εισοδήματος, όπως προαναφέρθηκε, χρησιμοποιεί το XML έγγραφο της εφαρμογής υποβολής φορολογικής δήλωσης και ένα XSLT φύλλο στυλ, το οποίο πραγματοποιεί το μετασχηματισμό του αρχικού εγγράφου. Το XSLT φύλλο στυλ με όνομα a_to_b_2008.xsl ακολουθεί τη δομή και σύνταξη της XML και τα τμήματα από τα οποία αποτελείται θα αναλυθούν στη συνέχεια. Όπως αναλύθηκε στην παράγραφο , το στοιχείο-ρίζα του XSLT φύλλου στυλ ορίζεται με τη δήλωση <xsl:stylesheet> που ορίζει το xsl namespace, καθώς και την έκδοση XSLT. Επίσης, μπορεί να δηλωθεί η γλώσσα στην οποία θα μετασχηματιστεί το αρχικό έγγραφο (output method), η οποία σε αυτήν την περίπτωση είναι η XML. Έτσι, το a_to_b_2008.xsd ξεκινά με τις ακόλουθες δηλώσεις: <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" <output method="xml"/> Στη συνέχεια, ακολουθεί ο πρώτος κανόνας προτύπου με τη δήλωση <xsl: template>, ο ορισμός του χαρακτηριστικού match (match= /, που σημαίνει ότι από στο στοιχείο ρίζα του αρχικού εγγράφου θα γίνει η επεξεργασία σύμφωνα με τον πρώτο κανόνα) και η προσθήκη ενός νέου κόμβου που είναι το tax για το νέο XML έγγραφο που θα προκύψει μετά το μετασχηματισμό: <xsl:template match="/"> <tax xmlns:xsi=" xsi:nonamespaceschemalocation="tax.xsd"> 107

109 Ακολούθως, δηλώνεται το στοιχείο <xsl:choose>, το οποίο, σε συνδυασμό με τα στοιχεία <xsl: when test= > που ακολουθούν, χρησιμοποιείται για τη δήλωση πολλαπλών ελέγχων κάποιων συνθηκών. Οι συνθήκες δηλώνονται ως τιμή στο χαρακτηριστικό test. <xsl:choose> <xsl:when test="(taxreturns/income/wage + taxreturns/income/house_rent * taxreturns/expense/services * taxreturns/expense/rent) <= 12000"> <tax_resp><xsl:value-of select=" - taxreturns/taxes/wage_kept"/></tax_resp> Σύμφωνα με τις παραπάνω δηλώσεις, η συνθήκη που ελέγχεται είναι εάν το φορολογητέο εισόδημα (που υπολογίζεται από τη σχέση [1]) είναι μικρότερο ή ίσο του Ο μαθηματικός τύπος χρησιμοποιεί τα στοιχεία του αρχικού XML εγγράφου, με καθορισμό του μονοπατιού (path) ξεκινώντας από το στοιχείο-ρίζα. Αμέσως μετά τη συνθήκη, εισάγεται το νέο στοιχείο tax_resp, το οποίο ορίζεται ίσο με wage_kept, σύμφωνα με τη σχέση [2], εφόσον το φορολογητέο εισόδημα είναι μικρότερο ή ίσο των Για την εισαγωγή του στοιχείου χαρακτηρισμού του αποτελέσματος εκκαθάρισης (<char>), δηλώνονται ένα ακόμη στοιχείο <xsl:choose>, φωλιασμένο μέσα στο πρώτο και ακολουθούν έλεγχοι δύο συνθηκών σε ό,τι αφορά το πρόσημο του wage_kept, προκειμένου να καθοριστεί εάν το στοιχείο char θα έχει τιμή «πιστωτικό» ή «μηδενικό υπόλοιπο»: <xsl:choose> <xsl:when test=" - taxreturns/taxes/wage_kept < 0"> <char>πιστωτικο</char> </xsl:when> <xsl:when test=" - taxreturns/taxes/wage_kept = 0"> <char>μηδενικο ΥΠΟΛΟΙΠΟ</char> </xsl:when> </xsl:choose> Ακολουθεί το κλείσιμο της συνθήκης ελέγχου του φορολογητέου εισοδήματος, με τη δήλωση </xsl:when>, και παρόμοια με όσα περιγράφηκαν έως τώρα εισάγονται οι έλεγχοι νέων συνθηκών, τόσο για το φορολογητέο εισόδημα όσο και για το πρόσημο του υπολογιζόμενου φόρου. Με τον τρόπο αυτόν, το στοιχείο tax_resp υπολογίζεται, ανάλογα με την τιμή του φορολογητέου εισοδήματος, με κάποια από τις σχέσεις [2] έως [5] του Πίνακα 6, ενώ η ίδια λογική ακολουθείται και για την εύρεση της τιμής του στοιχείου char, με ελέγχους της τιμής του tax_resp. Τέλος, ο συγκεκριμένος κανόνας κλείνει με τις δηλώσεις: 108

110 <xsl:apply-templates/> </tax> </xsl:template> Οι επόμενοι κανόνες που ακολουθούν, έχουν ως στόχο την αντιγραφή των επιθυμητών στοιχείων, (generaldata, personaldata, income, expense, taxes) από το αρχικό XML αρχείο φορολογούμενου στο τελικό XML αρχείο εισοδήματος. Κάτι τέτοιο επιτυγχάνεται με την επιλογή του στοιχείου προς επεξεργασία και τη δήλωση των στοιχείων <xsl:copy-of>, και <xsl:apply-templates>. Παρακάτω παρουσιάζονται οι δηλώσεις για την αντιγραφή του κόμβου generaldata από το αρχικό στο τελικό XML έγγραφο. Αντίστοιχες δηλώσεις χρησιμοποιούνται και για την αντιγραφή των υπόλοιπων κόμβων. <xsl:template match="generaldata"> <xsl:copy-of select="."/> <xsl:apply-templates select="generaldata/*"/> </xsl:template> Τέλος, η δήλωση <xsl:template match="listestates"/> υποδεικνύει ότι δεν πρόκειται να γίνει κάποια επεξεργασία στον κόμβο listestates, και επομένως ο συγκεκριμένος κόμβος δεν εμφανίζεται στο τελικό έγγραφο. Το φύλλο στυλ a_to_b_2008.xsl ολοκληρωμένο παρατίθεται στο Παράρτημα της εργασίας Μετασχηματισμός Αρχείου Φορολογούμενου σε Αρχείο Ακινήτων Όπως αναφέρθηκε στην παράγραφο , το μοντέλο δεδομένων της εφαρμογής εμφάνισης στοιχείων ακινήτων, αποτελεί υποσύνολο του μοντέλου δεδομένων της εφαρμογής υποβολής φορολογικής δήλωσης. Συνεπώς και το XML αρχείο ακινήτων αποτελεί υποσύνολο του XML αρχείου φορολογούμενου. Εκείνο που χρειάζεται να δηλωθεί στο αρχείο μετασχηματισμού είναι το ποιοι κόμβοι από το αρχικό έγγραφο θα πρέπει να αντιγραφούν και στο τελικό και ποιοι θα πρέπει να παραληφθούν. Ακολουθώντας επομένως τη λογική που παρουσιάστηκε στο προηγούμενο αρχείο μετασχηματισμού (a_to_b_2008.xsl), δημιουργήθηκε το φύλλο στυλ με όνομα a_to_c.xsl, το οποίο μετασχηματίζει το αρχείο φορολογούμενου σε XML αρχείο ακινήτων. Το a_to_c.xsl ξεκινάει με τον ίδιο τρόπο που ξεκινούν τα φύλλα στυλ, με τη δήλωση δηλαδή του στοιχείου-ρίζας, όπως περιγράφηκε και στην προηγούμενη παράγραφο: 109

111 <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:output method="xml"/> Στη συνέχεια δηλώνεται ο πρώτος κανόνας, καθώς και το νέο στοιχείο που θα προστεθεί στο τελικό έγγραφο που είναι το <ktimatologio>: <xsl:template match="/"> <ktimatologio xmlns:xsi=" xsi:nonamespaceschemalocation="ktimatologio.xsd"> <xsl:apply-templates/> </ktimatologio> </xsl:template> Ακολουθούν δύο κανόνες, ο οποίοι δηλώνουν την αντιγραφή των στοιχείων personaldata και listestates και όλων των υποστοιχείων αυτών, από το αρχικό αρχείο φορολογούμενου, στο τελικό XML αρχείο ακινήτων: <xsl:template match="personaldata"> <xsl:copy-of select="."/> <xsl:apply-templates select="personaldata/*"/> </xsl:template> <xsl:template match="listestates"> <xsl:copy-of select="."/> <xsl:apply-templates select="listestates/*"/> </xsl:template> Οι τελικές δηλώσεις υποδεικνύουν να μη γίνει επεξεργασία στα στοιχεία generaldata, income, expense, taxes τα οποία και δεν είναι επιθυμητό να υπάρχουν στο τελικό XML αρχείο. <xsl:template match="generaldata"/> <xsl:template match="income"/> <xsl:template match="expense"/> <xsl:template match="taxes"/> Το φύλλο στυλ τελειώνει με το κλείσιμο του στοιχείου ρίζας <xsl:stylesheet> με τη δήλωση </xsl:stylesheet>. Το αρχείο a_to_c.xsl παρατίθεται στο Παράρτημα της εργασίας Μετασχηματισμός Αρχείου Εισοδήματος σε Αρχείο PDF Ο τελευταίος μετασχηματισμός που πραγματοποιείται από την εφαρμογή εμφάνισης στοιχείων εισοδήματος, αφορά στο μετασχηματισμό του XML αρχείου εισοδήματος σε αρχείο PDF, με στόχο τη δημιουργία του εκκαθαριστικού σημειώματος. Ο συγκεκριμένος μετασχηματισμός πραγματοποιείται με τη χρήση της γλώσσας XSL FO. 110

112 Η δημιουργία του εκκαθαριστικού σημειώματος στηρίζεται σε ένα αρχείο μετασχηματισμού με όνομα EkkatharistikoToFo.xsl. Όπως πραγματοποιήθηκε και στις δύο προηγούμενες παραγράφους, θα αναλυθούν τα σημαντικότερα κομμάτια του αρχείου μετασχηματισμού. Το συγκεκριμένο XSL FO έγγραφο ξεκινάει, κατά τα γνωστά με τη δήλωση xml, και τη δήλωση του στοιχείου <xsl:stylesheet>, ως ακολούθως: <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" xmlns:fo=" Στη συνέχεια, δηλώνεται ο πρώτος κανόνας, με το χαρακτηριστικό match να παίρνει την τιμή tax, δηλαδή ο κανόνας θα εφαρμοστεί στο συγκεκριμένο πεδίο του XML εγγράφου. Ακολουθεί η δήλωση των στοιχείων <fo:root> το οποίο αποτελεί το στοιχείο-ρίζα ενός XML FO εγγράφου, <fo:layout-master-set>, που χρησιμοποιείται για τον ορισμό ενός ή περισσότερων κανόνων προτύπων για όλες τις σελίδες του τελικού εγγράφου και <fo:simple-page-master>, εντός του οποίου δηλώνεται ένας κανόνας για μία σελίδα. Ο συγκεκριμένος κανόνας καθορίζει το ύψος και πλάτος της σελίδας, καθώς και τα περιθώρια αυτής: <xsl:template match="tax"> <fo:root xmlns:fo=" <fo:layout-master-set> <fo:simple-page-master master-name="simplea4" page-height="29.7cm" page-width="21cm" margin-top="2cm" margin-bottom="2cm" margin-left="2cm" margin-right="2cm"> <fo:region-body/> </fo:simple-page-master> </fo:layout-master-set> Η περιγραφή του περιεχομένου της σελίδας γίνεται με τη δήλωση ενός ή περισσότερων στοιχείων <fo: page sequence>, το οποίο ακολουθείται από τα <fo:flow> <fo:block>. Έτσι, ο καθορισμός τόσο του περιεχομένου όσο και του τρόπου παρουσίασης (τύπος, μέγεθος, χρώμα γραμματοσειράς κλπ.) των πρώτων γραμμών του PDF εγγράφου γίνεται με τις παρακάτω δηλώσεις: <fo:page-sequence master-reference="simplea4"> <fo:flow flow-name="xsl-region-body"> <fo:block font-family="symbol" font-size="12pt" fontweight="bold" space-after="2mm">υπουργειο ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΟΙΚΟΝΟΜΙΚΩΝ </fo:block> 111

113 <fo:block font-family="symbol" font-size="12pt" fontweight="bold" space-after="25mm">γενικη ΓΡΑΜΜΑΤΕΙΑ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ </fo:block> <fo:block font-family="symbol" font-size="12pt" fontweight="bold" background-color="blue" color="white" textalign="center" space-after="35mm">εκκαθαριστικο ΣΗΜΕΙΩΜΑ ΦΟΡΟΥ ΕΙΣΟΔΗΜΑΤΟΣ ΦΥΣΙΚΩΝ ΠΡΟΣΩΠΩΝ </fo:block> <fo:block font-family="symbol" font-size="12pt" fontweight="bold" space-after="15mm">στοιχεια ΦΟΡΟΛΟΓΟΥΜΕΝΟΥ </fo:block> Οι επόμενες γραμμές του PDF εγγράφου είναι επιθυμητό να εμφανίζονται σε διάταξη πίνακα στο έγγραφο, κάτι το οποίο επιτυγχάνεται με τη δήλωση των στοιχείων <fo:table>, δύο φορές. Στην πρώτη δηλώνεται ότι το στοιχείο στο οποίο θα εφαρμοστεί ο κανόνας θα είναι το personaldata, ενώ στη δεύτερη δηλώνεται το στοιχείο address. Ακολουθεί μόνο η πρώτη από τις δύο δηλώσεις: <fo:block font-family="symbol" font-size="12pt"> <fo:table table-layout="fixed" width="100%" bordercollapse="separate"> <fo:table-column column-width="4cm"/> <fo:table-column column-width="4cm"/> <fo:table-body> <xsl:apply-templates select="personaldata"/> </fo:table-body> </fo:table> </fo:block> Το επόμενο κομμάτι του εγγράφου που αξίζει να αναφερθεί είναι εκείνο στο οποίο εισάγεται ένας ακόμη πίνακας με τη δήλωση του στοιχείου <fo:table> στον οποίο θα εισαχθούν οι τιμές των στοιχείων char και tax_resp του αρχείου εισοδήματος. Ο πίνακας ορίζεται να έχει τρεις στήλες, ακολουθεί έλεγχος της τιμής του στοιχείου char, οπότε ανάλογα με την τιμή (χρεωστικό, πιστωτικό, μηδενικό υπόλοιπο) το περιεχόμενο των κελιών του πίνακα θα έχει διαφορετικό χρώμα, και τέλος δηλώνεται το ίδιο το περιεχόμενο των κελιών με τη δήλωση των στοιχείων <fo:table-cell>. Με τη δήλωση <xsl:value-of select=" "/> επιλέγεται η τιμή κάποιου από τα στοιχεία του XML εγγράφου. <fo:block font-family="symbol" font-size="12pt"> <fo:table table-layout="fixed" width="100%" bordercollapse="separate"> <fo:table-column column-width="4cm"/> <fo:table-column column-width="2cm"/> <fo:table-column column-width="2cm"/> <fo:table-body> <fo:table-row> <xsl:if test="char = 'ΧΡΕΩΣΤΙΚΟ'"> 112

114 </fo:table-row> </fo:table-body> </fo:table> </fo:block> <xsl:attribute name="color">red</xsl:attribute> </xsl:if> <xsl:if test="char = 'ΠΙΣΤΩΤΙΚΟ'"> <xsl:attribute name="color">green</xsl:attribute> </xsl:if> <xsl:if test="char = 'ΜΗΔΕΝΙΚΟ ΥΠΟΛΟΙΠΟ'"> <xsl:attribute name="color">blue</xsl:attribute> </xsl:if> <fo:table-cell> <fo:block> <xsl:value-of select="char"/> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> <xsl:value-of select="tax_resp"/> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> ΕΥΡΩ </fo:block> </fo:table-cell> Με παρόμοιο τρόπο καθορίζεται και το περιεχόμενο των κελιών των προηγούμενων πινάκων, εκείνων δηλαδή που θα πάρουν δεδομένα από τα στοιχεία personaldata και address. Το αρχείο μετασχηματισμού ολοκληρωμένο παρατίθεται στο Παράρτημα της εργασίας. 4.2 Περιβάλλον Ανάπτυξης Η ανάπτυξη των εφαρμογών πραγματοποιήθηκε σε λειτουργικό σύστημα MS Windows Vista Home Premium. Επίσης χρησιμοποιήθηκε το εργαλείο ανάπτυξης Oracle JDeveloper με πλατφόρμα Java Platform 1.5.0_ Συμπληρωματικές Τεχνολογίες που Χρησιμοποιήθηκαν Η εργασία με XML μέσα από Java εφαρμογές δεν υποστηρίζεται από τις βασικές κλάσεις, μεθόδους και ιδιότητες της Java. Για το λόγο αυτό, υπάρχουν αρκετά εργαλεία και βιβλιοθήκες προκειμένου να βοηθήσουν την ανάπτυξη Java-XML εφαρμογών με αποτελεσματικό τρόπο. Στο πλαίσιο της παρούσας εργασίας χρησιμοποιήθηκαν 113

115 εργαλεία Apache τα οποία παρέχουν κλάσεις υλοποίησης πολλών από τις προδιαγραφές του W3C, όπως είναι οι DOM και XSLT Apache Xerces Όπως αναφέρθηκε στην παράγραφο 2.2.7, ένα XML έγγραφο υπόκειται σε επεξεργασία από κάποιον parser, προκειμένου να χρησιμοποιηθεί από μία εφαρμογή. Ο Apache Xerces αποτελεί ένα σύνολο από open source κλάσεις Java, ιδιότητες και μεθόδους που υλοποιούν την επεξεργασία των XML εγγράφων, τόσο με DOM όσο και με SAX, υποστηρίζοντας παράλληλα και την επικύρωση των XML εγγράφων Apache Xalan Οι μετασχηματισμοί του XML αρχείου φορολογούμενου σε XML αρχεία εισοδήματος και ακινήτων που περιγράφηκαν παραπάνω, υλοποιούνται μέσα από την εφαρμογή με χρήση του επεξεργαστή Apache Xalan, ο οποίος χρησιμοποιείται για το μετασχηματισμό XML εγγράφων σε HTML, κείμενο ή άλλα XML έγγραφα. Για το σκοπό αυτό, περιέχει open source Java κλάσεις υλοποίησης των Συστάσεων W3C XSL Transformations (XSLT) Version 1.0 και XML Path Language (XPath) Version 1.0. Ο Xalan μπορεί να δεχτεί ως είσοδο (input) ένα Stream, ένα Sax InputStream ή έναν κόμβο Dom (Dom Node), εκτελεί τους μετασχηματισμούς που καθορίζονται από το XSL φύλλο στυλ και παράγει ως έξοδο επίσης κάποιο Stream, γεγονότα SAX (Sax events) ή ένα δένδρο DOM (Dom Node tree). Η έξοδος αυτή μπορεί να προωθηθεί και ως είσοδος για κάποιον άλλον μετασχηματισμό. Η χρησιμοποίηση του Xalan έγινε με download συγκεκριμένων αρχείων jar που περιέχουν τις κλάσεις υλοποίησης των μετασχηματισμών, και τα οποία προστέθηκαν στο class path της εφαρμογής. Η έκδοση του Xalan που χρησιμοποιήθηκε είναι η Xalan-Java Version Apache FOP Για την υλοποίηση του μετασχηματισμού του XML αρχείου εισοδήματος σε έγγραφο PDF, χρησιμοποιήθηκε ο Apache FOP (Formatting Object Processor) Version 0.95, ο οποίος είναι ένας μορφοποιητής εκτύπωσης (print formatter) για τα αντικείμενα XSL FO. Ο Apache FOP αποτελεί μία Java εφαρμογή και παρέχει μία open source βιβλιοθήκη που καθιστά δυνατή τη μετατροπή ενός εγγράφου XSL-FO στην επιθυμητή μορφή. Η εφαρμογή διαβάζει ένα FO δένδρο και μετατρέπει τις σελίδες στην προκαθορισμένη μορφή, η οποία εκτός από PDF που είναι η κύρια μορφή εξόδου, 114

116 μπορεί να είναι ακόμη PS, PCL, AFP, AWT, PNG, και σε μικρότερο βαθμό RTF και TXT jpdfprint Για την εκτύπωση των PDF εγγράφων άμεσα από την εφαρμογή εμφάνισης στοιχείων εισοδήματος, χρησιμοποιήθηκε η βιβλιοθήκη Java PDF Print Library, η οποία είναι χτισμένη επάνω στην pdf τεχνολογία της Qoppa Software και έχει τη δυνατότητα να φορώνει και να εκτυπώνει PDF έγγραφα. Για την χρήση των κατάλληλων κλάσεων μέσα από την εφαρμογή πραγματοποιήθηκε εγκατάσταση της jpdfprint Library Version 2.20 και προστέθηκε το αρχείο jpdfprint.jar στο class path της εφαρμογής. 115

117 ΚΕΦΑΛΑΙΟ 5. ΣΕΝΑΡΙΑ ΕΚΤΕΛΕΣΗΣ ΕΦΑΡΜΟΓΩΝ 5.1 Εφαρμογή Υποβολής Φορολογικής Δήλωσης Όπως αναφέρθηκε στο Κεφάλαιο 4, σκοπός της εφαρμογής υποβολής φορολογικής δήλωσης είναι η παροχή της δυνατότητας στους χρήστες να υποβάλλουν ηλεκτρονικά τα προσωπικά τους στοιχεία, καθώς και τα στοιχεία εισοδήματος και ακινήτων. Για το σκοπό αυτό, η εφαρμογή αποτελείται από τρεις καρτέλες (tabs) που έχουν ως τίτλους τις κατηγορίες πληροφοριών για ένα φορολογούμενο πολίτη, όπως αυτές περιγράφηκαν αναλυτικά στην παράγραφο : Στοιχεία Φορολογούμενου Στοιχεία Εισοδήματος Στοιχεία Ακινήτων Εισαγωγή Στοιχείων Φορολογούμενου Ο χρήστης μεταβαίνοντας στην πρώτη καρτέλα (Σχήμα 5.1) μπορεί να επιλέξει μέσω αναδυόμενης λίστας το έτος για το οποίο υποβάλλει τη φορολογική του δήλωση, ενώ η ως ημερομηνία υποβολής ορίζεται η τρέχουσα ημερομηνία αυτόματα από την εφαρμογή. Ακολούθως, ο χρήστης συμπληρώνει τα προσωπικά του στοιχεία (ΑΦΜ, επώνυμο, όνομα κλπ.), στα οποία περιλαμβάνονται και τα στοιχεία προστατευόμενων, δηλαδή συζύγου και τέκνων. Η προσθήκη αυτών των στοιχείων γίνεται με το πάτημα του πλήκτρου Προσθήκη που βρίσκεται δίπλα από την περιοχή «Στοιχεία Προστατευόμενων Μελών», οπότε ο χρήστης οδηγείται σε μία νέα φόρμα (Σχήμα 5.2), μέσω της οποίας εισάγει τον αύξοντα αριθμό, το ΑΦΜ, το επώνυμο, όνομα, πατρώνυμο του προστατευόμενου μέλους, καθώς και τη σχέση με τον ίδιο (δηλαδή αν πρόκειται για σύζυγο ή για τέκνο). 116

118 Σχήμα 5.1 Υποβολή Φορολογικής Δήλωσης: Στοιχεία Φορολογούμενου 117

119 Σχήμα 5.2 Εισαγωγή Στοιχείων Προστατευόμενων Μελών Θα πρέπει να αναφερθεί ότι τα παραπάνω πεδία της φόρμας δεν μπορούν να είναι κενά, ενώ γίνονται επιπρόσθετοι έλεγχοι από την εφαρμογή για τον αύξοντα αριθμό και το ΑΦΜ, προκειμένου να διασφαλιστεί ότι τα πεδία αυτά δεν συμπληρώνονται με λανθασμένο τρόπο. Για παράδειγμα, ο αύξοντας αριθμός, επειδή χρησιμοποιείται και αργότερα για να δηλώσει τον ιδιοκτήτη ακινήτου, θα πρέπει να είναι ακέραιος αριθμός μεγαλύτερος ή ίσος του 2 (το 1 καταχωρείται για τον υπόχρεο), αλλά και μοναδικός για κάθε προστατευόμενο. Επομένως, στην περίπτωση που ο χρήστης εισάγει δεύτερο προστατευόμενο μέλος με αύξοντα αριθμό που έχει ήδη δηλωθεί, θα λάβει το μήνυμα του Σχήματος 5.3. Σχήμα 5.3 Μήνυμα προς το χρήστη 118

120 Με την υποβολή των στοιχείων προστατευόμενων, ο χρήστης μπορεί να βλέπει μέρος αυτών των στοιχείων στη λίστα της περιοχής «Στοιχεία Προστατευόμενων» (Σχήμα 5.4), ενώ με την επιλογή ενός μέλους από τη λίστα, δίνονται οι δυνατότητες εμφάνισης και ενημέρωσης των στοιχείων του ή και διαγραφή του μέλους από τη λίστα, με το πάτημα των πλήκτρων Ενημέρωση και Διαγραφή αντίστοιχα. Σχήμα 5.4 Λίστα με τα Στοιχεία Προστατευόμενων Μελών Εισαγωγή Στοιχείων Εισοδήματος Στη συνέχεια, ο χρήστης μπορεί να μεταβεί στη δεύτερη καρτέλα, από όπου μπορεί να συμπληρώσει τα στοιχεία εισοδήματος, τα οποία, όπως παρουσιάζεται και στο Σχήμα 5.5, χωρίζονται σε τρεις υποκατηγορίες: Φορολογούμενα εισοδήματα, Ποσά δαπανών που αφαιρούνται από το συνολικό εισόδημα ή από το φόρο και Προκαταβληθέντες παρακρατηθέντες φόροι. Τα συγκεκριμένα στοιχεία χρησιμοποιούνται για τον υπολογισμό του αποτελέσματος εκκαθάρισης, για το λόγο αυτό η εφαρμογή πραγματοποιεί ελέγχους και εμφανίζει κατάλληλα μηνύματα στο χρήστη, καθοδηγώντας τον για τη σωστή εισαγωγή. Ένα παράδειγμα τέτοιου μηνύματος παρουσιάζεται στο Σχήμα

121 Σχήμα 5.5 Υποβολή Φορολογικής Δήλωσης: Στοιχεία Εισοδήματος Σχήμα 5.6 Μήνυμα προς το χρήστη 120

122 5.1.3 Εισαγωγή Στοιχείων Ακινήτων Ο χρήστης ακολούθως μπορεί να μεταβεί στην τρίτη καρτέλα της εφαρμογής για να εισάγει τα ακίνητα που κατέχει εκείνος ή κάποιο από τα προστατευόμενα μέλη. Όπως παρουσιάζεται και στο Σχήμα 5.7, η τρίτη καρτέλα περιλαμβάνει μία λίστα παρόμοια με εκείνη της πρώτης καρτέλας για τα προστατευόμενα μέλη, στην οποία υπάρχει δυνατότητα προσθήκης ακινήτων που μπορεί να είναι οικόπεδα (εντός σχεδίου ή οικισμού) ή κτίσματα (εντός και εκτός σχεδίου). Σχήμα 5.7 Υποβολή Φορολογικής Δήλωσης: Στοιχεία Ακινήτων Με το πάτημα του πλήκτρου Προσθήκη, ο χρήστης μεταβαίνει στη φόρμα μέσω της οποίας μπορεί να συμπληρώσει τα αναλυτικά τα στοιχεία των ακινήτων, όπως φαίνεται στο Σχήμα 5.8. Στη συγκεκριμένη φόρμα ο χρήστης εισάγει πληροφορίες για τη διεύθυνση του ακινήτου (νομός, δήμος, οδός αριθμός, υπόλοιποι δρόμοι οικοδομικού τετραγώνου κλπ.), ορίζει την κατηγορία του ακινήτου (μονοκατοικία, επαγγελματική στέγη, οικόπεδο κλπ.) επιλέγοντας από αναδυόμενη λίστα, καθώς και επιπρόσθετα στοιχεία ανάλογα με το αν το ακίνητο είναι κτίσμα ή οικόπεδο. Το πλήκτρο ΟΚ οδηγεί στην προσθήκη του ακινήτου στη λίστα της τρίτης καρτέλας, ενώ το πλήκτρο Ακύρωση κλείνει τη φόρμα δίχως να πραγματοποιήσει προσθήκη ακινήτου. 121

123 Σχήμα 5.8 Στοιχεία Οικοπέδων και Κτισμάτων 122

124 Με την υποβολή των στοιχείων των ακινήτων, ο χρήστης μπορεί να βλέπει μέρος αυτών των στοιχείων στη λίστα της τρίτης καρτέλας (Σχήμα 5.9), ενώ με την επιλογή ενός ακινήτου από τη λίστα, δίνονται οι δυνατότητες εμφάνισης και ενημέρωσης των στοιχείων του ή και διαγραφή του ακινήτου από τη λίστα, με το πάτημα των πλήκτρων Ενημέρωση και Διαγραφή αντίστοιχα. Σχήμα 5.9 Λίστα με τα Στοιχεία Ακινήτων Δημιουργία XML Αρχείων Ο χρήστης αφού εισάγει όλες τις πληροφορίες που αφορούν στα προσωπικά του στοιχεία και τα στοιχεία εισοδήματος και ακινήτων του, έχει τη δυνατότητα να μεταβεί ξανά στην πρώτη καρτέλα και να πατήσει το πλήκτρο Δημιουργία XML Αρχείου Φορολογούμενου. Στην περίπτωση αυτή θα δημιουργηθεί ένα αρχείο XML που θα περιέχει όλα τα υποβληθέντα στοιχεία από το φορολογούμενο, και θα ακολουθεί τη δομή που περιγράφηκε στο Κεφάλαιο 4. Το συγκεκριμένο αρχείο στη συνέχεια μπορεί μετασχηματιστεί σε δύο διαφορετικά XML αρχεία που θα χρησιμοποιούνται από δύο διαφορετικές εφαρμογές. Πιο συγκεκριμένα, οι δυνατότητες μετασχηματισμού που της εφαρμογής υποβολής φορολογικών δηλώσεων, παρέχονται μέσα από δύο πλήκτρα: Δημιουργία XML Αρχείου Εισοδήματος (που βρίσκεται στη δεύτερη καρτέλα της εφαρμογής) Δημιουργία XML Αρχείου Ακινήτων (που βρίσκεται στην Τρίτη καρτέλα της εφαρμογής) Το πάτημα του πλήκτρου Δημιουργία XML Αρχείου Εισοδήματος οδηγεί στο άνοιγμα μίας φόρμας (Σχήμα 5.10), μέσω της οποίας ο χρήστης μπορεί να επιλέξει το 123

125 αρχείου μετασχηματισμού (.xsl) το αρχείο φορολογούμενου (input file) και να δώσει το όνομα και το σημείο αποθήκευσης του αρχείου εισοδήματος που θα είναι το αποτέλεσμα του μετασχηματισμού (output file). Η επιλογή των αρχείων γίνεται μέσα από το άνοιγμα μίας φόρμας αναζήτησης και επιλογής αρχείων από το σύστημα αρχείων του δίσκου (Σχήμα 5.11). Με το πάτημα του πλήκτρου Μετασχηματισμός, παράγεται το αρχείο εισοδήματος, ενώ το πλήκτρο Ακύρωση κλείνει τη φόρμα δίχως να πραγματοποιήσει δημιουργία του αρχείου. Αντίστοιχο είναι και το σενάριο δημιουργίας XML αρχείου ακινήτων που μπορεί να πραγματοποιηθεί από την τρίτη καρτέλα της εφαρμογής με το πάτημα του κατάλληλου πλήκτρου. Σχήμα 5.10 Δημιουργία Αρχείου Εισοδήματος 124

126 Σχήμα 5.11 Επιλογή Αρχείου Φορολογούμενου Ανάκτηση XML Αρχείου Εισοδήματος Τέλος, ο χρήστης έχει τη δυνατότητα ανάκτησης όλων των πληροφοριών που υπέβαλε (XML Αρχείο Φορολογούμενου), από την πρώτη καρτέλα της εφαρμογής με το πλήκτρο Ανάκτηση XML Αρχείου Φορολογούμενου, ακολούθως να προβεί σε οποιεσδήποτε αλλαγές των πληροφοριών αυτών και να δημιουργήσει ένα νέο XML Αρχείο Φορολογούμενου. 125

127 5.2 Εφαρμογή Εμφάνισης Στοιχείων Εισοδήματος Η εφαρμογή εμφάνισης στοιχείων εισοδήματος επιτρέπει στο χρήστη να πληροφορείται για τα στοιχεία των φορολογούμενων και τα στοιχεία εισοδημάτων τους, δίχως να έχει τη δυνατότητα μεταβολής αυτών, ενώ παράλληλα στα στοιχεία εισοδήματος