Τα Web Services χρησιμοποιούνται για την machine to machine επικοινωνία, έστω ότι έχουμε μία εφαρμογή η οποία είναι γραμμένη σε μια συγκεκριμένη γλώσσα προγραμματισμού και έχουμε κατασκευάσει μια δεύτερη εφαρμογή σε διαφορετική γλώσσα προγραμματισμού και η οποία βρίσκεται σε διαφορετικό υπολογιστή.

Machine To Machine

Έστω ότι η δεύτερη εφαρμογή έχει ανάγκη να χρησιμοποιήσει κάποιες από τις λειτουργίες της πρώτης, το βασικό πρόβλημα είναι ότι οι εφαρμογές είναι γραμμένες σε διαφορετικές γλώσσες και χρειάζεται να βρεθεί κάποιος τρόπος ώστε να επικοινωνήσει η δεύτερη εφαρμογή με την πρώτη.

Ο τρόπος επικοινωνίας μεταξύ των εφαρμογών προέρχεται από τις τεχνολογίες των Web Services οι οποίες βασίζονται πάνω στη τεχνολογία web όπως ειναι το HTTP, η ανταλαγή δεδομένων και σηματων επικωνίας γίνεται μέσα από μορφές περιγραφής δεδομένων όπως είναι η XML και η σήμανση JSON.

REST, XML-RPC, SOAP

Οι τρεις κυριότερες τεχνολογίες των Web Services είναι το REST (Representational State Transfer), η XML-RPC (Remote Procedure Call) και το SOAP ( Simple Object Access Protocol). Στο REST διαθέτουμε ήδη όλα τα μέσα για να κάνουμε τις δύο εφαρμογές να επικοινωνήσουν, και αυτό γίνεται μέσα από HTTP όπου οι υπηρεσίες παρέχονται με URIs (resources) που χρησιμοποιούν τη μέθοδο HTTP GET.

Η δεύτερη τεχνολογία η XML-RPC χρησιμοποιεί απομακρυσμένες διαδικασίες κλήσεις πάνω στο HTTP χρησιμοποιώντας encoding XML, δηλαδή μπορούμε να καλέσουμε μια συγκεκριμένη λειτουργία μιας εφαρμογής η οποία βρίσκεται σε διαφορετικό υπολογιστή χρησιμοποιώντας συγκεκριμένους παραμέτρους σε αντίθεση με το REST που χρησιμοποιούνται δεδομένα.

Ο τρίτος τύπος το SOAP είναι παρόμοιος με την XML-RPC και με τη διαφορά ότι υποστηρίζει περισσότερους τύπου δεδομένων και υποστηρίζεται από μεγάλες εταιρίες λογισμικού.