Εισαγωγή στις υπηρεσίες RESTful με WCF – Ανάπτυξη Εφαρμογών για Κινητά, Υπηρεσίες Web, Αρχιτεκτονική - Τεχνολογία SOA
Μεταπηδήστε στο περιεχόμενο

Εισαγωγή στις υπηρεσίες RESTful με WCF – Ανάπτυξη εφαρμογών για κινητά, Υπηρεσίες Ιστού, Αρχιτεκτονική SOA

Διαφημίσεις

Πρώτον, οι υπηρεσίες RESTFUL ακολουθούν ένα αρχιτεκτονικό στυλ γνωστό ως Representational State Transfer (REST). Ένα αρχιτεκτονικό στυλ είναι ένα σύνολο περιορισμών που μπορούν να εφαρμοστούν κατά την κατασκευή κάτι. Και ένα στυλ αρχιτεκτονικής λογισμικού είναι κάτι που περιγράφει τα χαρακτηριστικά που μπορούν να χρησιμοποιηθούν για την καθοδήγηση της υλοποίησης ενός συστήματος λογισμικού. Το REST είναι ένα αρχιτεκτονικό στυλ που μπορεί να χρησιμοποιηθεί για τη δημιουργία λογισμικού στο οποίο οι πελάτες (πράκτορες χρήστη) μπορούν να υποβάλλουν αιτήματα για υπηρεσίες (τελικά σημεία). Το REST είναι ένας τρόπος εφαρμογής ενός στυλ αρχιτεκτονικής πελάτη/διακομιστή. Στην πραγματικότητα, το REST βασίζεται ρητά στο αρχιτεκτονικό στυλ πελάτη/διακομιστή.

Ένας άνδρας ονόματι Roy Thomas Fielding επινόησε για πρώτη φορά τον όρο REST ως έννοια στη διδακτορική του διατριβή (“Architecture Styles and the Design of Network-Based Software Architectures”). Ήταν ένας από τους ανθρώπους που εργάστηκαν για την προδιαγραφή που οδηγεί το μεγαλύτερο μέρος του Διαδικτύου σήμερα: Πρωτόκολλο μεταφοράς υπερκειμένου (HTTP) Κανονικά, το ιστορικό των ανθρώπων που περιγράφουν ένα αρχιτεκτονικό στυλ δεν είναι σχετικό με μια εξήγηση του στυλ, αλλά εδώ το ΝΟΜΙΖΩ είναι σημαντικό γιατί ΠΙΣΤΕΥΩ ότι ένας από τους καλύτερους τρόπους για να αποκτήσετε μια βασική κατανόηση του REST είναι να σκεφτείτε τον Ιστό και τον τρόπο λειτουργίας του.

WCF και REST

Το WCF είναι το πλαίσιο της Microsoft για τη δημιουργία εφαρμογών που επικοινωνούν μέσω δικτύου, ανεξαρτήτως πρωτοκόλλου ή στυλ. Η ιδέα του WCF ήταν να δημιουργήσει ένα επεκτάσιμο, συνδεόμενο πλαίσιο για την εκμάθηση πληροφοριών σχετικά με ένα μοντέλο προγραμματισμού και διαμόρφωσης, έτσι ώστε οι προγραμματιστές να μπορούν να εφαρμόσουν αυτή τη γνώση σε πολλούς διαφορετικούς τύπους κατανεμημένων συστημάτων.

Αν και είναι αλήθεια ότι μεγάλο μέρος του WCF είναι προσανατολισμένο στο RPC (χρησιμοποιώντας SOAP), είχε πραγματικά την ευκαιρία να εκθέσει και να καταναλώσει τις υπηρεσίες REST από τότε που κυκλοφόρησε για πρώτη φορά ως μέρος του .NET Framework 3.0. Με τη συναρμολόγηση .NET Framework 3.5 System.ServiceModel.Web προστέθηκε ένα μοντέλο προγραμματισμού καθώς και ορισμένα κομμάτια υποδομής που κατασκευάστηκαν για να λειτουργούν με το στυλ REST. Και το .NET Framework 3.5 SP1 προσθέτει μερικές μικρές βελτιώσεις για να κάνει το REST πιο εύκολο στη χρήση..

Το μοντέλο προγραμματισμού περιστρέφεται γύρω από δύο νέα χαρακτηριστικά, το WebGetAttribute και το WebInvokeAttribute, και μια μηχανή προτύπου URI που σας επιτρέπει να δηλώσετε το URI και το ρήμα στα οποία θα ανταποκρίνεται κάθε μέθοδος. Η υποδομή περιλαμβάνεται με τη μορφή μιας σύνδεσης (WebHttpBinding) και μιας συμπεριφοράς (WebHttpBehavior) που παρέχουν τη σωστή στοίβα δικτύωσης για τη χρήση REST. Επιπλέον, υπάρχει κάποια βοήθεια υποδομής φιλοξενίας από ένα προσαρμοσμένο ServiceHost (WebServiceHost) και ένα ServiceHostFactory (WebServiceHostFactory).