首页 / 科技 / 互联网 / 正文

avalonedit(github开源企业级应用框架介绍CIIP)

放大字体  缩小字体 来源:鱼子怎么做 2026-04-15 13:33  浏览次数:12

CIIP是基于XAF开发的开源信息系统框架,经历了4个月的开发终于可以拉出来见人了。CIIP最常见的应用场景是基于数据库的企业级应用程序,例如供应链系统,ERP系统,MRP系统,CRM系统等。

CIIP支持14种数据库,含MS SqlServer,Oracle,MYSQL等常见数据库。数据库访问层支持XPO和EF两种ORM,也可以自定义第三方ORM,当然这是高级开发者的选项。在使用了XPO时,切换数据库的切换(如从sqlserver换到oracle),如果没有手动调用硬编码的sql时,是无需修改代码的。

那么CIIP干了点什么事呢?

与XAF的联系

前面简单介绍了CIIP与XAF的关系,下面来说说CIIP中几个模块使用的一些关键技术:

CIIP中的业务模型是基于ORM的充血模型,我个人很喜欢这种方式,但ORM多数是基于.Net类型的,而.Net又是静态类型语言,虽然后面.net中增加了dynamic和System.Dynamic.DynamicObject等态类型,但不幸的是xpo中并不支持(EF中是否支持并未考试,也希望了解的朋友留言指点)

所以,CIIP的建模功能就是创建ORM对象的过程.CIIP中当前开发了两种形式的建模:

上图中,用户业务,可以理解成为一个简单的建表过程,但比表的概念有更多扩展,比如关联的聚合子表,也可以做操作(相当于建立外键).

这个过程就是生成类的过程.再比如:属性的类型,直接使用了其他新建业务的类型,这也是OO的体现,而不用由用户想着建立键对应关系.

表单功能

表单的实质是两个普通业务对象的相加,即,主子表结构,而这种形式是非常常见的,比如一套ERP中会有N百个表单,所以CIIP把这种形式特殊化,把主子表的内容放到一起,而一些联系可以自动化的实现出来.

建立好模型后,工具中有个生成系统的按钮,按下之后,系统就调用roslyn编译,并生自动生成加载该dll了.

你为什么加班?就因为你的工作中有无数个无聊的重复工作在做.程序员每天在帮助业务人员做"自动化",做"智能化",然后他们自己的工作却没有这么自动智能,这个工作就需要框架来做!

你当然会质疑,上面的功能无论如何,只是个建表功能,只是做了一些自动化,现实中的复杂业务,根本不行,这个只能做简单的东东!

上图以"仓库单据基类"为例,此单据是"对象"当然会有事件,对应的事件将在对应的时刻被触发,此时,我们可以加入对应的代码,进行数据控件.

上图代码中故意做了一个错误,var x = 10/0;按下回车后,下面就会报出错误了.

这个模块花费了我很多时间,纠结很多次,最终找到了这个方案,也最为满意,或是超出意料的满意,可以扩展的事情太多了,比如自己定义DSL语言都没有问题.

建模之后,就需要处理流程了:

下图是采购询价单生成采购合同的配置,在上图中即为一条线:

可以看到单据转换流程中用到了图形设计器,在CIIP中这个控件使用的也相当广泛,其中包含:

2.上图中的单据转换流程设计器.

4.单据真实进行情况+状态机运行情况,以图形方式展示给用户查看,非常直观.

CIIP中还包含了商务智能的功能,在CIIP结合供应链的DEMO系统中,正在制作此部分的内容,所以还没有中国式的图可以截,先上几张其他系统中全名用的此模块的,给大家一个直观的理解吧,这里是分析结果的显示界面:

在BI数据分析时,数据源可以直接连接到SQL数据源,同样支持14种常见数据库,也可以连接SSIS等专门的数据源,可以从存储过程\SQL语句查询结.

WEB,平板,手机版响应式布局支持

可以在手机上运行的响应式布局:

我不能在一篇文章中写太多内容,后面我会详细介绍每个模块的技术问题.

开源项目地址:https://github.com/tylike/CIIP

打赏
0相关评论
热门搜索排行
精彩图片
友情链接
声明:本站信息均由用户注册后自行发布,本站不承担任何法律责任。如有侵权请告知立立即做删除处理。
违法不良信息举报邮箱:115904045
头条快讯网 版权所有
中国互联网举报中心