3 Stimmen

Webdienste oder benutzerdefiniertes Protokoll?

Ich habe keine Erfahrung mit Web-Services. Historisch gesehen habe ich Client-Server-Systeme mit proprietären Kommunikationsprotokollen aufgebaut (auch wenn sie zufällig XML verwenden). Gerade habe ich ein paar Stunden damit verbracht, Axis2 zu untersuchen, und mir lief ein Schauer über den Rücken. Die Lernkurve von WS macht mir Angst, und wenn ich all dieses XML um so wenig Funktionalität herum sehe, frage ich mich, ob es die Mühe wert ist.

Wie entscheiden Sie, ob Sie Web-Services oder ein benutzerdefiniertes Kommunikationsprotokoll verwenden müssen? Was sind die Vor- und Nachteile jeder Herangehensweise und für welche Anwendungsfälle eignen sie sich am besten?

Bitte veröffentlichen Sie eine klare Richtlinie, keine Meinungsäußerung :)

0voto

Khoth Punkte 12918

Webservices haben den Vorteil, dass sie ziemlich standardisiert sind, sodass es für Programme, von denen du noch nie gehört hast, möglich ist, einen von dir geschriebenen Webservice zu verwenden. Die Verwendung von HTTP kann ihnen helfen, über Proxies und andere Netzwerkhindernisse zu kommunizieren, ohne dass du zusätzliche Arbeit leisten musst. Das XML, obwohl ziemlich umfangreich und hässlich, ist beim Debuggen eher lesbar als binäre Daten.

Wenn du Dinge über das Netzwerk überträgst, ist es unwahrscheinlich, dass die Serialisierung/Deserialisierung zu XML der limitierende Faktor für die Leistung ist. Es kann etwas mühsam sein, obwohl dir eine Bibliothek, die das für dich erledigt, sehr helfen wird.

0voto

Ron Savage Punkte 10579

Nach meiner persönlichen (alten grantigen) Meinung sollten Web-Services nur als Möglichkeit verwendet werden, um einige Ihrer internen Informationen für Dritte zugänglich zu machen (d.h. für andere Unternehmen, Personen außerhalb Ihrer Organisation usw.). Natürlich war das auch der ursprünglich beabsichtigte Zweck von XML. :-)

Wenn Sie Zugriff auf eine direkte Verbindung zu den Datenbanken haben, die die Informationen enthalten, die Ihre Anwendung benötigt - das ist der Weg. Es ist schneller und einfacher - was in der Anwendungsprogrammierung "besser" und "weniger fehleranfällig" bedeutet.

0voto

S.Lott Punkte 371691

SOAP und XML - "all das XML drumherum, das so wenig Funktion bietet, lässt mich fragen, ob es die Mühe wert ist."

Völlig. SOAP ist schwerfällig und - zu einem großen Teil - eine Umgehung der Notwendigkeit für statische Bindungen im gesamten Java-Technologiestapel.

REST hingegen ist viel leichtgewichtiger. Außerdem ist REST mit JSON oder REST mit YAML sehr leichtgewichtig und einfach umzusetzen. Es baut direkt auf dem HTTP-Protokoll ab.

REST erfordert, dass Sie Ressourcen definieren (benannt über URIs) und Transaktionen basierend auf den kanonischen CRUD-Regeln (GET, POST, PUT und DELETE). Sehr einfach und kanonisch.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X