Forskjellen mellom SOA og Web Services

Anonim

SOA vs Web Services

Webtjenester brukes til å bygge applikasjoner som kan sende / motta meldinger ved hjelp av SOAP over HTTP. En webtjeneste er en publisert pakke med funksjonalitet som tilbys over nettet. SOA er et sett av arkitektoniske begreper som brukes til utvikling og integrering av tjenester. Webtjenester kan brukes til å implementere SOA. Men det er bare en enkelt metode for å realisere SOA-baserte applikasjoner.

Hva er webtjenester?

En webtjeneste er en kommunikasjonsmetode over nettverket. Ifølge W3C er en webtjeneste et system dedikert til å støtte maskin-til-maskin transaksjoner over et nettverk. Det er en web-API beskrevet i WSDL (Web Service Description Language), og webtjenester er vanligvis selvforsynte og selvbeskrivende. Webtjenester kan oppdages ved hjelp av UDDI-protokollen (Universal Description, Discovery and Integration). Ved å utveksle SOAP (Simple Object Access Protocol) meldinger, vanligvis over HTTP (med XML), kan andre systemer kommunisere med webtjenester.

Webtjenester brukes på flere måter som RPC (Remote Procedure Calls), SOA (Service Oriented Architecture) og REST (Representational State Transfer). Det er to automatiserte designmetoder for å utvikle webtjenester. Bottom-up tilnærmingen omhandler først å lage klassene og deretter bruke WSDL generasjonsverktøy for å komponere disse klassene som webtjenester. Top-down-tilnærmingen handler om å definere WSDL-spesifikasjonene og deretter bruke kodegenerasjonsverktøy for å generere de tilsvarende klassene. Webtjenester har to store bruksområder. De kan brukes som gjenbrukbare applikasjonskomponenter og / eller tilkobling av webapplikasjoner som kjører på forskjellige plattformer.

Hva er SOA?

SOA (Service-orientert arkitektur) er et sett av arkitektoniske begreper som brukes til utvikling og integrering av tjenester. SOA omhandler distribuert databehandling, der forbrukere bruker et sett av interoperable tjenester. Flere forbrukere kan forbruke en enkelt tjeneste og omvendt. Derfor er SOA ofte brukt til å integrere flere applikasjoner som bruker forskjellige plattformer. For at SOA skal kunne operere, bør tjenestene være løst forbundet med operativsystemer og teknologiene til underliggende applikasjoner. SOA-utviklere lager tjenester som bruker enheter av funksjonalitet, og gjør dem tilgjengelige over internett. Webtjenester kan brukes til å implementere SOA-arkitektur. I så fall blir webtjenester enhetene med funksjonalitet til SOA tilgjengelig over internett. Webtjenester kan brukes av noen uten å være bekymret for plattformene eller programmeringsspråkene som brukes til å utvikle dem. SOA bygger direkte på prinsippet om serviceorientering, som snakker om tjenester med enkelt grensesnitt som kan nås uavhengig av brukerne, uten å bekymre seg for den faktiske plattformsimplementeringen av tjenesten.

Hva er forskjellen mellom SOA og Web Services?

Det er noen viktige forskjeller mellom webtjenester og SOA. Webtjenester definerer en webteknologi som kan brukes til å bygge applikasjoner som kan sende / motta meldinger ved hjelp av SOPA over HTTP. SOA er imidlertid en arkitektonisk modell for implementering av løst koblede servicebaserte applikasjoner. Webtjenester kan brukes til å implementere SOA-applikasjoner. Selv om nettbasert tilnærming til SOA har blitt veldig populær, er det bare en enkelt metode for implementering av SOA. SOA kan implementeres ved hjelp av annen servicebasert teknologi (f.eks. CORBA og REST).