相信很多人对于BizTalk Server 2004(简称BTS)都有一种误解,认为这是微软出品的工作流引擎。包括我在内,从没有进入MS以来,一直在围绕着BizTalk Server 2004做开发,而加入后,所做的大部分PoC都是基于BizTalk Server 2004的。当然,我做的都是一些外围开发,而不是一些核心性的BizTalk开发。
所谓的外围开发,就是为工作流做一些UI界面,以便驱动整个工作流能够进行下去。做得久了,经常会有一些疑问,我相信大部分做过BizTalk Server开发的人员都会遇到类似的疑问,因为在我与Partner的研发人员闲聊时,也遇到类似的困惑,那就是为什么有了BizTalk Server 2004这么好的工具,我们做工作流开发还这么累呢??很多时候,为了完成一个简单的公文流转功能,我们用ASP.NET可能几行代码就搞定了,但加上了BizTalk Server 2004后,却发现工作量成倍的增加。
经过这一个月以来,与同事探讨,终于找到了一个原因。因为我们错了,BizTalk Server不是微软的工作流引擎。这话似乎有一点惊世骇俗,但我相信,我们的观点没有错误。
博客堂前段时间一直在探讨SOA(面向服务编程),其实在我看来,BizTalk Server 2004正是为了SOA而做准备的,它是为了整合各个System的Service,而建立的自动流程功能,同时,由于各个System的Service所传递的消息的Schema的不统一,所以BTS里面提供了Mapping的功能。在BizTalk Server 2004的文档中,其功能就列了两点:(1)EAI,企业应用整合;(2)B2B的消息传送。
这种EAI的Service整合,在流程运行时,没有人为因素的干扰,没有UI的驱动,非常适合BTS这种无角色流程引擎进行驱动(BizTalk Server还是有角色的,不过非常淡化)。而类似于OA这种公文工作流的引擎,则BTS根本不适合。
前段时间,非常有幸看到了ADOBE Workflow Server的介绍(本来也想去看看点击科技王志东老大的工作流系统,可是无缘),对此我更有感悟。ADOBE的这套东西,才是真正基于公文工作流的,我们可以比较它的流程图与BTS流程图的异同。BTS的流程图更像我们的软件逻辑图,在这个图中,你很难一眼就从中找到哪个点应该是一个UI,这个UI上应该有哪些单元。但ADOBE的流程图则不一样,它每个节点就是一个UI,在这个节点旁边可以罗列一些选项,比如“同意”、“不同意”、“退回秘书”之类的,然后从这些选项到它们应该到的下一个节点间连一点线。非常清晰的就把这个工作流的UI都给清晰化了。再配合ADOBE Form Server以及Form Designer,则能够很简单的做出来一个公文工作流系统。
且慢,难道微软真的没有工作流软件吗?非也非也。加入微软之前,也很有幸接触到了Teamplate的工作流产品,这是一个微软的全球合作伙伴,它的TeamPlate产品基本上把MS的所有Server都包含进来了,比如BizTalk Server 2004、SharePoint Portal Server 2003、Exchange Server 2003,那么这个工作流产品使用了BizTalk Server 2004的什么特性呢?原来使用的是HWS(工作流服务,Human Workflow Service)。
HWS,翻开BTS的随机文档,发现关于HWS的文档真的是非常珍贵,打印出来估计不到十页纸(估计其中大部分还是HWS的UI方面的,介绍哪个按钮做什么的)。估计没有人能够看得明白,但是再去MSDN Online上找一下,好多了,因为我们发现了BTS的SDK,在Sample里面还是一些料的,不过,我估计再没有人指引的情况下,没有几个人会对这东西能够上手。
HWS,实现的就是ADOBE Workflow Server所实现的东西,但是在目前,它缺少一个Workflow Desinger的设计工具,所以会造成它的曲高和寡的局面。你必须自己手动写代码去完成你的工作流设计,虽然在SDK里面有Step By Step的指导,但似乎还是很难(想想BizTalk Server 2004本身,本来设计流程就是画画那么简单,但MS还是怕很多人不会,还提供了一个免费的Visio插件,供大家做图玩)。
可能很多人读了上面的文章,会认为我在贬低BTS,其实不然。我觉得做BTS始终是MS的大智慧所在,它早在2000年就预示到了SOA的到来。只不过由于其流程图画得那么“好看”,导致大家有一些误解,从而杀鸡用坦克,既不顺手,还劳民伤财。在SOA服务来临之日,BTS更能突显其危力。我们想想Longhorn,那里面有一个Indigo。仔细思考一下,其实Indigo的很多功能似乎与BTS有交集,所以有理由相信,在未来,BTS下一版本又有新的面貌了,至于新貌如何,还请各位看倌拭目以待。
BTW:讲到SOA,想到前段时间博客堂对于SOA中传递消息的讨论,一派人认为SOA应该只传简单类型,一派人认为SOA可以传递复杂自定义对象,甚至包括DataSet在内。我搜集到的材料让我确认第二派会在未来占上方,有时间大家再一起聊聊吧![]()
个人拙见,欢迎斧正(没有想到会出现在首页上:()
打印 | 张贴于 2004-04-27 23:47:00 | Tag:C#编程 软件推荐
留言反馈
http://hi.baidu.com/horsespirit/blog/item/52d84036b0e51bdda2cc2b7f.html ,
修改了一个链接,加入一篇英文原文链接
其实,我个人认为,作为一个平台,并不需要包含全部的功能,最重要的是易用性。客户的IT人员并不可能要求他们全部象我们这样的专业,他们只要求做到简单操作就行。其实国内的很多工作流软件公司就做到这一点了,我在百度搜索的时候就看到过几家。
最后,希望将来再能这方面找个比较好的公司工作,哈哈。
网址 www.tongda2000.com,有兴趣可以下载一个看看
相信很多人对于BizTalk Server 2004(简称BTS)都有一种误解,认为这是微软出品的工作流引擎。包括我在内,从没有进入MS以来,一直在围绕着BizTalk...
泛微公司的产品在工作流方面如何呢?
Leioncheng@hotmail.com
前几天看到一个国产工作流产品, Joinwork, 挺牛的。
。
。
还有Adobe Workfow 。。。。
加入微软之前,也很有幸接触到了Teamplate的工作流产品,这是一个微软的全球合作伙伴,它的TeamPlate产品基本上把MS的所有Server都包含进来了,比如BizTalk Server 2004、SharePoint Portal Server 2003、Exchange Server 2003,那么这个工作流产品使用了BizTalk Server 2004的什么特性呢?原来使用的是HWS(工作流服务,Human Workflow Service)。
%>
包括了这么多的MS 的server产品做出来的工作流系统,还卖的出去吗?谁能够买的起?
一个中小企业能够投入多少去实现自己的OA系统?
email:y.c.li@163.com
但客户不太容易明白HWS与BizTalk的关系。而开发人员因为HWS的文档过少,而直接使用BizTalk来做工作流,在一年前非常常见。
客户会这样对你说吗?不会吧!
这是一个现象,而非真理。
为什么会认为bts是工作流引擎?
本来就是主要用在eal和b2b。
开心的文章总是这样啊,看了几篇,都是很奇怪,观点是比较正确的,但得出这个观点的过程总让人很疑惑。
“相信很多人对于BizTalk Server 2004(简称BTS)都有一种误解,认为这是微软出品的工作流引擎”为什么很多人会有这种误解?就算没用过bts,随便看看他的介绍文档也知道他有什么功能啊。
还有现在总说到的BI(商业智能)你的看法如何?BAM与BI之间有何种联系?
---------------------------
Microsoft BizTalk Server 2004 配置向导
---------------------------
未能在服务器“ERICSHENG”上创建管理数据库“BizTalkMgmtDb”。
此版本的 BizTalk Server 需要 Microsoft SQL Server 2000 (装有 Service Pack 3 或更高版本)。
---------------------------
Retry Cancel
---------------------------
这是什么缘故?我已经装SQL的SP3了
my mail: webmaster@dpspace.com
workflow应该只是ms让大家从一个很低的门槛来理解bts的入口,有了orchestration,下一步自然而然的就是EAI了。你定义好了schema(作data exchange),定义好了component,一切都交给bts就是了。不过现在一个很大的问题,也如同楼上一位老大说的,这玩意太灵活了!!!太灵活的东西,总是会带来各种成本的上升。
我认为目前的最重要的问题是:
第一:缺乏足够资料,尤其是中文的。
第二:调用的接口复杂,开发费时。
解决第一个问题:首先可以先看看英文的文档代替,因为中文的翻译也一直是个大问题。其次要注意收集英文的文档,(a)注意及时下载最新的产品文档。产品文档每三个月就会有更新的,还有更新的Tutorial。(b)关注一些BizTalk大佬的Blog,MSDN的文章等等。(c)苦练英语,看微软的webcast。
第二个问题:据我所知,有些朋友在研究一个基于BizTalk 2004 HWS的Workflow Designer,并提供一个Framework层来简化调用HWS的工作。这个应该不久就能看到成果。
对分布式OA工作流不太理解,OA一般是通过Web网站,谈何“分布”,请教?
我可从来没有把 Biztalk 当做 Microsoft 的工作流引擎,要说 SQL Server/Exchange Workflow 还算工作流,还有一点工作流应用的基础环境(如邮件等),而 Biztalk 即没有较好的 UI 层,也没有较好的基础环境 :)
Biztalk 的作用,开心说了,就是 EAI 和 B2B ,一般我们所说的工作流,更多的是指办公领域的,如文档流转,而 Biztalk 则集中精力在商业/业务流程(Business Process),尤其是流程编排(Orchastration),这些流程似乎更多的指系统中一些自动化的过程,而非人工干预的工作流程。
而商业流程中往往存在着一些人工干预的一些过程(知识工作者所干的活),所以 MS 在 Biztalk 2004 中增加了 HWS 的东西,其目的就是补充实现原来版本缺少的人的一些干预流程。
个人感觉 BTS 2004 这个版本和原来版本相差太大,很复杂,不太喜欢,而且对于 BPEL 的支持也比较勉强,期待下一个整合版本后的 BTS 。
Biztalk Server环境中所包含的组件:
1、流程执行引擎;
2、业务规则引擎;
3、实时信息进行监控和查看的健康状态与活动(HAT)管理工具;
4、业务活动管理工具(BAM)
不知道有谁对业务活动管理工具(BAM)比较清楚?据说BAM是针对商务智能(BI)所提供的一种补充技术,可以实时地显示业务状态、趋势和关键条件,看上去正是我所想要的一种业务流程动太监视的功能也,不知道,有谁用过,指点一二呢?
不过HWS却是我在学习BizTalk Server 2004中,最看不明白的一个新功能!资料少的可怜,Sample中的流程复杂得要死,整个Orchestrion在Visual Studio中打开,根本看不到全貌,折叠来折叠去!微软也不提供个全局放大、缩小的功能,还没看完就晕了~~这是我对BizTalk Server 2004觉得唯一不足的地方 ---- HWS(不提供Design工具)。
希望开心大哥多提供些HWS的资料来show show。
实际上,HWS工作流中的每一个步骤所作的动作(Action)即是一个BizTalk Orchestration,所以说BizTalk 2004中引入了HWS是将BizTalk Orchestration流程管理引擎拓展到了一个更大的领域——尽管如此,在我们当前所作的工作流管理系统开发项目中,还是没有采用BizTalk 2004 HWS,原因是多方面的,不过我还是希望能够在项目结束后用BizTalk的HWS重现我们自己的工作流服务实现。
正如mvm所言,BizTalk已然可以成为SOA架构中的controller了,那么再借助HWS的拓展架构,可以想象未来的基于SOA架构的分布式OA工作流将如何更好的连接人们的工作,提供更佳的体验,实现更大的价值。
SQL Server以及Exchange都可以做工作流。
而在BizTalk里面,你可以使用HWS来做,我已经在文中表明了。
而且我感觉,biztalk server的内容比workflow多很多。当然,降格以求,可以用biztalk来做workflow,但恐怕就做不过一些专业的workflow产品了。
同样,很多人把sharepoint降格以求用来做个性化网页。也是降格以求了。
欢迎回来!!
"很多时候,为了完成一个简单的公文流转功能,我们用ASP.NET可能几行代码就搞定了,",原文如此。
比如我想把一个文档签发为不同意,其实就是在数据库当中将Status字段置一个值而已。
也欢迎你回来,你的文章对我很有用
尤其是在我的“开心就好的代码人生已经可以访问”已经出现在首页之后。。。
本来我想把我的BLOG独立出去,忘了修改最后一点sql了。怕给博客堂再惹麻烦。
上面的东西真的只是我的一家之言,因为现在MSDN Online以及MSDN中文网站的企业开发中,都在讲如何使用BTS做OA工作流呢,所以我的言论不代表官方的。
多写一些关于架构和设计的东西吧,真得很精彩,而且这才是博客堂现在最缺少的。