难道真的是冷场???Shark(Engine) + JaWE(Editor/Designer)是个不错的选择哦:)

解决方案 »

  1.   

    JaWE是目前均是CS结构,为何没有使用Log4J来做日志、调试记录,为何?
      

  2.   

    To:wssg
    你修改了些什么内容,有没有修改里面的JGraph呢?用的JaWE是多少版本的?JGraph版本呢?
    我用的是JaWE 1.4.1
    JGraph 3.4.1想升级JGraph为5.1一些问题,晕
    http://www.jgraph.com/
      

  3.   

    To:cold_blooded
    三天没吃饭可能还好受一些,要是三天没喝水,我估计没戏了:(
      

  4.   

    好强大的功能
    感觉是Portal+工作流好些东西光看就让人觉得很郁闷~~另外真的打算用EntityBean吗?那个也太难用了
      

  5.   

    找了一些资料,放出来,纯当做顶XPDL==>Shark与JaWE
    ==>BPEL4WS、Integration/Portal工作流之大局势1.   从奴隶社会到封建后期
    工作流(WorkFlow)的概念是在现代信息系统的建设中逐步形成的,它有一个从局部到整体、从初级到高级、从简单到复杂、从奴隶社会到封建盛世的发展过程,按其发展历程,我们一般把它分为三个阶段:﹡ EDF(电子数据流)阶段EDF(电子数据流)阶段是工作流的奴隶社会阶段。此时的工作流在信息技术中的应用,仅着眼于利用信息技术减轻人们在流程中的计算强度,如设计一个流程用来协调多个会计统计帐目。所以,EDF最主要的特点是仅对企业单项业务进行处理,基本不涉及管理的内容。﹡ TPF(事务处理流)阶段TPF(事务处理流)阶段是工作流的封建初期。TPF并没有形成对企业的全局业务的管理,而着眼于对企业局部业务的管理,比如,设计一套工作流程,来管理物资的采购和供应。﹡ IMF(信息管理流)阶段当今的工作流已经发展到封建后期-------IMF(信息管理流)阶段, IMF强调对企业业务的全局的整体性的管理。在这个阶段,工作流就是为了完成同一目标而相互衔接、自动进行的一系列业务活动或任务。目前,工作流技术与信息技术以及企业管理紧密结合,已经悄悄渗入MIS系统、ERP系统和CRM系统等企业级关键系统中,并迅速成为这些系统的核心。在这个阶段,保皇派工作流经历了大发展,革新派工作流也风涌而现。2.   保皇派与革新派
    与其它信息技术相比,工作流技术属于较新的一个,它现在仍处于标准的制定阶段,目前已有的标准按采用的技术分为两大派别,第一派是保皇派,基于纯XML技术;第二派是革新派,基于Web服务技术。保皇派与革新派打得难分难解,所以,现在仍有一些工作流引擎没有采用任何标准而独立实现,也就是说,它们不依靠保皇派,也不依靠革新派。2.1 保皇派分支
    ﹡ XPDL(Xml Process Definition Language)XPDL是保皇派最得人心的一派,因为它是太子。在工作流领域第一个致力于标准化工作的是Workflow Management Coalition (WfMC),它成立于1993年。1994年11月,wfmc发布了工作流管理系统的参考模型。参考模型提出了五类接口,有关过程模型的定义则构成了接口一的核心内容。接口一早期的标准为WPDL(Workflow Process Definition Language),后来,这一接口的规范变更为XPDL。XPDL是至今工作流领域最为重要的一个标准,目前大多数工作流引擎是依据该标准设计开发的。﹡ BPML(Business Process Model Language)因为对太子派的工作方式不满意,BPMI发布BPML规范,成立新的八爷党。由于八爷党发展的非常之快,WfMC和BPMI在2002年6月26日宣布将合作制定业务流程和工作流标准,即采用BPML来描述工作流过程,同时采用XPDL所定义的工作流模型。﹡ OMG的Workflow Management Facility四爷OMG是支持太子的,不过四爷这个人很有报负,在其他领域也做的有声有色。四爷OMG的Workflow Management Facility联合太子的WfMC规范,定义如何将工作流向CORBA转换---要知道, CORBA可是四爷的强项。现在很多老百姓支持四爷OMG的Workflow Management Facility。四爷这招,发展了自己的势力,又不惹太子生气,真是妙啊!保皇派其它分支势力很小,这里就不多说了。2.2 革新派分支
    ﹡ WSCI2002年6月26日,BEA,Intalio,SAP,Sun四家公司提出了基于xml的WSCI规范,推动Web服务进入了一个全新的阶段。这个规范主要描述了一个参与和其它服务进行协作交互的Web服务所交换的消息流。WSCI是第一个革新派,后来又发展了几个新的革新派, 如WSFL(属IBM),Xlang(属MS),因有天生缺陷,均没有很大起色。﹡ ebXMLebXML是一组支持模块化电子商务框架的规范。ebXML支持一个全球化的电子市场,它使得任意规模的企业通过交换基于XML的信息,不受地域限制地接洽和处理生意。ebXML是联合国(UN/CEFACT,贸易促进和电子商务中心)和OASIS(结构化信息标准发展组织)共同倡导、全球参与开发和使用的规范。由于现在老百姓都不喜欢抬着羊去换米,而喜欢在网上来个B2C,所以革新派ebXML最近发展很快。﹡ BPEL2002年8月9日,Microsoft, BEA, IBM, SAP & Siebel联合提交发布了BPEL规范。 BPEL联合了一系列革新派/保皇派力量( XLANG, WSFL, BPML)。此规范描述如何处理输入的消息,它不是一个关于业务流程规格化定义的规范。简单的说,可以将它看作XML形式的编程语言,提供将WSDL-Services组合成控制流的能力。顾名思义,此规范重点在(也不只限于)Web Service。还有其它的革新派如RosettaNet等,因为势力很小,这里也不多说了。3.   大户人家
    这里所谈的大户人家指工作流领域的商业软件供应商,他们都背靠靠山,或穷或富。我们这里按地区来划分他们。3.1中国之外的大户
     ﹡ BEA 的WLI﹡ Fujitsu的 i-Flow﹡ IBM的 Holosofx﹡ SAP 的NetWeaver﹡ Sonic 的Orchestration Server﹡ Ultimus﹡ Versata这些人家大都非常富有;如果需要,请自己搜索他们的信息。3.2国内的大户人家
    ﹡ 信雅达的SunFlow  这个公司留给我的印象很好,包括他们的总经理石总。﹡ 西安协同的协同工作流SynchroFlow﹡ 上海东兰的DLFlo这里对公司就不多介绍了,否则有做广告的嫌疑J。本人有国内工作流产品的比较报告,大家需要可以给我发邮件索取。4.   寒门傲骨
    这里的寒门傲骨指的是开源工作流引擎的实现,寒门子弟也是有政治取向的,我们还是按保皇派和革新派来区分他们,而自由派指没有按固定的标准来实现的工作流门派。4.1保皇派寒门
    ﹡ OFBiz   OFBiz最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具。其中包括实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等。OFBiz先前的工作流引擎基于WfMC和OMG的规范,使用XPDL作为流程定义语言,也就是说,它是支持太子XPDL的,而且和十三爷OMG的关系非常之好。OFBiz新版的工作流引擎采用Shark工作流引擎,我们不建议再去学习OFBiz自身的工作流引擎。﹡ OBEOBE 是由Adrian Price主持开发的一个开放源码的Java工作流引擎,支持WfMC规范,包括接口1(XPDL)、接口2/3(WAPI)和接口5。OBE主要基于J2EE实现。OBE的接口1实现得非常好,可惜,OBE的载体公司Zaplet已经于前不久被合并,合并后的公司没有继续发展OBE的打算。Adrian Price离开了原来的公司,投奔我们前面说过的大户Versata。Versata也不打算继续OBE。OBE至今没有release版,很是可惜。﹡ SharkShark是完全根据WFMC规范实施的,可扩展功能的工作流引擎,它利用xpdl来定义流程,同时还包括服务器端的用于活动节点执行的WFMC工具代理API。Shark中的每个组件例如持久层,事物管理器,脚本引擎,流程库,都是可以按照标准实施运用的,而且还可以被具体项目的模块扩展和替换。Shark和XPDL定义工具的事实标准JaWE同出名门,市场前景被很多人看好。OFBiz新版的工作流引擎采用Shark工作流引擎,OBE的载体公司Zaplet被合并,对Shark的发展将很有利。2004年9月9日,shark发布1.0版本,对它的发展无疑是一剂强心针。笔者从Shark发展的早期就在国内力推它,有幸成为Shark工作流引擎在国内的主要推广者之一(http://blog.csdn.net/hongbo781202/),感到十分荣幸。Shark的讨论请看http://211.95.124.238:22/cgi-bin/forums.cgi?forum=24。4.2 革新派寒门
    ﹡ OpenebXMLOpenebXML项目致力于提供一个ebXML框架,主要支持 UN/CEFACT和OASIS发布的ebXML规范2.0版。﹡ BonitaBonita是一个符合WfMC规范、灵活的协同工作流系统。Bonita基于浏览器、使用SOAP和XML数据绑定技术的Web Services封装了已有的工作流业务方法并将它们以基于J2EE的Web Service形式发布。﹡ TwisterTwister的目标是提供新一代、易集成、应用Java领域中最新成果、面向B2B的工作流解决方案。流程引擎基于BPEL业务流程规范和Web Service标准。﹡ ActiveBpelActiveBPEL引擎是一个于今年7月发布的健壮的运行时环境,它能执行用户按BPWL4WS规范编写的业务流程。ActiveBPEL引擎由Active Endpoints公司开发和维护,该公司同时在它的多个商业产品中使用了该技术。本人将密切观注ActiveBPEL引擎的技术发展和产品状态。4.3 自由派寒门
    ﹡ OSWorkflowOSWorkflow的最大特点是灵活﹡ OpenWFEOpenWFE是一个开放源码的Java工作流引擎。 它的思想来源于 Scheme,包括可升级的三个组件:引擎、工作列表和Web界面。﹡jBpmjBpm是tom baeyens编写的一个灵活可扩展的工作流管理系统。jBmp将工作流应用开发的便利性和杰出的企业应用集成(EAI)能力结合了起来。jBmp包括一个Web应用程序和一个日程安排程序。jBmp是一组J2SE组件,可以作为J2EE应用集群部署。国内目前有部分人研究jBpm。5 大局势
    目前是封建社会后期,以太子党XPDL为首的保皇派还将辉煌一段时间。我个人认为,在Ofbiz投靠Shark,强势派OBE倒台,自由派不得人心的情况下,Shark工作流引擎依靠与XPDL定义工具JaWE的兄弟关系,将坐上保皇派头把交椅。目前,革新派和保皇派的争夺并不激烈。因为在现在的情况下, 革新派的根基Web服务并不牢靠,在老百姓中的影响不太大,所以革新派只求从保皇派嘴边分口食就行了。但随着社会的发展, Web服务将越来越流行,现在,MS/IBM/BEA等跨国巨头越来越主推BPEL4WS标准,并且已经发布基于BPEL4WS标准的系列产品,而且,他们还主推Integration/Portal的概念,这些概念将把工作流带入资本主义阶段。
      

  6.   

    国内工作流产品厂商研究分析小记
    http://www.wfchina.org/mvnforum/viewthread?thread=127工作流现状
    http://www.joinwork.net/document/The%20State%20of%20Workflow2.htmShark 技术研究
    http://211.95.124.238:22/cgi-bin/forums.cgi?forum=24
      

  7.   

    To taogaowei:有理!五个接口的实现问题?
      

  8.   

    如果大家觉得有问题的话可以拿掉去,我查了一下,在CSDN论坛上面很少讨论关于工作流方面的资料与讨论,我也是经过思想斗争后才放上去的,似乎有些不妥,但是感觉有些必要,工作流方面的应当在用的不少吧,但是拿出来讨论研究的却不多,希望有做过的能够在此贴出你的经验来,与大家分享一下。谢谢!
      

  9.   

    我的理解是:放在OpenSource版块置顶无可厚非。
      

  10.   

    J2WE? Java 2 Web Edition?
      

  11.   

    JGraph不升级到5.1了
    还是下载3.4.1的JGraph回来弄,然后一步步升上去看看吧。
    http://prdownloads.sourceforge.net/jgraphJaWE不是J2WE啊,是不是没有清楚啊?
      

  12.   

    http://www.eworkflowing.com/http://www.wf800.com/http://www.wfchina.org/楼主帖的文章是hongsoft发表的,他在csdn的blog
    http://blog.csdn.net/hongbo781202/shark的使用技巧可以搜索他的mail list:
    http://mail-archive.objectweb.org/shark/工作流的概念庞大,国内做工作流的人也不多。接触工作流有一年,觉得工作流概念不是很成熟,如果只作一个核心引擎和业务系统嵌在一起运行是很有用的,独立的话难以驾驭。开源的工作流引擎,基本没考虑和业务系统衔接的部分,所以要自己制定方案和扩展了。我看不清楚楼主想研究哪部分,或者说,想研究的就是工作流本身,那这个实在是太庞大了。
      

  13.   

    发贴的文章的内容是我刚开始从CJSDN里面顺便弄上去的。国内做工作流的人也不多???国内工作流的产品都好多了啊,怎么会不多呢?
    国内工作流产品厂商研究分析小记
    http://www.wfchina.org/mvnforum/viewthread?thread=127我现在也搞清楚今后研究哪些部分啊,老大要求我们弄
    JaWE + Shark + Portal然后能够跑起来!不知道成不成???
      

  14.   

    做个引擎内核不是什么难事,我有2个。但做得全那是不可能。举个例子,ibm lotus都不敢说能够解决所有流程,可见其复杂。关键点
    1.实际的流程总是会有工作流引擎很难兼顾的部分。
    2.加入工作流,繁琐细节增多,原本业务编码就很复杂,再加上工作流,烦啊。所以在加入工作流的初期,一般都是一团遭。最好是用一个以前完成得比较好的项目做实验,这样就要企业肯花钱研究。但工作流是趋势,工作几年的人都知道,企业中的日常作业都是流程。所以流程管理是必须的。问一下,portal是什么?
      

  15.   

    我们做的webOA都要用流程控制,可是没有那么大的力量做,只能用数据库来模拟,用起来很痛苦。好好学习一下,以后用的到
      

  16.   

    Portal也是用开源的,Liferay,不过现在不是我在弄,我现在只在看JaWELiferay is a leading provider of open source enterprise solutions. Backed by years of experience and innovation, Liferay brings high-value software and solutions to help firms not only optimize their own business and increase productivity, but also differentiate themselves from the competition. 公司网址:http://www.liferay.com/开源地址:http://sourceforge.net/projects/lportal
      

  17.   

    to duke136(狂刀客~~~狂野之刀,寂寞之刀) :
    Shark也是把流程信息储存在数据库,然后用一套api来控制而已。api的开发,我想理解wfmc的规范,应该比较清晰。http://www.wfmc.org/
      

  18.   

    Portal里面包含的东西好多......
      

  19.   

    业务步骤(或称“活动”)在真正的企业流程中是非常灵活的。有许多自定义的元素和业务逻辑在里面,我们很难用一个图形化的工作流定义工具来设计它。我相信jgraph确实是一个好的设计工具,不过我也不相信它能够直接定制也一套符合企业需要的流程。所以我的项目中的工作流部分也是根据企业的需要开发的。
      

  20.   

    从Liferay看分布式cache的实现
    板桥里人 http://www.jdon.com 2003/04/18cache是优化性能的必须选择,cache也是一个中大型系统必须选择的技术。Cache是专门针对有状态数据的系统做的一种优化措施。在J2EE中,通常我们有很多功能会在WEB层实现,比如Web Service,但是这些网络功能是非常耗时的,如果每个request都进行网络通讯,无疑性能是很低的。因此, 我们需要将一些经常反复使用的状态数据一直保存在内存中,在有效期内供客户端不断反复访问。使用HashMap保存对象是实现的最基本思路,很多开源软件都有自己的cache机制,如Jive的cache机制主要实现了单机系统的缓冲机制,如果多台服务器运行,jive 2.1以前的cache机制是无法 实现的,这迫使它在jive 2.5以后采取第三方非开源的分布式Cache系统。那么有没有一种简单的分布式cache实现机制呢?最新门户portal开源软件Liferay向我们展现了利用EJB实现分布式cache简单实用的实现。Cache机制是利用内存中的对象来代替远程对象,因此它是一种Proxy模式,我们来看看几个关键的类:1.Cache类
    核心类是com.liferay.cache.model.cache,通过构造一个new cache(Object obj),将需要cache的对象
    赋值进去,就能达到cache的目的,以后通过cache.getObject()可以得到这个对象。为了达到分布式cache目的,多态Server能共享同样的Cache,liferay使用了数据库来持久化这些cache:Cache
    CacheEJB
    CacheHome这三个类是一个实体bean, 对应一个叫cache的数据库,使用集中式的数据库可以让多态服务器来共享这些被cache的 对象。Cache中有两个字段:ID和String型的text, 后者是将对象序列化以String方式保存在数据库中。Modeler 是将实体Bean的Cache 逆向序列化成Cache。CachePool是实体Bean Cache的缓冲池。通过CacheManager操作上述的CachePool Modeler和Cache,可以实现所有的有关Cache的生成 管理操作。实际上,这个Cache是供WEB层使用的,因此,通过CacheManagerUtil这个总的接口向WEB层提供Cache功能,在WEB层,WebCachePool以单态的形式为所有WebCachable的对象提供cache。可见,整个Cache机制有三层,第一层WebCachePool是离应用请求最近的;当超过更新期间后,第一层将从第二层CachePool获取,如果第二层没有,将从数据库中获取,如果数据库没有或过期,则启动这个被Cache的对象的某个方法,让其从远程通过网络获取新值。。2.Cachable对象
    上面我们已经提到被Cache的对象,这个对象能够被Cache,需要具备一定的条件,它要实现WebCacheable,而WebCacheable是个综合接口,它必须具备两个属性Cacheable, Converter。Cachable的接口只有getRefreshTime()方法,意味着只要指定了自己的更新时间就能Cacheable,同时还要再具备Converter,Converter代表的意思是,如果Cacheable规定的更新时间失效后应该做的事情:到真正数据源再获取一次数据,由此可见,Cache的好处就是,不必每次需要这个数据时,都要执行一次Converter。举例:天气预报,我们可能会在我们首页上放置天气预报,这个天气预报的信息我们是通过Web Service到某个专业站点获取的,那很显然,不可能我们的首页在每次被访问时,都要通过Web Service这样的网络连接去获取天气数据,这时,我们就需要对天气数据Weather进行Cache。//根据邮编构成一个WeatherConverter对象
    WebCacheable wc = new WeatherConverter(zip);//通过缓冲池再获得这个对象,Cache实际是一种Proxy模式
    Cache cache = WebCachePool.get("weather." + zip, wc);//从cache中再返回该对象。
    return (Weather)cache.getObject();从上可见,当客户端我们的首页后,我们不是直接返回wc.convert(zip),这个方法就是通过Web service到远程获取天气数据,而是中间强行插入一个proxy"网关",使用cache.getObject()来返回天气数据,这样,就起到Cache缓冲的效果。liferay是个非常不错的门户软件,尤其是它的portlet概念,整合了普通门户网站的所有功能,非常类似IBM的Portal软件,但它是开源免费的。而且它的很多设计思想可以借鉴实现在我们自己的应用中。
      

  21.   

    利了工具FindBugs......好多不合理的
      

  22.   

    由于没有看Shark,不知道Shark是否不支持并发(eg.会签)功能?XPDL里面的并发如何定义???
      

  23.   

    不支持,必须进行扩展,最好是有能力扩展内核,要不然就在外围封装api扩展。
      

  24.   

    cm4ever:相信你们已经研究过了,有何成果,可否说说一些研究的心得体会呢?让大家也听听呢?谢谢!
      

  25.   

    研究的心得体会在工作流e起来论坛比较多,毕竟那里是国内最早的工作流论坛。固定参与者的多人会签,shark支持。不确定参与者的动态多会签在此帖有讨论。
    http://211.95.124.238:22/cgi-bin/topic.cgi?forum=20&topic=293&show=0工作流发展已有10多年历史,但是却还不够完善。他的范围很广。所以不是几个总结可以搞定的事。要想有个好的起点,得把wfmc规范读一遍,工作流模式读一遍,把一个按照wfmc标准制作的引擎使用熟练(shark + jawe),如果参与者工作经验有5年,我想1~2个月就可以完成。若是3年经验甚至更低的,那么就要3个月甚至更多。本人愚钝,工作经验3年,花了3个月,才把shark + jawe应用熟练,wfmc规范还未完整阅读,shark源代码更不用说了,根本没时间研究。献这个丑主要是给大家一个参照。
      

  26.   

    工作流现在规范好多,我看还是大厂商支持下的规范可以得到市场,前景会好一些。最近看到YAWL(Yet And Workflow Language)
    http://www.citi.qut.edu.au/yawl/faq.jsp
    好象挺牛的 ,不知道有谁研究过呢?还有Workflow Patterns资料,感觉不错。
    http://tmitwww.tm.tue.nl/research/patterns/index.htm