Casey Lai's Blog | 工作流设计套件Cheetah Workflow
工作流设计套件Cheetah Workflow
发表于:2010年8月16日21时40分 分类:技术杂感 阅读(234) 评论(2)
    几个月前为公司编写一个地标搜索引擎时遇到一个问题,如何做好复杂业务逻辑的架构设计?最大的要求是让复杂的逻辑能让新人在短时间内看明白,弄清楚控制流和数据流的走向,在Debug的时候思路能比较清晰。次要的要求是要具有较好的扩展性和灵活性,业务逻辑在出现改变时,要改变的东西越少越好。
    灵感是在晚上睡觉中出现的,第二天很早就不想睡了,起来编写代码,大约4个小时后引擎主体代码都完成了(中间改写了一次)。周一上班后来拿到公司按照这个工作流引擎的规格编写了具体的业务逻辑实现和单元测试的用例。拿给leader过目,得到了认可。
    这个工作流引擎的优点在于,能够用一个XML文件来配置整个系统运行流程。而XML文件能够使用一些图形化的手段表现出来。这样,就可以实现工作流的可视化编辑。将项目经理、新人等非项目Owner从阅读繁琐的架构图、时序图、类图等文档中解放出来。程序项目Owner也不必花太多的时间写详细的文档,只要编写好工作流逻辑,直接使用可视化编辑器阅读就可以了。
    其中有一个可视化编辑器的问题。如果项目确实非常复杂,靠人手写XML和直接阅读XML就是一场噩梦,相当于问题根本没有解决。因此,这个可视化编辑器非常重要。没有它,只有引擎几乎没有什么帮助。
    选择可视化编辑器几乎没有什么考虑,Eclipse插件的形式提供肯定是最佳的选择。只要在要编辑的XML文件上右键“Open With”就可以了。阅读网上的资料,学习了一些Eclipse插件开发的知识。花了几个月时间,做好了这个基于Eclipse插件的可视化编辑器。

Cheetah Workflow Designer
    目前项目基于稳定性考虑的理由,短时间内不会使用这种全新的架构方式。我希望它能作为一个思路,为陷于复杂业务逻辑泥潭中的开发者提供一扇窗口。
    目前这个工作流开发套件我已经将它以BSD协议开源,代码托管在Google Code上。地址是:http://code.google.com/p/cheetah-workflow/。目前文档还有些不全,我会尽快补上。设计器刚刚写好,没有经过太多的测试,可能会有一些Bug,欢迎朋友们使用后提出指正。

    忽然想到一个题外话,最近看《股票作手回忆录》,收益良多。怎么判明趋势,怎么做投资和投机,怎么思考人们心理……很多问题,书中都有主人公的亲身经历做出说明和解释。看完觉得很多以前纠结的问题顿时豁然开朗,拨云见日。几个月前考证券从业资格,在基础知识中有一个“有效市场”的假说,按照假说,我国证券市场还没有达到半强势有效市场,但也不是无效市场。主板市场应处于超越弱势有效市场、又接近半强势有效市场的一个位置。若这个假说为真,那么,技术分析对于股票将完全没有指导价值,因为技术分析的一个很重要的假设就是“历史总是在重演”。在弱势有效市场,基本面分析将有助于取得超额收益,一旦A股进入半强势有效市场。除了内幕消息,没有任何方法能取得超额收益。现在,很多所谓的股评家和路边算命的没有任何区别,说准或说不准都是靠运气。

发表新评论

名字

Email(不会向第三方提供)

URL

评论