Κατανεμημένες Εφαρμογές και Ηλεκτρονικό Εμπόριο -> XML

1 Εισαγωγή

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

Ως παράδειγμα της πρώτης εφαρμογής θεωρείστε την βιομηχανία ταξιδίων. Εδώ, τα πακέτα ταξιδίων πωλούνται τόσο από τις ίδιες τις εταιρείες όσο κι από τα πρακτορεία, και υπάρχει αύξηση στον αριθμό των εταιρειών ηλεκτρονικού εμπορίου που πωλούν υπόλοιπα διακοπών - συνήθως με μικρής χρονικής διάρκειας ανακοινώσεις. Πολλές από τις εταιρείες που εμπλέκονται στην βιομηχανία ταξιδίων έχουν ασύμβατα συστήματα και ασύμβατες βάσεις δεδομένων. Μια από τις προβλεπόμενα αναπτυσσόμενες περιοχές του Διαδικτύου είναι αυτή των ηλεκτρονικών πρακτορείων ταξιδίων που συναλλασσόνται με διάφορες ταξιδιωτικές εταιρείες - εγχώριες και μη - και που εμπορεύονται φθηνά πακέτα διακοπών. Η ανάπτυξη μιας τέτοιας βιομηχανίας είναι αργή όταν υπάρχουν ασυμβατότητες μεταξύ των δεδομένων των διαφόρων εταιρειών.

BizTalk
Μία περιοχή που χαρακτηρίζεται από μεγάλο όγκο ασύμβατων δεδομένων είναι αυτή της ανταλλαγής τεκμηρίων, όπου ένα τεκμήριο μπορεί να είναι ένα ένα συμβατικό αρχείο κειμένου ή μία σελίδα περιηγητή. Διαφορετικές εταιρείες έχουν διαφορετικά πρότυπα για τεκμήρια όπως τιμολόγια, αποδείξεις και μεταφορές πιστώσεων. Η XML, η τεχνολογία που περιγράφεται σε αυτό το κεφάλαιο, βοηθά πολλές εταιρείες να αντιμετωπίσουν αυτά τα προβλήματα. Η Microsoft έχει αναπτύξει ένα λογισμικό γνωστό ως BizTalk, το οποίο επιτρέπει στις εταιρείες που χρησιμοποιούν την XML να ανταλλάσσουν αυτά τα τεκμήρια. Αποτελείται από τρία συστατικά μέρη: ένας διακομιστής BizTalk που επιτρέπει την μεταφορά τεκμηρίων περιγραφόμενων από απλές φόρμες, ένα πλαίσιο BizTalk που περιέχει περιγραφές των μηνυμάτων που ανταλλάσσονται μεταξύ των εταιρειών που ανταλλάσσουν τεκμήρια, και μία σχηματική βιβλιοθήκη BizTalk που περιγράφει τις ποικίλες μορφές των τεκμηρίων που μπορούν να ανταλλαχθούν.

Ο δεύτερος τύπος εφαρμογής έχει μερικά χαρακτηριστικά του πρώτου τύπου, αλλά και το πρόσθετο χαρακτηριστικό, ότι προσπαθεί να μεταθέσει μεγαλύτερο μέρος της επεξεργασίας στους υπολογιστές-πελάτες. Μία άλλη εμβρυακή βιομηχανία ηλεκτρονικού εμπορίου, που υποφέρει από προβλήματα ασυμβατότητας, είναι αυτή των ηλεκτρονικών εκδόσεων. Το βιβλίο αυτό υπάρχει με δύο μορφές: σαν μία ομάδα σελίδων HTML και στην έντυπη μορφή. Μου πήρε αρκετό χρόνο για την ανάπτυξη της HTML έκδοσης από την έντυπη, παρόλο το είχα σχεδιάσει εξ αρχής: αν και κυκλοφορούν αρκετοί μετατροπείς, οι οποίοι είναι ικανοί να εκτελέσουν μαζική μεταφορά αρχείων στο MS Word (τον επεξεργαστή κειμένου που χρησιμοποίησα), παρόλ' αυτά μου πήρε αρκετό χρόνο για να ενσωματώσω γραφικά, όπως τα γραφικά που χρησιμοποίησα για τις παραπομές στον Ιστό. Δεν υπάρχει μία σταθερή γλώσσα διεπικοινωνίας που να περιγράφει τα δημοσιευμένα αρχεία και που να απαιτεί εκείνη την ακριβή σημειογραφία που απαιτείται για τα σύγχρονα κείμενα. Ένα τέτοιο πρότυπο θα επέτρεπε την ανάπτυξη σημειογραφικών εργαλείων που θα μπορούσαν να χρησιμοποιηθούν από τους πελάτες για τον σχεδιασμό πολύπλοκων κειμένων, όπως αυτό που υπάρχει στο βιβλίο, και θα επέτρεπαν στους επεξεργαστές κειμένου να αναπτυχθούν έτσι ώστε να μετατρέπουν αρχεία, γραμμένα σε αυτήν την γλώσσα, σε μια ποικιλία μορφών.

Ο τρίτος τύπος εφαρμογής είναι αυτός όπου ο χρήστης θέλει να εξετάσει ή να επεξεργαστεί ένα τεκμήριο με ποικίλους τρόπους. Για παράδειγμα, μία συλλογή οικονομικών δεδομένων μπορεί να χρειάζεται να εμφανιστεί ως λογιστικό φύλλο, σε ένα αρχείο επεξεργασίας κειμένου ή σε μια σελίδα HTML. Η τεχνολογία που θα αποθήκευε αυτά τα δεδομένα κατά τέτοιο τρόπο, που ο επεξεργαστής ενός πελάτη να έπαιρνε ένα αρχείο γραμμένο σε σημειογραφική γλώσσα και να το εμφάνιζε, θα εξοικονομούσε αποθηκευτικό χώρο και, ταυτόχρονα, θα απλοποιούσε την διαδικασία ανάπτυξης.

Ο τέταρτος τύπος εφαρμογής είναι αυτός που περιλαμβάνει τα σημαντικά στοιχεία της κινητικότητας. Τέτοιες εφαρμογές προϋποθέτουν την παρουσία κινητών πρακτόρων. Ένας κινητός πράκτορας είναι μία συλλογή αντικειμένων που ταξιδεύουν μέσα στο δίκτυο εκτελώντας λειτουργίες όπως η συγκέντρωση πληροφοριών. Προς το παρόν υπάρχουν αρκετοί παράγοντες που επιβραδύνουν την τεχνολογία των κινητών πρακτόρων. Αυτοί είναι τόσο σοβαροί που, σε συνδυασμό με την σπανιότητα εργαλείων, συνετέλεσαν στο να παραμένει η τεχνολογία πρακτόρων στα σπάργανα.

Ο προγραμματισμός ενός κινητού πράκτορα είναι αρκετά δύσκολος: αν κοιτάξετε τον HTML κώδικα για διάφορους ιστοχώρους λιανικού εμπορίου βιβλίων, θα δείτε ότι ένας επισκέπτης πράκτορας θα αντιμετωπίσει δυσκολίες στο να διακρίνει αν ο ιστοχώρος είναι ένα βιβλιοπωλείο ή είναι μία βιβλιογραφική σελίδα. Επιπρόσθετα, θα αντιμετωπίσει δυσκολίες στο να ξεχωρίσει τους αριθμούς μιας σελίδας, για παράδειγμα ένας αριθμός αντιπροσωπεύει μία ποσότητα αποθέματος ή αποτελεί μέρος του τίτλου του βιβλίου; Το πρόβλημα είναι ακόμη πιο κρίσιμο όταν πρόκειται για λέξεις, για παράδειγμα ένα πράκτορας μπορεί να δυσκολευτεί να ανακαλύψει τον συγγραφέα και τον τίτλο του βιβλίου Marcel Proust του David Enright. Τα ίδια προβλήματα παρουσιάζονται με ένα πρόγραμμα πελάτη που εκτελείται σε έναν υπολογιστή και παραπέμπει σε άλλους ιστοχώρους.

Αυτό που λείπει είναι η σημαντική: κάποια ένδειξη για το τί σημαίνουν τα στοιχεία μιας σελίδας. Υπάρχει κάποια σημαντική στις σελίδες HTML, για παράδειγμα το επίθεμα <LI> εισάγει ένα στοιχείο μίας λίστας. Ωστόσο, αυτή η σημαντική είναι ελλιπής για έναν περιηγητή. Δεν υπάρχει σημαμαντική για εφαρμογές. Όπως θα δείτε παρακάτω στο κεφάλαιο, η χρήση του σαρωτή προσθέτει σημαντική σε ένα τεκμήριο που αποδίδεται με σημειογραφική γλώσσα.

Το κεφάλαιο αυτό εισάγει την XML. Θα την δείτε πλήρως χρησιμοποιούμενη στο τελικό κεφάλαιο που περιγράφει μία μεγάλης κλίμακας μελέτη περίπτωσης
Η εισαγωγή αυτή βασίζεται σε ένα τεκμήριο Ιστού 'XML, Java και το μέλλον του Ιστού', γραμμένο από τον Jon Bosak της Sun Microsystems. Μπορεί να βρεθεί στην πρώτη ομάδα των υπερσυνδέσμων παρακάτω.
XML εισαγωγές
BizTalk
Υπάρχει μία εξαίρετη γλώσσα γνωστή ως  SGML που θα συναντήσετε αργότερα. Ωστόσο, υστερεί ως προς την επεξεργασία που απαιτείται για ακριβή σχεδιασμό
Η συζήτηση εδώ υποθέτει ότι δεν εφαρμόζεται καμία μορφή τεχνητής νοημοσύνης και ότι ο ιστοχώρος δεν έχει χρησιμοποιήσει καθόλου σχόλια μέσα στην HTML για να τραβήξει την προσοχή σε συγκεκριμένα αποσπάσματα δεδομένων
Το Κεφάλαιο 15 περιγράφει λεπτομερώς τους πράκτορες και το Κεφάλαιο 16 περιγράφει τον κινητό υπολογισμό