«Τι κρύβεται» πίσω από μια Επιχειρησιακή Αναφορά (report): XML& XSD για αρχάριους Document Modelling
Στόχοι και Περιεχόμενο Στόχος Η απόκτηση γνώσεων σε θέματα μορφοποίησης και μεταφοράς (μεταξύ συστημάτων) ηλεκτρονικών εγγράφων, μέσω του συνδυασμού θεωρίας και παραδειγμάτων Περιεχόμενο XML: Τι είναι; Μια πρώτη προσέγγιση της γλώσσας XML Κατανόηση της χρήσης και του ρόλου της στην επικοινωνία των πληροφοριακών συστημάτων και στη προτυποποίηση των ηλεκτρονικών εγγράφων Δείτε αυτό το webinar μέχρι τέλους... Μετά, Ρωτήστε αυτά που θέλετε τον/την Εκπαιδευτή/τρια σας Κάνετε ένα post στο Forum! Document Modelling
Τι περιλαμβάνει η Ανάπτυξη; Εισαγωγή στις εφαρμογές Πληροφορικής ενός Δήμου και στην ανάγκη της μεταξύ τους σύνδεσης Ανάλυση των εγγράφων ενός Δήμου και η μετατροπή τους σε ηλεκτρονικά έγγραφα Αναπαράσταση των ηλεκτρονικών εγγράφων με κοινό τρόπο Εισαγωγή στη γλώσσα XML Χρήση της XML για αναπαράσταση ηλεκτρονικών εγγράφων Βασικά στοιχεία της XML Αναπαράσταση των ηλεκτρονικών εγγράφων σε φόρμες και templates Εισαγωγή στις «schema γλώσσες». Περιγραφή της XSD language Μετατροπή των εγγράφων ενός Δήμου με τη χρήση σχημάτων (XSD) σε ηλεκτρονικά έγγραφα, και προτυποποίηση Document Modelling
Ηλεκτρονικά έγγραφα, XML (eXtensible Markup Language), Προτυποποίηση εγγράφων, τύποι δεδομένων, Έγγραφα ηλεκτρονικής διακυβέρνησης, Σχήματα εγγράφων, γλώσσα περιγραφής σχημάτων XML (XML Schema Description Language -XSD) Λεξεις κλειδια Document Modelling
Μετάβαση στην ψηφιακή εποχή Πως παράγονται τα ηλεκτρονικά έγγραφα; Ποιά είναι η χρησιμότητά τους; Document Modelling
Πληροφοριακά Συστήματα σε έναν Δήμο Κάθε Δήμος διαθέτει μια σειρά από εφαρμογές Πληροφορικής Πρωτόκολλο Δημοτολόγιο Οικονομική Διαχείριση κλπ. Στις προηγούμενες (υπο)Ενότητες είδαμε «νέα» συστήματα Πληροφορικής που πρόκειται να εισαχθούν στην λειτουργία των Δήμων Συστήματα Επιχειρησιακής Νοημοσύνης Συστήματα Διαχείρισης Επιχειρησιακών Διαδικασιών Συστήματα Παρακολούθησης Επιχειρησιακών Διαδικασιών Όλα αυτές οι εφαρμογές και αυτά τα συστήματα Δημιουργούν Έγγραφα και Αναφορές (Reports) Συνεργάζονται μεταξύ τους για να ανταλλάξουν δεδομένα και αυτή η επιτυγχάνεται με την ανταλλαγή «μηνυμάτων». Τι είναι αυτά τα «μηνύματα»; Ένα σύνολο δεδομένων με συγκεκριμένη δομή Ικανά να «διαβαστούν» και να κατανοηθούν από Συστήματα Πληροφορικής, δηλαδή από μηχανές που προφανώς δεν διαθέτουν την ανθρώπινη ικανότητα ερμηνείας Document Modelling
Ηλεκτρονικά Έγγραφα (e-documents) Έγγραφα & Αναφορές (Reports) που παράγονται από εφαρμογές και συστήματα Πληροφορικής Mηνύματα επικοινωνίας ανάμεσα σε τέτοιες εφαρμογές και συστήματα ... αποτελούν ηλεκτρονικά έγγραφα Document Modelling
Η πρώτη γνωριμία με το ηλεκτρονικό έγγραφο Ας δούμε τι είναι το ηλεκτρονικό έγγραφο “An electronic document is any electronic media content (other than computer programs or system files) that are intended to be used in either an electronic form or as printed output.” Wikipedia Στα πλαίσια ενός Δήμου όλα τα ενδιάμεσα αλλά και τελικά έγγραφα που παράγουν οι υπηρεσίες του Δήμου γίνονται... ηλεκτρονικά Ένα ηλεκτρονικό έγγραφο έχει 3 βασικές συνιστώσες Τα δεδομένα που συνθέτουν το έγγραφο Την περιγραφή των δεδομένων ώστε αυτά να είναι αντιληπτά από τα πληροφοριακά συστήματα Την τελική μορφοποίηση – παρουσίαση των δεδομένων (διάταξη, μέγεθος κλπ) ώστε ένα έγγραφο να είναι κατανοητό από τον άνθρωπο που το χρησιμοποιεί Και όλα αυτά κάτω από ένα κοινό πρότυπο (standard) Document Modelling
Γιατί ένα κοινό πρότυπο; Η XML ως ένα κοινό πρότυπο δημιουργίας και περιγραφής των ηλεκτρονικών εγγράφων Η συνεχώς αυξανόμενη χρήση των ηλεκτρονικών εγγράφων απαιτεί τη χρήση ειδικών προτύπων για την αναπαράσταση με έναν κοινό τρόπο Γιατί ένα κοινό πρότυπο; Όλα τα πληροφοριακά συστήματα του δήμου και όχι μόνο, παράγουν και τροφοδοτούνται με ηλεκτρονικά έγγραφα Οι μηχανές (συστήματα) δεν καταλαβαίνουν έγγραφα με ασαφή δομή και περιεχόμενο Χρειάζονται έναν κοινό τρόπο μεταφοράς και περιγραφής των δεδομένων Το πρότυπο αυτό είναι η XML!!! Document Modelling
Παράδειγμα: Πιστοποιητικό Γέννησης Ας πάρουμε το παράδειγμα ενός πιστοποιητικού γέννησης που αποτελεί ένα έγγραφο της υπηρεσίας δημοτολογίου Τα δεδομένα είναι τα στοιχεία του ατόμου για τον οποίο εκδίδεται το πιστοποιητικό Η παρουσίαση είναι ο τρόπος που θα εμφανιστούν στο χαρτί τα δεδομένα (δηλαδή το template που έχει ο δήμος και το οποίο δεν αλλάζει) Σε ένα ηλεκτρονικό έγγραφο προσθέτουμε και την περιγραφή των δεδομένων Document Modelling
Δεδομένα και Περιγραφή των Δεδομένων Η παρουσίαση ενός ηλεκτρονικού εγγράφου αφορά μόνο την τελική χρήση αυτού που είναι ανάγνωση από τον άνθρωπο. Αυτό όμως που μας αφορά στην υπάρχουσα ενότητα είναι η δημιουργεί του. Ένα ή περισσότερα πληροφοριακά συστήματα παράγουν την απαραίτητη πληροφορία (δεδομένα) για να σχηματιστεί το έγγραφο. Για την μεταφορά και την συγκέντρωση των δεδομένων από όλα αυτά τα συστήματα απαιτείται ένα κοινό πρότυπο Πρότυπο που πρέπει να “καταλαβαίνουν” όλα τα συστήματα Πρότυπο που να περιγράφει τα δεδομένα που μεταφέρονται Πρότυπο που τελικά να περιγράφει τη δομή και την πληροφορία του τελικού ηλεκτρονικού εγγράφου Όλες οι παραπάνω λειτουργίες ενσωματώνονται στο πρότυπο που λέγεται XML Document Modelling
Εισαγωγή στην XML Βασικά στοιχεία και σύνταξη της XML Document Modelling
Τι είναι η XML (eXtensible Markup Language) Προτάθηκε σαν μια γλώσσα περιγραφής εγγράφων Εξελίσσεται όμως σε ένα παγκόσμιο πρότυπο για ανταλλαγή πληροφορίας Εφαρμογές στις βάσεις δεδομένων Και φυσικά… δεν είναι γλώσσα προγραμματισμού Ως markup γλώσσα έχει πολλές ομοιότητες με την HTML ωστόσο έχει μια σημαντική διαφορά Η HTML ασχολείται με την παρουσίαση των δεδομένων και μόνο ενώ η XML με την μεταφορά και την περιγραφή Document Modelling
Μια μικρή ιστορική αναδρομή στις Markup γλώσσες Η επέκταση του Internet δημιούργησε μια έξαρση στην ανταλλαγή δεδομένων και πληροφορίας μεταξύ των υπολογιστών και ανθρώπων. Εκεί άρχισε να δημιουργείται η ανάγκη εύρεσης ενός τρόπου παρουσίασης αυτής της πληροφορίας με τρόπο απλό κατανοητό αλλά και ταυτόχρονα «φιλικό» προς τον άνθρωπο Η χρήση απλών κειμένων χωρίς δομή (επικεφαλίδες, πίνακες, στήλες, χρώματα κλπ) απωθούσε τον άνθρωπο Επίσης η χρήση άλλων προτύπων όπως αρχεία εγγράφων ήταν αρκετά μεγάλα σε μέγεθος ώστε να μεταφερθούν με τις τότε ταχύτητες των δικτύων Η γλώσσα που προτάθηκε για να καλύψει αυτές τις ανάγκες ήταν η HTML (HyperText Markup Language) Γλώσσα Μορφοποίησης Κειμένου Document Modelling
Μια μικρή ιστορική αναδρομή στις Markup γλώσσες Η HTML δημιουργήθηκε για τις ανάγκες επικοινωνίας ανθρώπου – μηχανής Και η γέννησή της δημιούργησε τον παγκόσμιο ιστό που είναι ένας απέραντος τόπος εύρεσης και παρουσίασης πληροφορίας Ωστόσο η γιγάντωση των δικτύων υπολογιστών και ανταλλαγής πληροφοριών αντιμετώπισε ένα άλλο πρόβλημα που αφορούσε την μεταφορά αυτών των δεδομένων από μηχανή σε μηχανή Μετά από πολλές προσπάθειες δημιουργήθηκε η XML που καλύπτει τις παραπάνω ανάγκες Ουσιαστικά η XML αποτελεί μια χρονική επέκταση της HTML και αναφέρεται στην Επικοινωνία μηχανής με μηχανή Δηλαδή είναι το πρότυπο για την ανταλλαγή δεδομένων μεταξύ συστημάτων Document Modelling
Βασικά στοιχεία τηςXML (eXtensible Markup Language) (1) Element (στοιχείο) Ένα element ορίζεται από ένα tag (ετικέτα) έναρξης και ένα tag (ετικέτα) λήξης το οποίο αναπαρίσταται <tag> … </tag> Το κάθε “tag” περιγράφει και μια πληροφορία Πχ <firstname> Γιώργος </ firstname > Εδώ ορίζεται ότι το μικρό όνομα (firstname) είναι Γιώργος Attribute (χαρακτηριστικό) Ένα Attribute ορίζει μια ιδιότητα που έχει ένα element Και ορίζεται με μια τριπλέτα «όνομα=“τιμή”» Πχ <firstname language=“GR”> Γιώργος </firstname > Εδώ ορίζεται ότι η πληροφορία “Όνομα” (firstname) είναι στα ελληνικά (language=“GR”) Document Modelling
Βασικά στοιχεία τηςXML (eXtensible Markup Language) (2) Με τα δυο αυτά συστατικά μπορούμε να περιγράψουμε οποιαδήποτε πληροφορία με μια ημι-δομημένη μορφή ακολουθώντας μερικούς κανόνες Κάθε “element” μπορεί να περιέχει attributes (κανένα ή περισσότερα) Elements (κανένα ή περισσότερα) Κείμενο Η δυνατότητα φωλιασμένων elements επιτρέπει τη δημιουργία ιεραρχικών δομών για την περιγραφή των δεδομένων Πχ Μια διεύθυνση περικλείει τα στοιχεία Οδός, Αριθμός, Ταχυδρομικός κώδικας, Πόλη κλπ Δηλαδή είναι μια δομή (ή ένας τύπος) δεδομένων που αποτελείται από άλλα δεδομένα Επίσης επιτρέπει την ομαδοποίηση μιας πληροφορίας σε δομικές μονάδες Ακολουθεί ένα παράδειγμα που μας επιτρέπει να κατανοήσουμε όλα τα παραπάνω Document Modelling
Ας δούμε μια ταχυδρομική διεύθυνση από την “πλευρά” της XML… Μια τυπική ταχυδρομική διεύθυνση περιέχει Αριθμός Οδός Ταχυδρομικός κώδικας Πόλη Χώρα Ας δούμε μια διεύθυνση σε XML <Address> <Number>12</Number> <Street>Ηρώων Πολυτεχνείου </Street> <ZipCode> 12345</ZipCode> <City> Αθήνα</City> <Country> Χώρα</Country> </Address> Document Modelling
Άλλο ένα παράδειγμα με XML… Ένα μήνυμα στο ηλεκτρονικό ταχυδρομείο αποτελείται από τα εξής πεδία Αποστολέας Παραλήπτης Θέμα μηνύματος Μήνυμα Ας το δούμε σε XML <Mail> <From>sender@gmail.com</From> <To>receiver@gmail.com</To> <Subject> Ένα mail σε XML</Subject> <Body> Αυτό είναι ένα mail στέλνει ο “sender” στον “receiver” με θέμα «Ένα mail σε XML» και περιγράφεται με XML δομή</Body> </Mail> Document Modelling
Ένα πιο σύνθετο παράδειγμα με XML… Το παρακάτω παράδειγμα περιγράφει την παραγγελία ενός προϊόντος Όνομα προϊόντος και τη γλώσσα περιγραφής Η τιμή του προϊόντος και το νόμισμα Διεύθυνση αποστολής (είδος διεύθυνσης και γλώσσα γραφής) Οδός αριθμός Ταχυδρομικός κώδικας Ας το δούμε σε XML <product> <name language=“Greek”>Βιβλίο XML</name> <price currency=“Euro”> 40.12 </price> <address format=“XL1245” language=“Greek”> <street>31 Πανεπιστημίου</street> <zip>15112</zip> </address> </product> Document Modelling
Η XML δημιουργεί μια δενδρική αναπαράσταση των εγγράφων Κάθε element είναι ένας κόμβος που περιέχει «υπο» κόμβους Οι «υπο» κόμβοι είναι άλλα elements ή attributes Τα attributes δεν μπορεί να περιέχουν «υπό» κόμβους Το κάθε XML έγγραφο έχει έναν και μόνο έναν αρχικό κόμβο Το παρακάτω παράδειγμα δείχνει μια περιγραφή ενός προϊόντος που παραγγείλαμε… elements attributes product price name language currency street zip format address Document Modelling
Για ποιο λόγο όμως πρέπει να χρησιμοποιούμε XML Ουσιαστικά “προετοιμάζουμε” την πληροφορία ώστε να μπορεί να μεταφερθεί από ένα σύστημα σε ένα άλλο Δίνουμε μια δομημένη μορφή στα δεδομένα Ιεράρχηση, περιγραφή Αυτό όμως δεν είναι αρκετό… Η περιγραφή που δίνουμε είναι υποκειμενική και τα συστήματα δεν καταλαβαίνουν λέξεις Πχ το όνομα μπορεί εμείς να το περιγράψουμε με το element <name> ενώ αντίστοιχα κάποιος άλλος με το element <Firstname> Στη συνέχεια θα δούμε πως μπορούμε να δημιουργήσουμε μια κοινή “γλώσσα” περιγραφής των δεδομένων Document Modelling
XML Schema Μια “γλώσσα” περιγραφής και προτυποποίησης εγγράφων Document Modelling
Τι πετυχαίνουμε με την προτυποποίηση των εγγράφων; Όλα τα ηλεκτρονικά έγγραφα για να μπορούν να είναι κατανοητά από τα πληροφοριακά συστήματα ενός οργανισμού ή επιχείρησης θα πρέπει να υπακούουν σε κάποιους κανόνες Αυτοί οι κανόνες ορίζονται ώστε τα συστήματα να καταλαβαίνουν το “νόημα” των δεδομένων που περιέχουν Και αναφέρονται… Στη δομή της πληροφορίας Στη σειρά την οποία κατέχουν τα δεδομένα στο έγγραφο Και στη ιεράρχηση των δεδομένων Document Modelling
Γιατί προτυποποίηση; Η προτυποποίηση της δομής των εγγράφων δεν είναι ένα δημιούργημα του κόσμου της πληροφορικής Για παράδειγμα στις καθημερινές εργασίες ενός δήμου, χρησιμοποιούμε πρότυπα “templates” για τα έγγραφα που συναλλάσουμε μεταξύ μας ή με τους πολίτες Πχ οι αιτήσεις που συμπληρώνουν οι πολίτες για διάφορα θέματα έχουν συγκεκριμένο “template” Αυτές είναι προσχεδιασμένες και προεκτυπωμένες φόρμες που συμπληρώνει ο πολίτης Και φυσικά δεν περιέχουν δεδομένα Τα σχήματα των εγγράφων χρησιμοποιούνται για την ταχύτερη επεξεργασία των θεμάτων στα οποία αναφέρονται Μια αίτηση για τραπεζοκαθίσματα έχει συγκεκριμένο “template” για την εξυπηρέτηση του υπαλλήλου. Πάνω στη φόρμα ξέρει που θα βρει τα στοιχεία του αιτούντος την αιτιολογία της αίτησης κλπ Αν δεν υπήρχε αυτή η φόρμα ο υπάλληλος θα αφιέρωνε πολύ χρόνο μόνο για την ανάγνωση της αίτησης!!! Document Modelling
Η φόρμα της αίτησης τραπεζοκαθισμάτων Ο Δήμος Λαρισαίων χρησιμοποιεί αυτή τη “φόρμα” αίτησης για τα τραπεζοκαθίσματα. Τα δεδομένα συμπληρώνονται σε συγκεκριμένα πεδία: Επώνυμο Όνομα Κλπ Επίσης τα δεδομένα είναι ομαδοποιημένα ανά κατηγορία Προσωπικά στοιχεία Διεύθυνση Περιγραφή αιτήματος Αυτή η “φόρμα” βοηθά τον υπάλληλο να διεκπεραιώσει το αίτημα με σύντομο «μηχανικό» τρόπο Ξέρει που είναι τι Και ταυτόχρονα αποφεύγεται η πιθανότητα η αίτηση να συμπληρώνεται από τον πολίτη με έναν “άναρχο” τρόπο Document Modelling
Ας επανέλθουμε στα ηλεκτρονικά έγγραφα Όπως είπαμε και προηγουμένως η προτυποποίηση των εγγράφων συμβαίνει όχι μόνο στον πραγματικό κόσμο αλλά και στον “ηλεκτρονικό κόσμο”. Η προτυποποίηση των ηλεκτρονικών εγγράφων γίνεται για την καλύτερη επεξεργασία των εγγράφων από τα συστήματα πληροφορικής σε αντιστοιχία με τους υπαλλήλους του δήμου Η προτυποποίηση των εγγράφων γίνεται με τη χρήση της XML και παράγωγων αυτής Αυτά τα παράγωγα ονομάζονται «γλώσσες σχημάτων» ή «schema languages» Η πιο διαδεδομένη γλώσσα σχημάτων είναι η “XML Schema Description Language” Η δημιουργία ενός σχήματος XSD στηρίζεται στους βασικούς κανόνες της XML Ουσιαστικά ένα XSD σχήμα αποτελεί ένα συντακτικό που περιγράφει τον τρόπο που θα ταξινομηθούν τα δεδομένα σε ένα XML έγγραφο Document Modelling
XSD XML Schema Definition Language Γλώσσα Προτυποποίησης Εγγράφων Ένα σύνολο κανόνων (οι βασικοί κανόνες της XML και μερικοί επιπρόσθετοι κανόνες) Ορίζουν την δομή και τη μορφή των εγγράφων Ορίζει μια δομή δεδομένων Ένα XSD σχήμα δεν περιέχει δεδομένα!!! XML έγγραφα περιέχουν πληροφορίες Τα XML έγγραφα υπακούουν στους κανόνες που ορίζονται σε XSD Schemas Δηλαδή κάθε XML έγγραφο που μεταφέρει δεδομένα για μια συγκεκριμένη εφαρμογή, έχει τα δεδομένα ταξινομημένα με συγκεκριμένη σύνταξη που ορίζεται από ένα schema Με άλλα λόγια ένα XSD Schema έχει την αντίστοιχη λειτουργικότητα μιας φόρμας συμπλήρωσης στοιχείων XML XSD Document Modelling
Ποιοι είναι οι βασικοί κανόνες για τη δημιουργία ενός XSD σχήματος Πάντα αρχικά υπάρχει ένα «element» εκκίνησης (root) το οποίο υποδηλώνει και την οντότητα του σχήματος <xs:schema> … </xs:schema> Αυτό το αρχικό “element” περιέχει: Δηλώσεις από άλλα «elements» <element name=“name" type=“type“/> Δηλώσεις «attributes» <attribute name=“name" type=“type"/> Κάθε “element” αποτελεί και έναν τύπο δεδομένων (Ορίζει δηλαδή τι δομή και το περιεχόμενου ενός δεδομένου ή μιας ομάδας δεδομένων). Ανάλογα με την πολυπλοκότητα των δεδομένων υπάρχουν Ορισμοί απλών τύπων (simple types) Περιέχουν απλό κείμενο χωρίς “markup” Ορισμοί σύνθετων τύπων (complex types) Περιέχουν άλλους τύπους (σύνθετους και απλούς) και απλό κείμενο Document Modelling
Απλοί τύποι δεδομένων στα XSD σχήματα Ένας απλός τύπος δεδομένων είναι ένα απλό “element” το οποίο περιέχει μόνο κείμενο. Δεν περιέχει ούτε attributes ούτε elements <xs:element name=“FirstName" type="xs:string"/> Το “name” περιγράφει το είδος της πληροφορίας που περιέχει το element ενώ το “type” ορίζει τον τύπο δεδομένων που περιέχει το element. Δηλαδή το συγκεκριμένο element ορίζει ένα όνομα ανθρώπου και το πεδίο είναι κείμενο «string» <xs:element name=“age" type="xs:int"/> Το συγκεκριμένο element ορίζει την ηλικία ενός ανθρώπου και το πεδίο είναι ακέραιος αριθμός «string» Οι απλοί τύποι δεδομένων συνήθως περιγράφουν δεδομένα που είναι απλά κείμενα (string), αριθμοί (int, double, κλπ), ημερομηνίες (date, dateTime) ή δεδομένα τύπου ναι όχι (boolean) Σύνθετοι τύποι δεδομένων όπως η ταχυδρομική διεύθυνση που αποτελείται από ένα σύνολο δεδομένων περιγράφονται με σύνθετους τύπους δεδομένων Document Modelling
Σύνθετοι τύποι δεδομένων Ένας σύνθετος τύπος δεδομένων είναι ένα “element” που περιέχει άλλα “elements” ή/και άλλα ”attributes” Και αποκαλείται “complex element” Επίσης όταν σε έναν απλό τύπο δεδομένων εισαγάγουμε έναν περιορισμό (πχ για το προηγούμενο παράδειγμα της ηλικίας εισάγουμε τον περιορισμό από 0 έως 100) αυτός πλέον περιγράφεται με έναν σύνθετο τύπο δεδομένων Σε έναν σύνθετο τύπο δεδομένων που περιέχει περισσότερα από ένα element, ορίζεται η σειρά εμφάνισης αυτών αλλά και η συχνότητα εμφάνισης Document Modelling
Για τον ορισμό της σειράς εμφάνισης χρησιμοποιούμε ένα σύνολο εντολών που κάνουν αυτή τη δουλειά Η πρώτη κατηγορία είναι οι εντολές αλληλουχίας Όλα τα στοιχεία χωρίς καθορισμένη σειρά <all> … </all> Ένα από μια λίστα στοιχείων <choice> … </choice> Αλληλουχία στοιχείων με συγκεκριμένη σειρά <Sequence> … </Sequence> Η δεύτερη κατηγορία είναι οι εντολές συχνότητας εμφάνισης Ελάχιστος αριθμός εμφανίσεων ενός στοιχείου minOccurs Μέγιστος αριθμός εμφανίσεων ενός στοιχείου maxOccurs Για παράδειγμά αν το κάποιος έχει δύο ονόματα θα μπορούσαμε να γράψουμε <xs:element name=“FisrtName" type="xs:string" minOccurs="0" maxOccurs=“2"/> Document Modelling
Ας δούμε ένα παράδειγμα περιγραφής μιας ταχυδρομικής διεύθυνσης Μια τυπική ταχυδρομική διεύθυνση περιέχει Αριθμός Οδός Ταχυδρομικός κώδικας Πόλη Χώρα Το σχήμα που περιγράφει την ταχυδρομική διεύθυνση είναι το παρακάτω <xs:element name="address"> <xs:complexType> <xs:sequence> <xs:element name="Number" type="xs:int"/> <xs:element name="Street" type="xs:string"/> <xs:element name="ZipCode" type="xs:int"/> <xs:element name="City" type="xs:string"/> <xs:element name="Country" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> Document Modelling
Μετατροπή ενός εγγράφου του Δημοσίου ... Σε ηλεκτρονικό Document Modelling
Αίτησης χορήγησης άδειας για την κατάληψη κοινόχρηστου χώρου (τραπεζοκαθίσματα) Document Modelling
Πως μετατρέπουμε ένα έγγραφο σε ηλεκτρονική μορφή; Δεν υπάρχει συγκεκριμένη μεθοδολογία για τη δημιουργία των σχημάτων των ηλεκτρονικών εγγράφων Οι μόνοι κανόνες που πρέπει να ακολουθηθούν είναι αυτοί που ορίζονται από την XML. Αρχικές δηλώσεις Για κάθε έγγραφο μια και μόνο ρίζα Χρήση elements και attributes Σωστή χρήση των εντολών στοίχισης Ωστόσο υπάρχουν δύο σημαντικές προσεγγίσεις Καταγραφή του εγγράφου και αποτύπωση ως ενιαία ηλεκτρονική οντότητα Τεμαχισμός της πληροφορίας που περιέχει το έγγραφο σε κατηγορίες που τις ονομάζουμε δομικές πληροφοριακές οντότητες Η κάθε πληροφοριακή οντότητα όπως διεύθυνση, προσωπικά στοιχεία κλπ σε ένα XML σχήμα περιγράφεται με έναν σύνθετο τύπο δεδομένων Το τελικό ηλεκτρονικό έγγραφο είναι μια σύνθεση απλών και σύνθετων τύπων δεδομένων Κάτι σαν Lego!!!! Document Modelling
Η προσέγγιση των δομικών πληροφοριακών οντοτήτων Αρχικά αναλύουμε τη πληροφορία που περιέχει το έγγραφο που θέλουμε να παραστήσουμε ηλεκτρονικά (στο παράδειγμά μας χρησιμοποιούμε την αίτηση χορήγησης άδειας για τραπεζοκαθίσματα) Προσπαθούμε να εντοπίσουμε δεδομένα που σχετίζονται Π.χ. όνομα, επώνυμο όνομα πατρός είναι δεδομένα που αφορούν τα προσωπικά στοιχεία ενός ατόμου Κάθε σύνολο σχετιζόμενων δεδομένων απαρτίζουν μια δομική πληροφοριακή οντότητα Στη συνέχεια εφαρμόζοντας τους κανόνες δημιουργίας σχημάτων XML, δημιουργούμε για κάθε πληροφοριακή οντότητα και έναν τύπο δεδομένων. Το τελικό έγγραφο προκύπτει με την σύνθεση όλων αυτών των τύπων δεδομένων Το μεγάλο πλεονέκτημα αυτής της προσέγγισης είναι ότι οι δομικές πληροφοριακές μονάδες που χρησιμοποιούνται περισσότερες από μια φορές, ορίζονται μια φορά. Στο έγγραφό μας ένα παράδειγμα είναι η διεύθυνση που χρησιμοποιείται για την κατοικία, το κατάστημα αλλά και για το σημείο τοποθέτησης των τραπεζοκαθισμάτων Document Modelling
Κάθε κατηγορία περιέχει και ένα σύνολο συσχετιζόμενης πληροφορίας Ανάλυση της αίτησης Η φόρμα της αίτησης χορήγησης άδειας τοποθέτησης τραπεζοκαθισμάτων περιγράφει τα στοιχεία που απαιτείται να συμπληρώσει ο πολίτης. Αναλύοντας αυτά τα στοιχεία μπορούμε να τα ομαδοποιήσουμε σε τέσσερεις κατηγορίες Προσωπικά στοιχεία Στοιχεία καταστήματος Στοιχεία του αιτήματος Διεύθυνση Κάθε κατηγορία περιέχει και ένα σύνολο συσχετιζόμενης πληροφορίας Document Modelling
Ας δούμε ξεχωριστά τις κατηγορίες δεδομένων ή δομικές πληροφοριακές οντότητες Προσωπικά στοιχεία Επώνυμο Όνομα Όνομα Πατρός Τηλέφωνο Διεύθυνση Στοιχεία καταστήματος Επωνυμία ΑΦΜ Διεύθυνση Αίτημα άδειας Περιγραφή Αιτιολογία Έκταση σε τ.μ Διεύθυνση Έτος άδειας Ημερομηνία άδειας Διεύθυνση Οδός Αριθμός Πόλη Τ.Κ. Document Modelling
Κατά τη δημιουργία του σχήματος της αίτησης “βλέπουμε” το έγγραφο ως ένα δένδρο Πριν την δημιουργία του σχήματος του ηλεκτρονικού εγγράφου μπορούμε να σχεδιάσουμε το έγγραφο ως ένα δένδρο Η κορυφή ή ρίζα του δένδρου είναι το ίδιο το έγγραφο και αποτελεί τον αρχικό κόμβο Τα κλαδιά που ξεκινούν από την κορυφή καταλήγουν στις δομικές πληροφοριακές οντότητες ή δεδομένα που απαρτίζουν το έγγραφο Στο παράδειγμά μας ο αρχικός κόμβος είναι η ίδια η αίτηση Οι επόμενοι κόμβοι είναι οι τρεις δομικές πληροφοριακές μονάδες που απαρτίζουν την αίτηση Προσωπικά στοιχεία αιτούντος Στοιχεία του καταστήματος που αναφέρεται η αίτηση Στοιχεία του αιτήματος Αίτηση Στοιχεία καταστήματος Προσωπικά στοιχεία Στοιχεία Αιτήματος Document Modelling
Κάτω από κάθε δομική πληροφοριακή οντότητα έχουμε τα δεδομένα που συσχετίζονται με αυτή την κατηγορία (1) Δηλαδή για κάθε κατηγορία δημιουργούμε ένα “υπό” δένδρο με τα δεδομένα που περιέχει Προσωπικά στοιχεία Στοιχεία καταστήματος Προσωπικά στοιχεία Επώνυμο Όνομα Όνομα Πατρός Τηλέφωνο Διεύθυνση Στοιχεία Καταστήματος Επωνυμία ΑΦΜ Διεύθυνση Document Modelling
Κάτω από κάθε δομική πληροφοριακή οντότητα έχουμε τα δεδομένα που συσχετίζονται με αυτή την κατηγορία (2) Δηλαδή για κάθε κατηγορία δημιουργούμε ένα “υπό” δένδρο με τα δεδομένα που περιέχει Στοιχεία αίτησης Διεύθυνση Στοιχεία αίτησης Αιτιολογία Περιγραφή Έκταση Διεύθυνση Έτος εφαρμογής Άδειας Ημερομηνία Αίτησης Διεύθυνση Οδός Αριθμός Τ.Κ. Πόλη Document Modelling
Ο σύνθετος τύπος που περιγράφει τη δομική πληροφοριακή οντότητα «διεύθυνση» <complexType name="addressType"> <sequence> <element name="street" type="string"></element> <element name="number" type="int"></element> <element name="ZIPCode" type="int"></element> <element name="city" type="string"></element> </sequence> </complexType> Document Modelling
Ο σύνθετος τύπος που περιγράφει τη δομική πληροφοριακή οντότητα «Προσωπικά στοιχεία» <complexType name="PersonalDataType"> <sequence> <element name="LastName" type="string"></element> <element name="FirstName" type="string"></element> <element name="FatherName" type="string"></element> <element name="phone" type="string"></element> <element name="homeaddres" type="tns:addressType"></element> </sequence> </complexType> Document Modelling
Ο σύνθετος τύπος που περιγράφει τη δομική πληροφοριακή οντότητα «Στοιχεία Καταστήματος» <complexType name="companyDataType"> <sequence> <element name="name" type="string"></element> <element name="AFM" type="string"></element> <element name="companyAddress” type="tns:addressType"></element> </sequence> </complexType> Document Modelling
Ο σύνθετος τύπος που περιγράφει τη δομική πληροφοριακή οντότητα «Στοιχεία Αίτησης» <complexType name="applicationDataType"> <sequence> <element name="Description" type="string"></element> <element name="Reason" type="string"></element> <element name="surface" type="double"></element> <element name="IssueYear" type="string"></element> <element name="applicationDate" type="date"></element> <element name="address" type="tns:addressType"></element> </sequence> </complexType> Document Modelling
Ο σύνθετος τύπος που περιγράφει το έγγραφο <complexType name="applicationType"> <sequence> <element name="personalData" type="tns:PersonalDataType"></element> <element name="companyData" type="tns:companyDataType"></element> <element name="applicationData" type="tns:applicationDataType"></element> </sequence> </complexType> Document Modelling
Το ολοκληρωμένο σχήμα της αίτησης (γραφική απεικόνιση με τη χρήση της εφαρμογής Eclipse Birt) Document Modelling
Το ολοκληρωμένο σχήμα της αίτησης (απεικόνιση του XML κώδικα) <complexType name="companyDataType"> <sequence> <element name="name" type="string"></element> <element name="AFM" type="string"></element> <element name="companyAddress" type="tns:addressType"></element> </sequence> </complexType> <complexType name="applicationDataType"> <element name="Description" type="string"></element> <element name="Reason" type="string"></element> <element name="surface" type="double"></element> <element name="IssueYear" type="string"></element> <element name="applicationDate" type="date"></element> <element name="address" type="tns:addressType"></element> <complexType name="addressType"> <element name="street" type="string"></element> <element name="number" type="int"></element> <element name="ZIPCode" type="int"></element> <element name="city" type="string"></element> </schema> <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/paradeigma1" xmlns:tns="http://www.example.org/paradeigma1" elementFormDefault="qualified"> <complexType name="applicationType"> <sequence> <element name="personalData" type="tns:PersonalDataType"></element> <element name="companyData" type="tns:companyDataType"></element> <element name="applicationData" type="tns:applicationDataType"></element> </sequence> </complexType> <complexType name="PersonalDataType"> <element name="LastName" type="string"></element> <element name="FirstName" type="string"></element> <element name="FatherName" type="string"></element> <element name="phone" type="string"></element> <element name="homeaddres" type="tns:addressType"></element> Document Modelling
ΟΤΑ Επιχειρησιακή Νοημοσύνη Παραγωγή Περιεχομένου: ΕΑΙΤΥ (ΕΜ9 ATLANTIS Group) http://www.cti.gr Συγγραφείς Θ. Εμμανουηλίδης, Π. Καβάσαλης, Γ. Κούζας, Αθ. Μώραλης, Ζ. Πολιτοπούλου Document Modelling