XML και υπηρεσίες ιστού
Σε έναν κόσμο που διασυνδέεται όλο και περισσότερο, αυξάνεται συνεχώς ο αριθμός των εφαρμογών που οφείλουν να προσφέρουν υποστήριξη για διάφορες υπηρεσίες ιστού. Σε κάποιες περιπτώσεις, οι υπηρεσίες ιστού απλά προσθέτουν επιπλέον λειτουργικότητα, σε άλλες όμως αποτελούν το βασικό λόγο ύπαρξης μιας εφαρμογής. Σήμερα, ακόμη και εφαρμογές που για χρόνια παρείχαν κλασικές υπηρεσίες, ανακαλύπτουν πλέον καινοτόμες νέες χρήσεις των υπηρεσιών ιστού.
Η πλατφόρμα GNOME υποστηρίζει τη χρήση υπηρεσιών ιστού από τις εφαρμογές σας, και παρέχει ολοκληρωμένες βιβλιοθήκες για την χρήση, διαχείριση και μετατροπή της XML, της γλώσσας του ιστού.
- 4.5.1. SOAP
- 4.5.2. Επεξεργασία XML
- 4.5.3. Μετατροπή XML μέσω XSLT
4.5.1. SOAP
Μέσω της βιβλιοθήκης libsoup, το GNOME υποστηρίζει το SOAP, ένα ευρέως χρησιμοποιούμενο πρωτόκολλο για την αποστολή μηνυμάτων XML μέσω HTTP. Το SOAP επιτρέπει στους προγραμματιστές να εκθέτουν μια διεπαφή στον ιστό, ώστε να μπορεί στη συνέχεια να χρησιμοποιηθεί από εφαρμογές για την ανάκτηση πληροφοριών, την αποστολή δεδομένων, την εκτέλεση συναλλαγών και πολλές ακόμη λειτουργίες.
Το SOAP μπορεί να χρησιμοποιηθεί για την αναζήτηση και ανάκτηση πληροφοριών, για την επικοινωνία με ένα ηλεκτρονικό κατάστημα, για τη διαχείριση των λογαριασμών των χρηστών σε άλλα συστήματα, και για πολλές ακόμη λειτουργίες. Καθώς οι υπηρεσίες ιστού χρησιμοποιούνται όλο και περισσότερο για την παροχή βασικών υπηρεσιών στους χρήστες, το SOAP επιτρέπει στις εφαρμογές που το χρησιμοποιούν να παρέχουν ακόμη πιο ολοκληρωμένες και πλούσιες εμπειρίες στο χρήστη.
Η βιβλιοθήκη libsoup περιέχει μια υλοποίηση του HTTP και μια ομάδα API για τη δημιουργία και χρήση μηνυμάτων SOAP. Επίσης, υποστηρίζει ασφαλή πιστοποίηση, επιτρέποντάς σας να χρησιμοποιείτε υπηρεσίες ιστού για να αποκτάτε πρόσβαση σε ιδιωτικούς λογαριασμούς μέσω ασφαλούς σύνδεσης. Η χρήση του libsoup απλοποιεί τη χρήση υπηρεσιών ιστού, καθώς δεν απαιτεί να αναλύετε και να ερμηνεύετε μόνοι σας τα μηνύματα που αποστέλλονται μέσω SOAP.
Για περισσότερες πληροφορίες σχετικά με το libsoup, ανατρέξτε στο libsoup Reference Manual.
4.5.2. Επεξεργασία XML
Από το 1988, που έκανε την επίσημή της εμφάνιση, η XML (eXtensible Markup Langauge) χρησιμοποιείται σε συνεχώς αυξανόμενο αριθμό εφαρμογών. Και έχει πολλές διαφορετικές χρήσεις, από τις μορφές εγγράφων όπως τα XHMTL και DocBook, μέχρι τα πρωτόκολλα διαδικτύου όπως το SOAP και το Jabber. Η XML διαθέτει μια απλή και καθαρή βασική σύνταξη, που επιτρέπει σε κάθε εφαρμογή να εστιάσει στις δικές της ανάγκες.
Το GNOME συμπεριλαμβάνει τη βιβλιοθήκη libxml2 και τη χρησιμοποιεί εκτενώς σε όλη την επιφάνεια εργασίας. Η βιβλιοθήκη libxml2 είναι μια γρήγορη και απολύτως σύμμορφη με τα πρότυπα βιβλιοθήκη επεξεργασίας της XML, που σας προσφέρει όλα όσα χρειάζεστε για να χρησιμοποιήσετε XML στην εφαρμογή σας.
Η βιβλιοθήκη libxml2 προσφέρει μια σειρά από API για εργασία με XML, παρέχοντάς σας τη δυνατότητα να επιλέξετε αυτό που καλύπτει τις προγραμματιστικές σας ανάγκες. Πέρα από το API του εγγενούς δέντρου, η libxml2 παρέχει επίσης το βασισμένο στην επανάκληση (callback) SAX2 API, διεπαφές ανάγνωσης και εγγραφής ροών XML και πλήρη υποστήριξη του XPath.
Η libxml2 υποστηρίζει μεν το DTD, αλλά υποστηρίζει πλήρως και την επικύρωση (validation) εγγράφων μέσω του RELAX NG, που διαθέτει πιο ευέλικτο μοντέλο επικύρωσης, παραμένοντας απλό στη χρήση. Επίσης, υποστηρίζει μερικώς την XML Schema, τη νέα γλώσσα του W3C.
Όποτε επιθυμείτε να εργαστείτε απευθείας με XML στην εφαρμογή σας, χρησιμοποιήστε τη libxml2. Η libxml2 διασφαλίζει ότι η ανάλυση, η επεξεργασία και η έξοδος XML θα συμμορφώνονται πλήρως με τα πρότυπα. Άρα, δεν θα χρειάζεται να ανησυχείτε για ασυμβατότητες μεταξύ εφαρμογών.
Για περισσότερες πληροφορίες σχετικά με τη libxml2, δείτε τα Libxml Tutorial και Reference Manual for libxml2.
4.5.3. Μετατροπή XML μέσω XSLT
Η XSLT είναι μια γλώσσα βασισμένη στην XML για τη μετατροπή της XML σε άλλες μορφές. Η XSLT είναι μια γλώσσα που βασίζεται σε πρότυπα (templates), που σας επιτρέπουν να αντιστοιχίζετε συγκεκριμένους τύπους στοιχείων XML και να παράγετε την κατάλληλη έξοδο. Βασισμένη στην XML και την XPath, η XSLT επιτρέπει στους προγραμματιστές να παράγουν καθαρά πρότυπα σε αυτοτελείς μονάδες (modules) για τη μετατροπή διαλέκτων XML σε μορφές καταλληλότερες για την εκάστοτε εφαρμογή.
Το GNOME συμπεριλαμβάνει τη βιβλιοθήκη libxslt, μια πλήρη υλοποίηση της XSLT. Η βιβλιοθήκη libxslt έχει χτιστεί πάνω από την υποστήριξη XML και XPath της libxml2, κάτι που της επιτρέπει να είναι γρήγορη και να συμμορφώνεται απολύτως με τα πρότυπα.
Αν επιθυμείτε να μετατρέψετε έγγραφα XML, χρησιμοποιήστε την libxslt. Αν και η XSLT δεν είναι πάντα η κατάλληλη λύση για την επεξεργασία της XML, απλοποιεί σημαντικά τη διαδικασία ανάπτυξης. Επίσης, η libxslt σας επιτρέπει να προσθέτετε επεκτάσεις στοιχείων και συναρτήσεων, για να μπορείτε να την προσαρμόζετε στις ανάγκες της εφαρμογής σας.
Για περισσότερες πληροφορίες σχετικά με την libxslt, ανατρέξτε στο XSLT C library for Gnome.