Web Services Υπηρεσίες διαδικτύου

Download Report

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

... ... ... ... ... ... 28/4/2020 14

SOAP – request 1/2

Apples 28/4/2020 15

SOAP – response 2/2

1.90 16

WSDL

Web Services Description Language

 Βασίζεται στην XML  Χρησιμοποιείται για την  Περιγραφή των web services  Καθορισμός των λειτουργιών και των μεθόδων που παρέχει μία web service  Δήλωση της τοποθεσίας των web services  Για το πώς θα αποκτηθεί η πρόσβαση σε αυτές  Δεν είναι ακόμα standard του W3C 28/4/2020 17

WSDL – συντακτικό 1/3

 Ένα αρχείο WSDL είναι ένα απλό XML αρχείο και αποτελείται από τα ακόλουθα:   Οι λειτουργίες που υλοποιεί η web service   Τα μηνύματα που χρησιμοποιεί η web service   Οι τύποι δεδομένων που χρησιμοποιεί   Το πρωτόκολλο επικοινωνίας που χρησιμοποιεί 18

WSDL – συντακτικό 2/3

28/4/2020 19

WSDL – συντακτικό 3/3

28/4/2020 20

Χρήση 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