WSDL первый для существующего уровня обслуживания - PullRequest
0 голосов
/ 09 февраля 2009

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

В соответствии с требованиями хорошей практики мы использовали первую стратегию WSDL и сгенерировали связанные с JAXB классы Java и SEI для веб-сервисов. После частичной реализации веб-сервисов мы заметили совпадение на 70% между моделью данных. Это привело к написанию конвертеров, которые берут классы JAXB веб-сервиса и сопоставляют их с классами сервисного уровня.

Customer customer = new Customer();
customer.setName(wsCustomer.getName());
customer.setFirstName(wsCustomer.getFirstName();
..

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

Являются ли какие-либо из этих платформ полезными? http://transmorph.sourceforge.net/wiki/index.php/Main_Page http://ezmorph.sourceforge.net/

Пожалуйста, не начинайте сначала обсуждение WSDL против кода.

Ответы [ 2 ]

1 голос
/ 17 февраля 2009

У меня возникла такая же проблема в моем проекте. Я создал фабрику для созданных объектов и использую ее для создания объектов.

Customer customer = factory.createCustomer(wsCustomer);

которая изолирует код конструкции без изменения сгенерированного кода.

0 голосов
/ 10 февраля 2009

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

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