Y3 : .NET Framework 3.5
Based on the C/S framework of the Microsoft.NET Framework 3.5, using WCF communication. Y3 where the general functional platform has been implemented, 80% of the functions of different projects and different services are implemented through configuration, and the remaining 20% of the functions are implemented by writing C# scripts

Y3:企业ERP的根基
历时十多年的积累,稳定可靠,上线时间短,实施简单便利,需求调整方便。
Y3 是典型的 C/S 结构,分为两个部分服务端与客户端,之间的通讯使用 WCF 协议。
服务端部署于 IIS 中,提供安全的数据服务。工作流事件锚点在同一个事务中,在干预业务行为的时候保证数据的完整性。
Y3 的客户端属于重客户端,大部分的任务都在客户执行,事件锚点比较多,可外挂接各种设备驱动。
核心模块
数据桥定义:它是连接其它系统的纽带,通过数据桥可以实现与其它系统交互。需要在目标服务器中部署数据桥微服务。使用专门的加密算法以保证数据的安全。
结构定义:是数据库层面的定义,定义后可以构库。在数据库中创建表,索引,主键,外键。表名由 6 个字母组成,前 2 个表示系统,中间 2 个表示模块,最后 2 位是流水号,列名为表名再加 3 个流水号。Y3 放弃了表名与列名使用英文命名或拼音命名等有意义的字符。原因是一套软件系统是在不断变化与成长的,使用有意义的名字当意义改变后,旧有的名字会误导后来的升级或维护人员。
数据定义:类似于数据库中的 Views 通过 SQL 从数据库中纵向横向过滤数据。并且定义数据列的行为。数据定义主要为面板提供数据源。
窗口定义:用来定义一个用户界面,窗口由多个面板组成,可设置面板的显示位置,面板与面板 之间的互动行为。面板可关联数据定义后可以和数据源发生生交互。
单据定义:用来定义一个现实生活中的工作流业务。这个业务,可能由不同的部门,不同的人员按流程顺序处理,可能要经过单人审批,也可能多人审批,直到这个业务结束。
数据类型
基础数据:其作用是为其它数据提供基本的内容,比如系统中生产环节、采购环节、销售环节用到的计量单位。基础数据一般都是提前补充完整,后续的业务中反复使用,为数据统计提供统一口径。
业务数据:在 Y3 系统中称为单据,这类数据,从建立开始,要经过不同的环节,各环节要对数据进行维护,最终形成只读的归档数据。这也是系统最复杂的地方,涉及人员,部门,角色不同的分工,不同的视角。
统计数据:统计数据一些是原始业务数据经过实时统计后得出,另一部分是月结的时候产生的统计数据直接显示出来。
消息数据:系统日志,业务消息等
权限管理
人员:可以特定的工作人员所所授权,不推荐这样。
角色:可以给角色授权。
部门:可以给部门授权,部门下的所有人员都会有这个权限。
部门人员:人员与角色的关联在部门中进行配置,一个人员可配置多个角色。
子系统
可配置多个子系统,每个子系统有独立的权限与数据隔离,同时又能共用互通。
插件
Y3平台各组件之间采用低耦合的插件模式,即使是核心的功能组件也是以插件的形式嵌入平台的。当客户有很特别的需求时,可以开发专门的插件满足需求。
插件模式的另一个好处是在开发与实施中减少对平台的冲击。插件的功能与健壮不影响平台,不影响其它插件,这样在定制开发时对整体的影响降到最低。
C#脚本
采用第一次使用即时编译的方式,与系统其它的动态库程序集效率相同。
C#脚本是Y3的灵魂,正是因为我们独创的C#脚本,才使的Y3平台只实现通用的功能。然后由C#脚本完成各个用户千差万别的需求。这也是Y3平台的项目上线迅速,兼顾各种需求,后续调整迅速的原因。
客户端自升级
客户端升级包发布后,自动下载升级。
定时器
间隔一定的时间执行任务,可以是SQL脚本,也可以是C#脚本,避免使用Windows定时任务的麻烦。
Beijing
Ally-World