集装箱大客户EDI管理平台的设计与实现
2014-11-10赵黎敏王瑜敏
赵黎敏, 王瑜敏, 李 娜
(中海信息系统有限公司,上海200135)
0 引 言
某公司作为一家大型集装箱运输企业,其主营业务为全球集装箱运输,拥有一支现代化的大型经营船队,可为全球客户提供安全可靠、快捷高效的班轮运输服务。
2008年,在全球性金融危机爆发和蔓延的经济形势下,集装箱海运市场形势恶劣,公司需要考虑如何稳定全球BCO(Beneficial Car go Owner)大客户以降低经营风险。同时,大客户也将船公司能否提供集中电子订舱和货物跟踪等电子数据交换(Electronic Data Interchange,EDI)服务作为选择服务商和签约的评判依据之一。
对于大客户集中电子订舱和货物跟踪服务需求,公司现有的揽货模式和分布式船代系统无法支持。国内和海外代理的船代系统各自负责当地业务操作,这会对信息的连贯性造成影响,使数据分散并产生断点。因此,虽然各地船代系统能够部分实现电子订舱,以及对货物信息的局部跟踪,但无法满足大客户集中电子订舱、全程货物动态跟踪的需求。
因此,为挽留和争取客户,加强公司总部的监管能力,推进精细化管理,提高服务质量,增强市场竞争力,提升信息化管理水平,必须具备向客户提供全面EDI服务的能力。
导读:
1)公司总部使用的是综合业务管理系统,简称总部船东系统(或I MIS系统);
2)公司下属各口岸、片区公司,简称代理或口岸代理;
3)公司下属代理公司使用的业务处理系统,简称船代系统或代理系统;
4)客服中心:此处指公司总部的客户服务中心,主要职责是为客户提供各种业务服务,解答客户的各种问题,跟踪各种EDI功能、流程的节点和状态,处理EDI服务中的各种问题;
5)EDI合作方:包括提供集中EDI电商服务的PORTAL、进行直接连接的客户,以及第三方物流公司;
6)BCO客户:指不通过货代公司,直接与船公司打交道的“直接客户”;
7)PORTAL:此处所指的PORTAL公司,是指为全球航运业提供EDI服务的电子商务供应商,能够为不同的客户提供EDI公共服务。
1 系统建设目标
1.1 总体目标
针对公司系统现状和业务需求,需要建设一套集中统一的集装箱大客户EDI管理平台,总体目标是在现有公司总部综合业务管理系统的基础上,建立集中电子订舱、全程货物跟踪和EDI报文管理监控平台,使公司有能力为特定大客户提供EDI服务,提升公司科学化管理水平、服务水平、行业形象和市场竞争力,以更好地开拓市场。具体目标为:
1)建立集中的大客户订舱管理平台(以下简称总部订舱平台),并为系统不完善的口岸代理提供处理电子订舱业务的操作平台。
2)建立集中的大客户货物跟踪管理平台(以下简称总部货物跟踪平台),为大客户提供完整、及时、准确的货物动态跟踪服务。
3)建立集中的大客户EDI报文监控管理平台(以下简称总部EDI报文平台),实现报文的收发、存储、转发和分发功能,并为公司总部管理部门提供基本的统计分析和监管功能,加强总部精细化管理,为经营决策分析提供数据和系统上的支持。
1.2 功能需求
1)实现大客户电子订舱数据的传输需求:实现与EDI合作方、代理系统之间的报文传输、报文分发、报文转发功能,满足大客户电子订舱EDI需求。
2)以代理船代系统为订舱平台的操作模式:面向系统完善的代理,总部EDI报文平台主要负责接收、分发、转发报文,订舱操作在代理船代系统中进行。
3)以总部船东系统为订舱平台的操作模式:面向系统不完善的代理,采取以总部船东系统为主的处理方式,在总部船东系统中建设大客户电子订舱所需要的功能,供系统不完善的代理使用。
4)实现大客户货物跟踪等服务:通过将分散的数据集中处理的方式,在总部船东系统中建立货物跟踪模块,实现数据采集、数据抽取、报文生成、报文发送的功能。
5)实现企业总部的监控管理:监控功能要具有较高的自动化程度、界面友好、操作便捷;监控范围要全面完整,可以按照不同的业务类型对EDI流程的不同节点进行监控;监控方法要求达到全面预控和重点预控相结合。通过以上监控,来达到数据交换的时效性、准确性,确保业务操作和客户服务的有序、及时、准确、完整。
6)实现国际通用EDI标准报文接口:包括ANSI格式的订舱请求、订舱确认、电子托单、电子单证、货物跟踪报文;UN/EDIFACT格式的订舱请求、订舱确认、电子托单、电子单证、货物跟踪报文。
2 系统设计
2.1 系统总体架构
平台基于公司总部综合业务管理系统进行设计开发,I MIS系统是基于J2EE技术体系开发的C/S架构系统,UI客户端采用RCP技术,后端各模块之间的消息以XML的格式进行传递,报文内容会同时存储在I MIS数据库中。平台面向外部EDI合作方、堆场/码头/仓储公司等业务合作方的系统以及各口岸代理的船代系统,进行相互间的数据交互。
系统总体架构见图1。
图1 系统总体架构
2.2 系统技术架构
图2 系统网络拓扑
2.2.1 服务器
为确保大客户EDI平台的稳定,在硬件方面采用两台服务器(一主一备)双机互备的方式,使用磁盘阵列对数据(报文)进行保护,且每天定时备份到网络附属存储(Net wor k Attached Storage,NAS)服务器,保证EDI文件的安全性。采用双机互备的机制,在主服务器出现问题的情况下,备机会自动接替主机连接到存储上,保证应用不间断。
2.2.2 网络
对于公司内部代理的船代系统,可通过公司内部数字数据网(Digital Data Net work,DDN)专线进行连接;而对于非专线的代理、PORTAL、大客户等,可通过互联网的文件传输协议(File Transfer Protocol,FTP)方式进行连接。公司内网有防火墙进行安全防护,确保内部服务器的安全。系统网络拓扑图见图2。
2.2.3 数据传输方式
目前比较流行的数据传输方式有FTP、SFTP、VAN(增值网)、AS2以及 MQ等。大客户EDI平台选择了最广泛和最普通的FTP作为与PORTAL/大客户和代理之间传输文件的基本方式,可以自动定时扫描接收和发送EDI报文,也可以到对方服务器上抓取EDI报文。
2.2.4 关键技术
在EDI处理中,设计采用JAVA+XSLT技术。XSLT从字面上可解释为可扩展样式表语言转换(Extensible Stylesheet Language Transf or mation)。其是一种解析语言,用来将一种格式的XML文件转换成另一种格式的XML的语言,而XSLT文档本身也是一种XML文档。大客户EDI平台采用JAVA+XSLT技术,使用JAVA语言实现对报文中数据的逻辑校验,使用XSLT解析EDI报文,并对报文进行格式校验。
使用XSLT解析语言的优点在于,可以实现在不同XML结构文件之间的转换,便于将不同类型和格式的报文转换为XML格式后进行统一处理。对于同一类型、不同格式的报文处理,可以封装为一个JAVA文件,提高代码复用性,便于统一开发、调用,也有利于后续的运维。
2.2.5 数据安全
大客户EDI管理平台通过以下三种方式,来确保平台和数据的安全性:
(1)防火墙安全控制:在公司系统网络的防火墙中,对来访的用户进行权限设置,只有指定客户、指定IP地址的服务器才可对平台服务器进行访问,这在外部层面上确保了服务器及服务器上数据文件的安全性;
(2)用户访问权限控制:为每个需要访问大客户EDI平台服务器的用户设置用户名/密码,每个用户只有访问自己对应目录的权限,通过控制用户的访问权限来确保服务器和数据文件的安全性、保密性;
(3)文件传输加密方式:平台支持SFTP传输协议,其会在文件的传输过程中对文件进行加密处理,比传统的FTP更加安全,可提升数据传输过程中的安全性、保密性。
2.3 系统功能设计
平台的总体设计原则是建立企业总部级的集中式EDI订舱和货物跟踪管理平台,通过集中式EDI平台,可以向大客户提供集中式EDI服务、向代理提供集中订舱功能、向企业总部提供监控管理功能。
2.3.1 业务模块
整个大客户EDI管理平台中,订舱管理、货物跟踪、报文监控管理是三大核心功能模块,基础数据是辅助功能模块。其中:报文监控管理是平台的基础,实现报文的收发和流转,包括EDI报文收发、导入、导出以及EDI流程处理的监控等功能;订舱管理和货物跟踪管理是业务处理核心功能模块;基础数据提供基础代码的维护管理。功能模块见图3。
图3 大客户EDI管理平台功能模块
2.3.2 报文监控管理
EDI报文监控管理的内容主要包括对EDI报文的收发、导入、导出处理和日常监控管理。
(1)EDI报文接收/发送功能
根据系统配置信息,对FTP的接收和发送任务、EDI文件的接收和发送任务进行管理。支持FTP与FILE COPY两种方式,主要维护任务启动与关闭、任务状态、传送类型、发送方服务器、文件路径、文件类型、登录用户名以及登录密码等配置信息;EDI文件收发功能支持FTP/EMAIL/FILE COPY三种方式发送报文,完全配置化环境,可针对不同类型EDI定制不同发送方式。
(2)EDI报文导入功能
报文导入处理主要包括以下几部分功能,其流程见图4。
①EDI报文导入基础配置:对导入任务进行维护管理,主要对导入任务的启动与关闭、报文解析XML规则、XSLT报文头处理规则进行维护管理;
②EDI预处理:把不符合解析要求的报文处理为符合解析要求的报文,将不同类型的EDI报文的预处理过程封装在不同的JAVA文件中,并可通过配置来指定JAVA文件的位置;
③EDI报文解析:基于XML技术,将标准化、结构化的EDI文件解析为易于平台处理的X ML文件,支持TEXT/EXCEL/XML三种报文格式,解析结果均为XML结构化文件;
④EDI数据校验:主要涉及必输性、数据类型以及数据长度,可通过编辑不同的XML结构文件实现校验逻辑的个性化配置,实现不同EDI类型校验逻辑;
⑤EDI数据映射:包括组织XML数据结构、EDI取数和初步业务逻辑实现。基于XSLT技术,将经解析且通过格式校验的XML结构文件映射为另一种结构更加接近系统数据结构的XML结构文件;
⑥EDI数据写入数据库:执行业务逻辑校验以确保导入数据的准确性,最后把EDI数据写入业务数据库。若执行成功,记录主要业务信息并通过邮件反馈;若执行失败,记录错误信息并通过邮件反馈。
3)EDI报文导出功能
EDI报文导出处理主要包括以下几部分功能,其流程见图5:
图4 报文导入功能流程
图5 报文导出功能流程
①EDI导出任务的可配置维护管理:主要对导出任务的启动与关闭、抽取数据的XML规则、XSLT报文头处理规则、报文封装规则进行维护管理;
②EDI发送任务指令:根据不同业务要求,按照一定的业务逻辑,获取系统业务数据,形成EDI发送任务指令,并存储在EDI数据抽取任务队列中;
③EDI数据抽取:遍历EDI数据抽取任务队列,识别出需要执行的EDI任务,通过读取任务配置信息项的数据抽取XML参数,按照业务逻辑抽取系统业务数据,然后根据业务数据结构要求把抽取出来的数据拼装成树型层次结构的XML数据文件并保存到指定的数据拼装目录中,同时将处理过程记录到EDI运行日志中并更新任务执行状态;
④EDI报头处理:对拼装后的XML结构文件执行报头处理,主要目的是记录EDI执行信息以及读取发送方代码、接收方代码、报文标准等报头信息,以在报文中记录并方便接收方识别;
⑤EDI数据映射:运用基于XSLT技术的数据映射,对报头处理后的XML结构文件执行预定义的XS-LT映射,映射为另外一种结构更加接近EDI标准的XML结构文件;
⑥EDI数据校验:主要涉及必输性、数据类型以及数据长度。通过编辑不同X ML结构文件实现校验逻辑个性化调整,实现不同EDI类型的数据校验;
⑦EDI报文封装:基于XML结构化技术的封装逻辑,将经过数据映射的X ML结构文件封装为符合配置要求的EDI文件,系统支持TEXT/EXCEL/XML三种EDI文件格式的封装。
4)EDI数据处理监控跟踪
为监控跟踪EDI数据的处理过程,设置EDI导入和导出状态监控表。开始执行EDI报文处理任务时,在监控表中为每个EDI报文记录一条监控记录,主要记录EDI报文处理的当前状态,同时生成对应的详细日志文件记录,在EDI处理各阶段的开始和结束均会在对应的日志文件中记录详细信息。
报文处理失败的详细原因可在日志文件中得到体现,用户可以主动通过客户端监控EDI的处理状态以及处理日志,可以定制邮件反馈服务,系统将实时把EDI运行情况或运行日志以邮件的方式反馈给用户。
2.3.3 电子订舱业务
电子订舱流程(见图6)说明如下:
(1)订舱请求报文通过EDI合作方发送至总部EDI平台;总部EDI平台接收后,对报文进行合规性校验和逻辑校验,通过校验的报文将被导入总部订舱平台;对需要分发的订舱请求报文按照出货港分发到口岸代理;
(2)口岸代理接收订舱报文后在船代系统中完成订舱配载操作,并反馈订舱确认报文至总部EDI平台;总部EDI平台收到订舱确认报文后,将其导入总部订舱平台并生成订舱确认报文发送至EDI合作方;
(3)分发报文时,自动发送邮件通知口岸代理和客服中心,提示有新订舱请求;
(4)对于直接使用总部订舱平台的代理,直接在总部订舱平台上进行订舱配载操作,完成订舱工作,并触发订舱确认报文;
(5)电子托单报文通过EDI合作方发送至总部EDI平台,总部EDI平台接收后,对报文进行合规性校验和逻辑校验,通过校验的报文将被导入总部订舱平台;对需要分发的电子托单报文,按照出货港分发到口岸代理;
(6)口岸代理接收到托单报文后,在代理船代系统中完成单证制作;
(7)分发报文时,自动发送邮件通知口岸代理和客服中心,提示有新托单报文;
(8)对于直接使用总部订舱平台的代理,可以直接使用报表功能打印电子托单信息,输入代理的业务系统,完成提单的制作。
图6 电子订舱业务流程
2.3.4 货物跟踪
货物跟踪服务是整个EDI服务中的弱点,由于业务数据分散、不完整、时效性和准确性差等原因,长期无法为客户提供全流程的货物跟踪信息。为解决该问题,采用数据同步集中的方式,采集分散在总部船东系统和代理船代系统中的数据。
图7 货物跟踪报文导出的流程
首先,代理系统将从堆场、码头、仓储公司获取的大客户订舱数据、单证、集装箱箱管数据、货物动态信息(包括内陆点动态、海运动态)上传至总部业务系统,并对部分数据定时同步触发到总部货物跟踪平台中,根据业务规则将其关联起来,并对缺失的数据进行人工干预,形成一个完整的货物跟踪数据链。
随后,可以在I MIS系统中通过自动和手动两种方式发送货物动态跟踪报文,为客户提供实时数据。数据同步方式最主要的是数据库的触发器(Trigger)。
通过数据同步、数据补全、定时触发,货物跟踪模块已基本能够为客户提供全程货物动态跟踪实时数据。除海运(OCEAN动态)动态外,平台还能够为客户提供包括提箱、进出铁路堆场、抵达离开码头堆场等在内的内陆运输动态(INLAND动态)跟踪服务。
相关方的工作关系如图1所示。货物跟踪报文导出流程见图7。
2.3.5 FTP异常处理
对于EDI任务队列异常情况的处理,在对方FTP或网络有异常的情况下,EDI平台会自动锁定该任务半小时,并释放占用的线程。随后,每隔半小时再尝试重新连接,直到能连接上并将报文成功发送。这样可以避免由于前一个报文无法发送,而引起后续队列中EDI任务的积压、阻塞,避免报文处理的延误。
2.4 系统实现效果
2.4.1 订舱管理
订舱管理模块展现平台接收到的电子订舱和电子托单信息,可以供公司总部管理人员和客服人员核查,并提供手工订舱确认操作和发送订舱确认报文的功能,方便无系统代理进行订舱处理。
2.4.2 货物跟踪
展现同步到ETA TRACKING中的订舱信息、单证信息、箱信息,并且可以查询货物当前的动态节点、动态发生时间等信息,方便总部客服人员跟踪核查。
2.4.3 监控管理
展现EDI报文的发送情况,包括报文类型、报文名称、发送时间等信息,可以供总部客服人员及时核查EDI报文发送情况。
3 结 语
通过建设大客户EDI管理平台,公司已具备为大客户提供EDI服务的能力。改变了原有的订舱和货物跟踪数据分散在代理船代系统的情况,通过统一的总部平台,使信息得到了集中、共享,实现了总部集中订舱、提供全程货物跟踪、集中监控管理的要求,满足公司大客户战略,为稳定现有的大客户群、开拓市场、保持市场占有率,提供了强有力的技术支撑。
平台的开发对于业务流程也起到了变革的作用。对大客户而言,由于具备了总部系统的集中式管理,无需与分散在全球的代理系统直接对接,加快了客户电子信息服务的推进;对于代理而言,使用统一的内部EDI格式,可以方便地与所有大客户对接,而不需要重新开发接口,提升了其电子信息服务能力,加快了推进速度,减少了相应的实施成本。
对于因客户不断增长而带来的系统性能上的压力和瓶颈,项目组将基于现有的EDI平台,持续进行性能优化和功能扩展工作,为未来全球系统的建设提供一个功能稳定、性能优异的集中式EDI平台。
[1] 胡美芬,王义源.远洋运输业务[M].北京:人民交通出版社,2006.
[2] 陈曙光,林榕航.电子商务学概论[M].厦门:厦门大学出版社,2008.
[3] 吉庆彬,刘文广.EDI实务与操作[M].北京:高等教育出版社,2002.
[4] 李馥佳.EDI在集装箱配载中的应用[D].大连:大连海事大学,2010.
[5] 陈大伟.基于Web Service的EDI系统设计和实现[D].青岛:中国海洋大学,2008.
[6] 王琳.基于XML的EDI系统在物流应用中的设计与实现[D].天津:天津大学,2009.
[7] 方少林.EDI在企业管理中的竞争优势[J].中国商贸,2009(19):31-32.
[8] 张晓强.EDI技术在订单管理中的应用[J].科协论坛(下半月),2008(8):67-68.
[9] 魏江平.电子数据交换(EDI)系统安全技术[J].微电子技术,2003,31(5):56-59.