1基于SOA的企业技术架构
省域运管业务系统面向省、市、区县三级运管机构,为相关人员提供基本业务的操作和管理决策。省运管局根据国家和省相关道路交通运输管理条例等法律法规,负责执行省域运输管理工作,提升行业服务水平;各地市运管处行使本地市道路交通运输管理职能,是行业管理的具体组织者和管理者;各区县及乡镇运管部门负责本地区道路运管的具体实施。根据三级运管部门的职能,省域运管业务系统除需满足各级机构、各类人员的基本业务服务操作功能外,还需为各级管理机构提供辅助决策管理功能,同时也需为社会大众提供便利信息访问服务功能。通过运管辅助决策系统,为各级管理部门提供行业信息数据及各类统计信息,帮助其实现决策管理[4]。通过省域运管业务外部接口管理,实现省域运管业务系统与交通部系统、省域“权利阳光”管理模块以及服务企业自行开发的各类应用系统等的数据交换和信息共享。上述需求背景需设计者通盘考虑系统技术架构,以提高系统的健壮性、可靠性、可维护性和安全性。这需要SOA的技术架构具有较好的可扩展性。因此,需构建提供不同能力的服务,如流程服务、业务规则服务、人工干预服务等。根据省运管局的顶层设计,对业务系统的应用展现层、业务逻辑层、数据管理层进行无缝集成设计,打破职能部门的条块分割形成的信息“竖井”,消除系统功能新增造成的信息囚笼,以形成信息融合,发挥信息的协同效应。以组建和中间件等技术提高系统的健壮性,以降低系统开发成本。参照IBM的SOA参考模型[5],运输管理业务系统信息化实现技术架构采用如图1所示方式进行构建[67]。技术架构的核心是应用支撑层,其关键技术是WebService等。使用的技术规范说明如下:(1)连接服务JCA(Java连接架构器):JCA定义一套标准的接口,用于让连接器把兼容的应用程序服务器无缝地集成[8]。通过这一技术,实现省域新老系统、省域系统与各类外部系统的无缝集成。JDBC(Java数据库连接):JDBC作为开放的多类关系数据库访问接口技术,可执行SQL语言开发的各类JavaAPI,开发人员可构建更高级的工具和接口。通过这一标注的数据接口技术,实现省域运管业务系统中不同服务对象所使用的各类关系数据库的数据集成。(2)数据服务XQuery(扩展标记语言查询):作为W3C制定的一套标准,它弥补了传统关系数据库的不足,通过XML文档中信息的抽取,实现对异构数据的同质化处理。这一技术是新一代省域运管业务系统对异源数据处理的核心和关键技术,有利于省域运管系统辅助决策支持的实现。(3)业务服务EJB(企业Java豆):EJB是J2EE的核心技术之一,支持组件的可重用性和可移植性。EJB由封装了业务逻辑的多个方法组成[9]。采用EJB技术,对省域运管业务各类业务流程实现组件化,既提高了系统的可靠性和可维护性,又提高了系统的开发效率,降低了系统开发成本。SCA(服务组件架构):通过SCA提供的编程模型,实现SOA架构下的各类应用系统。基于SCA架构,构建省域运管业务中各类EJB组件的服务模型,从而高效地实现省域运管业务中各类应用系统。(4)流程服务BPMN(BusinessProcessModelingNotation):一个业务流程建模和Web服务标准[10]。BPMN提供简洁明了的标注体系,也内置了各类开发模型,这有利于下一代XML语言高效执行系统业务流程。省域运管业务系统通过内置这一技术,提高新一代省域运管业务系统的可扩展性、可维护性。WSCDL(Web服务组编定义语言):通过WSCDL,实现不同交易代理之间的形式化联系。这一技术有利于省域运管业务系统不同组件之间的形式化联系,实现业务组件有效集成。(5)展现服务JSR168(JavaSpecificationRequest168):作为Java规范要求,主要应用于Portal软件的开发。这一技术是实现省域运管业务系统门户程序的关键。WSRP(远程门户Web服务):WSRP定义一系列规范。这些规范描述了如何基于SOAP中Web服务生成门户系统标记片块以及如何构建公共接口。通过公共接口,设计者无需进行编程即可构建在相关页面中远程运行Portlet的门户。省域运管业务系统可充分利用这一技术实现各类组件的引用。AJAX(AsynchronousJavaScriptandXML):是一种创建交互式网页应用的网页开发技术[11]。它使用SOAP或其他一些基于XML的WebService接口。这是各级运管部门信息门户网站数据抓取的核心技术。(6)消息交换与传输RMI(远程对象方法传输):主要实现企业Java豆等对象之间的相互通信。对于已开发实现的省域运管业务EJB组件,利用RMI实现省域运管业务系统内组件池中不同组件之间的相互通信。JMS(Java消息服务机制):定义的一组基于Java环境的技术规范,实现Java平台上面向消息中间件相互通信的接口。基于JMS,开发设计出省域运管业务系统中警务通等各类移动通信中间件以及各类系统中信息的推送技术。SOAP(简单对象访问协议):一组基于XML技术的分布式环境中对象进行信息交换的简单访问协议。这一规范能有效解决省域运管业务系统这一分布式环境,实现不同物理系统之间信息的有效交互与融合,提高了整个系统的可扩展性,增强了系统的均衡负载能力。SDO(数据服务对象):它规范了系统中异质数据源间采用统一的数据进行开发设计的模型。通过这一技术,实现省域运管业务系统与交通部系统之间、省域运管业务系统与企业业户之间、省域运管业务系统与社会大众之间等的信息交互,提高了系统的集成度。(7)安全管理WSDM(Web服务分布式管理):它提供了如何描述MUWS资源的接口、如何访问MUWS资源的接口等的相关定义,同时实现了Web服务管理的功能。WSTrust:它是安全令牌交换协议的扩展,采用了WSSecurity消息传送机制,实现凭证在不同信任域环境下的传播和签发。系统通过采用上述技术作为系统安全管理的核心,实现省域运管业务系统各类数据包和信息的传输安全,提高整个系统的运行的安全性和可靠性。(8)服务描述、注册与发现WSDL(Web服务描述语言):以某一结构化的方式描述Web服务,通常采用XML结构这一方式进行。由于接口的标准化,因此Web服务可以实现即时装配。通过WSDL,将省域运管业务系统中各类Web服务描述为包含相关端口的访问点的集合,既有利于消息的交互,又有利于省域运管业务系统分布式操作的实现。UDDI(统一描述、发现和集成):采用XML实现跨平台的一种描述协议。通过这一规范,实现各类Web服务的描述并进行注册,构建服务池以利于各类服务的查找和使用。省域运管业务系统中定义的所有服务均通过这一机制实现统一的管理和调用。
2系统实现的关键技术
SOA将整个系统中需要共享的各类资源进行划分,使用相关技术将各类资源进行封装,通过ESB(EnterpriseServiceBus,企业服务总线)这一基本连接中枢,以服务的形式接入业务系统。这些服务在物理上实现了分布自治,在逻辑上构建成为一个“服务连接池”,实现一体化管理,并以透明的方式供服务使用者进行资源的优化选取和高效访问,支持用户的应用配置。2.1核心配置文件(1)负载均衡负载均衡用于实现服务端点之间的负载均衡。其核心代码如下:(2)消息交互通过WSX技术,实现各类服务协同检测和即时响应,保证各类服务消息交互的可靠性。其核心代码如下:2.2业务接口代码通过标准化业务组件,提供了系统的可靠性和可维护性,降低了系统开发成本。相关业务接口代码如下:
3系统技术实现
用户以超级管理员身份从相关门户网站登录,登录成功后,显示系统的主界面,如图2所示。界面顶部是系统的6个功能菜单,点击后,界面左边显示相应子功能菜单;界面底部是系统操作菜单;无论什么身份的用户,当进入操作界面时,界面中部的上面将显示用户需要处理、或已经处理的业务,下面是一些重要的通知,点击通知即可查看通知的具体内容。
4结语
信息化建设在顶层设计缺失时极易形成信息孤岛,造成信息融合性差,同时这也容易导致后期系统的开发维护成本迅速膨胀。为了有效解决这一问题,本文基于SOA的技术架构,从技术角度提出了省域交通运输管理系统的集成方案。这一方案以服务为导向,以WebService为核心技术,通过消息机制、组件技术、中间件技术等实现各类应用在技术上的无缝集成。这样既提高了系统开发效率,又极大地降低了后期的维护成本,也有利于系统新功能的扩展,增强了系统的可靠近和健壮性。
作者:王晓娟 罗正军 张力菠 单位:正德职业技术学院 南京航空航天大学