Διαφορά μεταξύ υπηρεσιών Web και WCF

Anonim

Web Services vs WCF

Και οι δύο υπηρεσίες Web και το WCF είναι τεχνολογίες ιστού που αναπτύχθηκαν από τη Microsoft. Οι υπηρεσίες Web εισήχθησαν σε παλαιότερες εκδόσεις του. NET, ενώ προστέθηκε το WCF. NET σε μεταγενέστερες εκδόσεις. Οι υπηρεσίες Web χρησιμοποιούνται για την κατασκευή εφαρμογών που μπορούν να στέλνουν / λαμβάνουν μηνύματα χρησιμοποιώντας SOAP μέσω HTTP. Το WCF προορίζεται για την κατασκευή κατανεμημένων εφαρμογών για την ανταλλαγή μηνυμάτων χρησιμοποιώντας SOAP σε οποιοδήποτε πρωτόκολλο μεταφοράς.

Υπηρεσίες Web

Μια υπηρεσία Web (γνωστή και ως τεχνολογία ASMX στο.NET) είναι μια μέθοδος επικοινωνίας μέσω του δικτύου. Σύμφωνα με το W3C, μια υπηρεσία Web είναι ένα σύστημα που είναι αφιερωμένο στη στήριξη συναλλαγών μηχανής-μηχανής μέσω ενός δικτύου. Πρόκειται για ένα API Web που περιγράφεται στην WSDL (Web Service Language Language) και οι υπηρεσίες Web είναι συνήθως αυτοτελείς και αυτοπεριγραφικές. Οι υπηρεσίες Web μπορούν να ανακαλυφθούν χρησιμοποιώντας το πρωτόκολλο UDDI (Universal Description, Discovery and Integration). Με την ανταλλαγή μηνυμάτων SOAP (Simple Access Protocol) συνήθως μέσω HTTP (με XML), άλλα συστήματα μπορούν να αλληλεπιδρούν με τις υπηρεσίες Web. Οι υπηρεσίες Web χρησιμοποιούνται σε διάφορους τρόπους, όπως το RPC (Remote Procedure Calls), το SOA (Service Oriented Architecture) και το REST (Representational State Transfer). Υπάρχουν δύο αυτοματοποιημένες μεθοδολογίες σχεδιασμού για την ανάπτυξη υπηρεσιών Web. Η προσέγγιση από τη βάση προς την κορυφή ασχολείται με την πρώτη δημιουργία των τάξεων και στη συνέχεια με τη χρήση εργαλείων δημιουργίας WSDL για να συνθέσουν αυτές τις κατηγορίες ως υπηρεσίες Web. Η προσέγγιση από την κορυφή προς τα κάτω ασχολείται με τον ορισμό των προδιαγραφών WSDL και στη συνέχεια με τη χρήση εργαλείων δημιουργίας κώδικα για τη δημιουργία των αντίστοιχων κλάσεων. Οι υπηρεσίες Web έχουν δύο σημαντικές χρήσεις. Μπορούν να χρησιμοποιηθούν ως επαναχρησιμοποιήσιμα εξαρτήματα εφαρμογών ή / και για τη σύνδεση εφαρμογών web που εκτελούνται σε διαφορετικές πλατφόρμες.

WCF

Το WCF (Windows Communication Foundation) είναι α. NET API (Διεπαφή Προγραμματισμού Εφαρμογών), το οποίο παρέχει ένα ενιαίο μοντέλο προγραμματισμού για την ανάπτυξη εφαρμογών συνδεδεμένων και υπηρεσιών. Συγκεκριμένα, χρησιμοποιείται για την ανάπτυξη και την ανάπτυξη κατανεμημένων εφαρμογών με SOA. Το SOA ασχολείται με τον κατανεμημένο υπολογισμό στον οποίο οι καταναλωτές καταναλώνουν υπηρεσίες. Πολλοί καταναλωτές μπορούν να καταναλώσουν μια ενιαία υπηρεσία και το αντίστροφο. Το WCF υποστηρίζει προχωρημένα πρότυπα υπηρεσιών ιστού, όπως WS-Addressing, WS-ReliableMessaging, WS-Security και RSS syndication (διαθέσιμο μετά την.NET 4. 0). Ένας πελάτης WCF χρησιμοποιεί ένα End Point για να συνδεθεί με μια υπηρεσία WCF. Κάθε υπηρεσία μπορεί να έχει πολλαπλά τελικά σημεία εκθέτοντας τη σύμβασή της. Ο όρος ABC χρησιμοποιείται για να αναφέρεται στη διεύθυνση / δέσμευση / σύμβαση της υπηρεσίας WCF. Η επικοινωνία μεταξύ πελατών και υπηρεσιών γίνεται μέσω φακέλων SOAP.

Ποια είναι η διαφορά μεταξύ υπηρεσιών Web και WCF;

Υπάρχουν ορισμένες βασικές διαφορές μεταξύ των υπηρεσιών Web και των υπηρεσιών WCF.Οι υπηρεσίες Web χρησιμοποιούνται για την κατασκευή εφαρμογών που μπορούν να στέλνουν / λαμβάνουν μηνύματα χρησιμοποιώντας το SOPA μέσω HTTP. Ωστόσο, το WCF προορίζεται για την κατασκευή κατανεμημένων εφαρμογών για την ανταλλαγή μηνυμάτων με χρήση SOAP και οποιουδήποτε πρωτοκόλλου μεταφοράς, όπως HTTP, TCP, ονομαστικές σωλήνες και Microsoft Message Queuing (MSMQ) κλπ. Επιπλέον, το WCF μπορεί να επεκταθεί για να λειτουργήσει με οποιοδήποτε άλλο πρωτόκολλο μεταφοράς. Αν και οι υπηρεσίες Web είναι πολύ απλές και εύκολες στην εφαρμογή, το WCF είναι πιο ισχυρό από την υπηρεσία Web. Οι υπηρεσίες Web μπορούν να φιλοξενούνται μόνο στο IIS και η ασφάλεια είναι περιορισμένη. Όμως, το WCF μπορεί να φιλοξενηθεί σε εξυπηρετητές IIS, αυτοεξυπηρετητές με εφαρμογές κονσόλας ή υπηρεσίες Win NT ή οποιοδήποτε άλλο διακομιστή. Επιπλέον, σε αντίθεση με τις υπηρεσίες Web, το WCF υποστηρίζει δυαδικό κώδικα. NET -. NET επικοινωνίες, κατανεμημένες συναλλαγές, προδιαγραφές WS- *, μηνύματα σε ουρές και επικοινωνίες Restful.