Я прочитал учебник "web-service-php-mysql-xml-json".
Кажется, все в порядке. Но почему мы должны использовать мыло для веб-сервисов?
Я прочитал учебник "web-service-php-mysql-xml-json".
Кажется, все в порядке. Но почему мы должны использовать мыло для веб-сервисов?
При создании веб-сервисов вы можете использовать два способа:
Большинство людей выбирают путь меньшего сопротивления, который REST. Это означает простоту, простоту разработки, использование HTTP так, как оно предназначено для использования, хорошо использовать прокси кеша, более читаемые пользователем результаты и т.д.
SOAP на другом конце более тяжелый, чем REST, а также подкрепляется большим набором specifications. Но поскольку он более сложный (SOAP был акронимом для Simple Object Access Protocol - который оказался... НЕ) SOAP не понравился многим людям.
Оба подхода работают, и оба имеют преимущества и недостатки.
Например, SOAP может использовать любой транспортный протокол, а не только HTTP (S), SOAP предлагает больше опций при обеспечении безопасности, SOAP предлагает надежную передачу сообщений и т.д. и т.д. REST, с другой стороны, допускает много разных типов форматов данных, REST позволяет лучше поддерживать браузеры из-за формата JSON, REST имеет лучшую производительность и т.д. И т.д.
Я не буду вдаваться в подробности, так как вы можете найти много сравнений SOAP и REST в Интернете. То, что я хочу подчеркнуть, это тот факт, что в некоторых случаях один работает лучше, чем другой, и зависит от вас, чтобы определить и выбрать, какой из них реализовать для вашего конкретного случая.
РЕДАКТИРОВАТЬ: Чтобы ответить на ваш вопрос:
зачем использовать SOAP или REST? мы можем иметь веб-сервис без них?
Ну, W3C определяет веб-службу как " программную систему, предназначенную для поддержки взаимодействия между машинами и машинами через сеть".
ОК... это хорошо для определения. Но это не определение для SOAP/REST, это требование может быть успешно передано на
Важный момент, который пользователь159088 упоминает в своем ответе: " [...] вы можете легко создавать клиенты, начиная с файла WSDL [...]"!
Я хотел бы подробнее остановиться на этом:
Вы можете использовать SOAP в сочетании с WSDL, который стандартизован, что означает, что люди, знающие стандарт (WSDL), могут узнать из него, какие операции предлагает веб-сервис и как обмен данными.
Это знание может быть использовано f.e. для создания инструментов, которые генерируют безопасные типы/объекты привязки типа из файла WSDL. Вы можете использовать эти сгенерированные классы (для создания RPC) без ручного внедрения запросов и кодирования/анализа данных, которые обмениваются.
В то время как для REST нет стандарта (например, схемы WSDL), как выглядят данные с обменом. В результате вы часто разбираете данные самостоятельно.
Второй момент заключается в том, что REST работает в основном с протоколом HTTP (s) (он основан на нем). Он использует глаголы CRUD (CREATE/READ/UPDATE/DELETE) протокола HTTP (s). SOAP не полагается на него и поэтому может использоваться и с другими протоколами.