Το πρωτόκολλο πρόσβασης απλού αντικειμένου είναι ένα ελαφρύ πρωτόκολλο που βασίζεται σε XML που χρησιμοποιείται για την ανταλλαγή πληροφοριών μέσω του Διαδικτύου μεταξύ προγραμμάτων που εκτελούνται στο ίδιο ή διαφορετικό λειτουργικό σύστημα. Τα μηνύματα SOAP μπορούν να μεταφερθούν χρησιμοποιώντας μια ποικιλία πρωτοκόλλων, συμπεριλαμβανομένων των HTTP, SMTP ή MIME. Όλα τα μηνύματα SOAP χρησιμοποιούν την ίδια μορφή που την καθιστά συμβατή με διάφορα λειτουργικά συστήματα και πρωτόκολλα.
Γιατί να χρησιμοποιήσω το πρωτόκολλο HTTP για μηνύματα SOAP;
Παραδοσιακά, το πρωτόκολλο HTTP χρησιμοποιείται για την αποστολή ιστοσελίδων μέσω διαδικτύου. Εφόσον τα τείχη προστασίας συνήθως δεν αποκλείουν την επισκεψιμότητα της θύρας 80 (HTTP), τα περισσότερα μηνύματα SOAP μπορούν να περάσουν χωρίς προβλήματα.
Μεταφραστική κρατική μεταφορά (REST)
Το REST είναι μια αρχιτεκτονική ανιθαγένειας που βασίζεται σε πρότυπα ιστού και γενικά τρέχει μέσω HTTP. Περιγράφηκε για πρώτη φορά από τον Roy Fielding το 2000. Η αρχιτεκτονική αντιμετωπίζει κάθε οντότητα ως πόρο, το οποίο μπορεί να προσεγγιστεί μέσω μιας κοινής διεπαφής βασισμένης στις πρότυπες μεθόδους HTTP.
Αρχιτεκτονική REST
Η αρχιτεκτονική REST έχει συνήθως ένα πρόγραμμα-πελάτη REST και ένα διακομιστή. Ο διακομιστής συνήθως παρέχει πρόσβαση στους πόρους και ο πελάτης έχει πρόσβαση και τροποποιεί τους πόρους. Οι πόροι αναγνωρίζονται χρησιμοποιώντας τα παγκόσμια αναγνωριστικά στοιχεία (τα οποία είναι τυπικά δείκτες παγκόσμιου πόρου (URI)). Η αρχιτεκτονική τονίζει ότι έχει έναν περιορισμένο αριθμό λειτουργιών μεταξύ του πελάτη και ενός διακομιστή για να βελτιώσει την απόδοση ενός συστήματος.
Διαφορά μεταξύ των υπηρεσιών ιστού SOAP και REST
- Το SOAP είναι πρωτόκολλο ανταλλαγής μηνυμάτων με βάση το XML, ενώ το REST είναι αρχιτεκτονικό στυλ.
- Το SOAP έχει σχεδιαστεί για να χειρίζεται κατανεμημένους υπολογιστές, ενώ το REST αναλαμβάνει επικοινωνία από σημείο σε σημείο όπου ο ενδιάμεσος δεν διαδραματίζει σημαντικό ρόλο.
- Το REST δεν απαιτεί τίποτα εκτός από το HTTP. Το SOAP απαιτεί πλήρη σειρά εργαλείων και υποστήριξη middleware.
- Υπάρχει ενσωματωμένο πρόγραμμα χειρισμού σφαλμάτων στο REST. Δεν υπάρχει τέτοιος χειριστής στο SOAP.