Transcript Web Services Υπηρεσίες διαδικτύου
Web Services Υπηρεσίες διαδικτύου
Ορισμός των Web Services
Εφαρµογές λογισµικού προσπελάσιμες μέσω Internet µέσω τυποποιηµένης αποστολής µηνυµάτων σε XML για
απ’ ευθείας αλληλεπίδραση μεταξύ εφαρμογών
Οι υπηρεσίες διαδικτύου μπορούν να
προσπελαστούν με χρήση browsers
, αλλά δεν απαιτείται η χρήση ούτε browser ούτε HTML Οι υπηρεσίες διαδικτύου παρέχουν έναν
ανεξάρτητο από δεδομένα μηχανισμό παρουσίασης
των υπηρεσιών της επιχείρησης, με
χρήση standard XML πρωτοκόλλων
28/4/2020 2
Ορισμός by IBM
Web services είναι μια νέα γενιά εφαρμογών web. Είναι αυτό-περιγραφικές, ανεξάρτητες, αρθρωτές εφαρμογές που μπορούν να δημοσιευτούν, να εντοπιστούν και να κληθούν από το web. Web services εκτελούν συναρτήσεις, που μπορεί να είναι οτιδήποτε από ένα απλό αίτημα έως μια περίπλοκη επιχειρησιακή διαδικασία. Μόλις μια υπηρεσία διαδικτύου αναπτυχθεί, άλλες εφαρμογές (και άλλες υπηρεσία διαδικτύου) μπορούν να αναζητήσουν και να την καλέσουν.
28/4/2020 3
Γιατί web services?
Κλήση/ενοποίηση λογισμικών λειτουργιών πάνω από ένα δίκτυο Β2Β – διεπιχειρησιακές συνεργασίες πάνω από ένα δίκτυο Web – Αποστολή αιτήσεων για υπηρεσίες μέσω HTTP πρωτοκόλλου Άλλες λύσεις: Corba, DCOM της Microsoft Προβλήματα διαλειτουργικότητας Έλλειψη προτυποποίησης 28/4/2020 4
Web services
1/2 Επιτρέπουν ένα πρόγραμμα σε έναν υπολογιστή να καλέσει μία λειτουργία σε έναν άλλο υπολογιστή χωρίς να δίνουν σημασία στα ακόλουθα : Λειτουργικό σύστημα Γλώσσα προγραμματισμού Κατασκευαστής Τοποθεσία στο διαδίκτυο 28/4/2020 5
Web services
Ανεξάρτητες από την αρχιτεκτονική schema descriptions discovery standards 2/2 Απλές Η δημιουργία Web Services είναι εύκολη, γρήγορη και απλή Το data schema είναι εύκολα αναγνώσιμο από τον άνθρωπο Χρησιμοποιείται οποιαδήποτε προγραμματιστική γλώσσα 28/4/2020 Interoperable Όλες οι Web Services μιλούν με τα ίδια standards μπορούν να επικοινωνήσουν μεταξύ τους Microsoft, IBM, Sun έχουν συμφωνήσει και χρησιμοποιούν τα ίδια standards 6
Web service implementation
Υλοποιούνται σαν επέκταση ενός Web Server Χρησιμοποιούν το standard http πρωτόκολλο, αλλά... Αντί να ζητούν (request) μία σελίδα, ζητούν την κλήση μίας λειτουργίας χρησιμοποιώντας ‘GET’, ‘POST’ ή το ‘SOAP’ 28/4/2020 Αντί να επιστρέφεται μία σελίδα, επιστρέφεται το αποτέλεσμα της λειτουργίας είτε ως απλό περιεχόμενο είτε ως περιεχόμενο σε SOAP 7
Web services architecture
1/2 Architecture components Service: η υλοποίηση μίας web service Service Description: περιέχει τις πληροφορίες της διασύνδεσης και της υλοποίησης της υπηρεσίας Roles Service Provider : η πλατφόρμα που φιλοξενεί την υπηρεσία Service Requestor : η εφαρμογή που καλεί μία υπηρεσία Discovery Agency υπηρεσιών τους : ένα σύνολο από περιγραφές υπηρεσιών στο οποίο οι service providers δημοσιεύουν τις περιγραφές των Interactions between the three roles Publish 28/4/2020 Find Interact 8
Web services architecture
2/2 28/4/2020 9
Web services stack
Transport layer HTTP, FTP, SMTP Packaging layer SOAP (Simple Object Access Protocol) Επιτρέπει στις εφαρμογές να ανταλλάσσουν πληροφορία μέσω του HTTP Description layer WSDL (Web Services Description Language) Χρησιμοποιείται για την περιγραφή των Web services και για το πώς να αποκτηθεί η πρόσβαση σε αυτές Discovery layer UDDI (Universal Description, Discovery, and Integration project) 28/4/2020 10
SOAP
Simple Object Access Protocol
Ένα πρωτόκολλο επικοινωνίας για την πρόσβαση σε μία web service Βασίζεται στην XML Πρωτόκολλο επικοινωνίας μεταξύ εφαρμογών Μία διαμόρφωση (formal) για την αποστολή μηνυμάτων Σχεδιάστηκε για την επικοινωνία μέσω Internet Είναι ανεξάρτητο από Την πλατφόρμα Την γλώσσα προγραμματισμού Είναι απλό και επεκτάσιμο Είναι standard από το W3C 28/4/2020 11
SOAP
Το πρωτόκολλο SOAP καθορίζει: Μία σειρά συμβάσεων για την χρησιμοποίηση SOAP μηνυμάτων Ένα σύνολο κανόνων για κάθε οντότητα που επεξεργάζεται SOAP μηνύματα Τον τρόπο μεταφοράς μηνύματος SOAP 28/4/2020 12
SOAP – συντακτικό 1/2
Ένα μήνυμα σε SOAP είναι ένα απλό XML αρχείο και περιέχει: Απαραίτητα ένα στοιχείο “Envelope” Αναγνωρίζει το XML αρχείο ως ένα SOAP μήνυμα Προαιρετικά ένα στοιχείο “Header” Απαραίτητα ένα στοιχείο “Body” Περιέχει πληροφορίες κλήσης και απάντησης Προαιρετικά ένα στοιχείο “Fault” Περιέχει πληροφορίες σχετικές με λάθη που γίνονται κατά την επεξεργασία του μηνύματος 28/4/2020 13
SOAP – συντακτικό 2/2
SOAP – request 1/2
SOAP – response 2/2
WSDL
Web Services Description Language
Βασίζεται στην XML Χρησιμοποιείται για την Περιγραφή των web services Καθορισμός των λειτουργιών και των μεθόδων που παρέχει μία web service Δήλωση της τοποθεσίας των web services Για το πώς θα αποκτηθεί η πρόσβαση σε αυτές Δεν είναι ακόμα standard του W3C 28/4/2020 17
WSDL – συντακτικό 1/3
Ένα αρχείο WSDL είναι ένα απλό XML αρχείο και αποτελείται από τα ακόλουθα:
WSDL – συντακτικό 2/3
WSDL – συντακτικό 3/3
Χρήση SOAP & WSDL
Η επιχείρηση Α χρησιμοποιεί ένα URL που παρέχεται από την επιχείρηση Β για να ανακτήσει μια λίστα με τις υπηρεσίες που δημοσιεύει η Β Η επιχείρηση Α «κατεβάζει» τα XML schemas (συνήθως σε WSDL) που περιγράφουν την μορφή των μηνυμάτων που αναμένονται από τις υπηρεσίες της εταιρείας Β Η επιχείρηση A σχηματίζει το ανάλογο XML μήνυμα και το αποστέλλει μέσω SOAP στην επιχείρηση Β Η επιχείρηση Β στέλνει μια απάντηση, μέσω SOAP, την οποία η επιχείρηση Α ερμηνεύει χρησιμοποιώντας την πληροφορία για το XML schema που έλαβε στο βήμα 2 28/4/2020 21
UDDI
Χώρος αποθήκευσης περιγραφών υπηρεσιών διαδικτύου κατά προσέγγιση ισοδύναμος με έναν αυτοματοποιημένο on line "τηλεφωνικό κατάλογο" των Υπηρεσιών Διαδικτύου Ορίζει μοντέλο δεδομένων (σε XML) και SOAP APIs για καταχώρηση και αναζήτηση πληροφοριών μιας επιχείρησης Τρεις τύποι πληροφοριών για τις υπηρεσίες Διαδικτύου: πληροφορίες
"λευκών σελίδων"
(όνομα, επαφές για την επιχείρηση ) πληροφορίες
"κίτρινων σελίδων" (
υπηρεσιών) και πληροφορίες
"πράσινων σελίδων"
τύποι επιχειρήσεων και (τεχνικά στοιχεία υπηρεσίας) 28/4/2020 22