JAX-RPC

JAX-RPC означает Java™ API для RPC на базе XML, также называется JSR 101. Это спецификация, описывающая API Java и соглашения для компоновки Web-служб и клиентов Web-служб, использующих удаленные вызовы процедур (RPC) и XML. Она стандартизирует преобразование Java в WSDL и WSDL в Java и предоставляет основные API для разработки Web-служб и клиентов Web-служб на платформах Java. Зачастую используемый в модели распределенного клиента/сервера, механизм RPC позволяет клиентам выполнять процедуры в других системах.

Текущему выпуску JAX-RPC необходима поддержка SOAP через HTTP для обеспечения стыкуемости. Спецификация SOAP задает структуру сообщения, правила кодировки и соглашения об обмене информацией в программной модели RPC. Эти вызовы и ответы передаются в виде сообщений SOAP через HTTP. В данном выпуске JAX-RPC поддерживает SOAP 1.1 и HTTP 1.1. Дополнительные сведения о SOAP приведены в разделе Простой протокол доступа к объектам (SOAP).

Несмотря на то, что базовые механизмы выполнения (например, сериализация Java в WSDL, десериализация WSDL в Java, протокол и транспортный протокол) очень сложны, API скрывает эту сложность от разработчика приложения. На стороне сервера разработчик может предоставить Service Endpoint Interface (SEI); либо SEI можно создать с помощью мастера Web-служб. SEI является интерфейсом, написанным на языке Java, указывающим удаленные процедуры Web-службы. Разработчик также указывает реализацию Web-службы в виде одного или нескольких классов Java, реализующих методы с той же подписью, что и SEI. Код клиентских программ довольно прост. Клиент создает посредника, локальный объект, представляющий реализацию службы и SEI, а затем просто вызывает методы для проводника.

JAX-RPC является крайне стыкуемым: клиент JAX-RPC может обращаться к Web-службе, не выполняющейся на платформе Java и наоборот. Такая гибкость возможна благодаря тому, что JAX-RPC использует SOAP через HTTP и язык описания Web-служб (WSDL). JAX-RPC был разработан WS-I.

Дополнительные сведения о JAX-RPC приведены в официальных спецификациях JSR 101.