Def. Web Service

E

entrePt

Gast
Hallo!

Ich bin kürzlich mit dem Begriff "Web Service" konfrontiert worden, und wusste eigentlich gar nicht so richtig, was das ist. Ich habe daraufhin die Wikipedia Artikel auf deutsch und englisch gelesen und ein Video bei Youtube geschaut, aber mir ist noch immer nicht 100% klar, was ein Web Service ist.

In vielen Fällen, wird mit Web Services diese Grafik in Verbindung gebracht, die ein Directory, Service Konsumenten und Service Anbieter umfasst. Was ist jetzt hier der Web Service? Die ganze Architektur? Oder ist jeder Service Anbieter quasi ein Web Service? Wie könnte ich mir so ein Szenario z.B. physikalisch vorstellen?

Ich danke euch und hoffe, dass ich hier im richtigen Teilforum gelandet bin :)

LG,
entrePt
 

Ullenboom

Bekanntes Mitglied
Komisch, hier will sich keiner bei der Definition die Finger verbrennen. Also für mich ist ein Web-Service das, was auch der Name sagt: Ein Dienst, der über das Netz und in der Regel das HTTP-Protokoll angeboten wird. Das kann ein typischer SOAP-WS sein, oder ein REST-WS. Der Client/Server können in beliebigen Programmiersprachen verfasst sein, was die Interoperabilität so schön macht.
 

schlingel

Gesperrter Benutzer
Stimme Ullenboom zu. Ein Webservice ist erstmal ein Service der über das Web angeboten wird.

Wie der Service ausschaut (REST, SOAP, ...) ist offen. Als Transport-Layer kommt das Web und damit HTTP/S zum Einsatz.
 

KSG9|sebastian

Top Contributor
Was ein Webservice ist, oder was er war?

Mhhh...zuerst war er der Heilsbringer der IT, die Lösung für alles und jedes Problem.
"Das System ist inperformant!" - "Kein Problem, wir verwenden Webservices, ab jetzt wird alles besser"
"Das System skaliert nicht" - "Kein Thema, dafür wurden Webservices erfunden"
"Unsere Architektur ist s*****e" - "Oh, perfekt, Webservices lösen alle Probleme".

Ein paar Monate/Jahre später war der Webservice dann das verpönteste Ding in der IT, aus dem einfachen Grund weil viele Leute keine Ahnung haben was ein Webservice eigentlich ist - und mit Webservice wurde immer sofort SOAP assoziiert, und mit SOAP wurde "überkonfigurierbare XML-Hölle" assoziiert.

Aber eigentlich ist ein Webservice nur ein Dienst der etwas für einen übernimmt, mit definierter Verfügbarkeit, einem definierten Schema für den Aufruf und die Rückgabe.

Die das Ding implementiert ist hat ermal nix mit dem Service zu tun, das sind Implementierungsdetails.

Der Servicenehmer ist derjenige, der den Service aufruft (=konsumiert)
Der Servicegeber ist derjenige, der den Service bereitstellt

Szenarien dafür gibt es genügend, oftmals ist die Landschaft so aufgebaut, das die Services in fachliche Domänen gekapselt werden (z.B. Konto, Darlehen, Person...). Die Services werden entweder dann direkt bereitgestellt und angesprochen, oder eben über z.B. einen ESB orchestriert.

Im ersten Fall muss der Servicenehmer exakt wissen, wo der Service läuft und wie er ansprechbar ist. Im zweiten Fall, mit einem ESB, gibt es unter Umständen eine API um die Services aufzurufen. Wo diese Services dann laufen ist dem Aufrufer relativ egal.
 

schlingel

Gesperrter Benutzer
@KSG9|sebastian: Die Definition ist unscharf. Wo ist der Unterschied zwischen Webservice und Service nach deiner Definition?

Ist ein Webservice auch ein Service der seine Dienste per eigenem Protokoll über UDP anbietet? Ist also ein Webservice alles was über's Internet kommt? Oder auch im W/L/P/AN?

Würde dann ein Torrent-Server einen Webservice anbieten? Oder ein Mail-Server?

Oder wolltest du genau darauf hinaus: Das ist nur ein Buzzword?
 

KSG9|sebastian

Top Contributor
@KSG9|sebastian: Die Definition ist unscharf. Wo ist der Unterschied zwischen Webservice und Service nach deiner Definition?

Ist ein Webservice auch ein Service der seine Dienste per eigenem Protokoll über UDP anbietet? Ist also ein Webservice alles was über's Internet kommt? Oder auch im W/L/P/AN?

Würde dann ein Torrent-Server einen Webservice anbieten? Oder ein Mail-Server?

Oder wolltest du genau darauf hinaus: Das ist nur ein Buzzword?

Für mich ist ein Webservice etwas, das über den HTTP/S-Stack transportiert wird, d.h. kein RMI oder ähnliches.
Leider wird, wie du schon angemerkt hast, Webservice in sämtlichen Kontexten verwendet, weshalb mittlerweile sehr unklar ist was genau jemand denn meint wenn er Webservice/Service erwähnt.
 

Ähnliche Java Themen

Neue Themen


Oben