Care este diferența dintre un punct final, un serviciu și un port când lucrați cu serviciile web?

Am folosit Apache CXF pentru a expune aproximativ zece clase Java ca servicii web.

Am generat clienți utilizând CXF, Axis și .NET.

În Axă și CXF este generat un "serviciu" sau "Locator". Din acest serviciu puteți obține un "Port". Portul este utilizat pentru a efectua apeluri individuale la metodele expuse de serviciul web.

În .NET "Serviciul" expune direct apelurile către serviciul web.

Poate cineva să explice diferența dintre un port, un serviciu, un locator și un punct final în ceea ce privește serviciile web?

Axă:

PatientServiceImplServiceLocator locator = 
    new PatientServiceImplServiceLocator();
PatientService service = locator.getPatientServiceImplPort();

CXF:

PatientServiceImplService locator = new PatientServiceImplService();
PatientService service = locator.getPatientServiceImplPort();

.net:

PatientServiceImplService service = new PatientServiceImplService();
0
fr hi bn

4 răspunsuri

După cum ați menționat deja, acești termeni înseamnă lucruri diferite în diferite stive - nu există niciun răspuns generic drept pentru serviciile web.

0
adăugat

M-aș fi urcat la http://www.w3.org/TR/wsdl.html care cred că explică Port, Service și Endpoint destul de bine. Un locator este un mecanism specific implementării pe care o folosesc unele stive WS pentru a asigura accesul la obiectivele de serviciu.

0
adăugat

Am găsit informațiile bazate pe răspunsul lui Kevin Kenny, dar m-am gândit că îl voi posta aici pentru alții.

Un document WSDL definește serviciile ca fiind colecții de puncte finale de rețea sau porturi. În WSDL, definiția abstractă a punctelor finale și a mesajelor este separată de implementările lor concrete de rețea sau de legăturile formatelor de date. Aceasta permite reutilizarea definițiilor abstracte: mesaje, care sunt descrieri abstracte ale datelor schimbate și tipuri de porturi care sunt colecții abstracte de operații. Protocolul concret și specificațiile formatului de date pentru un anumit tip de port reprezintă o legare reutilizabilă. Un port este definit prin asocierea unei adrese de rețea cu o legare reutilizabilă, iar o colecție de porturi definește un serviciu. Prin urmare, un document WSDL utilizează următoarele elemente în definirea serviciilor de rețea:

  • Types? a container for data type definitions using some type system (such as XSD).
  • Message? an abstract, typed definition of the data being communicated.
  • Operation? an abstract description of an action supported by the service.
  • Port Type?an abstract set of operations supported by one or more endpoints.
  • Binding? a concrete protocol and data format specification for a particular port type.
  • Port? a single endpoint defined as a combination of a binding and a network address.
  • Service? a collection of related endpoints.
0
adăugat

I would like to add that and serve the same purpose, but port is used by WSDL 1.1 and endpoint by WSDL 2.0.

Ma confundat la început.

0
adăugat