SOAP (protocol)

SOAP-structuur

SOAP (aanvankelijk een afkorting voor Simple Object Access Protocol) is een computerprotocol dat wordt gebruikt voor communicatie tussen verschillende componenten. SOAP wordt ondersteund door een groot aantal bedrijven en organisaties waaronder IBM, Novell, Microsoft, Oracle, Apache Software Foundation en het vroegere BEA Systems en Sun (nu Oracle). SOAP is een protocol dat XML-berichten stuurt, meestal over HTTP(S), maar ook over SMTP, JMS of FTP.

Het SOAP-protocol bestaat uit drie onderdelen:

  • Een envelop die een raamwerk definieert voor het beschrijven van wat in een bericht staat en hoe het te verwerken.
  • Een set van codeerregels voor de expressie van 'instanties' van applicatiegedefinieerde datatypen.
  • Een conventie voor de representatie van 'remote procedure calls' en antwoorden. SOAP kan worden gebruikt in combinatie met een grote verscheidenheid aan andere protocollen.

Onafhankelijk

[bewerken | brontekst bewerken]

Om bijvoorbeeld e-commerce te kunnen bedrijven is het noodzakelijk dat verschillende bedrijven hun systemen en applicaties met elkaar kunnen communiceren, onafhankelijk van besturingssysteem, programmeertaal en objectmodel. Idealiter zou een onderneming geen rekening hoeven moeten houden met de gebruikte technologieën van de andere. SOAP is een protocol dat in systeemonafhankelijkheid voorziet - onafhankelijkheid van taal, technologie, apparaat en technische implementatie.

Werking en alternatief

[bewerken | brontekst bewerken]

SOAP bundelde in eerste instantie het transport (HTTP) en de boodschap (XML). Naast HTTP kunnen in de huidige SOAP-specificatie (versie 1.1) ook andere protocollen als SMTP, FTP en MQ het transport van de boodschap vervullen. SOAP-implementaties zijn beschikbaar voor vele verschillende talen en omgevingen, zodat ontwikkelaars zich niet hoeven te bekommeren over de vormgeving van SOAP-berichten, over de wijze van versturen en het toepassen van foutcorrectie. Bovendien maken vele producten het mogelijk om Java-, COM- of CORBA-componenten om te vormen tot SOAP-webdiensten.

Een concurrent van SOAP wat betreft andere RPC-technologieën is XINS.