适用场景
AnyLine的核心是一个面向运行时的D-ORM(动态对象关系映射)
主要用来读写元数据、动态注册切换数据源、对比数据库结构差异、生成动态SQL、复杂的结果集操作
适配各种关系型与非关系型数据库(及各种国产小众数据库)
常用于动态结构场景的底层支持,作为SQL解析引擎或适配器出现
-
低代码后台
主要用来处理动态属性、动态数据源、运行时自定义查询条件、元数据管理等。
比较容易落地的几个场景如财务、库存等ERP模块用户经常需要输出不同格式的报表,根据不同维度查询统计数据
前端可以用百度amis前端低代码框架,后端由anyline解析SQL及查询条件,管理元数据。
代代码比较耗时的时后端解析前端动态生成的查询条件及关联条件
示例 -
数据中台
中台项目主要涉及各种动态异构数据源的DDL/DML及元数据管理,特别是一些小众及国产数据库。以及数据批处理。
通常需要在运行时频繁的注册、切换、注销数据源
示例 -
可视化数据源
主要用来处理动态属性,以及适配前端的多维度多结构的数据转换
可视化中最主要的工作就是生成图表了,如果是通过map可实体类那又免不了各种判断、遍历、计算如果是有限的几个固定的图表还可以处理, 如果是大量的动态图表呢(比如由前端用户提供统计方式与维度)
【参考】 -
物联网车联网数据处理
如车载终端、交通信号灯、数字化工厂传感器、环境检测设备数据等
这种场景通常会涉及到时序数据库,时序库虽然快,但是结构简单,数据需要经过各种组合后给业务系统。
时序库通常需要在运行时操作大量的DDL
示例 -
数据清洗、数据批量处理
各种结构的数据、更多的是不符合标准甚至是错误的结构
这种场景下需要一个灵活的数据结构来统一处理各种结构的数据
再想像一下临时有几个数据需要处理一下(如补齐或替换几个字符)
这个时候先去创建个Entity,XML,Service,Dao吗
示例 -
报表输出,特别是用户自定义报表
类似于可视化环境,样式相对简单一点,但精度要求极高,需要控制到像素、字体等
如检验检测报告、资质证书等,当然这需要配合 anyline-office
示例 -
工作流(运行时自定义表单/查询条件/数据结构)
各个阶段都要自定义,比低代码要求更高的是:操作用户不懂编程
流程中会涉及自定义表单、自定义查询条件
示例 -
网络爬虫数据解析
不固定的结构、html解析(当然不是用正则或dom那太费脑子了)
示例 -
异构数据库迁移同步
如根据MySQL的表结构生成pg的表结构,并复制数据,这个过程中DDL/DML/数据类型都有差异。
没体验的话用一次datax就知道体力活有多累了,当然你要实战,别写个hello world就收工了,hello world从来都是骗人入门的
【核心代码示例(从MySQL到Apache Ignite)】【基础应用】【完整应用(替代datax)】 -
还有一种很实现的场景是 许多项目到了交付的那一天 实体也没有设计完成
别说设计了,需求都有可能还没结束就催交付了,Entity哪里找
示例