基于ebXML的电子口岸消息交换平台的设计与实现

来源:岁月联盟 作者:孙雷  骆志刚 杨泽 时间:2010-08-30
摘  要  简要地介绍了ebXML消息服务的体系结构,以宁波口岸消息交换平台架构为例,探讨了基于ebXML消息服务扩展的消息交换平台架构机理,并重点分析讨论了消息交换平台中的消息中心和规则库的设计与实现。关键词  ebXML;消息服务;电子口岸1     引言消息系统是应用程序或商业伙伴之间传递数据的重要组成部分,是各系统实现数据交换的关键。一般来说,电子系统实现后不仅要能够适应新的应用系统的开发,同时也要能够对原有的应用系统方便的集成,而不管各应用系统采用的是什么操作系统、数据库等,即具有跨平台的特性。由联合国贸易促进与电子商务中心(UN/CEFACT)与美国结构化资讯标准推动组织(OASIS)共同推动的一项电子商务架构标准ebXML提出了一套完整的技术规范,其中关于消息服务的规范可以满足构建企业电子商务系统的这些需要,它提供了一种可靠的独立于特定技术或解决方案的方式来交换商业信息。本文遵循ebXML消息服务技术架构规范,在实现了宁波电子口岸消息交换平台的基础上,讨论了宁波电子口岸消息交换平台的架构机理以及实现方案。宁波电子口岸是宁波市十五重点工程之一, 是全国各分电子口岸的一个改革尝试,它不仅服务于宁波本地的各家贸易实体单位、政府职能单位,未来也将服务于周边地区以至内陆、国际等不同地区。2     ebXML的消息服务架构简述消息服务是ebXML的基础,ebXML消息服务主要规定描述消息交换的格式,并给出保证消息的可靠安全传输的具体实现方法,支持加密、解密、授权、验证、电子签名、不可否认性等安全服务。ebXML消息服务规范特点如下:(1) 支持以语言中立的方式定义消息格式;(2) 支持传输的可靠性,安全性;(3) 支持多种消息传输协议;(4) 支持消息传输的可扩展性;
(5) 支持平台独立的消息互操作性;基于以上原则,提出了ebXML消息服务架构(如图1)。图1  ebXML消息服务架构消息服务接口:它是一个抽象的服务接口,上层应用可以通过它与MSH交互来传送和接收消息,而MSH也可以通过它与上层应用交互来处理接收的消息。消息头处理:消息头提供消息的末端地址及路由信息、内容描述、安全信息和其它有关发送信息。消息打包及解包模块:将ebXML消息最后打包成SOAP消息或将SOAP消息解包。出错处理:当应用程序在处理一条消息过程中,如果出现错误,该模块处理错误。     安全服务:包括数字笔名生成、确认、身份证明、授权、据否、加密等服务。消息送收模块:将最后打包好的ebXML消息通过底层不同的传输协议发送出去或将底层传输层接收到的消息送到解包模块。3     宁波电子口岸消息交换平台的设计与实现本文讨论的宁波电子口岸消息交换平台架构是完全基于ebXML的,它采用多种通信协议服务,以EDIFACT,XML,以及其他自定义格式为消息格式,完全支持这些格式之间的相互转换。交换平台和应用系统以及各种服务器通过消息进行传递。31设计原则
既要集成原宁波海关公共信息网和宁波港EDI中心两网的系统,又要不改变原有系统,同时还要使这些原有系统与新开发的应用系统之间可以交互通信。32架构机理宁波电子口岸消息交换平台架构如图2所示。与ebXML的消息服务架构相对应,也是采取多层次结构。其中应用系统是宁波电子口岸正在开发和将来准备开发的各具体的应用项目,比如网上订舱系统、一单两报系统等。消息交换平台的Adapter采用各种通信连接器组件,它负责消息交换平台和FTP服务器、EMAIL服务器、JMS服务器、MQ服务器、数据库服务器等的连接。同时有数据采集组件将从这些连接的服务器或数据库中采集消息,也可以由这些服务器主动将消息推送到消息交换平台;然后交给平台内部消息中心处理解包、校验、头处理、类型转换等,然后再组织消息和发送。所有这些都是由交换平台内部的组件来完成。消息交换平台内部需要开发消息解析和拆分处理组件、消息分类处理组件、消息发送处理组件等。图2 宁波电子口岸消息交换平台33消息中心消息中心以不同的组件形式存在,各组件相互协作来决定消息的处理;规则库存放的是对不同的消息按照发送方、接收方进行类型转换的规则和以何种途径发送消息的一些配置规则,它指导消息中心对消息的处理和消息分发。消息交换平台的消息中心由消息解析和拆分处理组件、消息分类处理组件、消息发送处理组件、规则库以及消息通信管理类组件组成。消息中心实现消息交换平台中消息的接收、转换、发送等主要业务逻辑。消息中心的数据定义:当有一个新的消息产生或收到后,都为这个消息赋予一个唯一的消息日志号,该消息在它的处理会话生命周期内不变,命名为Unique_Logid。消息格式的定义:接收和发送消息的格式可以根据客户的需求不同而不同,但是在消息中心需要为每种消息格式定义一个应用数据格式,该应用数据格式就是该类型消息的结构定义,用于不同格式消息的相互转换。规则库:是整个消息交换平台的神经中枢,它控制着消息的收发和消息的消费。设计的这部分消息交换平台就是一个消息的采集、转换和发送系统,系统的运转很大一部分依赖于规则库的指挥。本规则库由用户信息表User_Info、消息日志表Msg_Log、消息格式转换代码表Msg_Mapping_Code和路由表Route_Table等组成。用户信息表存放消息消费者的接收参数信息,如以FTP接收的相关参数,以EMAIL接收的参数等。发送组件的配置参数都是通过读取该表获取消费者的接收定义来决定消息的去向;消息日志表中存放的是在消息处理过程中产生的一些有价值的信息,可以为系统查询、跟踪以及计费等应用服务。消息格式转换代码表中存放的是不同用户之间存在的相同消息、不同格式的格式转换的关系和具体的转换程序组件的映射。路由表中存放的是一些路由信息,如通过中间服务提供商连接到消息交换平台的,那么需要在路由表里注册一些路由信息,消息中心会根据消息的消费者来查找此表来决定具体的路由。 4     宁波口岸消息交换平台的特性分析宁波电子口岸消息交换平台在技术上基于ebXML架构,支持不同的消息格式,利用SOAP、MQ、JMS来传递消息,利用MBC(Message Builder Component)组件来进行信息的处理,具有以下特性:通用性。由于宁波电子口岸消息交换平台采用了通信连接器来连接不同的系统,所以,该平台能够用于不同的应用系统、不同的数据库系统和不同的操作系统。开放性。整个消息交换平台在消息格式类型转换过程中调用的都是MBC组件,所以,任何一种新的消息格式的出现,只要增加一种或多种到其他格式的转换组件装入而无需改变任何现有的处理流程。可复用性。由于消息交换平台采用的都是组件化分析、设计和实现,消息中心的核心业务逻辑都是采用MBC形式,从而使该平台具有很好的复用性。5       结束语宁波电子口岸消息交换平台基于ebXML架构设计,具有通用性、开放性和可复用性等特性,使得各应用系统均可通过合适的连接方式连接到该消息交换平台,通过消息中心发送、获取自己需要的格式以及内容的消息。由于考虑实施的分步骤和现有的实际情况,所以现阶段消息类型的转换还只是停留在从一端直接到另一端的模式,随着未来业务的变化和需要,宁波电子口岸将考虑定义一套以XML为基础的规范格式,使得任何进入消息交换平台的消息先转换到该XML规范格式,然后根据不同消费者的需要,再转换成其他格式,这样不仅使消息更标准化,也可以提高各系统运转效率。 :1   (美)Alan Kotok,David R.R.Webber 著  ebXML-电子商务全球化标准   人民邮电出版社  20022   Message Service Specification version 2.0   http://www.ebxml.org/specs/ebMS.pdf   20013   ebXML Technical Architecture Specification version1.0.4  http://www.ebxml.org/specs/ebTA.pdf  20014   SOAP version1.2   http://www.w3c.org/TR/soap12    20035   李红,董渊 等. 基于J2EE的企业信息平台的设计与实现 .机工程, 20036   张为,马范援.cnXML中基于SOAP的消息研究.计算机工程与应用, 2003

图片内容