В чем разница между конечной точкой, службой и портом при работе с веб-службами?
Я использовал Apache CXF, чтобы предоставить около десяти классов Java в качестве веб-сервисов.
Я создал клиентов с помощью CXF, Axis и .NET.
В Axis и CXF создается «Сервис» или «Локатор». Из этой услуги вы можете получить «Порт». «Порт» используется для индивидуальных вызовов методов, предоставляемых веб-службой.
В .NET «Служба» напрямую предоставляет вызовы веб-службе.
Может ли кто-нибудь объяснить разницу между портом, службой, локатором и конечной точкой, когда дело касается веб-служб?
Ось:
PatientServiceImplServiceLocator locator =
new PatientServiceImplServiceLocator();
PatientService service = locator.getPatientServiceImplPort();
CXF:
PatientServiceImplService locator = new PatientServiceImplService();
PatientService service = locator.getPatientServiceImplPort();
.сеть:
PatientServiceImplService service = new PatientServiceImplService();
Ответов (4)4
Я бы перешел на http://www.w3.org/TR/wsdl.html, который, как мне кажется, достаточно хорошо объясняет порт, службу и конечную точку. Локатор - это специфичный для реализации механизм, который некоторые стеки WS используют для обеспечения доступа к конечным точкам службы.
Я нашел информацию, основанную на ответе Кевина Кенни, но решил, что опубликую ее здесь для других.
Документ WSDL определяет службы как совокупность конечных точек сети или портов. В WSDL абстрактное определение конечных точек и сообщений отделено от их конкретного сетевого развертывания или привязок формата данных. Это позволяет повторно использовать абстрактные определения: сообщения, которые представляют собой абстрактные описания данных, которыми обмениваются, и типы портов, которые представляют собой абстрактные наборы операций. Конкретные спецификации протокола и формата данных для определенного типа порта представляют собой повторно используемую привязку. Порт определяется путем связывания сетевого адреса с повторно используемой привязкой, а набор портов определяет службу. Следовательно, документ WSDL использует следующие элементы в определении сетевых служб:
- Типы - контейнер для определений типов данных с использованием некоторой системы типов (например, XSD).
- Сообщение - абстрактное типизированное определение передаваемых данных.
- Операция - абстрактное описание действия, поддерживаемого сервисом.
- Тип порта - абстрактный набор операций, поддерживаемых одной или несколькими конечными точками.
- Связывание - конкретный протокол и спецификация формата данных для определенного типа порта.
- Порт - отдельная конечная точка, определяемая как комбинация привязки и сетевого адреса.
- Сервис - набор связанных конечных точек.