??xml version="1.0" encoding="utf-8" standalone="yes"?>
Shark是体pd功能最为复杂的代表。它是另一N循WfMC的XPDL标准开源工作流引擎Qƈ且同旉循OMGl织的Workflow Management Facility规范。在所有开源工作流引擎中,Shark的体pL为完备和复杂。其一直秉承着“模块化”的思想Q所以比较容易扩展。但是自从被Together公司收购后,Shark的商业化色彩已经来浓Q改UCؓTogether Workflow ServerQƈ仅以Community Edition的Ş式提供了部分开源代码供参考?/p>
OSWorkflow
OSWorkflow是最轻量型的代表Q也是一N常灵zd低别定位的工作引擎的实现框架。低U别定位的意思是_它不是定位在解决程模型对象和运转场景,而是提供一套可l护调度的机Ӟ供开发h员自L展。这个维护流E调度机制OSWorkflow选择的是Z行ؓ(Action)的FSM理论Q所以OSWorkflow更像是一个复杂而灵zȝ有限状态调度机?/p>
OSWorkflow在国内项目应用得较多Q很多国内的易审ҎE项目都是基于其引擎二次开发而来。这主要是由于OSWorkflow是基于Action驱动的,而国内的客户也很Ҏ接受q样的操作习惯。但OSWorkflow所依赖的FSM模型对于分支、聚合、子程的支持度很低Q这一点在实施q程中需要注意?/p>
jBpm
jBpm是最适合扩展的代表,是在所有开源引擎中最适宜被商业化应用的一ƾ。首先其程建模模型是基于Activity Diagram(zd?的,q在引擎构徏上融入了FSM和PetriNet思想Q所以其内核和根基比较牢固扎实。其ơ,自从被JBoss收购后,?. xpd的结构更加趋于微内核QPlug-in思想也更加深入。其同时q提供了对BPEL扩展Q存储支持JBoss Hibernate实现Q集成了JBoss seamQ规则引擎准备采用JBoss rulesQƈ准备集成JBoss Messaging。这P不论从内核和外围应用QjBpm都具有了强劲的动力?/p>
另外QjBpm对Token的应用也很有特色Qy妙地利用Parent-Child Token的机制处理分支、父子流E等复杂应用场景。这个设计思想很值得大家学习参考?/p>
YAWL
YAWL是算法和模式最值得研究的代表,它是Alast力主倡导的一Ƒ֟于PetriNet建模的工作流引擎Q其PetriNet的Token与And、XOR、OR法q行了融合,q对Workflow Patterns(工作模?中所有模式提供支持。但YAWL本n仅是一个研I性项目,所以其l构和实现缺了商业化应用的特点。但有必要研I一下YAWLQ一斚w可以加深对工作流模式的理解,另一斚wQYAWL的一些徏模思想、处理算法很值得推敲和吸U?/p>
ActiveBPEL
ActiveBPEL 是BPEL引擎的代表,也是一Ƒ֏执行BPEL4WS规范的开源流E引擎,其结构和实现方式h很高的参考h倹{目前国内很多正在开发基于BPEL产品的中型软g厂商Q其实现的很多基性内容和思想都参考自ActiveBPEL。受目前国内中小型客户对程需求的限制Q基于BPEL的开源引擎或型产品被市场接受度q很低。但BPEL所围绕的业务流E及程整合应用是一个发展趋ѝ?/p>
JBoss 宣布发布JBoss Transactions 4.2 和JBoss Rules 3.0 新版本?/p>
JBoss Transactions 是一Ƒּ源的分布式事务管理^収ͼ原来是属于Arjuna 的品。Arjuna Technologies 公司的事务引擎已?0q的历史Qƈ且已l被升到可以用Web服务事务?005QJBoss q通过收购Arjuna 而获得此Ҏ术?/p>
JBoss Rules 是JBoss的企业规则引擎品,前n是大安熟悉的Drools?005q?2月,JBoss的创始h兼总裁Marc Fleury在巴塞罗UD行的“JBoss 世界”的会议上发表的主题演讲中宣布收购Drools?从此QDrools 目以及该项目的主要负责人Mark Proctor 都加入了JBOSS?/p>
下蝲地址Q?a >http://jboss.org/jbossBlog/blog/mlittle/?permalink=JBoss_Transactions_4_2_Released.txt
因ؓ的确不好回答Q而且q样问的Z太多了。但来的mail中也有问的问题非怸错的Q其中包括部分老ȝ理人员的问题)Q下面这个就?span lang="EN-US">
HW
的一个h的来信交,Zprivacy赯Q删掉了一部分内容?span lang="EN-US">
1
?
HW
您好Q我是工作流斚w的兴爱好者,当然也只是一个新手,请问BPEL有没有什么比较好的全面的文章推荐Q(除了BPEL2.0的规范外Q还有就是我x一个开源项目进行研IӞ你觉?span lang="EN-US">activeBPEL怎么P可以推荐一下吗?
HongSoft
您好Q?span lang="EN-US">BPEL虽然也发展了好多q了Q现在用也开始多了v来,但目前的没有什么比较全面的文章。开源项目方面,我也跟踪了很?span lang="EN-US">BPEL目Q?span lang="EN-US">activeBPEL我也看了很久Q目前不看好它。现?span lang="EN-US">BPEL斚w我在全力使用jBPM_BPEL目。应该说jboss旗下的几个项目发展都q不错,hibernate/jboss seam{,jbpm现在也被springU_支持列表中?span lang="EN-US">
2
?span lang="EN-US">
HW
您好Q非常感谢您的回信,据我所知现在工业界Q如IBM,Microsoft,BEA, Oracle{)都非常推?span lang="EN-US">BPELQ我想问一下你觉得q个语言是否真的很有潜力成ؓ工业界中业务集成斚w的标准语aQ那WS-CDLq项标准你怎么看待它?会广泛的被用到吗Q还有就是关?span lang="EN-US">activeBPELQ能否帮忙讲解一下它有什么缺点啊Q相?span lang="EN-US">jBPM_BPEL它有哪方面的优点Q?span lang="EN-US">>是否有分布式工作技术的目啊,Q个人感觉一个集中引擎M产生一些效率之cȝ瓉问题Q?是这LQ我们在考虑能否把工作流技术运用到电信业务的集成系l中去,电信业务对系l容量,实时性和E_性方面要求非帔RQ读了您的一些文章,感觉你在q方面经验非怸富,所以向你请教了Q问了这么多问题Q呵呵,假如对口的话Q能够进行一些合作最好了Q还有就是不知道你现在是否听说过IBM?span lang="EN-US">Microsoft都在?span lang="EN-US">SOAQ你他们推的产品?span lang="EN-US">jBPM_BPEL是否有些竞争关系Q。谢谢了Q!打扰了!呵呵
HongSoft
您好Q?span lang="EN-US">
1
Q?span lang="EN-US"> WS-CDL的问?span lang="EN-US">
CDL的全拼是Choreography Description LanguageQ顾名思义它是用来描述Choreography的。它?span lang="EN-US">BPEL的区别是Q?span lang="EN-US">a)CDL提供一个在所有的参与者间交换的Ş式化描述Q?span lang="EN-US">BPEL提供的则是本参与者对外的形式化描q定义;b)CDL提供一个全局的消息交换协议?span lang="EN-US">
?span lang="EN-US">BPEL是描q?span lang="EN-US">?/span>我和其他?span lang="EN-US">?/span>通信的消息交换协议。理Z?span lang="EN-US">CDL?span lang="EN-US">BPEL更好Q但实际上它?span lang="EN-US">2个缺Pa)业务集成需求的产生Q是因ؓ工业界中已经存在的很多的legacypȝQ这些系l已l按它自w的业务规则Q实C自己的功能;在这L情况下,H然安插一?span lang="EN-US">Choreographyq来Q必然对legacypȝ的实现和E_性生非常大的媄响,q个是业务集成领域应该避免的?span lang="EN-US">b)BPEL从工业界产生Q被世界各大公司支持Q?span lang="EN-US">CDL的时间和支持力度Q则明显不?span lang="EN-US">
从上面的比较和目前工业界的实际情늜Q我认ؓBPEL肯定会成为工业界中业务集成方面的标准语言?span lang="EN-US">
2
Q?span lang="EN-US"> BPEL的问?span lang="EN-US">
activeBPEL?span lang="EN-US">jbpmBPEL的比较,应该说可以从很多斚w来看。从pȝl构Q技术实现等技术角度来看,activeBPEL?span lang="EN-US">jbpmBPEL要差Q?span lang="EN-US">jbpmBPEL?span lang="EN-US">jboss旗下Q它的技术实力要可靠Q后l支持也要可靠;active本n是家商业公司Q担心它的开源程度和信心不够...{等?span lang="EN-US">
3
Q?工作的问题
我们?span lang="EN-US">Shark?span lang="EN-US">jBPM已l做q分布式工作技术的目Q项目有用到电信的故障运l业务中去,也有用到700W用户的网站项目中厅R当然是否用分布式工作流技术,q需要具体分析?span lang="EN-US">IBM?span lang="EN-US">Microsoft都在?span lang="EN-US">SOAQ这个应该说和所有的BPEL产品都有一定的竞争关系Q但我认为更大的是合作关pR?span lang="EN-US">SOA是套架构Q我们要做的BPEL产品只是q个体系中的一个组成?span lang="EN-US">IBM?span lang="EN-US">Microsoft都有太多自己Ҏ的东西是客户不一定想要的Q比如对数据库的指定Q在电信领域指定?span lang="EN-US">DB2或?span lang="EN-US">SQL Server׃太可能。在q样的情况下Q我们可以理解ؓIBM?span lang="EN-US">Microsoft帮我们铺路,我们在最投入的情况下,力求辑ֈ最大的产出?span lang="EN-US">
我说的几Ҏ我个人理解,不知道能否让您明白?span lang="EN-US"> 希望多交?span lang="EN-US">
3
?span lang="EN-US">
HW
您好Q非常感谢您的回复,考虑到电信业务的pȝ定wQ实时性方面的要求Q我们对分布式的工作很感兴,惛_体了解一下分布式工作技术如何运用到业务集成Q呵呵,准确的说应该是基?span lang="EN-US">BPEL的分布式引擎之类的东东(因ؓq边的业务集成主要涉及到如何灉|的快Lq行业务l合Q说工作可能不是很准确Q呵呵)Q能否详l讲解一下分布式工作引擎的一些工作原理之cȝQ呵c谢谢了。说白了是希望利用已有的各U?span lang="EN-US">service的能力,加快业务的开发和部v旉Q?span lang="EN-US">web service是一个不错的选择Q但目前为止性能斚wq是个比较大的问题,但考虑到各?span lang="EN-US">IT厂商对其的关注度和投入,基本上也是我们非帔R视的一个选择Q,同时又希望保证系l的各种性能Q主要还是系l容量和实时性。希望能够加Z,合适的话能够进行一些合作最好,呵呵。期待您的回复。打CQ?span lang="EN-US">
HongSoft
您好Q您说到?/span>分布式工作流引擎的一些工作原?span lang="EN-US">?/span>Q这里分?span lang="EN-US">2c:
1
Q??span lang="EN-US">BPELc: 是?span lang="EN-US">WFMC的标准,架构的系lؓ 一个工作流执行服务=多个工作引擎,q个是标准实玎ͼ每个引擎的具体架设方法是不同的?span lang="EN-US">
2
Q?span lang="EN-US"> BPELc?span lang="EN-US"> Q这个方法本来就是分布式的,基本是强制性的Q不需要我们自己去考虑?span lang="EN-US">
您说到的?/span>加快业务的开发和部v旉?/span>是个比较大的问题Q具体可以参考一下我做的smartpȝQ基本上把开发时间降C最低,但有一定的局限性;其他的方法也可以一赯论,和和?span lang="EN-US">
4
?span lang="EN-US">
HW
您好Q不是很明白您说BPELq个Ҏ本来是分布式的。。?span lang="EN-US">
可能大家对分布式的理解不一样吧Q由BPEL所l合的各U?span lang="EN-US">service׃是统一?span lang="EN-US">web service接口Q天生就是分布式的,但所有的控制逻辑都停留在BPEL引擎上,在这U情况下Q我们担心会产生瓉Q或许在企业内部的系l集成方面不会出现这U问题,但象电信业务Q如短消息,预付费这U本w对性能要求非常高的情况下是否会出现瓉Q呵c对BPELq块接触的还不是很深入,呵呵Q打C?span lang="EN-US">
HongSoft
您好Q在BPEL中,service可以?span lang="EN-US">coordination方式l合Q在q个方式下,BPEL引擎一般不只一个,而是多个BPEL引擎?span id="highlight_tag" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; COLOR: #ee6600; PADDING-TOP: 0px; BACKGROUND-COLOR: yellow; EE6600: ">协同。一般来说是按功能进行分解ؓ1Q?span lang="EN-US">2Q?span lang="EN-US">3号引擎(q三个引擎的功能是不同业务的实现Q;然后如果3L负蝲特别重,可以分ؓ3.1?span lang="EN-US">3.2号子引擎Q这两个引擎的功能是同一个业务的实现Q?span lang="EN-US">
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1069051
BPM概念與BPMS之相關技術是架構在Web Services/SOA之基C上Q未來不僅會攚w企業徏構IT pȝ的方法,也同時改變企業營運模式,或稱商業程的執行方式。對廠商而言Q誰能主流E定與埯的相關標準誰是市場的贏家?
本篇要探討Q目前有哪些標準與主的廠商陣營Q這些廠商陣營如何既結盟又競爭Q又誰能一i江湖而成市場最大贏Ӟ
BPM與SOA
BPM藉由明確表式的流E定將耦合鬆散的一獨立服務串聯成新的商業程Q並讓不同的BPMS能相互溝通與埯企業程。因此標準流E定扮演著BPMS技術中的核心角艌Ӏ?
程定義語言是一E正?Formal)語言Q可以將企業各種程表示成一E可埯程(Executable Process)形式的正規模型?
由於BPM擴展了Web Services的應用,所以能乘駕在巨大的Web Services發展潮御風而上。BPM的相關標準大都用來定BPM和Web Service如何整合與部|以達成企業d。多家軟體大廠和標準i織都架構在Web Services盔R標準的基C上Q也是說,這些標準都g怺XML、SOAP、WSDL、和UDDIqN技術規根{?
目前冒出的BPM盔R標準為數不少Q大家較為熟悉的有WfMC's XPDL (XML-based Process Definition Language) 、BPMI's BPML (Business Process Modeling Language) 、還有ebXML's BPSS (Business Process Specification Schema) 。除此之外,還有由廠商結盟的陣營Q如BEA?Microsoft、與IBM聯合制定的BPEL4WS (Business Process Execution Language for Web ServicesQ簡EBPEL)Q以及由Sun Microsystems, SAP, Oracle, Italio與其他公司共同制定的WSCI (Web Service Choreography InterfaceQ網路服務編排介? ?
這些標準都是利用zd(Activity)作為程定義之基本元Ӟ每一個活動伴隨一個實體相關資?(Instant-Relevant Data)Q作為流E傳遞的邏輯(Routing Logic)評估條gQ在BPML EpropertyQXPDLE?Workflow-relevant dataQ?BPEL E?Container?
XPDL標準著重在工作分?Distribution)的相關議,例如如何指定zd埯所須的資源與應用程式。BPML 標準著重在定Web Service的重要議,如支援交?Transactions) 與例外處理,定義特定a息交換與事件處|的zd型態。BPEL標準的重點與BPML盔R伹{WSCI 標準著重在Web Service的ChoreographyQ像是服務介面的行為。BPSS以ebXML 的UMM (UN/CEFACT Modeling Methodology, 模型化方法論) 為基C,以便支援在企業間以各E交易行?Business Transaction)i合成所的企業協同(Business Collaboration) ?
標準Q群雄稱霸 西瓜偎大?/b>
IT產業中,大者恆大是贏得業界標準C的不變定律。百家爭鳴的戰國時代中,大家都希望成為產業的L標準Q因此為了獲得最後勝利,型的標準組J會漸M附大的國際標準組J並爭取這些i織的認可。透過大組J的力量小i織建置的標準推行全世界Q將可吸引更多的使用者、獨霸市場Ş成國際認可標準,而不再僅是規根{?
例如Q微軟與IBM各自推出程標準XLANG與WSFL (Web Service Flow Language)。但?002q兩家大廠合作共同推出新規格BPEL4WSQ並且向OASIS 標準i織提出提案報告Q最後也獲得OASIS認可的標準。Sun Micro及Oracle合作的廠商陣營為了推動WSCIQ將這個規格標準送往W3CQ並都參加了W3C 的Choreography工作組。同時BPMIi織也向正在研究企業程標準的OMG提案Q希望OMG直接採納它們制定的標準或是與OMG卛_a出的標準可以相照?
從許多E象顯C,目前然是BPEL較佔上風。例如,今年WfMC在義大利舉行的技術大會中Q與會廠商談論的聚焦從去q的BPMN (Business Process Modeling Notation by BPMI) 轉移到BPEL。今qSAP和Intalio在支援WSCI之外Q也決定支援OASIS的BPEL。包括Siebel在內?0q֮廠商也計畫採納BPEL。此外,Oracle今年在Java OneD了以BPEL為基C的程模型化工?(Modeling Tool) 以及工作程自動化軟體?
多方壓寶Q大和解Q?/b>
同時我們也可以觀察到一些有的現象Q廠商同時在不同的聯盟支援兩個不相容的的標準。所以,來多的的BPM產品都可以支援多個企業流E語a標準Q以避免讓其產品在一複雜且自成一z標準中成為孤島?
不過這也不是無解問題Q因為各陣營也出珑֤和解之勢Q尋求標準間之互補性與互通性,讓差異減x,同時避免出現不相容的兩套標準。像是今q昇陽和甲骨文藉著參加OASIS BPEL的會譎ͼ試圖推動W3C工作組和OASIS之間的合作,解決兩個重複的標準。甲骨文已經正式加入OASIS BPEL技術委員會Q昇陽也有意加入技術委員會。IBM、Oracle、BEA、Sun Microsystems同為WfMC及BPMI會員Q但IBM、BEA與微軟卻也積楉|動BPEL?
到最後,哪一個BPM標準會勝出還很難說,雖然BPEL目前較具有冠軍相Q不過我怿還需要一番較勁?
BPM標準涵蓋的範圍相當廣泛,所涵蓋的BPM生命週期也不盡相同。彼此之間有些重疊、又有些盔R分類架構Q如何清楚瞭解這些標準用途、定位、與跟Web Service標準之關係?請見下回分解?br />
作?
國立交通大學資a工E學pR學士Q目前為國立交通大學資a工E學pd士候選人。長q研I軟體流E及品質Q曾獲選為IEEE Computer Society、Association for Computing Machinery(ACM)會員Q現並兼d際電暨d工程師學?IEEE) Softwsare雜誌審稿委員?br />http://taiwan.cnet.com/enterprise/column/0,2000062894,20000902,00.htm
http://taiwan.cnet.com/enterprise/column/0,2000062893,20093333,00.htm
工作之大局?/a> 作者把wfmcz֏做保皇党Qweb servicez֏做革命党~轻村ֹ默又清晰透彻。看好bpel是未来发展的方向?/p>
C一iBPM江湖 台湾的牛人,Lsoa架构Q比较看好bpel?/p>
bpel~Z角色的概念,看看关于biztalk的这文章?a id="viewpost.ascx_TitleUrl" >谈谈工作引擎及面向服务~程
写到q里Q感觉自己对bpel的把握不够深。如何从workflow的角度理解bpelQ我打算l箋研究activebpelQ同时开始看bea的wli?/p>
2,BPMLQ?br />BPML是BPMIl织发布的规范。WfMC和BPMI?002q??6日宣布将合作制定业务程和工作流标准Q?br />即采用BPML来描q工作流q程Q同旉用XPDL所定义的工作流模型?/p>
3,ebXMLQ?/strong>
4,WSCIQ?/strong>
5,BPEL4WSQ?/strong>
ebXML是一l支持模块化电子商务框架的规范。ebXML支持一个全球化的电子市场,
它得Q意规模的企业通过交换ZXML的信息,不受地域限制地接z和处理生意?br />ebXML是联合国QUN/CEFACTQN易促q和电子商务中心Q和OASISQ结构化信息标准发展l织Q共同倡导、全球参与开发和使用的规范?/p>
好像是W3C的规范吧QOracle,SAP{公怸重支持的?/p>
2002q??日,微Y和IBM共同发布了一个新的规范BPEL4WSQ融合了以前的XLANG和WSFL?br />好像是提交到OASIS了,q两天出l果Q和WSCI是对头?/p>
ZXML的业务流E定义语a规范在不断的发展q程中,需要一D늛互融合、达成统一的规范时期,值得x?br />
]]>