Есть ли у SOAP «удаленные объекты»? - PullRequest
0 голосов
/ 16 декабря 2009

SOAP продолжает смущать меня.

В RMI есть удаленные объекты, которые живут на удаленном сервере. Вы можете передать их, но это просто создаст заглушки локально. Заглушки делегируют все вызовы методов по проводам. Это сильно отличается от чистых объектов данных, которые сериализуются и отправляются в виде копии.

Есть ли в SOAP удаленные объекты? Из того, что я видел до сих пор (хотя и не копал глубоко), есть сложные объекты, которые можно передавать (в качестве аргументов или возвращаемых значений), но это «просто» носители данных.

Ответы [ 2 ]

2 голосов
/ 16 декабря 2009

Может оказаться полезным ознакомиться с такими стандартами WebServices, как Базовый профиль WS-I, которые говорят такие вещи, как:

SOAP 1.1 определяет обмен сообщениями модель для обработки сообщений.

Другими словами, речь идет о передаче сообщений между различными системами.

Будучи клиентом службы SOAP, вы не представляете, есть ли объекты на другом конце и (по крайней мере, в обычной практике) полученные вами полезные данные не возвращают вам ссылочные объекты, на которые вы могли бы ссылаться дальше. Сообщения. Например, если вы имели (в концепции)

 Order getOrder( int orderId )

и Порядок выглядел как

Order {  int orderId;
         Customer {  String name, String TelephoneNumber ... }
}

Там у "объекта" Customer нет методов, которые вы вызываете, что приводит к удаленной работе. Интерфейс SOAP имеет полезную нагрузку, выраженную исключительно в терминах данных.

Привязки Lanaguge, позволяющие нам кодировать (например) Java для вызова SOAP / HTTP, дают нам локальные прокси-объекты objtecs для службы, но это не подразумевает RMI-подобную модель удаленных объектов.

0 голосов
/ 16 декабря 2009

Поскольку SOAP не зависит от языка, не может быть никаких удаленных объектов. На каком языке должен быть язык?

...