soap vs rest difference
Αυτό το σεμινάριο εξηγεί τις υπηρεσίες SOAP και REST στο Parasoft. Θα μάθετε Stateless έναντι Stateful, Ασφάλεια SOAP έναντι REST, Γιατί το REST είναι ταχύτερο από το SOAP κ.λπ.
Έχουμε επίσης καλύψει δείγματα αιτημάτων και την απόκριση SOAP και REST σε μορφή XML και JSON αντίστοιχα.
Προς το τέλος αυτού του σεμιναρίου, θα είστε σε θέση να γράψετε τα προγράμματα JSON που έχουν εξηγηθεί με διαφορετικά παραδείγματα προγραμμάτων μαζί με το JSON Path ή το JSON Evaluator και Document Keys concept του Parasoft.
=> Δείτε την πλήρη σειρά μαθημάτων SOATest εδώ .
Αυτό το σεμινάριο περιγράφει επίσης τα διάφορα ρήματα που χρησιμοποιούνται στο Parasoft ή στο SOAtest Automation Tool μαζί με τα παραδείγματα προγραμματισμού και τον αντίστοιχο κωδικό απόκρισης HTTP και τις χρήσεις τους. Θα μπορείτε να καταλάβετε πώς να φτιάξετε τις σουίτες SOAtest σας με καλύτερο τρόπο, ο οποίος θα καλυφθεί λεπτομερώς στο επερχόμενο σεμινάριό μας.
Μπορείτε επίσης να δοκιμάσετε να απαντήσετε στις ερωτήσεις που αναφέρονται στο κάτω μέρος μόλις περάσετε από αυτό το σεμινάριο.
Τι θα μάθετε:
Τι είναι η υπηρεσία SOAP;
Το SOAP σημαίνει Πρωτόκολλο Πρόσβασης Απλού Αντικειμένου . Τα πρωτόκολλα δεν είναι παρά ένα σύνολο κανόνων που ορίζετε για ένα τεστ. Είναι ένα πρωτόκολλο 'state-full', σε αντίθεση με το REST που περιλαμβάνει τη χρήση του WSDL (Web Services Description Language) για την περιγραφή υπηρεσιών web.
Όλα τα αιτήματα και οι απαντήσεις στο SOAP γίνονται σε XML (Extensible Markup Language). Το σαπούνι είναι πιο ασφαλές σε σύγκριση με το αντίστοιχο. Δεν παρέχει καμία ανεξάρτητη επεξεργασία για διαφορετικές μεθόδους και αυτός είναι ο λόγος για τον οποίο ονομάζεται πρωτόκολλο «γεμάτο κατάσταση».
Γιατί το σαπούνι είναι πιο ασφαλές;
Αν και το SOAP και το REST υποστηρίζουν και τα δύο SSL (Secure Socket Layer) για προστασία δεδομένων, ενώ υποβάλλουν το αίτημα, το SOAP υποστηρίζει την ασφάλεια υπηρεσιών Web (επίσης γνωστή ως WS- Security ή WSS) για προστασία σε επίπεδο επιχείρησης που απουσιάζει από τις υπηρεσίες REST. Το Web Services Security (WS-Security, WSS) είναι μια επέκταση στο SOAP για την εφαρμογή ασφάλειας στις υπηρεσίες Web.
Δείγμα αιτήματος σώματος σαπουνιού
Parasoft TUP true
Έχουμε ένα XML που θα χρησιμοποιηθεί ως ωφέλιμο φορτίο για να σχηματίσουμε το σώμα αιτήσεων του SOAP. Οποιαδήποτε γλώσσα XML αποτελείται από την έκδοση που πρέπει να καθοριστεί πάνω από το σενάριο. Δεν χρειάζεται να ανησυχείτε για τις ετικέτες, καθώς όλα τα αρχεία XML σάς επιτρέπουν να δημιουργήσετε τις ετικέτες σας, σε αντίθεση με το HTML.
Εάν προσπαθείτε να δημιουργήσετε τα διακριτικά μέσω αιτήματος SOAP, τότε πρέπει απλώς να παράσχετε τις απαραίτητες παραμέτρους όπως το αναγνωριστικό χρήστη και τον κωδικό πρόσβασης μαζί με τη διεύθυνση URL που πατάτε στο σώμα του αιτήματος ή το XML κάτω από τις προσαρμοσμένες ετικέτες σας.
Παρακάτω δίνεται το στιγμιότυπο οθόνης του προγράμματος προβολής κίνησης του Parasoft (ένα στοιχείο που σας επιτρέπει να δείτε το αποτέλεσμα).
[εικόνα πηγή ]
Διακεκριμένα χαρακτηριστικά του σαπουνιού
Παρακάτω αναφέρονται μερικά από τα εξέχοντα χαρακτηριστικά του SOAP:
# 1) Οποιοσδήποτε φάκελος SOAP μπορεί να χρησιμοποιηθεί σε υπηρεσίες REST όπως δημιουργημένο διακριτικό, αλλά όχι αντίστροφα. Αυτό σημαίνει ότι εάν έχετε δημιουργήσει ένα διακριτικό χρησιμοποιώντας SOAP, τότε αυτό το διακριτικό μπορεί να χρησιμοποιηθεί στο REST (στην ενότητα HTTP header manager => Εξουσιοδότηση). Αλλά δεν μπορείτε να χρησιμοποιήσετε φακέλους REST σε αίτημα SOAP.
#δύο) Το SOAP είναι πιο ασφαλές από το REST καθώς χρησιμοποιεί WS-Security για μετάδοση μαζί με το Secure Socket Layer.
# 3) Το SOAP χρησιμοποιεί μόνο XML για αίτημα και απάντηση. Δεν χρησιμοποιεί απλό κείμενο ή άλλο.
# 4) Το SOAP είναι γεμάτο κατάσταση (δεν είναι απάτριδα) καθώς παίρνει ολόκληρο το αίτημα στο σύνολό του, σε αντίθεση με το REST που παρέχει ανεξάρτητη επεξεργασία διαφορετικών μεθόδων. Δεν υπάρχει ανεξάρτητη επεξεργασία στο SOAP.
Τι είναι η υπηρεσία REST;
Το REST σημαίνει Αντιπροσωπευτική Μεταφορά Κράτους . Το REST είναι μια «απάτριδα» αρχιτεκτονική που περιλαμβάνει πολλές μεθόδους ή ρήματα κατά την αντιμετώπιση αιτημάτων και απαντήσεων.
Όλα τα αιτήματα και οι απαντήσεις στο REST γίνονται σε XML, JSON (Σημείωση αντικειμένου JavaScript) ή απλό κείμενο. Το REST είναι ταχύτερο από το SOAP λόγω της εμπλοκής του JSON (το οποίο είναι ελαφρύ) στο αίτημα / ωφέλιμο φορτίο του REST.
Κάθε μέθοδος υποβάλλεται σε επεξεργασία ανεξάρτητα στο REST και αυτός είναι ο λόγος για τον οποίο ονομάζεται «απάτριδα» αρχιτεκτονική.
Γιατί είναι πιο γρήγορο το REST;
Η φύση της ανιθαγένειας του REST το καθιστά γρηγορότερο από ένα σαπούνι. Κάθε ρήμα υποβάλλεται σε επεξεργασία ανεξάρτητα και χρησιμοποιεί το αντικείμενο JSON το οποίο είναι πολύ πιο γρήγορο όταν διασχίζει οποιοδήποτε συγκεκριμένο πεδίο σε ένα έγγραφο που περιέχει περισσότερες από ένα εκατομμύριο εγγραφές.
Πριν ξεκινήσουμε για μεθόδους που χρησιμοποιούνται στο REST, πρέπει να γνωρίζουμε τη διαδρομή JSON και JSON, καθώς είναι η πιο κοινή μορφή μετάδοσης δεδομένων στο REST.
Τι είναι το JSON;
Το JSON σημαίνει σημείωση αντικειμένων JavaScript. Είναι μια μορφή που χρησιμοποιείται συνήθως στον πελάτη REST.
Είναι αυτονόητο και κατανοητό επίσης. Απλώς πρέπει να περάσετε το JSON στην ενότητα ωφέλιμου φορτίου της μεθόδου REST. Είναι μια ελαφριά μορφή ανταλλαγής δεδομένων που επιτρέπει στις υπηρεσίες REST να είναι πολύ γρηγορότερες ακόμα κι αν ασχολείται με ένα εκατομμύριο εγγραφές.
Προγραμματισμός με JSON
Ακολουθεί ένα δείγμα προγράμματος με μόνο ένα έγγραφο που ονομάζεται 'τηλέφωνο'.
[εικόνα πηγή ]
Αυτό είναι το δείγμα του προγράμματος JSON στο οποίο πρέπει να ανακτήσω την αξία του τύπου του τηλεφώνου μου. Σε ένα τέτοιο σενάριο, μπορείτε να χρησιμοποιήσετε δύο τεχνικές για να περάσετε από αυτό το πεδίο. Το ένα είναι από το JSON Path και το άλλο με το κλειδί εγγράφου.
# 1) Κατά την αντιμετώπιση της διαδρομής JSON, μπορείτε να χρησιμοποιήσετε δύο μεθόδους:
$.phone[:1].type $['phone'][':1']['type']
#δύο) Καθώς το Parasoft δεν επιτρέπει τη διαδρομή JSON, μπορούμε να χρησιμοποιήσουμε το κλειδί εγγράφου που είναι λίγο απλό κατά τη διέλευση. Απλώς περάστε το κλειδί εγγράφου μαζί με τη διεύθυνση URL στην καρτέλα πόρων ως
phone.type
Απλά πρέπει να κάνετε κλικ στο κουμπί προσθήκης στο παρακάτω στιγμιότυπο οθόνης και να εισαγάγετε το phone.type και τελειώσατε.
Στο παρακάτω παράδειγμα, πρέπει να διασχίσετε το τελευταίο στοιχείο του πεδίου τοποθεσίας που είναι ένας πίνακας. Έτσι, δοκιμάστε να γράψετε ένα JSON Path για αυτό.
vr ακουστικά για xbox one s
Όπως μπορείτε να δείτε στους αριθμούς γραμμών 37 και 39 (παραπάνω), έχουν γραφτεί δύο διαφορετικές διαδρομές JSON για την ίδια διαδρομή που περνά στο τελευταίο στοιχείο του πεδίου τοποθεσίας. Με τον ίδιο τρόπο, μπορείτε να δημιουργήσετε το JSON (ένα σύνθετο ένθετο έγγραφο) και να προσπαθήσετε να γράψετε τη διαδρομή JSON για πρακτικούς σκοπούς.
ΑΠΟΤΕΛΕΣΜΑ:
['Χέλσινγκμποργκ']
Μπορείτε να δοκιμάσετε όσα JSON θέλετε, σε έναν ανοιχτό ιστότοπο που ονομάζεται JSON διαδικτυακός αξιολογητής
Μέθοδοι / ρήματα σε ξεκούραστες υπηρεσίες
Οι υπηρεσίες REST παρέχουν ένα ευρύ φάσμα μεθόδων που είναι επίσης γνωστές ως ρήματα για διαφορετικό τύπο αιτημάτων. Αυτά περιλαμβάνουν κυρίως POST, PUT, PATCH, GET, DELETE, CUSTOM .
ΘΕΣΗ
Αυτή η μέθοδος είναι υπεύθυνη για τη δημιουργία της εγγραφής. Μετά την επιτυχή εκτέλεση, ο κωδικός απόκρισης HTTP είναι 201.
Ακολουθεί το δείγμα JSON που απεικονίζει το POST.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
Όταν περάσουμε αυτό το JSON ως σώμα αιτήματος, τότε θα δημιουργήσει το έγγραφο με έναν κωδικό απόκρισης 201.
ΠΑΙΡΝΩ
Αυτή είναι μια άλλη μέθοδος ή ρήμα που χρησιμοποιείται για την ανάκτηση του εγγράφου ή της εγγραφής. Με την επιτυχή εκτέλεση του GET, ο κωδικός απόκρισης θα είναι 200. Αυτό δεν περιέχει κανένα σώμα αιτήματος ή ωφέλιμο φορτίο.
Το μόνο που έχετε να κάνετε είναι να πατήσετε το ίδιο URL χρησιμοποιώντας τη μέθοδο GET στην καρτέλα πόρων του Parasoft χρησιμοποιώντας το κλειδί εγγράφου ως 'Δοκιμή'. Ακόμα κι αν δεν περάσετε κανένα κλειδί εγγράφου, θα πάρει ολόκληρο το έγγραφο.
Ας πούμε ότι περνάμε το κλειδί εγγράφου ως 'Test.Test2', τότε θα μου πάρει την ακόλουθη εγγραφή.
{ “Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
ΒΑΖΩ
Αυτή η μέθοδος χρησιμοποιείται για την ενημέρωση του εγγράφου και έχει έναν κωδικό απόκρισης 200 μετά την επιτυχή εκτέλεση.
Αν και το POST και το PUT δεν διαφέρουν πολύ και όλα εξαρτώνται από τον προγραμματιστή ως προς τον τρόπο με τον οποίο θέλουν να κωδικοποιήσουν. Κυρίως, οι προγραμματιστές χρησιμοποιούν τη μέθοδο PUT όταν θέλουν να ενημερώσουν κάποια τιμή πεδίου.
Για παράδειγμα: Εάν θέλουμε να αλλάξουμε κάποια τιμή στο παραπάνω έγγραφο JSON που έχει εισαχθεί από το POST, τότε θα περάσουμε ολόκληρο το σώμα αιτήματος με την ενημερωμένη τιμή χρησιμοποιώντας τη μέθοδο PUT.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Όταν βλέπουμε την απόκριση στο πρόγραμμα προβολής επισκεψιμότητας, τότε η τιμή του πεδίου θα ενημερωθεί ως
'Πλατφόρμα': 'Ενημερωμένα Windows'
ΠΑΤΣΑ (ΤΕΛΩΝΕΙΑ)
Αυτή είναι μια άλλη μέθοδος που χρησιμοποιείται αποκλειστικά για την ενημέρωση της εγγραφής. Οι περισσότεροι προγραμματιστές προτιμούν αυτήν τη μέθοδο από τη μέθοδο PUT, καθώς κάνει την καλύτερη χρήση των πόρων. Εάν θέλετε να ενημερώσετε κάποια τιμή πεδίου στο έγγραφό σας, το μόνο που έχετε να κάνετε είναι να μεταβιβάσετε μόνο αυτό το πεδίο με την ενημερωμένη τιμή της εγγραφής.
Ας πούμε, Αν θέλουμε να ενημερώσουμε την εγγραφή POST, τότε θα χρησιμοποιήσουμε μόνο το ακόλουθο σώμα αιτήματος κατά τη χρήση του PATCH.
{“Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Όπως παρατηρήσατε, εδώ δεν περάσαμε τις τιμές πεδίου του 'Test', σε αντίθεση με τη μέθοδο PUT. Η επιτυχής εκτέλεση θα σας δώσει έναν κωδικό απόκρισης 200 ή 201.
ΔΙΑΓΡΑΦΩ
Όπως υποδηλώνει το ίδιο το όνομα, θα διαγράψει την εγγραφή που είναι επίσης γνωστή ως προτιμήσεις. Αυτό δεν περιέχει κανένα σώμα αιτήματος όπως το GET και συχνά έχει τον κωδικό απόκρισης ως 203 (Χωρίς περιεχόμενο). Εάν πρέπει να διαγράψουμε ολόκληρο το έγγραφο τότε στο παραπάνω JSON, τότε θα περάσουμε απλώς το κλειδί εγγράφου ως.
Test
Αυτό θα διαγράψει ολόκληρο το έγγραφο. Εάν δεν περάσουμε καθόλου το κλειδί εγγράφου, τότε επίσης θα διαγράψει ολόκληρο το έγγραφο.
Παγίδες του ερευνητή
Ε # 1) Οι περισσότεροι από τους ερωτηθέντες προσπαθούν να συγχέουν όταν σας ρωτούν ότι έλαβαν έναν επιτυχημένο κωδικό απόκρισης λειτουργίας ως 200 αντί για 204. Σε μια τέτοια κατάσταση, τι πρέπει να κάνω; Πρέπει να το αναφέρω ως σφάλμα;
Απάντηση: Η απάντηση στην παραπάνω ερώτηση είναι απλή. Δεν χρειάζεται να δημιουργήσετε ένα σφάλμα. Αντ 'αυτού, μπορείτε να μιλήσετε στον προγραμματιστή ή να προσπαθήσετε να παρατηρήσετε την άλλη απόκριση λειτουργίας διαγραφής. Ένας κωδικός απόκρισης 200 υποδηλώνει πάντα την επιτυχή λειτουργία και το 204 είναι ειδικό για ΔΙΑΓΡΑΦΗ. Ίσως υπάρχει πιθανότητα οι προγραμματιστές να χρησιμοποιήσουν 200 για όλες τις επιτυχημένες λειτουργίες.
Ε # 2) Πώς μπορώ να ελέγξω εάν οι συγκεκριμένες τιμές πεδίου είναι σωστές ή όχι χωρίς χρήση βάσης δεδομένων σε ένα αίτημα JSON 1 εκατομμυρίου γραμμών κώδικα;
Απάντηση: Η απάντηση είναι στέλνοντας το κλειδί εγγράφου στη λειτουργία GET. Το δείγμα URL θα φαίνεται όπως φαίνεται παρακάτω:
https://resource-name.com/context-key/document-key
Στην παραπάνω διεύθυνση URL, το κλειδί περιβάλλοντος θα πάρει μοναδικά το συγκεκριμένο JSON 1 εκατομμυρίου εγγραφών και το κλειδί εγγράφου θα πάρει τη συγκεκριμένη τιμή πεδίου σε αυτήν την εγγραφή.
Ε # 3) Εάν δεν καθορίσω κανένα όνομα εγγράφου πάνω από το JSON μου, τι πρέπει να περάσω ως κλειδί εγγράφου για να ανακτήσω ολόκληρο το έγγραφο;
Απάντηση: Μπορείτε να περάσετε οτιδήποτε. Ναι ακριβώς. Εάν δεν έχετε ορίσει κάποιο όνομα εγγράφου και εάν υπάρχουν μόνο πεδία και τιμές που υπάρχουν στο έγγραφό σας, τότε μπορείτε να μεταβιβάσετε οποιαδήποτε τιμή συμβολοσειράς. Αυτή η συμβολοσειρά θα αντιμετωπίζεται αυτόματα ως κλειδί εγγράφου σας.
Περίληψη
Μέχρι τώρα, θα πρέπει να έχετε μια δίκαιη ιδέα για τις υπηρεσίες διαδικτύου SOAP και REST, τη δομή τους, τις σημαντικές διαφορές μεταξύ τους, τις δυνατότητες και τη χρήση τους.
Επιπλέον, σε αυτό το σεμινάριο, έχουμε καλύψει τις πιο κοινές / σημαντικές μεθόδους (επίσης γνωστές ως ρήματα) που χρησιμοποιούνται στις υπηρεσίες REST μαζί με τον προγραμματισμό JSON και τη διαδρομή JSON για σκοπούς αξιολόγησης.
Εκπαιδευτικό πρόγραμμα PREV | ΕΠΟΜΕΝΟ Φροντιστήριο
Συνιστώμενη ανάγνωση
- JSON Tutorial: Εισαγωγή και ένας πλήρης οδηγός για αρχάριους
- Μια απλή προσέγγιση για XML στη δοκιμή βάσεων δεδομένων
- 10 καλύτερα εργαλεία δοκιμών API το 2021 (SOAP και REST API Testing Tools)
- 15+ Tutorial SoapUI: Το καλύτερο εργαλείο δοκιμών API υπηρεσιών Ιστού
- 7 Σημαντικά χαρακτηριστικά του SoapUI και του SoapUI Pro - Tutorial 2
- Πώς να δημιουργήσετε Mock Service και Δυναμική Απόκριση στο SoapUI
- Πώς να δημιουργήσετε το έργο REST στο SoapUI Pro: Tutorial # 13
- Βήμα προς βήμα SoapUI Διαδικασία λήψης και εγκατάστασης - SoapUI Tutorial # 3
- Κορυφαίες ερωτήσεις και απαντήσεις συνέντευξης για υπηρεσίες Web Web (RESTful, SOAP, Ερωτήσεις ασφαλείας)