0

我正在使用mORMot 和Delphi 来实现一个应用程序,该应用程序来自一个现有的客户端-服务器应用程序,该应用程序使用一个Firebird 数据库,其中包含许多处理更新某些表和查询非常复杂的数据的存储过程。重新实现并将所有内容从数据库移动到应用程序端需要很长时间。

我不知道该怎么做。任何人,请帮助指导我如何使用 - 在 mORMot 上调用 Firebird 存储过程。(如果有例子就好了。)

4

1 回答 1

2

存储过程非常适合直接访问数据库,但它们是现代设计的噩梦。因此,在mORMot中没有直接/本地运行存储过程的方式,因为它对 ORM 设计和现代 SOA/微服务/DDD 架构没有意义。

例如,您可以使用mORMot和您现有的项目做什么:

  • 使用多个接口创建第一层可重用的“业务/模型”服务——您自己的“逻辑工具箱”;

  • 让这些接口的实现类使用您现有的 FireBird 访问库调用现有的存储过程;

  • 使用另一组公共 REST 端点发布“业务/模型”层服务,使用基于mORMot接口的服务,以及带有简单 DTO 的精细 REST 接口;

  • 让您的客户端应用程序的新形式从 RAD 切换到这个 n-Tier/REST 设计,如果可能的话,调用这个新的基于mORMot接口的服务;

  • 考虑编写一些新的客户端代码,可能来自 JavaScript REST/JSON 客户端(您可以为此使用第三方公司);

  • 看看mORMot Web MVC 层——框架的类似 php 的特性——它可能有助于从现有的“业务/模型”层编写一些动态网页;

  • 考虑将mORMot ORM用于新表和新数据,也许切换到具有自己的 SQLite3 持久层的微服务架构(或者仍然是您真正想要的 Firebird,但您可以使用 ORM 切换);

  • 受益于框架的许多交叉功能,如日志记录、pdf 或 JSON 处理。

查看文档常见问题解答,并在 mORMot/Synopse 论坛中提问。

检查例如:

于 2020-09-29T17:29:30.517 回答