我正在开发一个具有典型服务的现有Java项目 - dao设置,只有一个Web应用程序可用。我的工作是在服务层之上添加webservices,但webservices有自己的功能分析和数据模型。资源的功能分析侧重于不同服务方法的可能性。
正如良好的实践要求,我们使用WSDL第一策略并生成JAXB绑定的Java类和Web服务的SEI。在部分实现了Web服务之后,我们注意到数据模型之间有70%的匹配。这导致编写转换器,它们接受Web服务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和代码。
答案 0 :(得分:1)
我在项目中遇到同样的问题。我为生成的对象创建了一个工厂,并用它来创建对象。
Customer customer = factory.createCustomer(wsCustomer);
它隔离了构造代码,没有改变生成的代码。
答案 1 :(得分:0)
我认为真正的问题是......您希望将来使用多少代码生成器,并且可以让它们生成您现在正在做的事情。 如果您不关心工具的代码生成功能,或者它们可以适应您的需求,那么将所有内容转换为您当前的数据模型是一个好主意。