Simple Object Access Protocol

Na Galipedia, a Wikipedia en galego.
SOAP.svg

SOAP (acrónimo de Simple Object Access Protocol) é un protocolo padrón creado por Microsoft, IBM e outros, está actualmente baixo o auspicio da W3C que define como se poden comunicar dous obxectos en diferentes procesos por medio de intercambio de datos XML. SOAP é un dos protocolos utilizados nos servizos Web.

Tecnoloxía[editar | editar a fonte]

A diferenza de DCOM e CORBA, que son binarios, SOAP usa o código textual XML, que facilita a eliminación de erros, co custo de ser menos eficiente. O intercambio de mensaxes realízase mediante tecnoloxía de compoñentes (software componentry, ver enxeñaría de software). O termo Object no nome significa que se adhire ao paradigma da programación orientada a obxectos.

SOAP é un marco extensíbel e descentralizado que permite traballar sobre múltiplas pilas de protocolos de redes informáticas. Os procedementos de chamadas remotas (RPC) poden ser modelados na forma de varios mensaxes SOAP interactuando entre si.

SOAP corre sobre calquera protocolo de Internet, xeralmente HTTP, que é o único homologado polo W3C. SOAP ten como base XML, cun deseño que cumpre o padrón Cabeceira-Desenvolvemento de deseño de software, como outros moitos deseños, tales como HTML. A cabeceira Header é opcional e contén metadatos sobre enrutamento (routing), seguridade ou transaccións. O desenvolvemento Body contén a información principal, que se coñece como carga útil (payload). A carga útil acóllese a un Schema XML propio.

Rendemento de SOAP[editar | editar a fonte]

Debido ao longo que é o formato XML, SOAP é considerablemente mais lento que outras tecnoloxías de middleware tales como CORBA. Tipicamente, SOAP é unhas 10 veces mais lento que un protocolo binario tal como RMI or IIOP.

Exemplos de mensaxes SOAP[editar | editar a fonte]

Como exemplo móstrase a forma en que un cliente solicitaría información dun produto a un provedor de servizos Web:

 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
     <getProductDetails xmlns="http://warehouse.example.com/ws">
       <produtId>827635</produtId>
     </getProductDetails>
   </soap:Body>
 </soap:Envelope>

E esta sería a contestación do provedor:

 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
     <getProdutDetailsResponse xmlns="http://warehouse.example.com/ws">
       <getProductDetailsResult>
         <produtName>Toptimate 3-Pece Set</produtName>
         <produtId>827635</produtId>
         <description>3-Pece age set.  Black Polyester.</description>
         <prezo>96.50</prezo>
         <inStock>tro</inStock>
       </getProductDetailsResult>
     </getProdutDetailsResponse>
   </soap:Body>
 </soap:Envelope>


HTTP foi elixido como protocolo de transporte primario polas súas vantaxes, para lidar con devasas, por exemplo. Outros protocolos como XIOP/IIOP ou DCOM acostuman ser repelidos por estas devasas.

Temas relacionados[editar | editar a fonte]

Ligazóns Externas[editar | editar a fonte]