API Logic Server 是一个开源 Python 项目。它是一个用于项目创建的CLI,以及用于项目执行的一组运行时(SAFRS API、Flask、SQLAlchemy ORM、业务逻辑引擎)。
它作为标准 pip 安装运行,或在 Docker 下运行。
对于寻求提高业务敏捷性的开发人员及其组织, API Logic Server 提供
(1)微服务自动化:使用1 个命令创建可执行项目:
- API自动化:每个表的增删改查,分页,乐观锁定,过滤和排序,以及
- 应用程序自动化:多页面、多表管理应用程序。
(2)IDE 中的自定义:使用标准工具(Python、Flask、SQLAlchemy、GitHub 和 Docker),以及
- 逻辑自动化:独特的规则 -多表推导和约束更加简洁
- 部署自动化:创建用于容器化系统并部署到 Azure 的脚本。
与框架不同,不再需要数周至数月的复杂开发。API Logic Server为即时集成和应用程序后端提供独特的自动化。
在虚拟环境中安装 API 逻辑服务器
python3 -m venv venv # windows: python -m venv venv |
然后,验证它是否正常工作 - 创建并运行演示:
验证 - 创建并运行演示
ApiLogicServer create --project-name=sample_ai --db-url=sqlite:///sample_ai.sqlite |
开发API
- 使用传统框架手工创建 API 和管理应用程序需要很长时间,而且太复杂
- 使用 VS Code 和API Logic Server(开源)自动创建完整的系统。
- 然后,我们将添加带有规则的业务逻辑,并使用Python添加自定义端点和Kafka 集成。
操作步骤:
- 向 Copilot 提交数据库的自然语言描述。这将创建一个 Python 数据模型(SQLAlchemy 类)。
- API Logic Server 使用 SQLAlchemy(一种流行的 Python ORM)从 Copilot 模型创建数据库,然后通过读取数据库架构创建完整的项目。该项目包括您的数据模型类、API 和管理应用程序,完全配置为执行。
- API Logic Server 会创建一个完整的项目
- 该项目是可执行的,提供 API 和管理应用程序,实现敏捷协作并解锁自定义应用程序开发。
这个API有自己的管理程序:
- 管理应用是基于React Admin,提供数据查询/更新服务,支持多表自动连接和页面导航。这可以启动敏捷的业务用户协作,并提供后台数据功能。
- JSON API提供检索/更新服务,包括支持选择列和相关数据。这解除了自定义应用程序开发的障碍,在等待自定义 API 开发时,自定义应用程序开发通常会被压缩到项目的末尾。
使用规则自定义:逻辑自动化
- API 逻辑服务器包含一个规则引擎。您可以使用 IDE 代码完成服务在 Python 中声明规则。
- 它还提供了:类似电子表格的规则将逻辑代码(应用程序的一半)减少了 40 倍。
- 这些规则是可执行的。它们侦听 SQLAlchemy ORM 事件,并触发以响应事务中的实际更改。如果规则(及其开销)引用的数据未更改,则规则(及其开销)将被修剪。
- 规则是可调试的。标准日志记录描述每个规则触发,包括行的状态。并且,您可以使用调试器。
- 基于用户的角色,为行级安全性提供了类似的声明性规则。授权信息可以从 SQL 数据库或企业存储(例如LDAP 或 Active Directory)获取。
使用 Python 进行定制
例如:
- 可以自定义API端点:想象一下从 B2B 合作伙伴那里接受指定格式的订单,进行声明性映射定义,这会自动激活上述业务规则来检查信用。
- Kafka 集成的自定义逻辑:让我们进一步想象一下,接受的订单必须进一步转换,并通过 Kafka 消息发送到发货。除了规则之外,您还可以为业务逻辑提供 Python 代码。
借助大模型实现快速开发
满足速度和简单性有 4 个关键要素:
- 自然语言处理: 即使是精明的 SQL 程序员也欢迎语法帮助。从 Copilot 提供的自然语言开始,梦想成真了。
- 微服务自动化:无需进行缓慢而复杂的框架编码,只需插入数据库即可获取即时 API 和管理应用程序。
- 使用声明性规则的逻辑自动化:规则不是描述逻辑如何运行的繁琐代码,而是表达您想要完成的任务,并将应用程序的后端部分减少 40 倍。
- 可扩展性:使用 IDE、Python 和标准包(例如 Flask 和 SQLAlchemy)完成剩余的元素。