潘伟伟 潘善亮
某市国土局先后建成了地籍管理信息系统、建设用地审批管理系统、土地利用规划系统、国土资源一张图和核心数据库等应用系统,为了解决系统之间存在信息共享能力差、业务适应能力差等问题,采用面向服务的架构思想对国土局现有信息系统进行集成,提出了一种快速的、便捷的企业信息系统整合方法,实践证明,该方法能够有效地集成各类异构的业务系统,可提高系统资源利用率。
面向服务架构 企业服务总线 服务构件 信息系统集成
1 引言
目前,某市国土资源局先后建成了国土资源一张图和核心数据库、地籍管理信息系统、建设用地审批管理系统等应用系统。随着业务系统的不断增加,国土资源信息化建设中存在的问题也逐渐被暴露了出来,现存业务系统之间的技术架构差异越来越大。而新系统建设也缺乏技术规范,无法随需应变,开发因没有统一的标准而出现技术封闭的问题,系统之间产生信息孤岛。
以传统方式开发的软件无法实现期望的业务集成和协作,从而导致了全局业务环节信息传递和处理的不及时,无法满足客户快速变化及个性化的需求。软件架构经过十几年的发展,特别是面向服务体系的架构SOA(Service-Oriented Architecture,面向服务的架构)的出现为异构系统之间的解耦创造了一定的条件。
通过引入成熟的第三方中间件,搭建基于SOA的国土资源信息集成平台,可以实现跨地区、跨部门的信息互联互通和业务协同。SOA的优势在于它有着高度的可重用性、敏捷性以及良好的延展性和可用性,可随需应变,从而能够轻松地应对业务需求的变化,使它能够摆脱面向固定模式技术解决方案的束缚。平台采用统一的技术架构、开发规范、数据资源模型等,可实现全局领域应用平台软件体系的一体化、模块化、轻量化,实现业务应用快速开发、“插拔式”部署和统一运行管理。
2 面向服务的架构与企业服务总线
2.1 面向服务的架构
SOA是一个组件模型,它将应用程序的不同功能服务通过定义服务间良好的接口和协议联系起来[1]。SOA中的服务都来自于独立应用程序或者新的面向服务的应用程序,它的核心思想是服务,并通过服务间的组装来形成新的服务以达到组件之间的松耦合,实现高度的服务可重用性[2]。在SOA中必须具备有3种角色,其关系模型如图1所示:
2.2 企业服务总线
ESB(Enterprise Service Bus,企业服务总线)体系结构模式支持在面向服务的体系结构(SOA)中虚拟化服务交互并对其进行管理。它是传统消息中间件技术与XML、Web服务等技术结合的产物,它提供了支持SOA的一组基础架构功能,支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别和可管理性[3]。简单来说ESB就是试图将应用服务器上的多种逻辑层面迁移到总线以及连接点上,从而降低企业内部信息共享的成本。
3 系统总体架构设计
3.1 平台总体架构
SOA使用户不需要依赖应用程序及其运行计算平台便可方便地对Web服务进行构建、部署和整合,最终显著地提高了业务流程的灵活性。基于SOA的国土资源信息系统集成框架如图2所示。
基于SOA的国土资源信息系统集成框架中各层的具体描述如下:
(1)资源层
在本项目中,资源层是指国土局的数据资源,这些数据经过ETL(Extract-Transform-Load,抽取转换加载)过程按一定规则在数据准备区进行加工整合后,最终生成清洁整合的数据存储平台的数据(电子档案库、ODS(Operational Data Store,操作数据存储)库、数据仓库、地理信息库)[4]。根据数据来源可以将数据分为内部数据和外部数据,内部数据包括某市国土资源局已有的生产系统数据,如地政、矿政、地质环境、电子政务数据等;外部数据是指那些不是由国土资源局内部生成,而是通过第三方获取到的数据,比如规划、气象台、住建等。内部数据源是数据存储平台的主要来源,外部数据源则作为内部数据源的补充。从数据的装载方式看,还可以分为全量数据和增量数据。
(2)构件层
构件层是智能管理系统技术实现的单元,公共构件可以为上层提供服务支持并进行服务构造,构件具体包括数据上下文及SDO(Service Data Objects,数据服务对象)数据操作类构件、数据库操作类构件、基础构件类(定时器、日志、国际化信息资源处理等)、语义层工具、OLAP(Online Analytical Processing,联机分析处理)构件、图表构件、数据挖掘工具、ETL工具、GIS(Geographic Information System,地理信息系统)工具等。
(3)服务层
服务层是智能管理系统存取访问体系的核心,它接收用户请求访问后端数据(OLAP、数据仓库),执行多维分析、查询(随机查询、条件查询、模糊查询、关联查询和组合查询等)、生成各种形式的BI(Business Intelligence,商业智能)报表,并以多种方式展现(打印输出、文件输出、E-mail输出、Web发布)[5]。服务层主要由基础服务和生成服务组成,其中基础服务包括ETL服务、语义服务和权限管理服务等,生成服务是对基础服务进行重新编排和包装之后形成的。该层为用户对数据的访问提供各种方式的服务,从而实现访问方式的多样化和信息存取的透明化[6]。
(4)流程层
在流程层中,利用已经封装好的各种服务来构建业务系统中的业务流程,实现通过WFMC(Workflow Management Coalition,工作流管理联盟)、人工活动、代理代辦、自主活动等一系列规则最终基于服务编制实现业务流程。由于本项目上层应用众多,有些不需要流程层也可实现,如智能地理信息系统、智能综合分析系统。
(5)展现层
展现层是数据服务与用户之间的接口,该层提供用户对ODS、地理信息、电子档案、数据仓库数据或数据集市数据的浏览、请求、存取等服务,以及数据服务向用户的数据交付。同时,该层还包括实现对用户访问的认证、控制[7],可以用基于门户(工作台)的系统来构建,是服务对外的具体展现,主要包括的技术手段有:BI报表、仪表盘、电子地图(含专题图)、RichWeb、个性化定制管理、SSO、PORTAL等。
同时,展现层对于展现内容能够进行多种格式的封装(XML、HTML等),封装结果支持HTTP(HyperText Transfer Protocol,超文本传输协议)、REST(Representational State Transfer,表述性状态传递)协议、SOAP(Simple Object Access Protocol,简单对象访问协议)的访问方式,满足统一规划的移动办公接入格式需求,以支持桌面应用及大部分智能手机、平板电脑应用。
3.2 系统中的关键点
(1)异构数据的集成访问
智能管理系统涉及到的数据库有各类分析主题的ODS数据库、数据仓库、数据集市等,智能管理系统数据来源于生产系统数据源,同时在内部又通过多种数据抽取、转换、加载形成各类分析主题的数据库。因此可以分成数据接入服务和数据提交服务以满足内外部数据的导入(抽取)、转换(清洗)和加载(存储)需要,同时利用这两个服务将集中后的数据通过抽取、转换和分发,提供给所有数据应用需要的目标系统。服务之间通过XML格式进行数据通信。目前在数据表示和语义映射及XML语义集成方面已有大量的研究[8]。业务系统之间可以利用XML数据格式进行通信,解决了数据之间存在的差异问题。
(2)服务粒度的划分
服务之间的耦合性在很大程度上取决于服务粒度的大小。如果服务粒度划分得过细,服务间的紧耦合会降低且系统的灵活性得到了一定的增强,但会增加系统开发的复杂程度以及服务的部署难度;反之,如果粒度太大则实际效果会与前者相反。对于服务粒度大小如何进行划分,以及在服务的维护、操作、组合方面达到最佳效果的方法等问题,面向服务的迁移和重用技术提供了解决方案[9]。目前,粗粒度服务和细粒度服务是SOA环境集成中主要采用的两种实现。其中适合为外部直接调用的是粗粒度服务;适合通过服务再组合的方式形成粗粒度服务的是细粒度服务。
(3)通用服务构件模板
面向服务的分析与设计是目前创建SOA服务的主要方法,该方法主要有服务发现、服务规约和服务实现三个阶段。为了能更多的重用已有的信息系统数据,服务发现采用自下而上的方式,通过该方式分析得出数据表单和数据视图模板是通用服务构件模板的重要组成部分。其中负责对数据及时更新的是数据表单模板,而负责数据快速查找的是数据视图模板。通用服务构件模板主要描述的是不同服务构件之间的关系以及基础构件自身的功能,并从数据视图和表单的概念、内容和上下文3个方面进行模板封装,封装完成后统一放到服务包装器中的基础模板库里。此时,管理员就可以通过分析业务的存在模式来构建基础模板。业务用户以模板基础采用抽象化的操作来配置服务构件,最后将配置完成的服务放到生成服务库中。
4 应用实例
上文介绍的框架经过抽取形成通用模型,并在国土资源局信息系统建设中得到成功实施。市局有很多部门,每个部门有自己的业务系统,按照前文提出的框架对国土局下的业务系统进行动态集成整合,其体系结构如图3所示:
4.1 实现的各模块介绍
(1)国土资源信息集成整合平台
该平台对各个业务子系统的数据进行集成,将集中后的数据通过统一抽取、转换和分发,提供给有数据应用需要的目标系统。
(2)业务流程配置管理平台
该平台的主要功能是将各业务系统发布的服务按照用户的需求,使用ESB对这些服务进行动态、灵活的编排,进而实现服务的协同工作。同时,ESB本身还具有对流程进行管理和监控的功能。
(3)统一门户界面
该界面主要是为不同的用户提供统一的视图,同时通过用户输入的校验凭证对用户的权限进行判断,并根据单点登录服务器返回的用户信息给予相应的控制权限,系统信息的安全将进一步得到保证。同时,还可以为每个用户提供个性化的定制服务。
4.2 系统的实现方式
集成平台运行环境充分考虑国土局信息建设现状,遵循其当前核心业务应用的技术路线,以J2EE为技术规范,运用Datastage工具对数据进行加工、抽取、转换来形成数据集市,统一存储到Oracle数据库中,实现各业务系统数据的大集中并运用Cognos BI 8.4实现数据的智能化展示。对系统的所有应用(报表、查询、分析、KPI等)提供统一的数据开放接口,以Web Service方式将完整内容或部分内容提供给第三方应用,内容包含条件格式、提示、钻取等在内的业务逻辑、权限等,数据输出的形式支持XML及HTML,而获取数据的方式支持REST和SOAP。服务的注册、配置和管理统一交给成熟的服务总线工具Message Broker进行。
4.3 系统性能分析
(1)业务流程的个性化定制
系统为办公人员提供了一种可视化的流程展示,能够灵活、快速地按照需求对当前的业务流程进行调整和编排。比如对于建设用地的审批,办公人员能够便捷地查找到审批流程的参与者和当前审批流程的处理状态,同时可以针对审批流程中存在的问题进行优化和调整。
(2)系统的复用性
无论是已有的系统还是新开发的系统,对这些信息系統进行包装后就能够按照实际需求进行重新组合。例如对国土局各部门工作人员办件的电子监察等服务重新进行编排,并将这些编排好的服务复用到其他业务系统中。
(3)系统的可扩展性
国土资源信息集成平台可以随着国土业务需求的变化而做出相应的及时的调整。集成平台调整的高效性主要体现在:在提高执行效率和调整质量的同时,降低了调整时间和调整成本,极大地增强了信息系统对业务变化的适应性。
5 结束语
由于企业信息化建设设计的业务繁杂,涉及的技术广泛,企业中存在著大量的遗留业务系统[10]。因此,应用系统集成是企业信息化建设过程中面临的一个瓶颈。
ESB-SOA的企业信息集成平台采用面向服务的架构思想进行设计,将国土局的各个业务系统的共性特性进行提取并将其封装成细粒度的服务,然后通过ESB对这些服务进行组合以实现新的服务。该平台可对异构的国土业务系统进行融合,实现网络环境下异构业务系统之间的松耦合,极大地提高了现有信息系统资源的利用效率,节约了新系统的研发开支,同时使得整个国土信息系统的安全性得到加强。
参考文献:
[1] 杨珍,钟诚,何秋燕. 基于SOA的绿色物流信息系统的研究[J]. 网络安全技术与应用, 2012(11): 47-48.
[2] 王卫星,王晨光. 基于SOA的企业信息系统集成框架[J]. 计算机工程, 2010(18): 29-31.
[3] 姚钦. 徐汇区采购信息化综合管理平台的研究与实现[D]. 上海: 上海交通大学, 2010.
[4] 陈新明. 淘宝网数据平台数据仓库建设[D]. 大连: 大连理工大学, 2013.
[5] 高振宇. 保险行业中商业智能系统的设计与实现[D]. 天津: 天津大学, 2010.
[6] 陈新明. 淘宝网数据平台数据仓库建设[D]. 大连: 大连理工大学, 2013.
[7] 徐征. 基于数据集市的M银行个人贷款客户综合评价研究[D]. 长春: 吉林大学, 2012.
[8] Abdalla K F. A Model for Semantic Interoperability Using XML[A]. Proceedings of Systems and Information Engineering Design Symposium[C]. 2003: 107-111.
[9] Lewis G, Morris E, Smith D. Service-oriented Migration and Reuse Technique(SMART)[A]. Proceedings of the 13th IEEE International Workshop on Software Technology and Engineering Practice[C]. 2005: 222-229.
[10] 孙金波,刘淑芬. ESB技术实现基于SOA的企业信息化平台[J]. 电脑编程技巧与维护, 2009(14): 70-71. ★