Веб-сервис по существу обеспечивает возможность RPC (удаленного вызова процедур) поверх протокола Интернета (HTTP). URL реализует API, который принимает набор аргументов функции и возвращает значение. Для реализации этого механизма RPC поверх протокола HTTP используются разные подходы. XML-RPC определяет простой механизм задания аргументов и ответа с использованием XML. SOAP - это очень продвинутая версия XML-RPC. JSON-RPC позволяет указывать аргументы процедуры и возвращаемые значения с помощью JSON (нотация объектов JavaScript).
Некоторые языки программирования имеют встроенную поддержку для разработки и работы с веб-сервисами. Например, в Python xmlrpclib предоставляет клиентскую функциональность протокола XML-RPC. Библиотека XmlRpcServer в Python упрощает разработку веб-сервера на основе XML-RPC. Веб-сервисы совместимы в том смысле, что клиент и сервер могут быть легко реализованы на разных языках программирования, и им не нужно беспокоиться о деталях друг друга.
Веб-сервисы отличаются от других механизмов RPC, таких как RMI COM / CORBA / JAVA. Эти механизмы RPC используют двоичные данные для обмена аргументами и результатами. Веб-сервисы используют текстовые протоколы, такие как XML / JSON, для реализации протокола RPC. Следовательно, они тяжелее с точки зрения коммуникационных накладных расходов. Они все еще очень хороши для разработки слабосвязанных систем. Одним из их больших преимуществ является тот факт, что они не привязаны к конкретному языку программирования.