Was ist der Unterschied zwischen einem Endpunkt, einen Dienst und einen port, wenn die Arbeit mit webservices?

StackOverflow https://stackoverflow.com/questions/11561

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();
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top