Γιώργος Θάνος Παρασκευή 5 Δεκεμβρίου 2008 Web Services Γιώργος Θάνος Παρασκευή 5 Δεκεμβρίου 2008
Εισαγωγή Τα Web-Services επιτρέπουν την εκτέλεση μίας λειτουργίας σε ένα απομακρυσμένο εξυπηρετητή και την επιστροφή του αποτελέσματος στο χρήστη ή τη διεργασία που το αιτήθηκε. Είναι ανεξάρτητα από την γλώσσα ή την πλατφόρμα υλοποίησης. H υλοποίηση της επικοινωνίας βασίζεται στη στοίβα πρωτοκόλλων TCP/IP-HTTP-XML.
Παλαιότερες υλοποιήσεις όπως το CORBA ή το DCOM της Microsoft εξαρτόνταν από την αρχιτεκτονική ή την υλοποίηση. Ήταν αποτελεσματικές ως προς την ταχύτητα, αλλά σύνθετες προγραμματιστικά. Δεν ήταν έυκολο να υλοποιηθούν σε όλες τις πλατφόρμες. Η XML περιγραφή είναι αυτοπεριγραφική. Είναι εύκολο χωρίς ειδικά εργαλεία να αντιληφθούμε τι ζητά ένα web service.
Η πρώτες υλοποιήσεις των web services είχαν στόχο αποκλειστικά την εκτέλεση μία διεργασίας σε απομακρυσμένο εξυπηρετητή. Η μορφοποίηση της πρώτης επικοινωνίας ονομάζεται XML-RPC (Remote Procedure Call). Ορίζονται συγκεκριμένοι τύποι δεδομένων Array Base64 Boolean, integer double String, struct
Παράδειγμα πληροφορίας XML-RPC
Εξελίσσοντας το XML-RPC H ανάγκη για αυστηρότερο ορισμό των παραμέτρων του RPC μας οδήγησε στην εξέλιξη του, δηλ. στο πρωτόκολλο SOAP Simple Object Access Protocol – SOAP http://www.w3.org/TR/soap/ (W3C Spec) Βασικά στοιχεία του SOAP Envelope Header Body
Ο σκελετός του SOAP μηνύματος
Περισσότερες πληροφορίες για τη δομή των SOAP μηνυμάτων μπορείτε να βρείτε http://www.w3schools.com/SOAP/default.asp http://www.intertwingly.net/stories/2002/03/16/aGentleIntro ductionToSoap.html http://www.digilife.be/quickreferences/PT/XML messaging with SOAP.pdf
Ανακεφαλαιώνοντας Σύγχρονη επικοινωνία. Ο αιτών την “εργασία” αναμένει την απάντηση του εξυπηρετητή. Είναι προφανές ότι η χρήση των Web Services αφορά κυρίως RPC όπως το είδαμε μέχρι τώρα.
Είναι μόνο RPC τα Web Services; Δύο συμπληρωματικές προσεγγίσεις είναι Service Oriented Architecture (SOA): Θεωρούμε ότι κάθε web service επιτελεί μία λειτουργία η οποία συμβάλει σε ένα ή περισσότερα business process. Τα web services αντιμετωπίζονται ως απομακρισμένες λειτουργίες. RESTFull Web Services Αποδίδονται από ένα URL
Γλώσσα περιγραφής WS Προκειμένου να ορίσουμε ένα web-service είναι αναγκαία μία γλώσσα περιγραφής του. Η γλώσσα αυτή είναι η WSDL (Web Services Description Language). Δημιουργώντας το WS συνήθως δημιουργείται αυτόματα και η WSDL περιγραφή του. Μπορούμε να χρησιμοποιήσουμε την WSDL περιγραφή για να δημιουργήσουμε τον σκελετό του client side WS που θα καλέσει τελικά τo server side WS.