庞光垚,廖新菊,陆科达
(1.2.3.梧州学院信息与电子工程学院,广西梧州 543002)
Mule在区域性现代物流信息公共服务平台的应用研究
庞光垚1,廖新菊2,陆科达3
(1.2.3.梧州学院信息与电子工程学院,广西梧州 543002)
针对当前物流信息平台建设存在的系统间低效互通、高耦合、高成本和低拓展性的问题,该文使用SOA思想的ESB技术解决方案,以西江物流信息公共服务平台建设的实际需求为背景,提出了基于ESB开源框架Mule技术的数据交换与共享中心集成框架,并对该框架进行了技术实现,取得了较好结果,为系统集成提供了可参考的实施方案。
SOA技术;系统总线;Web服务;Mule框架;西江物流平台
伴随着物流行业的迅猛发展和全球信息化势头的不断增强,现代物流信息平台对内要整合各业务系统,对外要与物流政务平台、物流商务平台、企业物流业务管理系统以及运力、货源、仓储信息智能配载等信息系统实现互联互通。平台参与者横跨了政府、企业、行业管理部门等不同单位,因此,现代物流信息平台的实现既要解决内部和外部多个系统的互联互通问题,又要能够保护某些系统的技术机密,对敏感信息进行隔离和管理。
目前,我国中小企业物流信息系统产品功能单一、技术落后,大公司却进入了高速发展时期,技术鸿沟较大,没有统一的技术实现手段。即使是较为成熟的企业,也只是采用了传统的企业应用集成EAI (Enterprise Application Integration)[1]解决企业内各系统之间的互联互通问题,存在紧密耦合、扩展性较差、成本高等缺点[2]。
美国是世界上最早进行专业物流研究的国家,也是世界上信息化最发达的国家。美国物流信息平台的建设主要运用了基于面向服务架构(Service Oriented Architecture,SOA)思想的企业服务总线(Enterprise Service Bus,ESB)技术解决方案。SOA用于分布式软件开发,具有良好的松耦合、与平台无关等特性,能够解决系统的灵活性和互操作性[2]。ESB则是实现SOA思想的一套解决方案,是传统中间件技术与XML、Web服务等技术结合的产物,用于实现企业应用中不同消息的准确、高效和安全传递[3]。使用ESB可以在不改变现有基础结构的情况下让几代技术实现互操作,在几乎不更改代码的情况下以一种无缝的非侵入方式使企业已有的系统具有全新的服务接口,并能够在部署环境中支持任何标准。此外,不同的应用程序可以同时使用同一服务,在应用程序或者数据发生变化时无需改动服务代码[4]。
我国物流行业主体以中小企业居多,并且处于飞速发展阶段,所以对于现代物流信息平台的建设,不仅要解决系统间互联互通问题,还要充分考虑平台的可拓展性以及技术的实现成本。为了总结出一套松耦合、高拓展性、低成本的系统集成解决方案,本文结合西江物流平台实际需求,使用ESB的开源框架Mule作为技术核心提出了数据交互和信息共享集成框架。通过对该框架的设计与实现,对建设现代物流信息平台有一定的指导作用。
2.1 总体功能需求
课题的研究目标是开发一个符合西江航运干线发展并以西江沿江城市为服务对象的西江物流信息公共服务平台(简称“西江物流平台”)。西江物流平台要求建立一个集物流政务、物流商务、物流信息交换等服务功能为一体的区域性物流信息公共服务体系,实现对西江物流信息资源的共享、对西江流域物流各环节的实时跟踪、对物流全程有效的控制与管理,使之更好地整合西江黄金水道区域内的物流资源,最终达到提高物流效率、降低成本的目的。西江物流平台包括基础数据集市建立、物流门户信息发布和管理、供求管理、智能配载、辅助决策支持、数据交换与共享中心等功能。
2.2 数据交换与共享中心的数据分析
目前,西江沿江城市的物流企业和物流管理部门都有属于自己的业务应用系统,能够独自完成物流企业内部业务的调度管理,但因不能与其他物流系统进行交互而成为“信息孤岛”,导致西江物流资源利用率低下,对西江沿江城市物流行业的发展非常不利。为了更好地整合西江的物流资源,实现物流信息资源的共享,西江物流平台需要与其他物流系统进行大量的信息交互。以下表1是针对与西江物流平台进行交互的物流业务系统的数据分析。
表1 西江物流平台与其他系统的交换数据
由上述需求分析可知,西江物流平台主要涉及到以下几部分内容。
(1)西江物流平台与物流政务、物流商务、供需配载、物流公司业务系统等企业应用进行互联互通。
(2)西江物流平台最终目标是建立可供数据挖掘的数据仓库,而现阶段只需要根据收集到的数据建立数据集市,为以后拓展为数据仓库做好准备。
(3)数据挖掘算法、辅助决策等算法模型的建立。
(4)发布服务。一是西江物流平台在门户发布信息;二是直接对外提供智能配载、辅助决策等服务。
(5)开发一系列可供微博、微信等互联网应用直接调用的数据接口。
与西江物流平台进行数据集成的应用系统囊括了不同单位的不同信息系统,使用的技术平台类型多种多样,同时考虑到平台建设的成本和技术门槛,本项目选择了开源的、基于Java的轻量级企业服务总线和集成平台Mule ESB[5]。Mule采用SOA架构,允许用户迅速、便捷地连接应用系统。在不考虑应用系统实现技术情况下,能够实现对系统应用准确无误的数据交换和集成,如Web Services,JMS,JDBC,HTTP等其他技术。
Mule的主要功能部件由通道、端点、转换器、服务组件、Service等构成,Mule通过这些部件完成ESB提供的功能[6]。由此我们构建了西江区域性现代物流信息公共服务平台模型,如下页图1所示。
图1 区域性现代物流信息公共服务平台模型图
西江区域性现代物流信息公共服务平台主要实现以下服务功能。
(1)服务的注册与调用。西江物流平台与外部物流商务平台、物流政务平台、物流信息管理系统和运力、货源、仓储信息智能配载平台进行数据交互,在数据交换与共享中心中既是Web服务的提供者也是服务的调用者。以物流政务平台中的船闸调度管理系统为例,将系统中的上下行等待的船舶列表和船编号使用封装器封装为服务,并将服务发布到ESB的UDDI服务注册中心,通过Mule ESB总线对这些服务进行管理和调用。
(2)Mule ESB系统集成枢纽的建立。既与外部系统进行数据交互,也对系西江物流平台内部基础设施进行调用及对业务实现进行管理和调用。
(3)服务发布。模型主要包括两部分:第一部分为直接在平台中对外发布,如信息、智能配载和辅助决策等。另一部分为对外设置服务接口,直接与微博和微信交互。
数据交换与共享中心的主要功能是获取外部系统的数据及把内部服务对外发布。此外,西江物流平台基于JavaEE平台技术实现。因此,Mule实现数据交换与共享中心的核心技术点是“Component”和“SOAP”组件的使用。以提取船闸调度系统的船舶数据到西江物流平台的船舶数据集市为例,得出图2所示的技术结构图。
图2 数据交换与共享中心技术结构示例
该数据交换与共享中心技术框架具备以下特性。
(1)代码高度解耦。Mule框架把西江物流平台船舶信息写入的功能发布成Web服务,调度系统通过SOAP协议的方式与之交互。SOAP协议的交互方式,使得调用者可以是船闸调度系统,也可以是海事系统或其他系统。
(2)可拓展性强。一方面平台可以通过使用Mule框架的“Component”组件直接调用平台内部写入船舶信息的常规JavaBean。该组件直接调用平台的业务层,相应的数据集市和持久层等内部实现也会被调用,最终完成业务操作。另一方面,平台的船舶信息处理为外部系统或者其他平台提供。针对这种调整,Mule框架仅需要把调用“Component(组件)”转换为调用外部系统的“SOAP组件”。
(3)代码结构清晰。Mule框架通过转换器及其他组件,把杂乱的调用关系统一为注册和调用。平台内部的代码实现也分为了业务层、数据集市层、持久层。
(4)应用成本低。Mule框架属于开源技术,获取成本较低。Mule支持者开发了免费的Mule Studio工具,通过直接拖动和简单配置就能实现大部分系统交互协调功能。例如把“Component(组件)”换为使用SOAP组件就能实现上述把内部业务调用改为外部系统调用的功能。
4.1 基于Mule Studio工具快速构建数据交互
Mule Studio是一个功能强大、用户界面友好的基于Eclipse的开发工具。Mule Studio不需要熟悉Mule的XML配置语法就能在几分钟内轻松地创建、编辑、测试Mule ESB流程。图3为使用Mule Studio工具依照船闸调度系统写入船舶数据到西江物流平台数据集市的流程所实现的配置视图,其中Echo组件主要作用是在控制台中显示信息负载,以监测系统的健壮性。
图3 船闸调度系统写入船舶数据到物流平台数据集市的配置视图
以下为上述配置视图的相应XML配置代码:
4.2 平台内部关键业务代码
图3中,Mule框架直接使用“Component(组件)”调用平台的内部业务代码;Mule自动完成调用、监测和发布Web服务;西江物流平台实现Java业务组件。以下为西江物流平台关键业务代码示例:
4.3 应用效果
基于Mule架构的数据交换与共享中心满足了数据传输的实时性和共享数据中心与各营业系统之间的低耦合性和拓展性的要求,达到了如下效果[7]。
(1)通过数据交换与共享中心的实现,西江物流平台与外部系统实现了实时无缝数据共享。
(2)西江物流平台以Mule为内核,以SOAP的方式在对基础设施、内部的业务逻辑代码、其他系统服务进行交互。
(3)Mule轻量级的架构特性以及Mule Studio的使用,使得开发团队可以快速地构建和调整平台的技术实现。
本文以西江物流平台的实际需求为背景,提出了基于Mule平台的数据交换与共享中心集成框架。该框架的实现解决了系统互通信息和共享资源难的问题,开发的西江物流平台达到了低耦合、低成本、可拓展性强的要求。在原有系统基本不变的情况下完成了不同系统与西江物流平台之间的数据互通,这对于处理系统的集成问题有一定的参考价值。该集成框架唯一的不足是Mule Studio工具为了达到简单易用导致某些场景需要手工修改XML配置文件。
[1]葛蓬,等.基于Web服务的电力企业实时信息应用集成[J].电力自动化设备,2011(2):99.
[2]唐权.基于ESB的SOA架构解决方案[J].四川职业技术学院学报,2008(1):116.
[3]郭瑜.基于ESB架构的交通行业数据交换平台的应用研究[J].北京:计算机系统应用,2008(9):83.
[4]黄安安,等.基于ESB的企业应用集成研究[J].微计算机应用,2007(9):966.
[5]百度百科.“ESB”[EB/OL].http://baike.baidu.com/view/1224042.htm[2014-05-18].
[6]刘振东.基于ESB的供应链信息共享的研究与实现[D].天津大学硕士学位论文,2009.
[7]林怀恭,等.基于ESB的共享数据中心的研究与实现[J].计算机应用与软件,2010,27(5):185-187.
An Applied Research in MULE on Public Service Platform of Regional Modern Logistics Information
Pang Guangyao1,Liao Xinju2,Lu Keda3
(1.2.3.School of Information and Electronic Engineering,Wuzhou University,Wuzhou 543002,China)
On the basis of public service platform of regional logistics information,this paper makes an introduction the technologies of SOA,Web and ESB.Consequently,taking into account the technologic characteristics of Mule,this paper proposes a framework integrating the data exchange center with shared service center,together with the realization of the relevant technology of the framework.
SOA technology;Web service;Main circuit of the system;Mule framework;Platform of logistics information
TP393
B
1673-8535(2014)03-0007-07
庞光垚(1986-),男,广西浦北县人,梧州学院信息与电子工程学院助理工程师,硕士,主要研究方向:软件工程。
廖新菊(1989-),女,广西贺州人,梧州学院信息与电子工程学院教师,研究方向:软件工程。
陆科达(1978-),男,广西贺州市人,梧州学院信息与电子工程学院系统架构设计师,研究生,研究方向:计算机软件与理论。
(责任编辑:覃华巧)
2014-04-26
广西科技开发项目(桂财教[2010]123号,桂科能10123012-4)