Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ
Μάθημα Πρώτο Εισαγωγή στις Υπηρεσίες Ιστού (Web Services) Μοντέλα WS JSON Χρήση (consume) WS μέσω python Πρόσβαση σε WS και άντληση δεδομένων Παραδείγματα Google WS ΟΑΣΑ
Υπηρεσίες Ιστού (Web Services) Οι WS είναι αυτόνομες, αρθρωτές εφαρμογές που μπορούν να δημοσιευθούν, να εντοπισθούν και να κληθούν μέσω του Internet και οι οποίες βασίζονται σε κοινά αποδεκτά πρότυπα, όπως XML, HTTP, WSDL, UDDI, SOAP και REST. Μερικές από τις θεμελιώδεις έννοιες στις WS είναι η ενθυλάκωση, το πέρασμα μηνυμάτων και η δυναμική σύνδεση. Οι WS είναι ελαφρά (lightweight), χαλαρά συνδεδεμένα (loosely coupled), ανεξάρτητα πλατφόρμας και γλώσσας προγραμματισμού συστατικά. Στοιχεία λογισμικού που ανταλλάσσουν μεταξύ τους πληροφορίες χρησιμοποιώντας παγκόσμια πρότυπα και γλώσσες επικοινωνίας στον Ιστό
Υπηρεσίες Ιστού (Web Services) Οι WS είναι μια τεχνολογία που επιτρέπει στις εφαρμογές να επικοινωνούν μεταξύ τους ανεξαρτήτως πλατφόρμας και γλώσσας προγραμματισμού. Μια WS είναι μια διεπαφή λογισμικού (software interface) που περιγράφει ένα σύνολο λειτουργιών στις οποίες υπάρχει δικτυακή πρόσβαση μέσω τυποποιημένων μηνυμάτων XML. Οι WS προσφέρουν ένα τυποποιημένο τρόπο επικοινωνίας μεταξύ διαφορετικών εφαρμογών λογισμικού, οι οποίες εκτελούνται σε διαφορετικά περιβάλλοντα. Μια WS είναι ένας μηχανισμός ο οποίος παρέχει δεδομένα ή λειτουργικότητες μέσω του Παγκοσμίου Ιστού
Web Services
Πλεονεκτήματα Υπηρεσιών Ιστού Χρησιμοποιούν κοινά αποδεκτά πρότυπα Χρήση HTTP για τη μεταφορά δεδομένων Φιλικές προς τα τείχη προστασίας (firewall-friendly) Χρησιμοποιούν XML και JSON για την περιγραφή δεδομένων Γενικού σκοπού και ευρέως αποδεκτές σε σχέση με παλαιότερες τεχνολογίες Υποστηρίζουν τη διαλειτουργικότητα αφού υποστηρίζουν ανοιχτές τεχνολογίες του Internet
Λόγοι Χρησιμοποίησης των WS Διαλειτουργικότητα μεταξύ των κατανεμημένων εφαρμογών που είναι εγκαταστημένες σε διαφορετικά συστήματα και διαφορετικές πλατφόρμες λογισμικού. Εύκολη, διαδεδομένη πρόσβαση στις εφαρμογές μέσω των τοίχων προστασίας με τη χρήση πρωτοκόλλων του Παγκόσμιου Ιστού. Ένα ανεξάρτητο πλατφόρμας, διαγλωσσικό πρότυπο δεδομένων (XML) που διευκολύνει την ανάπτυξη ετερογενών κατανεμημένων εφαρμογών. Επειδή η πρόσβαση στα WS γίνεται με την χρήση τυποποιημένων πρωτοκόλλων του Παγκόσμιου Ιστού όπως το XML και το HTTP, οι διαφορετικές και ετερογενείς εφαρμογές στον Ιστό (οι οποίες ήδη κατανοούν το XML και το HTTP) μπορούν αυτόματα να έχουν πρόσβαση στα WS, και έτσι να επικοινωνούν η μία με την άλλη.
Υπηρεσίες Ιστού vs. Ιστότοποι Υπηρεσίες Ιστού Προσανατολισμένες στην προσφορά λειτουργιών Προορίζονται κυρίως για χρήση από συστήματα Αυτοπεριγραφόμενες Παρέχουν κάποια διεπαφή προγραμματισμού (API) Ιστότοποι Προσανατολισμένοι στην προσφορά πληροφορίας Προσανατολισμένοι για χρήση από χρήστες (ανθρώπους) Χωρίς διαθέσιμες περιγραφές Μπορούν να συνδυαστούν με άλλες υπηρεσίες Μπορούν να προσφέρουν πληροφορία από πολλές πηγές
Παραδείγματα Υπηρεσιών Ιστού Απλές υπηρεσίες ιστού: Παρέχουν πληροφορίες ή επιτελούν κάποιες λειτουργίες, Ενημέρωση για την τρέχουσα τιμή μιας χρηματιστηριακής μετοχής Ενημέρωση για τον καιρό σε μια περιοχή Μετατροπή από ένα νόμισμα σε ένα άλλο Σύνθετες υπηρεσίες ιστού: συνδυάζουν πληροφορίες και λειτουργικότητα που προέρχεται από πολλές υπηρεσίες ιστού, προκειμένου να διεκπεραιώσουν μια συγκεκριμένη επιχειρησιακή διεργασία (business process) Χρέωση παραγγελίας Παρουσίαση σημείων ενδιαφέροντος σε χάρτη
Τύποι Υπηρεσιών Ιστού Web Services 1.0: SOAP Web Services Πολύπλοκες Web Services 2.0: REST Web Services Ελαφριές και ευέλικτες Νέα και πιο απλή μορφή WS Όλες οι σημαντικές Υπηρεσίες Ιστού χρησιμοποιούν REST
RESTful Web Services (Representational State Transfer) Χρησιμοποιούν τυποποιημένες HTTP μεθόδους (GET, PUT, POST, DELETE) Χρησιμοποιούν JSON (JavaScript Object Notation) or XML
REST Web Services
GIS Web Service Παρέχει πρόσβαση σε δεδομένα GIS ή λειτουργικότητες πάνω από το Διαδίκτυο με τυποποιημένο τρόπο Μια GIS web service δεν είναι μια διαδικτυακή εφαρμογή χαρτογράφησης Μπορεί να χρησιμοποιηθεί ή να ενσωματωθεί σε μια Διαδικτυακή Εφαρμογή Μπορεί να θεωρηθεί ως μια διεπαφή μέσω τις οποίας μια εφαρμογή έχει πρόσβαση σε δεδομένα ή λειτουργικότητα Μπορεί να παρέχει γεωγραφικά δεδομένα Μπορεί να παρέχει λειτουργίες γεωεπεξεργασίας Αντιστοίχιση διευθύνσεων (address matching), Δρομολόγηση (routing), Γεωκωδικοποίηση (geocoding)
Πλεονεκτήματα Χρήσης GIS WS Τα δεδομένα δεν χρειάζεται να τηρούνται τοπικά, μπορούν να προέρχονται από πολλές πηγές και τα διαχειρίζεται η πιο αρμόδια υπηρεσία. Αν μια λειτουργικότητα προσφέρεται ήδη δεν χρειάζεται να αναπτυχθεί εκ νέου από τον προγραμματιστή Ο προγραμματιστής μπορεί να χρησιμοποιήσει πολλές υπηρεσίες ιστού στις εφαρμογές του. Οι υπηρεσίες χρησιμοποιούν τυποποιημένες δομές στην ανταλλαγή δεδομένων. Μπορούν να χρησιμοποιούν τα πιο ενδεδειγμένα εργαλεία ανάπτυξης Μπορούν να λειτουργούν πάνω από το Διαδίκτυο
Application Programming Interfaces (API) Ελληνικά Παρατηρητήριο τιμών ΟΑΣΑ Διαύγεια Scroutz API Google Chart Weather API (openweathermap.org) YouTube Data API Google analytics