研究 WebSphere MQ (Workflow) 时在网上幸遇IBM技术支持工程师

    在公司加入了一个新的项目组,被分配去研究 WebSphere MQ Workflow,Workflow是有些基本的了解,但是MQ和JMS还不是很清楚,更主要的是环境不知道怎么去搭建,也不知道MQ与Workflow有什么关系。
    最开始只知道有一个软件是WebSphere MQ Workflow,于是安装它吧,没想我无论是选择安装服务器端还是客户端都提示我需要MQSeries这个东西,我该到哪儿去找这个东西呢?而此时我旁边的同事却把Workflow给装上了,怎么回事呢?他说他的添加删除程序里有一个WebSphere  MQ,他也不知道是几时安装的,查查安装路径才知道是WAS5.1自己带的一个MQ。于是我也装上WAS 5.1的MQ部件,果然Workflow也能安装上了。
    那么如何去用MQ Workflow呢,MQSeries和Workflow是什么关系呢,带着这些疑问去CSDN上查了查,没找到好的文章,只找到一个人的MSN,好像那人对MQ比较熟悉的。
    前面讲了那么多,现在就让我把我有幸遇见的那么朋友推出来,他就是负责MQ和WebSphere的技术支持工程师。我先只是把他的MSN加到我的联系人中,我没有搭话,过了好一阵是他先给我打招乎,于是我就请教了他一些问题,我从他的回复中得知(抽些关键的):
    Workflow是为MQ提供服务的,是MQ的一个应用程序,安装Workflow之前还必须本地安装有MQ Series
    Workflow要配合数据库来使用,而MQ不需要数据库
    Workflow目前只支持四种平台分别是Windows、AIX、HP-UX和Solaris,而不支持Linux系统
    Workflow3.3开始支持Oracle数据库,以前版本只支持DB2;Workflow在其的系统下好象还是不能像在Windows上那样有界面配置数据库
    Workflow使用Oracle时处理中文有些问题;点击这里,Workflow的配置需求说明
    Workflow不出Linux版是开发产品的人认为这个市场太小,不值得投资;Workflow与MQ之间传递一些控制信息
    用Workflow提供的一套JAR来写程序,发请求给Workflow服务器,由Workflow服务器去数据库里查到实例的信息,然后返回给应用程序,Workflow的数据库的内部及结构很复杂,可不要去了解
    MQ Series V6开始可以通过界面来配置消息通道,之前版本必须用命令配置;WAS5.1所带的MQ其实是一个简化版的MQ,是不能和外界(其他进程,另一个队列管理器)的MQ通讯的
    要与能外界通信就必须要一个货真价实的MQ,而不是那个偷工减料的MQ;WAS5.1中为什么放一个无实际用途的MQ还有一段很长的故事----在WebSphere v4的时候,J2EE的版本还是1.2向1.3过渡的阶段,那时的标准没有要求J2EE服务器一定要带一个JMS服务器,IBM也就没有在意,反正他有一个MQ,通过MQ提供的一套JAR包,就可以写JMS程序,放在WEBSPHERE上访问MQ了,结果J2EE 1.3不是这么说,说一定要在产品里面带一个JMS服务器,IBM就傻眼了,被BEA揪住不放,说WEBSPHERE没有带这个东西,所以不满足J2EE 1.3,很多人也不问清楚,就认为IBM的东西是比较落后一点,IBM吃了一次亏,下次就学精了,就直接从一个不支持J2EE 1.3的产品变成了一个支持J2EE 1.3的产品,是不是很搞笑。
    可作为JMS服务器的MQ和WAS不在同一个进程中运行,只不过在WebSphere的启动脚本里面有启动MQ的命令,,除此之外这个WAS自带的MQ与WAS本身是没有什么关系了。
    IBM的红皮书 MQSeries Primer http://www.redbooks.ibm.com/abstracts/redp0021.html?Open
    MQ Series跟JMS的关系就像ORACLE数据库跟JDBC的关系一样
    一般我们说的消息通道都是指两个MQ队列管理器间的通道,所以两台机器间要建立消息通道,当然要在两台机器上都要安装MQ,如果只有一台机器装了MQ,另一台是以客户端的身份,通过调用JAR包来访问,那就是另一回事了
    MQ客户端连接MQ服务器也是要在MQ服务器上定义一个通道(一个服务器连接通道),但是这个通道和一般意义上的通道又不一样,它不是一个实体,只是一个入口的名字,和两个MQ服务器间的通道不一样。两个MQ服务器间的通道两边是真的各有一个收发进程的。总之只要明白它是这么工作的就可以了,名字上怎么叫无所谓了
    MQ Workflow有一个很丑陋的工作流设计器叫做Buildtime,要先配置好一个CONFIGURATION ID才可能用Buildtime
    IBM声称前后花在LINUX上的钱不过几十亿,每年花在自己服务器软硬件研发的费用不下一百亿($)。IBM一年的营业额九百多亿,利润却只有不到八十亿,钱到哪里去了?难道真是减价让利不成
    Workflow现在有一个替代产品 WebSphere Process Server,比workflow好很多,而且是运行在WAS的环境里的,也支持LINUX。WebSphere Process Server和Workflow只有核心有些相同,开发起来就大不一样,但对于使用的人来说根本看不到。WORKFLOW用的是FDL,流程描述语言,WPS用的是BPEL。BPEL是现在的工业标准,所以IBM也不再打算继续发展WORKFLOW了。有计划要做3.7,但是什么时候能做完就不知道了。

本文链接 https://yanbin.blog/websphere-mq-workflow-ibm-support/, 来自 隔叶黄莺 Yanbin Blog

[版权声明] Creative Commons License 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。

Subscribe
Notify of
guest

6 Comments
Inline Feedbacks
View all comments
yaoqiuyan
yaoqiuyan
12 years ago

我想问下:mq workflow 在实际的应用程序中是怎么使用的,我是个新手,最近咋学习mqworkflow,麻烦能给点意见不?

yaoqiuyan
yaoqiuyan
12 years ago

不错的文章哦,对我帮助很大

玎飞
玎飞
13 years ago

您好 很好的文章 请教下 Webs Application Server 5.1 在哪儿能下到呢??谢谢啦