Есть ли способ логически сгруппировать набор мыльных методов в сущность типа «класс»? - PullRequest
1 голос
/ 16 апреля 2009

Для нашего большого проекта на основе C ++ у нас теперь есть метод для автоматической генерации кода, чтобы представить наш код как методы SOAP. Это работает очень хорошо, и мы планируем начать реализацию приложения на основе RIA с использованием Adobe AIR / Flex на основе API, которые мы представили.

У меня есть вопрос об организации веб-сервисов SOAP. Код, который я имею, предоставляет отдельные вызовы методов, которые в нашем коде C ++ принадлежат классам. До сих пор я называл открытые методы, добавляя к ним префикс с именем класса, из которого они вышли в C ++. В идеале, однако, был бы способ логически сгруппировать методы внутри службы SOAP, чтобы мне не пришлось делать этот шаг, и можно было бы запросить услуги в определенной группе (класс AKA), как только вы связались сервисы SOAP, использующие файл WSDL на вашем целевом языке.

Мне бы очень хотелось, чтобы в наших клиентских приложениях была возможность воспроизвести структуру классов, которая находится за уровнем SOAP на стороне сервера. Прямо сейчас я вижу, что мог бы сделать это, используя имена методов, чтобы определить, к какому классу они принадлежат, но если бы я мог разделить их более чистым способом, я бы предпочел это.

Будем рады услышать, что вы, гуру SOAP, знаете по этому вопросу.

1 Ответ

0 голосов
/ 16 апреля 2009

Я провел день, изучая это, и, кажется, у меня есть два варианта, оба из которых я смоделировал, и оба из которых работают: я просто не уверен, что лучше сейчас!

  • Разделите методы в разных «сервисах», сгруппированных логически в зависимости от класса, из которого они вышли. Можно включить несколько «сервисов» SOAP в один и тот же файл WSDL, чтобы клиенты могли их обнаружить, посетив только один URL.
  • Разделите методы на разные «порты» в одной и той же службе SOAP.

Я не совсем понимаю, какой использовать, поскольку в соответствии со спецификацией порт является «абстрактным набором операций, поддерживаемых одной или несколькими конечными точками», а служба - «совокупностью связанных конечных точек». Это говорит о том, что правильный способ сгруппировать операции - использовать порты.

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