关于创建遗留系统迁移业务层的意见
Opinion on creating Business layer on migration of legacy sytem
我想听听技术官僚的意见,
我们正在使用Oracle 8i迁移Oracle形式的遗留系统构建数据库客户希望在web中重新开发此遗留系统应用程序,因此我们选择MVC3框架。客户希望我们重新使用所有遗留系统的存储过程,其中包含应用
如果每个业务逻辑都是用存储过程编写的,那么我认为我们在我们的系统中不需要业务层。
所以我创建了三层-:
接口层->MVC 3应用程序
数据层->用于从存储过程中获取信息
DTO层->用于将数据从接口层传输到数据层。
我没有创建业务对象或业务层,因为业务逻辑在存储过程中。我不喜欢创作只将请求从接口层转发到数据的业务层层,其中没有任何业务层。
这种方法正确吗
业务层是独立项目
如果业务层是一个单独的项目,我会关注作为项目一部分的部分。在服务器端应用程序中有一个接口层,具有最小的业务逻辑(通常是验证逻辑)是完全合理的。您可能希望在客户端中使用最小的业务逻辑,以使其更具响应性,即它不会一直返回到数据库来验证输入。
您可以将业务层放在数据库中(我不会这么做),或者放在服务器端Java中,或者在客户端中(我不建议在很大程度上这样做)
我建议您仍然创建一个业务层,即使它只是将所有操作转发到作为数据层一部分的存储过程。
由于客户端希望您重用其中包含业务逻辑的所有存储过程,因此他不希望您修改或添加任何存储过程听起来也是合理的。可能会发生一些事件,要求您以不同的方式实现它们,或者更改业务逻辑的顺序,然后将其放入业务层。也许你可能需要一个不以数据为中心的业务逻辑,这意味着把它放在存储过程中听起来不合理,比如发送电子邮件或与第三方系统协调。
相关文章:
- 将项目从 Debian 8 Xenomai 2.x 迁移到 Debain 9 Xenomai 3.x
- 从 MFC C++ 6.0 应用程序迁移到 VS 2005
- 将预处理器配置定义迁移到 constexpr,而不会造成内存膨胀
- 如何在 MSVC C++中迁移 x64 的 x86 代码
- "acceptor"在从TCP迁移到UDP时不是"boost::asio::ip::udp
- 将代码从 32 位迁移到 64 位时出现问题 Visual Studio 2010
- 如何在新设计中迁移需要几个额外参数的函数
- 如何将 C 函数指针迁移到C++?
- WDK 如何迁移到 v4 打印机驱动程序
- 迁移到 Visual Studio 2015 时 ATL 不起作用
- 从 calloc() 迁移到 new
- 如何将C++项目从 32 位迁移到 64 位以支持 MAC OS 10.14(莫哈韦)?
- 从固定函数迁移到 GLSL OpenGL:我应该如何修改我的视图(lookAt)矩阵和透视矩阵?
- C++从多线程 CPU 程序迁移到 GPU
- 自从迁移到 64 位以来,我在随机 glVertexAttribArray 调用中收到来自 nvoglv64.dll 的
- 如何管理和迁移C++库?
- 光纤可以在线程之间迁移吗?
- 将缓存线迁移到另一个核心
- 将业务逻辑迁移到服务:Thrift 的替代方案
- 关于创建遗留系统迁移业务层的意见