以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 Web Services & Semantic Web Services 』  (http://bbs.xml.org.cn/list.asp?boardid=10)
----  请教关于bpel和ESB  (http://bbs.xml.org.cn/dispbbs.asp?boardid=10&rootid=&id=45008)


--  作者:jackyrong
--  发布时间:4/7/2007 10:34:00 AM

--  请教关于bpel和ESB
我看了看BPEL和ESB的大概介绍,有个问题:
BPEL看上去是整合WEB服务的流程的,就是比如已经存在若干个WEB服务了,
现在要用BPEL语言去编排它们,那是不是说,用BPEL编排的WEB服务,排好各个WEB服务的流程呢?这些WEB服务应该是可以用不同语言编写的吧?
   那ESB呢?ESB好象也是做消息的转换和路由的,好象也可以把不同的异构系统整合起来,是吧?那和BPEL有什么区别呢?请指教下
--  作者:pig-can
--  发布时间:4/7/2007 2:00:00 PM

--  
BPEL 是 WS 协议栈里的吧,由此他的目标主要服务于 WS,对于业务组件都是 WS 标准的而言,业务流程直接用BPEL就可以定义了。在这种场合,其实系统在组件层面都算是同构的,使用相同的协议进行交互,所以不需要协议和内容格式的转换,因此也就不需要消息中间件(ESB)提供的诸如此类的功能。当然,传统如 WFMC 的流程描述语言如XPDL本身就支持多种组件,这种组件之间流程的流转主要是依靠于流程服务器与不同类型组建交互的能力。

据我所知,现在一些公司提出的如 SCA (Service Component Architecture)模型,如 IBM,他们的 SCA 不仅仅包括Web Service组件了。貌似 EJB 也算。听一个师弟说,SCA貌似要成为工业标准,值得注意。

再者,ESB 在一个系统中发挥作用具体是落实在一些中介组件上的,这些中介组件进行消息格式,内容以及协议的转换,并且可以进行消息的路由(也就是流程)。和流程服务器的区别在于,这种消息的路由是硬编码进这些中介组件的。而一般一个完整的流程管理系统,都带有一个图形的流程设计和重组的界面,可以动态地进行流程的重组。

从软件架构上来讲,流程服务器就是把流程定义器,流程引擎,以及个体组件或子流程,通过一个流程定义文件实现了解耦和系统的柔性,遂需要变。

... ^_^ 希望对你有用~~

以下是引用jackyrong在2007-4-7 10:34:00的发言:
我看了看BPEL和ESB的大概介绍,有个问题:
BPEL看上去是整合WEB服务的流程的,就是比如已经存在若干个WEB服务了,
现在要用BPEL语言去编排它们,那是不是说,用BPEL编排的WEB服务,排好各个WEB服务的流程呢?这些WEB服务应该是可以用不同语言编写的吧?
    那ESB呢?ESB好象也是做消息的转换和路由的,好象也可以把不同的异构系统整合起来,是吧?那和BPEL有什么区别呢?请指教下


--  作者:jackyrong
--  发布时间:4/11/2007 8:26:00 AM

--  
那比如我现在有asp,asp.net,php,java的异构系统,那么是不是用ESB先把它们连接起来,然后
用BPEL去调度它们之间的流程呢?
--  作者:pig-can
--  发布时间:4/11/2007 3:31:00 PM

--  
呵呵,建议看一些组件容器,应用服务器原理(北大王千祥貌似有本书)之类的东西。对互操作的渊源讲的比较好。还有一本翻译过来的“企业集成模式:设计、构建及部署消息传递解决方案 ”等等,还有 IBM 的 developerworks 上也有 ESB 模式的 redbooks和一些案例文章。这样你对这一套东东就会比较熟了。

以下是引用jackyrong在2007-4-11 8:26:00的发言:
那比如我现在有asp,asp.net,php,java的异构系统,那么是不是用ESB先把它们连接起来,然后
用BPEL去调度它们之间的流程呢?


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
5,191.406ms