业务模式

基于前面一章所描述的领域模型元数据信息,metawork提供了一种新的业务开发模式。面对纷繁复杂的业务需求,我们进行关键逻辑的抽象,能够把一个系统中大多数的业务逻辑描述为下图的样子:

针对上面图中描述的业务逻辑,metawork建立了几个相关的模型,如下图:

相关概念在文档的前面章节中都已经介绍过。这里需要再次强调的是,这个模型不是银弹,他能够处理许多情况下的需求,但你不用拿着一个他解决不了的问题来责难我们,因为我们很清楚还有很多中需求情况metawork是无法解决的。同时,随着时间的推移,metawork本身也在发展。

我们把metawork称作一个基础应用,或者说一个业务框架,而不是一个技术框架,原因就在于在metawork里面并没有什么先进的、新颖的技术概念、发明。相反,通过metawork,我们希望向使用者展示的是对于上面第一张图中的那些简单的、普通的、常见的需求的业务处理模式。metawork的具体代码是对这种业务模式的一个实现。

一般说来,使用metawork步骤如下(其中有些步骤可以省略,或者系统已经做了默认的事情):

  1. 编写实体类,启动系统,系统自动加载实体类型信息,初始化元数据
  2. 建立对实体的操作(例如提出休假)
  3. 指定实体操作对应的视图(例如提出休假对应的表单页面在哪里)
  4. 建立功能(例如休假申请管理),指定功能所允许执行的操作,并确定数据范围
  5. 建立相关角色,在角色的节点树上配置功能节点,从而使得被赋予了该角色的用户可以使用该功能
  6. 会建立用户,并给用户赋予刚才建立的角色,最后同步人员或者角色的节点树,使得在角色节点树上的节点复制到人员的节点树上。

此刻起,我们建立的用户登录后就可以看到他所能使用的节点,点击节点,就会调用节点上所配置的功能的默认操作。当然,你也可以在节点上指定点击节点的时候执行的操作。

关于系统中的功能这个模型,目前它"从属"于元实体,也就是从属于业务实体类型。例如用户管理这个功能属于用户这个实体。这方便了我们归纳需求、开发业务。但这种限制也是导致他外延变窄的一个主要因素,可能会在将来发生变化。

团队
Group: Lingdot
Allan Zhang (allanz)
guyan6644@163.com
Jonney Xian (jonney)
jonney_82@163.com
刘 洛麒 (llq667)
llq667@gmail.com
孙 海龙 (sunhl)
sunny.hl@163.com
宋颂 (ssong)
ss0070@163.com
张盈盈 (zyy200411)
04281118@bjtu.edu.cn
牛 俊力 (niujl)
05272140@bjtu.edu.cn
胡文锦 (cattyjin)
07122053@bjtu.edu.cn
苏 哲 (billy)
mvpierce34@gmail.com

标签

 
(没有)