1 引言 随着中国经济的迅速发展,第三方物流企业为了适应其企业自身已有业务的快速增长,同时第三方物流企业的信息化建设也得到了快速发展,仓储信息管理系统、物流配送系统、电子商务融资平台等各种业务系统在第三方物流企业的业务运营中发挥着重要的作用。用这些信息系统可以实现供应链管理,实现了第三方物流企业内部以及与供应链的成员之间的信息的快速、准确传递和共享,提高了仓库管理、装卸运输、采购、订货、配送发运、订单处理的自动化水平,实现供应链一体化,企业可以更方便地使用信息技术互相交流和协作,企业间的协调和合作有可能在短时间内迅速完成,此外随着第三方物流企业开展的物流金融等新兴物流业务的多样化,这些第三方物流企业对应信息化的依赖程度也越来越高。但这些系统在企业内部的使用是分散、独立而且是无任何数据标准的,这样就形成了一个个的“信息孤岛”,难以满足已有业务和新业务的开展。因此这就需要一个具有松散耦合功能的系统集成平台实现第三物流企业的业务系统的集成和数据交换。 2 研究背景 第三方物流企业希望花最小的代价和时间集成这些已有的业务系统;同时也要为它们今后新的业务系统的接入奠定基础。如何在不修改原有系统的基础之上,如何花最小的代价和时间实现异构业务系统的集成和数据交换成为了这次研究的关键之处。早期基于传统架构的信息技术和系统通过使用各种编程技术如:修改业务系统、修改业务系统的数据库结构等技术来连接“信息孤岛”以便解决物流一体化、供应链管理等集成问题,但随之也产生了一整套新问题。例如,企业应用集成(Enterprise Application Integration,EAI)产品不仅是昂贵的,而且还耗去了大量的时间和精力,结果却往往是失败的。另外,由于各种专门用途的产品是专有的、不可互操作的,使用和维护这些产品将是非常麻烦的事情。在这种背景下,面向服务的架构(SOA,Service Oriented Architecture)应运而生。它为企业系统集成提供了一种动态的、可扩展的方案,同时WEB服务、服务组件架构、数据总线(ESB)技术和基于XML的数据报文标准为面向服务架构以及企业应用集成提供了技术支持。 3 研究技术核心——面向服务的架构SOA 面向服务的架构SOA是一个基于服务概念的定义的综合体系。它成功地运用了面向对象的开发,基于设计的组件和企业应用综合技术的概念。SOA的目标是在企业级的应用上运用松耦合和封装带来利益。Service-architecture.com将SOA定义为:“本质上是服务的集合。服务间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动。服务间需要某些方法进行连接。所谓服务就是精确定义、封装完善、独立于其他服务所处环境和状态的函数。”如图1。
图1 SOA的核心概念图 4 待解决的核心问题 如何在多种异构系统之间实现系统集成和数据交换是研究的重点,而基于SOA集成架构的系统集成平台需要解决的首要问题就是异构系统之间的集成与数据交换的问题,在此基础上才能方便地实现业务系统间的业务流转。 具体来说,该系统集成平台应解决如下的有关集成的技术层面问题: ①异构系统的协议解析 企业根据自身的业务需求,根据其自身发展的规划采用了不同技术架构的信息管理系统,这一点在发展中的第三方物流企业表现的尤为突出。因此这些业务系统所提供的业务功能、信息服务和数据结构都是不同的。如何在不修改原有系统程序的前提下将不同的业务系统提供的服务、数据等进行相互转换,并能保证后续业务系统也能简单顺利的接入,这就需要在集成平台内部制定同一种协议,从而解决异构系统集成时的构件服务访问方式与规则不一、开发语言不同、数据表现形式不同的难题。 ②业务流程的数据转发 业务系统中的数据流转正确与否将直接影响业务系统能否正常的完成其业务功能的实现,单个系统内的业务流转一般是依靠业务流程管理表中的某个字段的标志位的不同编码来实现的,而多个业务系统的数据流转也可采用此种方式,但如果有新的业务系统接入,或业务流程做修改时,有可能需要修改多个业务系统的程序,这是非常不合理的,解决从一个系统如何将数据传输到另一个系统的问题,在此基础之上再通过整合业务流程来达到多系统跨企业协同工作的目的。 ③接口汇聚 将业务系统中的数据转换放到业务流程中的任何一个业务系统上都是不合适的,只有建立一个系统集成平台,利用这个系统集成平台将各种业务系统的数据接口汇聚起来,统一数据转换标准,集中进行归一处理,形成总线式的可热插拔的接口配置方式,这样不仅可以解决数据转换的标准问题,还可以为后续业务系统的接入提供接口。 ④异步的实时数据交换 系统之间的数据交换最重要的一点是要保证的数据的准确性,保证在系统之间的数据传递过程中没有数据丢失,这一点是对于金融业务的系统更为重要。通过测试和研究在目前的数据库管理系统和前台的开发工具还未发现可由后台数据触发前台的系统事件,也不能由后台触发器直接生成XML数据报文。因此在数据实时性要求不高的情况下可以考虑采用异步数据交换。