re: 图中跳转问题 栖息的熊 2008-07-20 00:40
@king_astar
本文讨论的前提不是在正常工作流流转情况下,如果是严格按照流程定义,也不会出现这么复杂的有向图计算问题了。
现在是需要跳过某些活动节点,这样就需要决定用户想跳到的节点是不是会影响流程的数据完整性。
对我的疏忽表示歉意,文中已做修改。
本文主要目的是提出了一种解决遵循XPDL的工作流产品要迁移到WF上,对于人工活动的解决方案。国内大多数的工作流产品都是遵循XPDL规范的,而从网上的资料中没有完整的描述这项迁移的解决方案。本文的中提到的技术疑点的解决来自于Matt's Musings一个老外的博(
http://www.pluralsight.com/community/blogs/matt/default.aspx),还感谢WXWinter的博中无私的贡献。
@lzjtu
因为我个人觉得WF是业界对工作流的通称,微软这个改名有想混淆视听、含有统一工作流领域标准之嫌,个人不接受。
re: 《WF编程》笔记目录 栖息的熊 2008-06-12 12:11
我的email:ipointer@163.com
你给的地址下载不了,我现在做工作流引擎迁移到WWF上的工作,你的努力对我们帮助很大。
VMware的服务如果是启用的话应该是没有问题的,如果改成手动,你们重启再试试看。
肯定不是我的环境的问题,我是以前碰到过,今天一个同事也发现了这个问题,就用心研究了一下,写了blog来提供给也出现这个问题的同志们。
@小武舞
做项目的话,我觉得用微软的WF就挺不错的,在那个上面实现,估计你在细节上就可以省不少心。
@曲滨*銘龘鶽
我们第三个版本已经发了,
http://www2.ccw.com.cn/07/0717/a/0717a05_5.html,现在5.0也开发完了(中国人忌讳4,所以直接跳过,这个版本工作流变化不大,还说不上一个BPM产品,主要是框架和自定义单据的变化)。最近一个阶段是6.0的需求阶段,准备做一个真正意义上的BPM产品。如果要采购记得俺的关系哟,介绍人是可以提成的,哈哈。
@生鱼片
1、lotus有没有可以用来学习的版本,部署的话麻不麻烦,我们也想尽可能多看各家的产品,开拓我们的思路。
2、WF正如前面一位兄弟所说,是编程框架,与工作流产品来相比是有失公允的。它之所以放在.Net Framework中,就是这个道理。但是经过一定的封装,应该可以达到一般工作流产品的程度,而且用发展的眼光看,微软会持续的发展这个引擎,所以基于这个引擎上封装的工作流产品的生命力就有很大的保障。
@Shinn
兄弟言重了,多多交流。我看兄弟的博客是空的,什么时候也写写,也让我们学习学习。
re: 工作流模式 栖息的熊 2008-03-24 21:39
楼主这样来凑贴子呀,应该多写一点实际的东西。
@曲滨*銘龘鶽
1、同意兄弟的评论,本人虽然对WF没有很深入的了解,但对Biztalk却相对的熟一些,了解微软做事的风格,他永远是只能做最通用的东西,说白了就是拿个图形化的工具来写程序,因此没有不能实现的,不过就是过程繁杂。拿一个类似WF这样的产品来提供给直接客户或者是我们的实施,对他们的要求就太高了。因此真正工作流产品必须实现各种模式来抽取常见的业务场景,简化定制的过程,提高定制的效率。
2、如果兄弟对WF很熟,希望能与兄弟多多交流。微软逼着我们在WF的基础上封装我们的产品,我们也迫于高层的压力,必须这么做。我们也想成为第二个K2,但K2是ISV的待遇,我们只是战略合作伙伴,我们得到的技术支持远远还达不到产品化的程度,所以在痛苦的挣扎中。
@Shinn
1、这位兄弟不要太见怪,正如我上面的回复,这里的“高级”并不是只这种模式有多么的高深,而只是一种划分,在常见的20种工作流模式中,“多路合并”的分类就是属于高级流转模式,这点上我并不是为了有个“噱头”的标题。
2、根据工作流产品所面向的行业不同,在设计时采用的结构就有所不同,我们面向的主要是物流、生产这样的流程,流程的规范性较好,我们采用的结构对于实现这个流程就比较自然;而对于OA的流程我们也是支持的,实现的方式就比较变扭,这个可以参见
http://search.sipo.gov.cn/sipo/zljs/hyjs-yx-new.jsp?recid=CN200710015728.1&leixin=fmzl&title=一种在办公自动化中基于规则约束的自适应流程方法&ipc=G06Q10/00(2006.01)I ,我们也不是采用这种模式来实现的。
3、还有这位兄弟说会签是这种场景,我们也做过不少OA的项目,并不认为会签是这种“多路合并”的模式,请这位兄弟开篇博文,我本人也非常的期待兄弟的精彩大作。
@nfa2dfa
这个不是我说了算的,而是有业界的约定俗成,你可以参看
http://www.workflowpatterns.com/,这个老外的网站非常的牛。
这位兄弟估计也没有细看我的文章,如果只是条件分支,我也不息的来扯了。
@生鱼片
能接触到lotus真是好呀。
我们不是做项目的,是做开发平台的,工作流引擎是自己开发的,整个产品类似于K2、UAP、EAS、极致和思维加速吧。
我现在讲的是工作流模式,说到模式也就是业界总结的工作流规律。高级工作流模式是相对简单工作流模式(串行、并行、同步、排他选择和简单合并)来说的,工作流本身不存在什么高级不高级的,呵呵。
@Tony Zhou
谢谢,之前看胡长城总结的工作流模式,大多是翻译的内容,业务场景举例很少,特别是这个多路合并,基本没有讲清楚。
@生鱼片
我们开发组原则上是一周讨论一次,以上都是工作流开发组和业务组进行头脑风暴之后的总结。
微软的WF我不是很熟,但以我现在对微软WF的认识,它好像是做不了任何的一个高级工作流模式。
re: SPL问题 栖息的熊 2006-04-14 14:15
你这个问题解决了吗,我也碰到了,怎么修改呀。
我写了例子,如果我兴趣的话,我可以贴一下,过一段时间吧,最近很忙,老被PM狠批,不干正事。哈哈。
re: 寻找实习机会 栖息的熊 2005-12-14 13:30
不知道你愿不愿意来浪潮,GSP公共组件开发组,完全满足你的需求。不过,我还是小兵,说了不算。
re: 国际化组件的设计 栖息的熊 2005-12-10 08:56
嗯,就是获取或设定语言文化的信息。详见MSDN。
还有一个弱问题,partition name是什么意思,有什么作用。
关键问题是db.ExecuteReader(),返回的对象是一个SqlDataReader.
re: 国际化组件的设计 栖息的熊 2005-12-09 16:54
在.net framework2.0中界面的国际化已经有统一的处理方式(1.1下好像有问题,所以以前一直是用反射来做得)。2.0中在界面的控件的属性中,选择language,修改text属性到多语言,保存就可以生成多个资源文件。
我这里的InstantlyChange是支持即时的切换的,主要的应用场景也就是在应用程序启动时,那些配置初始属性时用的。
这个组件的主要功能就是将非特定语言的字符串转化成特定语言的字符串(从自定义的资源文件中取得),如:resourceManager = fa.GetRM("formui", "zh-cn");
resourceManager.GetLocalizeToken("result", "jane");
支持带参数串的国际化。
re: 国际化组件的设计 栖息的熊 2005-12-09 16:26
我们做公共组件中的一块,entlib中没有,只能自己写个比较垃圾的。见笑了。
我的理解是客户端和服务器端会使用不同的两个缓存,当然更多个也是可能的。每块缓存也会分in-memory和backing store,缓存组件对in-memory的数据时不进行加密的,所以都是不安全的。即使是在服务器端,也可以通过attracker进行获取。
有一点不太明白,IDataReader dr = db.ExecuteReader(CommandType.Text,"Select * from Products");
返回的是什么类型的DataReader,好像我这边是SqlDataReader,这个不支持序列化,我换成DataSet就好了。我想知道别的方法。
If you have configured the "All Events" special source, the event information will be written to that source as well as the sources associated with the categories specified in the LogEntry object。
这句话怎么理解,主要是the "All Events" special source不太懂什么意思。
这两天仔细看了一下enterprise library2.0的doc,看到一些东西,比如上次的错误可能是这个原因。
If the message cannot be written to the configured destination, the information is written to the listeners configured for the "Errors" special source.
在事件查看器中除了写入了日志,隔了6秒又写入了两条错误,
内容如下:
Failed to create instances of performance counter 'Client: # of Logs Written/Sec' - 请求的性能计数器不是自定义计数器,它必须初始化为只读。
不知道是什么原因。
还有就是效率的问题,我发现不管是Data Access还是logging,都要很长时间才有响应,楼主那边是不是也有这样的情况。
呵呵,找到问题了,我新建的用户没有操作的权限,重新设了一下就好了。用现成的存储过程好像都会有这个问题。^_^
正确,你提供的那个存储过程不存在,我就找了个northwind里现成的,还是出现那个问题。错误提示,就是系统错误。
楼主,我在做第一个方法的例子时就出错了,具体位置是Database.cs文件的DoLoadDataSet方法的adapter.Fill(dataSet).
我找到问题了,晕,楼主配server的时候怎么能配成local,应该为(local),这样连接字符串才能对,楼主写文章要测试一下呀。
我在connection.open的时候出现异常了,仅仅提示系统异常,我想可能也跟连接字符串有关,但不知道怎么改。
不知道参考宏的什么方面的知识,msdn上看了一会,不太明白。
@在项目中选择 属性|生成事件|生成后事件命令行 输入如下内容
我是这样写的
copy "sourceDir\*.config" "tarDIr"
编译成功了
不知道$是做什么用的
但我发现sourceDir下的config改变之后,tarDir下的没变
@在项目中选择 属性|生成事件|生成后事件命令行 输入如下内容
我是这样写的
copy "sourceDir\*.config" "tarDIr"
编译成功了
不知道$是做什么用的
但我发现sourceDir下的config改变之后,tarDir下的没变
re: 对付advapi32的妙招 栖息的熊 2005-11-18 08:37
dudu,我确实上传不了文件包括:rar和zip。一般是上传之后很久就出现该页无法访问了。
还有随笔和文章有什么区别。
re: XPath最通俗的教程(ZZ) 栖息的熊 2005-11-02 13:01
我这里还有一个doc文档,里面用红色表明了选中节点,这里不会贴出那种效果,想要的留下邮箱。