一开始没有讲workflow,而是把构件包都介绍了一下,呵呵,这个其实没什么听头的,做开发的时候文档一看就有数了。不过有一点在刚开始用eos的运算构件时要注意,就是诸如BL_runFormatSql这样的运算构件。这个构件在运行时是不关联数据实体而直接运行sql语句的,所以使用这个构件完成一次查询操作后如果有返回结果集(Result
Set)的话,在不指定结果集的实体类型的情况下,将实体类型当做entity处理。在使用指定类型后,如list[@type='CITY']后,将使用CITY作结果集的类型。在我看来,说白了,这个就象java里类型转换或者更象c++里的template,这个理解起来没什么难度,但在用起来要注意的,这会影响到从三个context中取数据。
举个例子,比如说查询的实体为CITY,放在list节点下,则
1.未指定list包含的实体集的类型时:
<list>
<entity>
<CITYID>
1
</CITYID>
</entity>
<entity>
<CITYID>
2
</CITYID>
</entity>
<entity>
<CITYID>
3
</CITYID>
</entity>
</list>
2.用list[@type='CITY']指定list包含实体集的类型时:
<list>
<CITY>
<CITYID>
1
</CITYID>
</CITY>
<CITY>
<CITYID>
2
</CITYID>
</CITY>
<CITY>
<CITYID>
3
</CITYID>
</CITY>
</list>
注:对于形如BL_xxxSql这样不通过关联数据实体而直接运行和数据库相关的sql的构件不提倡使用,因为这些构件中的sql语句可能是不同数据库相关的,跨数据库使用可能产生问题。
今明两天的主角:EOS工作流――具有中国特色的工作流(我靠!)
因为EOS自己的工作流当然能够与EOS
Studio和Server无封继承,所以下午我们是先在昨天的开源系统中加入workflowTest构件包来添加workflow到项目中去。之后选中项目-->属性-->EOS项目属性-->引用构件包-->添加引用库-->EOS业务流程引用构件包。这样就把使用工作流要用到的构件包都引入进来了。
有一点值得注意,就是EOS物理上实质是以构件包而不是传统的项目为单位发布到EOS
Server上去的,所以当两个项目中有同名的构件包时后部署的项目中的构件包就会覆盖前一个项目中同名的构件包(因为构件包都部署在同一个目录下的)。在这个问题上,普元的人说一般是一个EOS
Server部署一个项目,不太赞成一个EOS
Server上部署多的项目,理由是会引起同名构件包的冲突。在我看来这个完全是商业行为,我们就是要花最少的钱让EOS
Server做最多的事,剩余价值就是这么压榨的,呵呵。因为既然是面向构件的东西,那么就不应该出现同名而不同功能的构件,也就是说如果两个项目中使用到了同名构件,那就应该共享该构件,如何共享?部署在同一EOS
Server上就能共享了。
活动的分支模式和聚合模式:
这个在帮助文件的EOS workflow-->概念-->与开发环境相关-->与活动属性相关里面有详细的介绍。其实看穿了,这两个模式中的3个方式无非就是and和or以及and与or组合起来的逻辑运算。
人工活动中的多工作项属性:
多工作项的意思就是可以根据某角色或岗位中包含的人员的个数来产生多个工作项(具体由"多工作项分配策略"定义)。
另外,各种活动和流程的属性在帮助中均有详细的说明。
最后就是用表单的方式做了个请假的工作流并部署和调试应用了一下,具体的步骤在工作流教程的那本书里有。感觉上有oa的味道。
tips:
在活动属性填写中,可以按住shift再点数据行,可以多选。之后就能用ctrl+c和ctrl+v进行复制粘贴到需要的地方去了。
明天要用基于页面的方式实现同一个工作流,拭目以待吧。
今天碰到的问题:
今天碰到的问题就是为什么今天没碰到什么问题呢?不够专心吗?哈哈哈!god knows!
sleeping...
No comments:
Post a Comment