Nøkkelforskjell: SOAP står for Simple Object Access Protocol. SOAP webtjenester er basert på SOAP og ws- * spesifikasjoner. Begrepet Representative State Transfer (REST) har blitt opprettet av Roy Fielding. Det refererer til et webprogramgrensesnitt som implementeres ved å bruke begreper og prinsipper for HTTP og REST.
Webtjeneste kan defineres på mange måter. For å forstå det kan man imidlertid definere det som en metode som brukes til kommunikasjon mellom applikasjoner eller systemer. Den kan beskrives som en standardbasert og språkbasert programvare-enhet som er i stand til å akseptere formaterte forespørsler fra andre typer enheter for å generere applikasjonsspesifikke svar. Webtjenester er applikasjonskomponenter som kommuniserer ved hjelp av åpne protokoller. Webtjenester bruker et standardisert HTTP- og XML-meldingssystem, og er derfor plattformuavhengig og språkavhengig.
Webtjenester er klassifisert i to typer: Simple Object Access Protocol (SOAP) og Representational State Transfer (REST).
SOAP webtjenester er basert på SOAP og ws- * spesifikasjoner. Den bruker WS-Trust til å skaffe sikkerhetstokenene. Det er basert på standardene. Disse webtjenestene er objektorientert. SOAP er i utgangspunktet en protokollspesifikasjon som brukes til å utveksle strukturert informasjon under implementeringen av webtjenester. Det benytter XML for meldingsformatet. SOAP støttes av Web Services Interoperability Organisation (WS-I). SOAP har vært i stand til å ta vare på aspekter som sikkerhet og adressering, gjennom intern implementering av SOAP-protokollen.
Sammenligning mellom REST og SOAP Web Services:
REST Web Services | SOAP Web Services | |
Forkortelse | Representasjonell statlig overføring | Enkel objekttilgangsprotokoll |
Standard | Ingen standard | Deklarativ (standard WSDL brukes) |
Brukerstøtte | Tallrike innholdstyper | Bare XML |
Pålitelighet | Programspesifikasjon | WS-Pålitelig meldingstjeneste |
caching | Få operasjoner kan bufres om ønskelig. | Nei |
Størrelse på meldingen | Lett | Relativt tung |
Gjennomføring | Enkel | Complex |
Søknadsområder | Begrenset båndbredde og ressurser Helt statsløse operasjoner Caching situasjoner | Asynkron behandling og påkalling Formelle kontrakter Statlige operasjoner |
Utviklervisning | Ressursorientert | Objekt orientert |
Transport protokoll støtte | HTTP | HTTP, SMTP, JMS |