当您要将企业应用程序转变成与 Web 服务一起使用时,最简单的途径就是将单个操作与单个的企业服务结合在一块。但这并不是最好的方法。在本文中,Jerome Josephraj 将向您展示如何构架基于分层的、正确的模型-视图-控制器(MVC)设计模式的Web 服务应用程序。为此,他修改了 Struts(一种流行的开放源码MVC 框架),以使其适用于 Web 服务领域。通过研究此处所概述的样本应用程序,您将知道如何才能将 Struts 与 Web 服务联合起来使用。
构建 Web 服务最简单的途径就是将单个操作与单个企业服务结合起来,如图 3 所示。在这种设计方法中,实现业务逻辑的服务与实现数据检索的服务是混合在一起的。
图 3. 简单粗糙的 Web 服务体系结构
这样的一种 Web 服务可以很轻易从已有的业务组件中开发出来。然而,它有很多的缺点:对用户没有提供统一认证,提供者与订阅者耦合不紧,业务逻辑没有重用。简而言之,对于一个连贯的解决方案来说这并不是一个非常好的体系结构。
在 MVC 模式基础上来实现 Web 服务解决方案会更好点。在后续部分,您将看到如何使用 Struts 来做到这一点。我将通过 WSManager 层来详述现有的 Struts 架构,这一层展示了采用 Web 服务的模型服务方法。
采用 Struts 应用程序的 Web 服务 在以后的开发工作中您可以扩大构建得比较好的 Struts 应用程序来支持 Web 服务。前面讲过,Struts 架构清楚地区分开了视图、控制器以及模型。模型包含所有必须的业务逻辑,从存储数据仓库中检索数据。您可以构建一个简单的 Web 服务层——称为 WSManager 层——这样的模型可以提供 Web 服务也可以订购 Web 服务。使用这种体系结构的应用程序将基于组件开发的最佳点与万维网结合在了一起,如 图 4所示。