что мы должны использовать SOAP и когда следует использовать REST? - PullRequest
0 голосов
/ 29 января 2020

Когда мы должны использовать SOAP и когда мы должны использовать REST? Может ли кто-нибудь дать обоснованный ответ на этот вопрос?

Об этом спрашивали во время интервью. Я сказал, что это договор с другими сторонами. Я не знаю, правильно это или неправильно. Может ли кто-нибудь помочь с этим.

SOAP Я имею в виду структуру, как показано ниже.

    <?xml version='1.0' Encoding='UTF-8' ?>
    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> 
     <env:Header>
      <m:reservation xmlns:m="http://travelcompany.example.org/reservation" 
            env:role="http://www.w3.org/2003/05/soap-envelope/role/next">
       <m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference>
       <m:dateAndTime>2007-11-29T13:20:00.000-05:00</m:dateAndTime>
      </m:reservation>
      <n:passenger xmlns:n="http://mycompany.example.com/employees" 
            env:role="http://www.w3.org/2003/05/soap-envelope/role/next">
       <n:name>Fred Bloggs</n:name>
      </n:passenger>
     </env:Header>
     <env:Body>
      <p:itinerary xmlns:p="http://travelcompany.example.org/reservation/travel">
       <p:departure>
         <p:departing>New York</p:departing>
         <p:arriving>Los Angeles</p:arriving>
         <p:departureDate>2007-12-14</p:departureDate>
         <p:departureTime>late afternoon</p:departureTime>
         <p:seatPreference>aisle</p:seatPreference>
       </p:departure>
       <p:return>
         <p:departing>Los Angeles</p:departing>
         <p:arriving>New York</p:arriving>
         <p:departureDate>2007-12-20</p:departureDate>
         <p:departureTime>mid-morning</p:departureTime>
         <p:seatPreference></p:seatPreference>
       </p:return>
      </p:itinerary>
     </env:Body>
    </env:Envelope>

1 Ответ

1 голос
/ 29 января 2020

В нескольких словах, используя REST, вы можете описать те же самые операции, которые вы можете ожидать от поиска, вставки, обновления, удаления базы данных. В REST такая операция связана с командой HTTP: GET, PUT, POST, DELETE. Вот почему REST называется передачей состояния в том смысле, что вы перемещаете объекты внутрь / наружу, как в базе данных, другими словами, изменяя состояние вашей «модели».

С другой стороны, SOAP отражает больше процедуру удаленного вызова (RP C), где сообщение сильно структурировано на XML, это означает, что в SOAP вы не просто передаете данные но отправьте команды. В SOAP вы можете определить, как в языке программирования, методы и параметры. Что касается последнего пункта, позволяющего клиенту использовать «методы» (действительно хорошо структурированные XML сообщения, с именами и параметрами), определенные службой SOAP, то же служба должна публиковать sh и XML документ, описывающий, какие сообщения и их формат он может принять: если метод не существует, он выдает ошибку типа «Служба не поддерживается».

...