当今的企业需要迅速实现商业运作过程,这就要求实现企业之间及企业内部的相互通信和操作能力,其中包括流程和数据的交换以及现有或新的应用软件的集成。在异构环境下,以高度的数据安全性和系统可靠性对业务流程进行快速和精确的执行是企业成功的关键因素。IBM WebSphere电子商务软件平台中提供的MQSeries系列产品正是企业业务流程集成的基础。
在上期专栏中介绍的MQSeries保证了企业应用信息的安全可靠传递。而企业业务集成需要执行更加复杂的任务并以更高的效率利用数据。MQSeries系列产品中包含了一个强大的消息代理软件--MQSeries Integrator,它可以帮助企业轻松地改造自己的商业处理过程,将所有类型的应用和系统集成到一个强大、灵活、可伸缩的信息网络中。
MQSeries Integrator建立在MQSeries的基础上,是一个实时、智能、基于规则的消息路由和动态消息内容传输的格式化系统。它能够动态地操纵和发送信息,并将它们与来自公司数据库、数据仓库的实时信息数据相集合,以用于审核和后续分析,将信息有效地分配给业务应用。MQSeries Integrator不仅能够保证信息的可靠传递,而且可以对数据进行转换并确定应用之间的路由选择,使应用集成获得更高的连接效率。它甚至还可以将商业逻辑、应用逻辑和数据逻辑分离开,并实现XML消息格式和其他数据格式之间的映射。MQSeries Integrator中包含了开放的消息流框架结构以及可扩展的发布预订工具、消息字典、消息仓库等组件使用户系统实现了应用程序、数据与网络的无缝集成。
● 开放的消息流框架
在消息代理的框架内,所有消息的处理都是在被称为节点的构造内部执行的,这些节点实际上是被消息代理运行环境调用的动态连接库(DLL)。这些消息处理节点可以对消息流内的消息数据进行操作,也能够访问消息流之外的信息。节点可以拥有自己的输入和输出端,它们通过连接器在逻辑上被连接在一起。通过对选定的节点进行设计和配置,可以建立一个完善的处理环境。
消息处理节点可以根据流经消息代理的消息执行某一特殊的任务或一组特殊的任务。MQSeries Integrator中包含了一系列预定义的节点,能够完成初始化、转换、分析、外部数据库操作、检查过滤、路径选择、跟踪等事务处理任务。此外,MQSeries Integrator还提供了建立消息处理节点的可视化开发工具。第三方或ISV(独立软件供应商)可以提供附加的处理节点,并通过消息处理节点插件程序的编程接口将自定义逻辑放入工具组,以加强消息代理程序内部消息流的处理。
● 消息字典
MQSeries Integrator的一个关键功能是能够对消息的内容进行解析,然后对消息数据进行处理,或者利用消息数据调用外部功能完成任务。为了高效地对数据进行解析,必须能够对消息的格式进行检查,以确定每一消息相关字段里的内容,并执行基于节点的各项功能。消息字典可以定义信息格式,字典中存储的是逻辑消息模型,从而能够快速地解析消息中指定字段的信息。
消息字典提供了消息资料库过滤器(MRM)、资源管理器(Resource Manager)和消息转换接口(MTI)三个主要组件,它们能够根据消息字典中的定义对不同格式的消息内容及其相关的消息头进行解析。这些格式可以包括MQMD消息描述符、MQSeries RFH和RFH2格式头、XML消息以及根据NEON Formatter定义创建的消息。
● 消息数据仓库
消息数据仓库主要用途是在一个标准的关系数据库中对消息进行长期的存储以及对流经消息代理程序的数据进行全面的数据挖掘或数据分析。
根据消息数据的最终用途,存储在消息数据仓库中的消息内容的格式可以有很大的不同。如果消息数据仅仅将消息数据仓库作为临时存储地点,将以BLOB的形式存储在数据库中,但消息数据库就不能从消息中析取信息。另一方面,如果要求数据库对消息字段中的某些单元进行复杂的处理,数据库需要知道消息字段和消息头中所包含的信息。消息数据仓库中的系统设计器可以根据消息数据的最终用途对所要求的格式进行评估,以利于数据仓库的使用。
此外,消息数据仓库还加强了对XML的支持。它不仅将消息描述和处理规则以标识语言的方式存储于其中,还具备了将记录的数据库格式转换为XML的功能。同时,用户还可以采用MQSL分析程序从XML消息中提取电子交易数据,从而大大提高了B2B电子商务中的消息交易水平。
● 发布预订系统
MQSeries Integrator提供了比MQSeries基本发布预订功能更强大的发布预订服务。即使消息的主题与订户要求的主题相匹配,每一个主题中也包含了大量订户并不需要的信息。因此,通过发布预订系统提高发送往订户的消息的选择精炼程度,将可以实现一种选择性更强,因而效率也更高的信息发送方法。
对于信息的订户,不仅能够接收到自己所要求的信息,而且还可以根据自己的需要在任何级别上对信息进行过滤和格式化处理。MQSeries Integrator提供了这种基于内容的预订过滤功能以及基于分级主题的过滤功能。对于基于内容的过滤,使用SQL表达式评估一个消息内的单元内容,从而获得内容过滤结果。这些过滤以后的消息与其他的消息代理程序功能相结合,就可以根据不同应用程序的要求对消息进行转换,消息中只有被要求的部分才会被发送到对其进行了预订的应用程序。