Από την Καραδηµητρίου Κρυσταλλένια Καθηγήτρια Πληροφορικής στο Γυµνάσιο και Ενιαίο Λύκειο Φιλώτα Φλώρινας Οκτώβριος 2004 Βασικά προβλήµατα στη διαχείριση πληροφοριών Συγκέντρωση Αποθήκευση Ανάκτηση Ανταλλαγή Καραδηµητρίου Κρυσταλλένια 2 EDI Ηλεκτρονική ανταλλαγή δοµηµένων µε συγκεκριµένο τρόπο εγγράφων Χρησιµοποιείται 20 χρόνια Πρότυπα ANSI X.12 (ΗΠΑ και Καναδάς) EDIFACT ( ιεθνές) Καραδηµητρίου Κρυσταλλένια 3 EDI: Πλεονεκτήµατα Οχειρισµός εγγράφων µειώνεται, εξοικονοµώντας χρόνο και χρήµα εδοµένα ανταλάσσονται σε πραγµατικό χρόνο Υπάρχουν λιγότερα λάθη αφου τα δεδοµένα πληκτρολογούνται µια φορά Οαναβαθµισµένος διαµοιρασµός δεδοµένων δίνει δυνατότητα για µεγαλύτερο συντονισµό ενεργειών µεταξύ επαγγελµατιών συνεταίρων Ηροήχρηµάτων επιταχύνεται και οι πληρωµές γίνονται γρηγορότερα Καραδηµητρίου Κρυσταλλένια 4 EDI: Μειονεκτήµατα Πολύ πληροφορία είναι ακόµα σεχαρτί Η ηλεκτρονική ανταλλαγή είναι η εξαίρεση παρά ο κανόνας Το Internet είναι µία χαµηλού κόστους λύση σε σχέση µε τοedi που χρησιµοποιεί value added networks (VANs) Καραδηµητρίου Κρυσταλλένια 5 SGML (πρόγονος της XML) Η διαχείριση εγγράφων καταναλώνει το: 15% του εισοδήµατος της εταιρίας 25% των εργατικών εξόδων 10-60% τηςδουλειάςενόςυπαλλήλου γραφείου Η Standard generalized markup language (SGML) σχεδιάστηκε να µειώσει το κόστος της διαχείρισης εγγράφων Καραδηµητρίου Κρυσταλλένια 6 1
Markup language Ενσωµατωµένη πληροφορία µέσα στο κείµενο σχετικά µε τηνερµηνεία και το νόηµατου κειµένου <cdliner>this uniquely creative collaboration between Miles Davis and Gil Evans has already resulted in two extraordinary albums <cdtitle>miles Ahead</cdtitle><cdid>CL 1041></cdid> and <cdtitle>porgy and Bess</cdtitle> <cdid>cl 1274</cdid>.</cdliner> SGML Ένα ανεξάρτητο πρότυπο για έκδοση σε όλα τα µέσα Σε διαφορετικά συστήµατα Φορητή Καθορίζει τη δοµή ενός εγγράφου Η γλώσσα από την οποία προήλθαν οι HTML και XML Καραδηµητρίου Κρυσταλλένια 7 Καραδηµητρίου Κρυσταλλένια 8 SGML: Πλεονεκτήµατα Ίδια πλεονεκτήµατα µε την επεξεργασία κειµένου Ευελιξία Παράγει αποτέλεσµα για πολλαπλά µέσα Βελτιωµένες εκδόσεις Έλεγχος εκδόσεων των εγγράφων SGML: Μειονεκτήµατα Είναι αρκετή πολύπλοκη και δύσχρηστη γλώσσα. Καραδηµητρίου Κρυσταλλένια 9 Καραδηµητρίου Κρυσταλλένια 10 SGML κώδικας <chapter> <no>16</no> <title>xml: Managing Data Exchange</title> <section> <quote><emph type = "2">Words can have no single fixed meaning. Like wayward electrons, they can spin away from their initial orbit and enter a wider magnetic field. No one owns them or has a proprietary right to dictate how they will be used.</emph></quote> </section> </chapter> Καραδηµητρίου Κρυσταλλένια 11 HTML κώδικας <html> <body> <h1><b>16</b></h1> <h1><b>xml: Managing Data Exchange</b></h1> <p> <i>words can have no single fixed meaning. Like wayward electrons, they can spin away from their initial orbit and enter a wider magnetic field. No one owns them or has a proprietary right to dictate how they will be used.</i> </p> </body> </html> Καραδηµητρίου Κρυσταλλένια 12 2
Προβλήµατα µετηνhtml Η παρουσίαση δεν έχει κάποιο νόηµα Οαναγνώστηςσυµπεραίνει το νόηµα Οι µηχανές δεν είναι καλές στο να συµπεραίνουν το νόηµα XML Extensible markup language Μία απλή έκδοση της sgml Σχεδιασµένη για να εισάγει την sgml στο διαδίκτυο Μια µετα-γλώσσα (meta-language) Μιαγλώσσαπουπαράγειγλώσσες Θα αντικαταστήσει σταδιακά την HTML XHTML µία αναδιαµόρφωση της HTML 4 στην XML 1.0 Καραδηµητρίου Κρυσταλλένια 13 Καραδηµητρίου Κρυσταλλένια 14 XML ενάντια HTML οµηµένο κείµενο οµήκαθορισµένη απότοχρήστη Αποδοτικότερη διασύνδεση υπερκειµένου Ευέλικτο και προσαρµόσιµο κείµενο Μορφοποιηµένο κείµενο Προκαθορισµένη µορφή Περιορισµένη διασύνδεση υπερκειµένου Κανόνες στην XML Τα στοιχεία (elements) πρέπει να έχουν µια ετικέτα ανοίγµατος και µία ετικέτα (tag) κλεισίµατος Τα στοιχεία ακολουθούν µια αυστηρή ιεραρχία µεένα µόνοστοιχείορίζα(root element) καιταυπόλοιπαστοιχεία µέσα σε αυτό Τα στοιχεία δε µπορούν να υπερκαλύπτουν (µοιράζονται) άλλα στοιχεία Τα ονόµατατωνστοιχείωνπρέπειναυπακούουντις συµβάσεις ονοµάτων της XML Η XML διαχωρίζει µικρά κεφαλαία (case sensitive) Καραδηµητρίου Κρυσταλλένια 15 Καραδηµητρίου Κρυσταλλένια 16 Η HTML ενάντια στην XML HTML <p><b>mist7600</b> Data Management<br> 3 credit hours</p> XML <course> <code>mist7600</code> <title>data Management</title> <credit>3</credit> </course> Αναζήτηση Οι µηχανές αναζήτησης αναζητούν συγκεκριµένες ετικέτες (tags) στον κώδικα XML Ταχύτερα Με µεγαλύτερη ακρίβεια Καραδηµητρίου Κρυσταλλένια 17 Καραδηµητρίου Κρυσταλλένια 18 3
Αναµενόµενα κέρδη Αποθήκευση µια φορά και µορφοποίηση πολλές φορές Ανεξαρτησία υλικού λογισµικού Συγκέντρωση δεδοµένων µια φορά και ανταλλαγή πολλές φορές Ταχύτερη εστιασµένη αναζήτηση Μικρότερη συµφόρηση του δικτύου Καραδηµητρίου Κρυσταλλένια 19 XML Προδιαγραφές XML 1.0 Καθορίζει το συντακτικό της XML XPointer, XLink Καθορίζει ένα συγκεκριµένο τρόπο να αναπαριστά τους συνδέσµους µεταξύ των διαφόρων πηγών (resources) XSL Καθορίζει µία γλώσσα για το στυλ µορφή της XML Καραδηµητρίου Κρυσταλλένια 20 XML σχεδιασµός γλώσσας Οι σχεδιαστές λογισµικού πρέπει να καθορίσουν : Επιτρεπόµενες ετικέτες Κανόνες για εµφωλευµένες ετικέτες Ποια στοιχεία µπορούν να έχουν περαιτέρω επεξεργασία XML Σχήµα (Schema) Το σχήµακαθορίζει Τα ονόµατα και το περιεχόµενο όλων των στοιχείων που είναι επιτρεπτά σε ένα συγκεκριµένο έγγραφο Τη δοµήενόςεγγράφου Πόσο συχνά ένα στοιχείο µπορεί να εµφανίζεται Τη σειρά µετηνοποίαταστοιχείαπρέπεινα εµφανίζονται Οτύποςτωνδεδοµένων που το στοιχείο περιλαµβάνει Καραδηµητρίου Κρυσταλλένια 21 Καραδηµητρίου Κρυσταλλένια 22 Τα Στοιχεία και το περιεχόµενο τους <bibliography> Τύπος στοιχείου (element type) <paper ID="object-fusion"> <authors> <author>y.papakonstantinou</author> <author>s. Abiteboul</author> <author>h. Garcia-Molina</author> </authors> <fullpaper source="fusion"/> <title>object Fusion in Mediator Systems</title> <booktitle>vldb 96</booktitle> </paper> </bibliography> Περιεχόµενο χαρακτήρα Στοιχείο (element) Περιεχόµενο στοιχείου Άδειο στοιχείο Καραδηµητρίου Κρυσταλλένια 23 Ιδιότητες στοιχείων <bibliography> <paper pid="object-fusion"> <authors> <author>y.papakonstantinou</author> <author>s. Abiteboul</author> <author>h. Garcia-Molina</author> </authors> <fullpaper source="fusion"/> <title>object Fusion in Mediator Systems</title> <booktitle>vldb 96</booktitle> </paper> </bibliography> Όνοµα ιδιότητας Τιµή ιδιότητας Καραδηµητρίου Κρυσταλλένια 24 4
DOM Document object model Tο µοντέλο δεδοµένων για ένα XML έγγραφο Ένα δένδρο (1:m) CD library CD *CDid CDlabel CDtitle CDyear TRACK *trknum trktitle trklen Μοντέλο για τη δοµή του DOM και API Ιεραρχία των αντικειµένων των κόµβων: έγγραφο, στοιχείο, ιδιότητα, κείµενο, σχόλιο,... Προγραµµατισµός ανεξάρτητος γλώσσας DOM API : get... first/last child, prev/next sibling, childnodes insertbefore, replace getelementsbytagname... Καραδηµητρίου Κρυσταλλένια 25 Καραδηµητρίου Κρυσταλλένια 26 Schema (cdlib.xsd) ήλωση XML και ρίζα (root) όλων των εγγράφων σχήµατος (schema documents) <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd='http://www.w3.org/2001/xmlschema'> Schema (cdlib.xsd) CD library definition <xsd:element name="cdlibrary"> <xsd:complextype> <xsd:sequence> <xsd:element name="cd" type="cdtype" minoccurs="1 maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> </xsd:element> Καραδηµητρίου Κρυσταλλένια 27 Καραδηµητρίου Κρυσταλλένια 28 Schema (cdlib.xsd) CD definition <xsd:complextype name="cdtype"> <xsd:sequence> <xsd:element name="cdid" type="xsd:string"/> <xsd:element name="cdlabel" type="xsd:string"/> <xsd:element name="cdtitle" type="xsd:string"/> <xsd:element name="cdyear" type="xsd:integer"/> <xsd:element name="track" type="tracktype" minoccurs="1" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> Schema (cdlib.xsd) Track definition <xsd:complextype name="tracktype"> <xsd:sequence> <xsd:element name="trknum" type="xsd:integer"/> <xsd:element name="trktitle" type="xsd:string"/> <xsd:element name="trklen" type="xsd:time"/> </xsd:sequence> </xsd:complextype> Καραδηµητρίου Κρυσταλλένια 29 Καραδηµητρίου Κρυσταλλένια 30 5
Κοινοί τύποι δεδοµένων χαρακτήρας Λογική τιµή urireference δεκαδικός πραγµατικός ακέραιος χρόνος ηµεροµηνία Καραδηµητρίου Κρυσταλλένια 31 XML (cd.xml) <?xml version = "1.0 encoding= UTF-8?> <cdlibrary xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="cdlib.xsd"> <cd> <cdid>a2 1325</cdid> <cdlabel>atlantic</cdlabel> <cdtitle>pyramid</cdtitle> <cdyear>1960</cdyear> <track> <trknum>1</trknum> <trktitle>vendome</trktitle> <trklen>2:30</trklen> </track> </cd> </cdlibrary> Καραδηµητρίου Κρυσταλλένια 32 XSLT µοντέλο επεξεργασίας Μεταµόρφωση XSLT stylesheet XML δέντρο προέλευσης XML,HTML,csv, text τελικό δέντρο XSL Extensible stylesheet language Καθορίζει πως ένα XML έγγραφο µετατρέπεται από µια µορφή σε άλλη ιαφορετικές XSL µορφοποιήσεις µπορεί να χρησιµοποιηθεί να παρουσιάσουν το ίδιο xml έγγραφο µε διαφορετικούς τρόπους Είναι ένα XML αρχείο Καραδηµητρίου Κρυσταλλένια 33 Καραδηµητρίου Κρυσταλλένια 34 XSL Αποτελέσµατα εφαρµογής του cd.xsl Pyramid, Atlantic, 1960 [A2 1325] 1 Vendome 00:02:30 2 Pyramid 00:10:46 Ella Fitzgerald, Verve, 2000 [D136705] 1 A tisket, a tasket 00:02:37 2 Vote for Mr. Rhythm 00:02:25 3 Betcha nickel 00:02:52 cd.xsl <?xml version="1.0" encoding="utf-8?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="/"> <html> <head> <title>complete List of Songs</title> </head> <body> <h2>complete List of Songs</h2> <xsl:apply-templates select= "cdlibrary/cd" /> <xsl:for-each select="//cd"> <font color="maroon"> <xsl:value-of select="cdtitle" />, <xsl:value-of select="cdlabel" />, <xsl:value-of select="cdyear" /> [ <xsl:value-of select="cdid" />] </font> <br /> Καραδηµητρίου Κρυσταλλένια 35 6
cd.xsl (συνέχεια) <table> <xsl:for-each select= "track"> <tr> <td align="left"> <xsl:value-of select= "trknum" /> </td> <td> <xsl:value-of select= "trktitle" /> </td> <td align= "center" > <xsl:value-of select= "trklen" /> </td> </tr> </xsl:for-each> </table> <br /> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet> XSLT Παράδειγµα συνέχεια... Καραδηµητρίου Κρυσταλλένια 38 XML και Βάσεις δεδοµένων Η XML είναι ένα εργαλείο που χειρίζεται δεδοµένα Τα XML έγγραφα πρέπει να αποθηκεύονται µακροπρόθεσµα Χρειάζεται ένα DBMS Απαιτήσεις της DBMS Να αποθηκεύει ένα µεγάλο αριθµό εγγράφων Να αποθηκεύει µεγάλα έγγραφα Να Υποστηρίζει πρόσβαση σε τµήµατα του εγγράφου (π.χ., τα δεδοµέναγιαένααπλό CD σε µια βιλιοθήκη µε 20,000 CDs) Ταυτόχρονη πρόσβαση Έλεγχος εκδόσεων Να συγκεντρώνει δεδοµένα από άλλες πηγές Καραδηµητρίου Κρυσταλλένια 39 Καραδηµητρίου Κρυσταλλένια 40 RDBMS Εστιασµένο σε έγγραφα Αποθηκεύεται ως CLOB Εστιασµένο σε δεδοµένα Αντικειµενο σχεσιακές επεκτάσεις που υποστηρίζουν ανάκτηση στοιχείων και ανανέωση Αναµένεται οι φορείς RDBMS να προσφέρουν επεκτάσεις που υποστηρίζουν XML Βάσεις δεδοµένων σε XML Μια σηµαντική αναλογία από σελίδες του δικτύου παράγονται από βάσεις δεδοµένων Αντί να µετατρέπονται σε HTML θα έπρεπε να µετατρέπονται σε XML Μετατροπή µε τοxslσε HTML Χρειάζονται εργαλεία για να µετατραπούν σχεσιακά δεδοµένα σε XML Καραδηµητρίου Κρυσταλλένια 41 Καραδηµητρίου Κρυσταλλένια 42 7
Παράδειγµα: Σχεσιακά δεδοµένα µε XML R A a1 a2 a3 tuple B b1 b2 b3 R tuple C c1 c2 c3 tuple A B C A B C A B C a1 b1 c1 a2 b2 c2 a3 b3 c3 <R> <tuple> <A> a1 </A> <B> b1 </B> <C> c1 </C> </tuple> <tuple> <A> a2 </A> <B> b2 </B> <C> c2 </C> </tuple> </R> Καραδηµητρίου Κρυσταλλένια 43 Απλά εργαλεία Συγγραφής MS Notepad (Απλός Επεξεργαστής κειµένου) Textpad MS XML Notepad Beta 1.5 Καραδηµητρίου Κρυσταλλένια 44 Συµπεράσµατα Η XML αποτελεί µια σηµαντική τεχνολογική ανάπτυξη Ο βασικός της στόχος είναι να υποστηρίζει την ανταλλαγή δεδοµένων Περιορίζει το κόστος των επαγγελµατικών συναλλαγών Καραδηµητρίου Κρυσταλλένια 45 8