在信息化的今天,各行各业都建起了各自的网站以及各种各样的信息管理系统,诸如客户管理、库存管理、人力资源管理等等。然而不幸的是我们的网站和管理系统之间、本机构的各个管理系统之间以及各个机构的管理系统之间,绝大多数都是相互独立的。当我们被这些各自为政的系统折磨得忍无可忍的时候,通常会做出一个大胆的决定——上ERP(企业资源计划)!然而,上ERP并非易事。它不仅耗资巨大,而且费时费力,对日常工作还有很大的影响,甚至可能会危及企业的生存和发展。难道信息化之路真的山穷水尽了吗?微软公司的BizTalk Server或许能为你带入柳暗花明的境地。
新版的BizTalk Server是基于.NET开发平台,以XML为标准,连接信息的源头和终点。对于连接企业内部的系统,称之为EAI(Enterprise Application Integration ),而连接各个机构的系统,称之为B2B集成(Business-to-Business Integration)。BizTalk Server当前有两个主流版本,分别是基于Visual Studio .Net 2003的Biztalk Server 2004和基于Visual Studio 2005的Biztalk Server 2006。下面我们简单了解一下Biztalk Server的运行机制。
Biztalk Server要将各个系统连接起来,必然要进行数据交换,这就有数据的流入和流出。在Biztalk Server中流动的数据称之为消息(Message)。接收消息由某个系统发出,由Biztalk Server采用接收适配器进行接收;处理完之后,再使用发送适配器将发送消息发到某个应用系统中。
接收适配器(Recieve Adapter)用来处理不同类型的消息,例如有的消息是从文件夹中取出的文本文件,而有的消息是从某个服务器的WEB Services中获取,有的可能是从FTP服务器上下载,而有的消息则是通过HTTP请求获得的,还有的消息可能是直接数据库中获取。正是由于接收适配器,Biztalk Server所连接的应用可以是Windows系统中的.Net程序,也可以是UNIX平台上运行的Java程序;所能接收消息的类型从文本文件到数据库,从WEB服务到HTTP请求,从FTP服务到电子邮件系统。
适配器只起到接收和发送的功能,消息的分类、验证以及加密解密、编码解码的功能却是由管道(Pipelines)来完成。加密解密、编码解码都有一定的标准,开发人员不必费心;消息的分类和验证却需要由开发人员创建架构(Schema)来定义。接收管道在收到消息时,首先要进行解密和解码,得到原始的数据流。然后,按设计好的架构来解析数据流,如果找到合适的架构并完全符合要求,则保存到一个称为MessageBox的数据库中,等候业务处理。
Biztalk Server提出了业务流程 (orchestration)概念。业务流程提供了一些工具和流程对消息中的数据项进行各种处理,包括进行循环、分支和并行的流程以及表达式计算、调用规则设定等等,并且提供工作流的支持。业务流程的开发,并不需要编写大量的代码,而是使用提供的一套可视化的工具来设计。业务流程处理完成后,使用发送管道进行编码、加密,使用发送适配器发送到指定的应用系统中。
此外,为了保证各个系统有机的联系起来,Biztalk还提供了一个SSO(Single Sign-On)服务。使用它来创建各个系统的用户凭据,以此来登录不同的系统中。