2009-02-09 62 views
0

我正在使用典型服務 - dao設置的現有Java項目,其中只有Web應用程序可用。我的工作是在服務層之上添加web服務,但web服務有自己的功能分析和數據模型。資源的功能分析着重於不同服務方法中的可能性。根據良好實踐的要求,我們使用了WSDL第一策略併爲Web服務生成了JAXB綁定的Java類和SEI。部分實施了Web服務後,我們注意到數據模型之間有70%的匹配。這導致了編寫轉換器,該轉換器採用web服務JAXB類並將它們映射到服務層類。WSDL首先用於現有服務層

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); 

哪些隔離構造代碼,而不改變生成的代碼。

+0

好點,我們有這些工廠與創建方法的雙向 – 2009-02-17 22:35:23