spark的自留地(ofbiz/eclipse rcp/shark/opentaps)

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  54 Posts :: 0 Stories :: 112 Comments :: 0 Trackbacks

好久没有去看shark项目的进展了,说起来有些惭愧上次去enhydra.org网站应该还是四年前的事情了,shark 1.x版本一直觉得够用了,也就不再留意它的进展了。也一直未做过什么对外的文档与代码贡献,鄙视一下。今天来看看网站上对shark的描述,提些自己的看法与应用认识。

Shark与JaWE是Enhydra基于LGPL授权协议下提供的一组开源工作流软件。打个比方就类似于JasperReport与iReport的两者的关系。Shark提供完整的工作流引擎,JaWE是一个工作流程设计器与调试环境。

以我使用的经验来说,Shark是一个严格遵守WFMC标准的,使用XPDL语言进行描述的引擎。Shark可以应用在多种J2EE容器下支持会话Bean与Corba方式调用及WEB服务调用。

初学者很容易被这些开源项目中大量的概念与术语吓住,基本上都是死在第一步上的,无法入手。以我的经验来说,先了解WFMC标准与XPDL语言标签的含义,你有个基本的概念头认识后,然后用JaWE模仿示例做几个你常用的小流程,调试跑起来,你立即就会被它吸引上而不断去尝试它博大精深的内容。

当然,很多人又会跳出来说Shark不好,它是基于自己的框架开发的,并未使用struts/spring+hibernate这些更大众化的框架来做,它有自己的DODS等技术,学习曲线与成本很高。好象OFBiz不被大家接收也是这个原因(它有自己的OR技术与Framework)关于这点我的看法是,如果你是应付一些简单项目业务需求,是无需套用象OFBiz或Shark这些面向企业业务应用的框架,这叫用高射炮打蚊子。简单的信息CRUD自己随便找个框架或是原来的代码拷贝修改一下就可以了。不要天天比较说这个业务框架不好,那个技术不够开放。要知道这些项目都是这些开源组织多年持续坚持不断积累的沉淀,那时哪有这么多成熟的技术框架呀?而且我觉得客户或是作为技术负责人来说,只有最适合的,没有说一定要什么技术框架?啥叫主流?啥叫未来方向?扯淡多过实际,再过两三年现在所谓的主流框架还真的是主流吗?

shark在不同的人手中应该是可以有不同的用法,我是把它独立做为一个组件来应用的,使用需要用到工作流程驱动的应用我会使用到它。通过JaWE根据业务需求设计XPDL文件存放至资源库中,把流程结束点需触发的应用做成外部应用在工作流程中加以定义(支持Beanshell/WebService多种方式),类似于JspClient的示例方式在你自己的页面中提供待办事宜、工作申报、审批等操作。当然最主要的集成工作就是组织结构与权限的融合。这样你的业务系统就可以同shark全面融合了。最棒的情况下就是多个业务系统通过shark的同一实例串接起来,实现不同业务系统的工作衔接。

说得有些粗糙,可能文笔比较差,也不知别人是否能明白。以后有机会再就某个主题来说吧。

本人原创文章,欢迎转载,转载请注明出处!


 

posted on 2008-10-12 13:40 shanghai_spark 阅读(4230) 评论(6)  编辑  收藏 所属分类: shark

Feedback

# re: shark在业务系统开发中的应用方法 2008-10-12 15:14 leekiang
你把shark作为一个独立的组件来用,那么怎么解决事务问题的?  回复  更多评论
  

# re: shark在业务系统开发中的应用方法 2008-10-12 17:53 Jack.Wang
恩,说的不错,几年前做过工作流,当时我负责 flowbuilder 和 formbuilder 工具的设计和开发,参考过JaWE和ireport开源项目,觉得很不错!其中flowbuilder 核心是采用 JGraph 开发的!想想以几年过去了!  回复  更多评论
  

# re: 如何集成shark工作流到你自己的业务系统 2008-10-12 18:01 广州spark
shark是一个工作流引擎,为你的业务系统提供流程信息(如流程、当前活动、当前意见等),业务中的事务的控制是由你自己处理。对shark来说可是一个封闭的应用调用。我当初是这么做的,不知道我这样描述能否明白。  回复  更多评论
  

# re: 如何集成shark工作流到你自己的业务系统 2008-10-13 01:45 leekiang
我的意思是,你的业务操作和流程操作应该在一个事务内,要么都发生,要么都不发生。
用shark的话怎么做到这一点?  回复  更多评论
  

# re: 如何集成shark工作流到你自己的业务系统 2008-10-13 10:52 广州spark
对我的系统来说,报批、批复、驳回、中止这些流程操作是对你的业务(比如OA公文)的意见,它本身并不涉及具体业务内容(比如说对公文的意见并不会直接去改写公文内容,它们不是一个原子事务)。它相当于触发器,触发我业务系统中的对应操作(我所有操作都在业务系统的服务代码中,它可以读取流程信息对业务事务进行控制,当然你也可以回写shark的流程信息,比如在某种异常情况下去改写对应流程或活动实例信息)。  回复  更多评论
  

# re: 如何集成shark工作流到你自己的业务系统[未登录] 2013-08-26 16:49 tony
你好:
能不能介绍下如何搭建shark开发环境,搞了2周没有搭好,领导向导不满意。 157826218@qq.com  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: