1

我有一个 Web 应用程序,它在 GUI(JSF 2.0、Orchestra、Spring)和服务(Spring、JPA、Hibernate,...)项目中分开。由于Web服务器和数据库服务器之间的网络问题,我需要将应用程序完全拆分,在层之间并将它们部署在两个不同的tomcat上,用于靠近数据库服务器的服务部分。我已经使用 Eclipse WTP CXF 插件生成了一个 web 服务和一个 web 服务客户端。

我的问题是:对于客户端它会生成域模型类的副本,所以我不能直接在我的 gui 项目中使用它们,并且需要在 web 服务客户端和 gui 层之间引入一个转换层。Wich 很麻烦且容易出错。

是否有可能使用共享域模型(模型类在一个单独的项目中,服务和 gui 项目都依赖)生成 Web 服务客户端(在现有的 Web 服务模块和 wsdl 之外)?

迫不及待地寻找解决方案,因为部署截止日期即将到来......

4

1 回答 1

1

当您有两个物理层时,生成域模型类 (DTO) 的副本是一个很好的做法: 您的 Hibernate POJO 需要在被发送到另一个物理层之前进行代理。也许你可以用推土机来做,避免花太多时间去做。

如果您需要性能,也许您应该使用 RMI 而不是 Web 服务。

如果您绝对决定在表示层中使用您的领域对象,那么您应该看看 Gilead(以前称为 Hibernate4GWT)。

纯 DTO、带推土机的 DTO 和 Gilead 使用在此处详细描述: http ://code.google.com/intl/fr/webtoolkit/articles/using_gwt_with_hibernate.html

于 2011-04-20T07:28:55.210 回答