Was ist der Unterschied zwischen einem Endpunkt, einen Dienst und einen port, wenn die Arbeit mit webservices?
-
08-06-2019 - |
Frage
Ich habe Apache CXF aussetzen etwa zehn java-Klassen, die als web-services.
Ich habe generierten Kunden mit CXF -, Achsen -, und .NET.
In der Achse und CXF einen "Service" oder "Locator" generiert.Von diesem service erhalten Sie einen "Port".Der "Port" wird verwendet, um einzelne Anrufe zu den Methoden, die vom web-service.
In .NET "Service" direkt verfügbar macht, die Aufrufe der web-service.
Kann jemand erklären, den Unterschied zwischen einem port, einen Dienst, ein locator, und ein Endpunkt, wenn es um web-services?
Achse:
PatientServiceImplServiceLocator locator =
new PatientServiceImplServiceLocator();
PatientService service = locator.getPatientServiceImplPort();
CXF:
PatientServiceImplService locator = new PatientServiceImplService();
PatientService service = locator.getPatientServiceImplPort();
.net:
PatientServiceImplService service = new PatientServiceImplService();
Lösung
Ich würde hüpfen über http://www.w3.org/TR/wsdl.html was ich denke, erklärt Hafen -, Service-und Endpunkt einigermaßen gut.Ein locator ist eine Implementierung der spezifischen Mechanismus, der einige WS-stacks verwenden, um Zugriff auf service-Endpunkte.
Andere Tipps
Ich fand die Informationen basierend auf Kevin Kenny ' s Antwort, aber ich dachte, ich würde es hier posten für die anderen.
Ein WSDL-Dokument definiert Dienstleistungen als Sammlungen von Netzwerk-Endpunkte oder ports.In WSDL, die abstrakte definition der Endpunkte und Nachrichten getrennt von Ihrer konkreten network deployment-oder Daten-format-Bindungen.Dies ermöglicht die Wiederverwendung von abstrakten Definitionen:Nachrichten, die abstrakten Beschreibungen der Daten, die ausgetauscht werden, und port-Typen, die Abstrakt sind Sammlungen von Operationen.Das konkrete Protokoll und Datenformat-Spezifikationen für einen bestimmten port-Typ stellt eine wiederverwendbare binden.Ein port ist definiert durch die Zuweisung einer Netzwerk-Adresse mit wiederverwendbaren binden und einer Auflistung der ports, einen service definieren.Daher wird ein WSDL-Dokument verwendet die folgenden Elemente in der definition von Netzwerk-services:
- Typen– ein container für Daten Typ Definitionen mit einige Typ-system (z.B. XSD).
- Nachricht– eine abstrakte, typisierte definition der Daten, die kommuniziert werden.
- Betrieb– eine abstrakte Beschreibung einer Aktion vom Dienst unterstützt wird.
- Port-Typ–eine abstrakte Gruppe von Operationen, unterstützt von einem oder mehreren Endpunkten.
- Binding– eine konkrete Protokoll und Datenformat-Spezifikation für einen bestimmten port-Typ.
- Port– einen einzelnen Endpunkt, definiert als eine Kombination aus einer-Bindung und einer Netzwerk-Adresse.
- Service– eine Sammlung verbundener Endpunkte.
Ich möchte hinzufügen, dass <port>
und <endpoint>
dem gleichen Zweck dienen, aber port
wird von WSDL 1.1 und WSDL endpoint
von WSDL 2.0.
Wie Sie bereits erwähnt haben, diese Begriffe bedeuten verschiedene Dinge in verschiedenen stapeln - es gibt nicht die eine richtige generische Antwort für web-services.