雪叶丹枫

这是我在网络上的统一帐号,无论在那个社区我都使用这些信息标志我自己

导航

企业应用集成之BizTalk

Posted on 2005-01-28 11:16  雪叶丹枫  阅读(869)  评论(1编辑  收藏  举报

在清华BBS上闲逛时看到一篇关于BizTalk的介绍,这个主题本身并不吸引我,但是作者介绍BizTalk所用的思路是我寻找已久的东西,在售前工作中很多时候都是向客户介绍一个概念、一个新产品、一个解决方案,我想该文作者提到的思路正适用于我当前的工作:对于一个新的东西的介绍,不外乎从三方面来加以说明,即为什么(为什么需要这样一个产品)、是什么(这个产品是一个什么样的产品)、怎么用(这个产品具体怎么用)。以下是该文作者从这三个方面介绍BizTalk:

 

想象一下我们生活的世界,由于技术的发展,使得我们整个世界在空间上越来越接近,“地球村”的概念越来越接近于现实,空间的接近使得我们交流越来越紧密,但另外一个现实,一直困扰着我们,即人类的语言是多种多样的,这就使得交流中的语言转译工作越来越重要。


同样的情况,出现在商业公司之间的交流中,商业公司的交流,除了言语之间的谈判之外,还会涉及到许多公文上的处理,如银行之间的帐单、公司之间的订单等等。而且由于历史原因等,各个公司都会有自己的一套格式,这样就如同人们的语言问题一样,公文格式的转化对于我们来说也是十分重要。

 
在上个世界八十年代初,我当时还很小,国内出现了一股“世界语”学习的潮流,愿望很美好,即全世界的人民都学会一种语言,这样大家就可以通过一种语言来进行交流,再也没有语言的障碍。但愿望再美好也只是一个设想,从上世纪九十年代,这股热潮逐渐降温,估计现在的人们可能很多人都没有听说过“世界语”这样一个说法了。


商业公司之间的公文处理也面临这样一种情况,随着计算机技术的发展,越来越迫切有一种“世界语”能够遍行各种系统之间,而且由于计算机技术是新技术,不像人类语言都有上千年的历史,所以统一应该不难。XML的出现适应了这样的需求,所以随着它的普及,很多人及公司都为之雀跃不已。毕竟在自然社会中无法实现的事情,在计算机信息处理过程中出现了。


XML仍然是一种十分灵活的语言,各个商业机构及个人都可以依据自己的需求扩充自己的标签,这也是XML能够成功的一个原因。但这种灵活也带来了一个问题,就是在不同标签中信息交换处理时带来的问题。设想一下,A公司向B公司提供商品,需要A公司提供报价单,A公司如果在其公文格式中使用<price>来代表货品单价,但B公司内部却可能使用<money>来代表货品单价,而<price>代表的总额,则B公司就面临着一个问题,即如何将A公司的报价单的公文格式转换成其内部认可的公文格式,以便进行层层审批,再进货或者报账等。


业务量少一些,我们可以使用人工去做,我们可以交给专门的业务人员来进行处理,就好象各国政要之间见面总是必不可缺少准备一两位翻译官一样。但世界如此大,一个公司不可能只与几个公司打交道,它们可能与成百上千家商业合作伙伴打交道,业务量也急剧的增加,如果为每一位商业合作伙伴都准备一位专门的业务人员,那开支将是公司无法接受的。


所以,如何方便高效的处理公文格式之间的转化摆到了世人的面前。正因为此,Biztalk出现了!

先来做一下单词释义,“Biztalk”这个词如果从词典里面查,是查不到,这个又是一个人造单词,“Biz”这三个字母经常出现在网上的一些言论中,如新闻组、论坛中,代表的是“Business”,即“商业”的意思,而“Talk”从字面上解释就是“谈话、交流”的意思,引伸来就是“交流”的意思。所以我们在这儿可以将“Biztalk”解释为“商业往来”的意思。


Biztalk并不是微软首创的,其实Biztalk是一个工业标准,微软邀请各方业界中许多领导性的组织与企业,针对电子商务的需求共同规划出BizTalk Framework,作为企业、软件开发厂商进行电子商务及开发相关解决方案的参考指针。“开放”是所有制定BizTalk Framework委员的共同信念,因此无论在传输方式、数据描述方式,或是应用程序间的整合技术,都以目前Internet上的标准为基础。


为了让所有平台上的应用程序都可以了解如何辨识及处理商业信息,BizTalk Framework定义一组通用的XML标注(Tag)及结构作为商业信息的一致表示方式。这些规则就像是寄件人及地址要写在邮件信封的右下方,收件人的地址要写在信封的左上方,中间放收件人的姓名,所有人、邮局及邮差都要遵守并了解,邮件才能顺利地寄送到收件人手上。不遵守这些规则的信件,不是会被退件,就是将会寄错地方。


大致来说,BizTalk Framework为电子商务定义以下的游戏规则:


BizTag-一组专用的XML标注,协助支持BizTalk Framework的服务器软件做出正确的处理步骤。
BizTalk Document-定义商业文件应具备的标准格式,如:收、送双方的信息应如何注明。
Logical Layering-在逻辑上,BizTalk Framework分为三层,从上而下分别为:应用程序、支持BizTalk Framework的服务器软件、通讯传输层。每个层次都可以各自独立,彼此之间通过事先定义好的程序化接口系结在一起。在这个开放的架构下,信息人员可以自行开发、编写程序开发,或是选择市场上软件厂商提供的软件包,或是其他解决方案。


然而没有一个解决方案或是平台可以符合所有的需求,在复杂的商业环境中,企业要自行处理应用程序及系统间的互动。BizTalk Framework规范一个可以让应用程序或是系统互动的架构,而且独立于各种技术之上,所有企业及程序开发厂商都可以在这个平台上,以自行开发的技术或是主流技术,使用各种不同的开发语言、开发工具,像是COM、SOAP、CORBA、Java、Visual Basic、Delphi、PowerBuilder等建立解决方案。


BizTalk Framework在设计的过程中听取了来自各方的意见及指导,如:解决方案提供厂商、客户、标准制定组织,并组成BizTalk 指导委员会(BizTalk Steering Committee)。负责制定有关如何应用XML、XML-Schema、MIME技术,提供应用程序、系统间沟通问题的相关规格,这些规格可以应用在程序开发及系统分析及架构上。


其中如何让应用程序可以安全地、可靠地传输XML或是非XML格式的商业文件,是驱使业界制定BizTalk Framework的一个很重要的原因。实际上的做法可以以标准的文件信封(Envelope)搭配多种的传输方式来完成。在数据保全方面,相关的安全机制包括认证、加密及数字签名,这些在整个BizTalk Framework中占有十分重要的角色,W3C目前正专注于几项有关这方面的技术。


BizTalk Framework可以应用在各种产业、作业处理流程及组织,同时具备足够的弹性以支持同步、异步的商业处理程序、大量的数据及各种不同的信息沟通模式,足以适应变异性相当大的商业环境。
Microsoft BizTalk Server 2000是微软根据BizTalk Framework所设计出来的一项产品,完全遵循BizTalk Framework所要求的开放架构,使用目前Internet上的标准通讯协议、支持XML及其他Internet标准的数据完整技术,提供可靠的商业文件传送能力,协助企业内部及交易伙伴之间的应用程序,可以直接交换彼此的订单、发票等商业信息,满足电子数据交换自动化,确保数据安全、一致及实时的需求。


基本上,Microsoft BizTalk Server 2000由两大服务所组成,商业信息的包装与收送由BizTalk Messaging Service负责,另一个主要的服务是BizTalk Orchestration。在真实生活中,每一项商业活动其实都是由一连串的商业信息处理程序所组成,为提供企业完整的电子商务解决方案,微软也将商业流程的功能加入BizTalk Server 2000,由BizTalk Orchestration负责。


BizTalk Orchestration包括一组设计、建立及执行动态商业处理作业的服务及工具,以整合多个组识、各种平台上的应用程序,提供一个基础架构协助企业进行商业处理作业的整合及管理工作。在BizTalk Server中,提供整合功能的基础架构是最重要的一项使命,通过BizTalk Orchestration,企业便具备整合各种商业流程、应用程序及异构平台、系统的能力。事实上,BizTalk Server 2000延伸以往传统电子商务及电子数据交换(EDI)产品的功能,更进一步将企业与合作厂商整合成紧密连结的电子商业群体。

签于篇幅的原因,该文没有过多描述BizTalk操作层面的内容,操作层面牵涉到众多的应用集成内容。