2、EfsFrame框架相关概念说明
2.1、事务类型、事件类型
事务类型:是指我们业务开发过程中,对某一些事件的分组名称,也可以叫业务组名称,如:学生档案管理、订单管理等;
事件类型:是指我们业务开发过程中,具体的某一个操作的事件名称,如:学生档案管理里面的添加学生、修改学生、删除学生、查询学生档案等,或者如订单管理中的添加订单、修改订单、审核订单、删除订单、订单查询等;
事件类型是包含在事务类型下面的子信息,事务类型是对事件类型的分组管理,EfsFrame框架中所有的事件类型在添加的过程中,会要求指定对应的url地址,即该业务操作的具体业务实现页面的地址,这样,我们在不同角色用户登录系统后,根据其事件类型权限,就能实现二级的功能树菜单,如下图:
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/2009111815574097367.jpg[/img]
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/2009111815575967489.jpg[/img]
2.2、单位、用户管理
任何一个应用系统都离不开单位、用户的管理,所有的权限分配都围绕不同的单位级别的不同类型用户展开,所以在EfsFrame框架中,我们将此部分默认到系统中,并给了一些常规的字段,但是在实际的项目应用中,可能需要对这部分进行相应的修改,特别是单位类型、单位级别、用户类型这些字段,可以根据自身的业务需要来进行调整,以便更加灵活的实现各种权限的分配。
2.3、角色管理
角色管理:权限分配是应用系统中最基本的功能,所以我们设计了一个简单的权限分配体系在EfsFrame框架中,便于提升大家的项目开发效率,在角色中,我们可以给角色分配用户,分配事件类型,在同一个角色中的用户,拥有相同的事件类型权限,同一个用户可以隶属于不同的角色,同一个事件可以隶属于不同的角色,这和Windows的角色管理有类似之处。用户登录后,功能树的出现即是以所对应的角色的事件类型的集合类展现的。
图例展示:
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/200911181602312163.jpg[/img]
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/200911181603530329.jpg[/img]
2.4、字典管理
字典管理:字典管理作为EfsFrame框架的亮点,开始不容易为人所理解,但是掌握后又能让人耳目一新。
这里说的字典是指我们在项目中经常用到的一些可枚举项的集合,表现的常规的Web上就是下拉框,比如说:性别字典、学历字典、籍贯字典、是否字典、婚姻状态字典等,这些属性的内容都是可以枚举的项,所以我们统称他们为字典。
往往在不同的行业,不同的应用系统中,会有很多字典需要管理与维护,为了便于统一管理,我们将该管理放在了EfsFrame框架中,以后大家在业务开发过程中,可以轻松的将所有的字典项纳入到系统管理平台中,添加新的字典后,只要生成字典文件即可在页面调用。
在字典管理中的注意事项:
1、字典名称,我们一般以大写的DIC_ 开头,这是一种编码规范;
2、字典条目中的字典编码,一律要以数字表示,如:001、002等,便于页面的通过编码快速检索;
3、添加完成的字典,生成字典文件,会统一以UTF-8编码模式的XML文件存放在应用系统项目的dic目录下,以便页面调用;
4、生成的字典XML文件会自动完成字典条目描述的全拼、简拼的构造,方便页面在快速字典选择过程中,通过编码、简拼、全拼的方式来检索字典数据;
5、所有的字典信息,我们将在系统启动时,将其缓存到应用服务器内存中,在做各种字典翻译的时候,特别是在详细信息查询时,就不需要做关联查询,自动从内存中获得字典翻译内容,从而大大提升系统的运行效率;
图例展示:
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/20091118163335158.jpg[/img]
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/200911181631687370.jpg[/img]
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/200911181635067738.jpg[/img]
2.4、编码规则管理
编码规则管理:在业务开发过程中,我们往往要给业务表的主键来快速生成唯一的编码,以避免主键唯一冲突,显然自动增长列是不太灵活的,很多时间无法满足我们的需求,我们所设计的编码规则管理就是为了解决此问题。
属性 说明
编码编号 一个应用系统中,可能有很多个唯一编码,所以我们给每个编码规则分配一个编号
编码名称 给不同的编码规则取名
编码长度 每次根据该规则生成的编码要多长
编码规则 是否将编码的种子加在新编码的前面
是否循环 当一个种子编码达到了最大编码后,之后重新从最小编码开始编号
最小值 编码的最小起始值
最大值 编码能达到的最大值
备注:
所有的编码生成,都调用统一的数据库存储过程来完成编码分配,在存储过程中设计了行级锁(同时只能有一个操作在该行),所以能绝对保证编码的唯一性,同时对该编码生成的存储过程也写在相应的类NumAssign中,每次只需要调用该类对象,传入编码编号,种子,即可按配置要求获得最新的唯一编码。
实例说明:
编码编号 编码名称 编码长度 编码规则 是否循环 最小值 最大值
100001 学生编号 6 叠加种子 否 1 999999
1、传入种子“0910”两位年+两位月,生成的编码为:0910000001 —— 0910999999
2、传入种子“0911”两位年+两位月,生成的编码为:0911000001 —— 0911999999
每次传入不同的种子,则重新开始一个新的编码,当我们不需要叠加种子的时候,只生成如0000001这样的编码时,则只需要在编码规则上修改为不叠加种子即可。
图例展示:
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/200911181654257906.jpg[/img]
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/200911181655436022.jpg[/img]
2.5、系统日志
记录了所有用户的登录信息,如登录时间,登录IP、用户单位、用户名称、用户编码等信息,用于系统跟踪。
图例展示:
2.6、错误日志
只要调用了标准的业务存储层类对象,所有的错误执行的SQL语句都将记录下来,便于开发人员排错处理,其中注意:对象标识相同的SQL语句错误日志为同一个事务处理对象封装的SQL,一起执行的,其中至少有一条语句错误,所以导致事务提交失败而回滚。
图例展示:
2.7、汉字管理
EfsFrame框架收录了2万多个汉字的全拼和简拼信息,存储在数据库中,在系统启动时,会自动将其缓存到服务器内存中,便于进行一些拼音翻译处理,如:字典的翻译,简拼或全拼的同音查询操作等。
图例展示:
更多图文说明:
http://www.efsframe.cn/bbs/dispbbs.asp?boardid=2&Id=18
2.1、事务类型、事件类型
事务类型:是指我们业务开发过程中,对某一些事件的分组名称,也可以叫业务组名称,如:学生档案管理、订单管理等;
事件类型:是指我们业务开发过程中,具体的某一个操作的事件名称,如:学生档案管理里面的添加学生、修改学生、删除学生、查询学生档案等,或者如订单管理中的添加订单、修改订单、审核订单、删除订单、订单查询等;
事件类型是包含在事务类型下面的子信息,事务类型是对事件类型的分组管理,EfsFrame框架中所有的事件类型在添加的过程中,会要求指定对应的url地址,即该业务操作的具体业务实现页面的地址,这样,我们在不同角色用户登录系统后,根据其事件类型权限,就能实现二级的功能树菜单,如下图:
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/2009111815574097367.jpg[/img]
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/2009111815575967489.jpg[/img]
2.2、单位、用户管理
任何一个应用系统都离不开单位、用户的管理,所有的权限分配都围绕不同的单位级别的不同类型用户展开,所以在EfsFrame框架中,我们将此部分默认到系统中,并给了一些常规的字段,但是在实际的项目应用中,可能需要对这部分进行相应的修改,特别是单位类型、单位级别、用户类型这些字段,可以根据自身的业务需要来进行调整,以便更加灵活的实现各种权限的分配。
2.3、角色管理
角色管理:权限分配是应用系统中最基本的功能,所以我们设计了一个简单的权限分配体系在EfsFrame框架中,便于提升大家的项目开发效率,在角色中,我们可以给角色分配用户,分配事件类型,在同一个角色中的用户,拥有相同的事件类型权限,同一个用户可以隶属于不同的角色,同一个事件可以隶属于不同的角色,这和Windows的角色管理有类似之处。用户登录后,功能树的出现即是以所对应的角色的事件类型的集合类展现的。
图例展示:
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/200911181602312163.jpg[/img]
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/200911181603530329.jpg[/img]
2.4、字典管理
字典管理:字典管理作为EfsFrame框架的亮点,开始不容易为人所理解,但是掌握后又能让人耳目一新。
这里说的字典是指我们在项目中经常用到的一些可枚举项的集合,表现的常规的Web上就是下拉框,比如说:性别字典、学历字典、籍贯字典、是否字典、婚姻状态字典等,这些属性的内容都是可以枚举的项,所以我们统称他们为字典。
往往在不同的行业,不同的应用系统中,会有很多字典需要管理与维护,为了便于统一管理,我们将该管理放在了EfsFrame框架中,以后大家在业务开发过程中,可以轻松的将所有的字典项纳入到系统管理平台中,添加新的字典后,只要生成字典文件即可在页面调用。
在字典管理中的注意事项:
1、字典名称,我们一般以大写的DIC_ 开头,这是一种编码规范;
2、字典条目中的字典编码,一律要以数字表示,如:001、002等,便于页面的通过编码快速检索;
3、添加完成的字典,生成字典文件,会统一以UTF-8编码模式的XML文件存放在应用系统项目的dic目录下,以便页面调用;
4、生成的字典XML文件会自动完成字典条目描述的全拼、简拼的构造,方便页面在快速字典选择过程中,通过编码、简拼、全拼的方式来检索字典数据;
5、所有的字典信息,我们将在系统启动时,将其缓存到应用服务器内存中,在做各种字典翻译的时候,特别是在详细信息查询时,就不需要做关联查询,自动从内存中获得字典翻译内容,从而大大提升系统的运行效率;
图例展示:
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/20091118163335158.jpg[/img]
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/200911181631687370.jpg[/img]
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/200911181635067738.jpg[/img]
2.4、编码规则管理
编码规则管理:在业务开发过程中,我们往往要给业务表的主键来快速生成唯一的编码,以避免主键唯一冲突,显然自动增长列是不太灵活的,很多时间无法满足我们的需求,我们所设计的编码规则管理就是为了解决此问题。
属性 说明
编码编号 一个应用系统中,可能有很多个唯一编码,所以我们给每个编码规则分配一个编号
编码名称 给不同的编码规则取名
编码长度 每次根据该规则生成的编码要多长
编码规则 是否将编码的种子加在新编码的前面
是否循环 当一个种子编码达到了最大编码后,之后重新从最小编码开始编号
最小值 编码的最小起始值
最大值 编码能达到的最大值
备注:
所有的编码生成,都调用统一的数据库存储过程来完成编码分配,在存储过程中设计了行级锁(同时只能有一个操作在该行),所以能绝对保证编码的唯一性,同时对该编码生成的存储过程也写在相应的类NumAssign中,每次只需要调用该类对象,传入编码编号,种子,即可按配置要求获得最新的唯一编码。
实例说明:
编码编号 编码名称 编码长度 编码规则 是否循环 最小值 最大值
100001 学生编号 6 叠加种子 否 1 999999
1、传入种子“0910”两位年+两位月,生成的编码为:0910000001 —— 0910999999
2、传入种子“0911”两位年+两位月,生成的编码为:0911000001 —— 0911999999
每次传入不同的种子,则重新开始一个新的编码,当我们不需要叠加种子的时候,只生成如0000001这样的编码时,则只需要在编码规则上修改为不叠加种子即可。
图例展示:
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/200911181654257906.jpg[/img]
[img]http://www.efsframe.cn/bbs/UploadFile/2009-11/200911181655436022.jpg[/img]
2.5、系统日志
记录了所有用户的登录信息,如登录时间,登录IP、用户单位、用户名称、用户编码等信息,用于系统跟踪。
图例展示:
2.6、错误日志
只要调用了标准的业务存储层类对象,所有的错误执行的SQL语句都将记录下来,便于开发人员排错处理,其中注意:对象标识相同的SQL语句错误日志为同一个事务处理对象封装的SQL,一起执行的,其中至少有一条语句错误,所以导致事务提交失败而回滚。
图例展示:
2.7、汉字管理
EfsFrame框架收录了2万多个汉字的全拼和简拼信息,存储在数据库中,在系统启动时,会自动将其缓存到服务器内存中,便于进行一些拼音翻译处理,如:字典的翻译,简拼或全拼的同音查询操作等。
图例展示:
更多图文说明:
http://www.efsframe.cn/bbs/dispbbs.asp?boardid=2&Id=18