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

Opinion on creating Business layer on migration of legacy sytem

本文关键字:业务 迁移 系统 于创建 创建      更新时间:2023-10-16

我想听听技术官僚的意见,

我们正在使用Oracle 8i迁移Oracle形式的遗留系统构建数据库客户希望在web中重新开发此遗留系统应用程序,因此我们选择MVC3框架。客户希望我们重新使用所有遗留系统的存储过程,其中包含应用

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

所以我创建了三层-:

接口层->MVC 3应用程序

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

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

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

这种方法正确吗

业务层是独立项目

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

您可以将业务层放在数据库中(我不会这么做),或者放在服务器端Java中,或者在客户端中(我不建议在很大程度上这样做)

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

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