关于遗留系统迁移创建业务层的意见

时间:2013-08-22 05:12:28

标签: c# java c++ asp.net asp.net-mvc-3

  

我想要技术专家的意见,

     

我们正在使用Oracle 8i在Oracle表单中迁移遗留系统构建   数据库。客户希望在Web中重新开发此遗留系统   应用程序所以我们选择MVC3框架。客户希望我们重新使用所有   遗留系统的存储过程,包含业务逻辑   应用。

     

如果每个业务逻辑都是用存储过程编写的,而不是我认为的那样   我们的系统中不需要业务层。

     

所以我创建了三个层 - :

     

接口层 - > MVC 3应用程序

     

数据层 - >用于从存储过程中获取信息

     

DTO层 - >用于将数据从接口层传输到数据层。

     

我没有创建Business对象或业务层,因为所有   业务逻辑在存储过程中。我不喜欢创作   只是将接口层请求转发给数据的业务层   图层,并且没有任何业务层。

这种做法是否正确?

2 个答案:

答案 0 :(得分:0)

  

业务层是单独的项目

如果业务层是一个单独的项目,我将专注于作为项目一部分的部分。拥有一个接口层是完全合理的,在服务器端应用程序中具有最小的业务逻辑(通常是验证逻辑)。您可能希望客户端中的最小业务逻辑使其响应更快,即它不会一直返回数据库以验证输入。

你可以在数据库中拥有业务层(不是我会做这样的事情),或者在服务器端Java中,或者在客户端中有一些(不是我建议在很大程度上这样做)< / p>

答案 1 :(得分:0)

我建议你仍然创建一个业务层,即使它只是将所有操作都转发给作为数据层一部分的存储过程。

由于客户端希望您重用所有具有业务逻辑的存储过程,因此他不希望您修改或添加任何其他存储过程也是合理的。可能会发生这样的事件,要求您以不同方式实现它们,或者更改可以随后放入业务层的业务逻辑序列。也许您可能需要一个不以数据为中心的业务逻辑 - 这意味着将它存储在存储过程中听起来不合理,例如发送电子邮件或与第三方系统协调。