2012-03-19 2 views
0

Это скорее вопрос дизайна.Webservices: Request-Response Mapper

Мое клиентское приложение [реализовано и будет выполняться как часть запланированного пакетного задания, так и приложение обработки сообщений] делает SOAP через HTTP-вызовы стороннему движку, чтобы получить некоторые данные о членстве. Поскольку базовое связывание выполняется JAX-RPC, мой SOAP-ответ в конечном итоге преобразуется/копируется в сгенерированные клиентские заглушки.

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

Любые предложения?

ответ

1

Этот вопрос будет несколько субъективным. Я предпочитаю всегда переводить на свои собственные объекты домена, если мне когда-либо понадобится поменять реализацию веб-сервиса. Если они когда-либо перейдут на веб-службы RESTful или просто просто изменят свой wsdl при обновлении версии, вам может быть не повезло, если вы используете классы-заглушки в своем приложении.

Есть минусы этой практики, хотя:

  1. Вам нужно будет поддерживать подобный набор классов
  2. Если служба никогда не меняется, вы не увидите какую-либо отдачу от ваших усилий
  3. Вы можете всегда меняйте это позже, если это окажется полезным
+1

Аргумент против использования классов-заглушек заключается в том, что вам, возможно, придется изменить структуру веб-служб (или значительную версию) и начать с WSDL, это может привести к возникновению diff яростные окурки. Наличие набора DTO в качестве smp7d - хороший изолирующий слой, но я надеюсь, что вы не слишком сложны: запись передач из заглушек в DTO - настоящая боль. –