我正在使用mORMot 和Delphi 来实现一个应用程序,该应用程序来自一个现有的客户端-服务器应用程序,该应用程序使用一个Firebird 数据库,其中包含许多处理更新某些表和查询非常复杂的数据的存储过程。重新实现并将所有内容从数据库移动到应用程序端需要很长时间。
我不知道该怎么做。任何人,请帮助指导我如何使用 - 在 mORMot 上调用 Firebird 存储过程。(如果有例子就好了。)
我正在使用mORMot 和Delphi 来实现一个应用程序,该应用程序来自一个现有的客户端-服务器应用程序,该应用程序使用一个Firebird 数据库,其中包含许多处理更新某些表和查询非常复杂的数据的存储过程。重新实现并将所有内容从数据库移动到应用程序端需要很长时间。
我不知道该怎么做。任何人,请帮助指导我如何使用 - 在 mORMot 上调用 Firebird 存储过程。(如果有例子就好了。)
存储过程非常适合直接访问数据库,但它们是现代设计的噩梦。因此,在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 论坛中提问。
检查例如: