用Web服务调用替换自定义DAO代码

时间:2010-02-02 18:45:49

标签: architecture web-services

在我们的大多数Web应用程序中,我们使用三层体系结构:Controllers / ViewHelpers,Service和DAO层。但是,其中一些项目几乎是样板代码。举个例子:大多数apps数据库模式都有自己的Department表(称之为T_DEPARTMENT),在代码方面,这需要一个Department类,一个DepartmentDAO类等。

我想要做的是为所有应用程序都可以访问的所有部门创建一个通用模式(是的,应该已经是这种情况,但它不是......)。然后我想在应用服务器上打一个简单的Web服务,其唯一的工作就是访问该公共表。而不是自定义DAO代码,专用模型对象等,可以通过webservice调用简单地检索信息,可能是JSON格式。

然而......我需要知道一些问题的答案:

  1. 这真的是一个具有成本效益的想法吗?我们可能会为公司的每个财政年度(遗留应用程序的新版本或重写版本)执行大约10个小型到中型项目。
  2. 如果DepartmentDAO主要由Save(),Delete()和FindByName()/ FindById()方法组成,那么通过将其替换为Web服务代码,可以显着减少代码/工作量吗? (请注意,必须编写代码来执行诸如将JSON结果转换为选择框等操作)
  3. Web服务调用的安全隐患是否会成为一场噩梦?
  4. 简而言之,这在人力成本/可维护性等方面是否值得?

1 个答案:

答案 0 :(得分:1)

为所有系统创建通用模式通常是不现实的。

当你正在开发时,它可能没问题,但是进行更改的成本将会非常高,以至于无法进行任何更改。

解决方案的模式是“有界上下文”,Eric Evan的域驱动设计书中有很好的描述