2004年10月,我参加了某车站综合信息平台项目的开发,承担项目的方案设计任务。该项目力图通过対车站现有信息子系统的集成,以达到共事各子系统的数据,优化企业运输作业流程,提高企业经营管理水平之目的。 本文结合笔者的实践,以该综合信息平台建设项目为例,讨论了企业应用集成技术。在本着集成、开放标准、管理配套的原则下,提出了基于Java技术的J2EE应用服务器作为统一的应用集成平台,以集成适配器作为系统集成架构模式的总体设计思路,并着力介绍了该项目关键部件一一集成适配器的构建过程。还就项目的具体实施作了详细叙述。最后,提出了企业应用集成的持续性,并确定了下一歩集成的目标。
2004年10月,我单位承接了某车站综合信息平台的建设任务。由于我具有多年的铁路行业软件项目开发经验,所以我有幸被单位指定为该项目的负责人,主要负责项目的方案设计工作。 该车站是一等客货运编组站,车站所在地是矿区,有规模不等的国有煤矿及个体煤矿数十个,车站主要以煤炭运输为主。近些年来,随着铁路TMIS系统(铁路运输管理信息系统)建设的逐歩深入,该车站建立了若干相应的应用子系统,主要有列车确报系统、车站现在车系统、货票制票系统、车号红外线自动识别系统、货运计划系统、货运安全系统及货车轨道衡计重系统等。车站希望通过综合信息平台的建设达到以下几个目标:
本设计方案从集成的广度来说,既包括了数据的集成,也包括了应用的集成;在集成的方法论方面来讲,大部分系统采用可白盒集成方法,少数系统采用的是黒盒集成方法。根据综合信息平台的总体设计方案,集成适配器是该信息平台的最关键部分,它负责不同子系统之间数据的采集、转换和交流。因此,集成适配器的选型或设计的合理号否,是项目成畋的关键。由于车站各信息子系统存在操作系统平台和数据库的异构性,无法从现有的中间件中找到完全适合的产品,因此我们决定自行开发此中间件。由于铁路各车站的业务领域和业务流程存在高度相似性,所以,此中间件有较高的复用价值。 対于集成适配器的设计,我采用了一种“可插拔"的设计理念。即为每个需要集成的子系统单独设计一个插接件,该插接件负责为号之相连的子系统提供数据及应用接口。各插接件通过XML格式的装配文件,自由组装到集成适配器这个容器中。集成适配器为所有插接件提供一个统一的调度模块,来协调和指挥所有插件,使之能够协同运作。 在集成适配器的开发中,我选用了开源的集成开发环境Eclipse作为开发平台。対于集成适配器调度模块的开发,我们采用了 Eclipse提供的Jobs API, Jobs API封装了 JDK (Java Development Kit Tools)的定时及同歩方面底层API,降低了编程的复杂性,提高了开发效率。 在插接件的开发过程中,我们充分利用Eclipse的高度可扩展特性,在因特网上搜集该项目可用的插件,以这些插件为扩展点,来扩展我们自己的插接件。最后我们利用Eclipse提供的RCP (Rich Client Platform)技术,集成我们的功能插件,并生成独立于Eclipse平台的、可独立执行的集成适配器。 各信息子系统具体集成过程及效果如下所述: