1

我想创建一个最终将 POJO 编组为 xml 的 spring-ws Web 服务。我还希望 Web 服务的客户端将 xml 解组回 POJO。我应该如何构建项目?

目前我的想法是:

  1. 领域和业务层项目- 具有查询大型机和创建 POJO 的能力。该项目不依赖于以下任何项目,但确实依赖于大型机库。
  2. Web 服务项目- 实现一个接收请求的 Web 服务,调用项目 1 中的业务逻辑,并从项目 1 返回一个编组的域对象。
  3. 客户端项目- 调用 Web 服务,接收一些 xml,将 xml 解组为来自项目 1 的域对象。

这个设计的问题是项目 3 依赖于域模型的项目 1,但因此,依赖于大型机库。这与我最初创建 Web 服务的主要原因是松散耦合代码相矛盾。另一方面是将域模型从业务逻辑拆分为单独的项目,但这似乎有点极端。

4

2 回答 2

0

我也更喜欢将我的项目分开。您能否将您的领域模型 POJO 从业务层分离到另一个项目中,以便客户端可以共享它们?

于 2010-10-14T12:31:51.617 回答
0

不,我会说您仍然只有服务器项目 1 和客户端项目 2。不需要3。

项目 1 应该有常见的 Spring 对象:持久性、服务和模型对象。您选择将 POJO 服务接口公开为 Web 服务只是众多选择之一;使 ws 层成为项目 1 的一部分。

项目 2 是客户。它只需要获取 WSDL 信息。也许编组和解组类可以作为第 3 方 JAR 共享。

或者它们可能是一个为服务器和客户端打包不同的项目。这可能是最有意义的,因为您需要客户端进行测试。将其视为您的测试包的一部分。

不需要所有这些项目。只是包装和部署不同。

于 2010-10-14T10:16:18.017 回答