Forskel mellem SOA og Web Services

Anonim

SOA vs Web Services

Webtjenester bruges til at opbygge programmer, der kan sende / modtage meddelelser ved hjælp af SOAP over HTTP. En webservice er en offentliggjort pakke af funktionalitet, der tilbydes over internettet. SOA er et sæt arkitektoniske begreber anvendt til udvikling og integration af tjenester. Web-tjenester kan bruges til at implementere SOA. Men det er kun en enkelt metode til at realisere SOA-baserede applikationer.

Hvad er webtjenester?

En webservice er en kommunikationsmetode over netværket. Ifølge W3C er en webservice et system dedikeret til at understøtte maskin-til-maskin-transaktioner via et netværk. Det er en web-API beskrevet i WSDL (Web Service Description Language), og webtjenester er normalt selvstændige og selvbeskrivende. Web-tjenester kan opdages ved hjælp af UDDI-protokollen (Universal Description, Discovery and Integration). Ved at udveksle SOAP (Simple Object Access Protocol) -meddelelser, typisk over HTTP (med XML), kan andre systemer interagere med webtjenester.

Webtjenester bruges på flere måder som RPC (Remote Procedure Calls), SOA (Service Oriented Architecture) og REST (Representational State Transfer). Der er to automatiserede designmetoder til udvikling af webtjenester. Bottom-up-fremgangsmåden omhandler først at oprette klasserne og derefter bruge WSDL generationsværktøjer til at komponere disse klasser som webtjenester. Top-down-fremgangsmåden handler om at definere WSDL-specifikationerne og derefter bruge kodegenereringsværktøjer til at generere de tilsvarende klasser. Webtjenester har to store anvendelser. De kan bruges som genanvendelige applikationskomponenter og / eller til at forbinde webapplikationer, der kører på forskellige platforme.

Hvad er SOA?

SOA (Serviceorienteret arkitektur) er et sæt arkitektoniske begreber, der anvendes til udvikling og integration af tjenester. SOA beskæftiger sig med distribueret computing, hvor forbrugerne forbruger et sæt interoperable tjenester. Flere forbrugere kan forbruge en enkelt tjeneste og omvendt. Derfor bruges SOA ofte til at integrere flere applikationer, der bruger forskellige platforme. For at SOA skal kunne fungere korrekt, bør tjenester løst sammenkobles med operativsystemer og teknologier til underliggende applikationer. SOA-udviklere opretter tjenester ved hjælp af funktionalitetsenheder og gør dem tilgængelige via internettet. Web-tjenester kan bruges til at implementere SOA-arkitektur. I så fald bliver webtjenester enheder af funktionalitet af SOA tilgængelige over internettet. Web-tjenester kan bruges af nogen uden at være bekymret over platformene eller programmeringssprogene, der bruges til at udvikle dem. SOA bygger direkte på princippet om serviceorientering, der tales om tjenester med simpel grænseflade, der kan åbnes uafhængigt af brugere uden at bekymre sig om den faktiske platformsimplementering af tjenesten.

Hvad er forskellen mellem SOA og Web Services?

Der er nogle vigtige forskelle mellem webtjenester og SOA. Webtjenester definerer en webteknologi, som kan bruges til at opbygge applikationer, der kan sende / modtage meddelelser ved hjælp af SOPA via HTTP. SOA er imidlertid en arkitektonisk model til implementering af løst koblede servicebaserede applikationer. Web-tjenester kan bruges til at implementere SOA-applikationer. Selvom webservice tilgang til SOA er blevet meget populær, er det kun en enkelt metode til implementering af SOA. SOA kan implementeres ved hjælp af anden servicebaseret teknologi (f.eks. CORBA og REST).