张榛楠,钟配思
(1.山东科技大学 机械电子工程学院,青岛 266510;2.河南漯河经济开发区 信息中心,漯河 462000)
随着电子政务的不断发展,政府信息化为服务型政府建设提供了全新的思路和更加有效的手段,可以毫不夸张地说,没有政府信息化,就谈不上现代意义上的服务型政府建设。以政府信息化推进服务型政府建设,就是要按照“面向公众(企业)、面向服务、方便公众(企业)和方便服务”的原则,充分利用现代信息技术的优势,整合政府已有的相关信息资源,建立标准统一、功能齐全、信息共享、业务协同和安全可靠的行政服务信息系统,使每个公众和企业都能够通过“一窗式”的服务,申请和接受政府的公共服务[1]。目前,经过多年的政府信息化建设,政府各部门已经建设了大量独立的业务信息系统,并积累了丰富的信息资源。然而,由于建设时间、开发技术等因素的不同,造成各独立的业务信息系统难以像一个有机的整体一样进行业务的处理和信息的共享。为了应对“一个窗口受理、多个政府部门协同办理、一个窗口反馈办理结果”的行政服务信息化建设模式的需求,迫切需要整合政府各部门独立的业务信息系统。SOA(面向服务体系架构)是一个开放的、敏捷的、可扩展的、可联邦的和可组合的架构,使用Web服务实现的自治、高服务质量、厂商多样性、可互操作、可发现和潜在可复用服务[2],将信息系统的业务功能分解为可重用的服务,建立信息系统业务逻辑抽象和开发技术抽象,以灵活的服务组合构建具有更高级别业务功能松散耦合的复合信息系统,实现了独立信息系统间的信息共享和业务协同。因此,在行政服务信息系统建设中引入SOA的相关理念和关键技术,是实现各独立政府部门业务信息系统间信息共享和业务协同问题的一种有效途径。
2002年12 月,GartnerGroup根据Web服务技术的不断完善和发展提出了SOA这一术语并引起了业界的广泛关注。GartnerGroup从组织方式层面对SOA进行了定义:面向服务的体系架构是一种客户机/服务器软件设计方法,其中应用由软件服务和软件服务使用者组成(也称服务提供者和服务消费者)[3]。SOA是以“服务”为基本元素建立的IT架构。服务是指一种可以被发现和自我维护且可以与其它应用服务交互的软件实体。SOA具有松散耦合、粗粒度、互操作性和标准化接口等特点。SOA不同于其它IT架构体现在以下四点[4]:1)提供了一个方法论;2)提供了一个松散的双向通讯的环境;3)提供了一个供外部和内部调用的标准接口;4)具有定义良好和方便实用的功能。SOA的目的是让业务能够快速的响应变化,即“业务敏捷性”,也是重要的EAI(企业应用集成)方法。
基于SOA的行政服务信息系统总体架构共分为三层:业务服务层、服务协同层和信息共享服务层,如图1所示。
图1 系统总体架构图
图2 服务协同层系统构成图
在系统总体架构的最上层是业务服务层。行政服务中心和中心进驻政府部门各业务信息系统,在业务服务层中分布部署,并拥有各自相关的业务数据库。为实现这些异构业务信息系统之间的互联互通和业务协同,对新建业务信息系统采用WebService技术将业务逻辑封成企业服务总线支持的业务服务,而已有业务信息系统采用适配器技术将业务逻辑封成企业服务总线支持的业务服务。通过标准化的服务封装,这些异构业务信息系统可以统一的业务服务形式被企业服务总线调用,并被其他需要的服务消费者使用。
服务协同层作为业务服务层业务服务和信息共享服务层工具服务集成的纽带,实现服务的互联互通和协同工作,主要包括企业服务总线、流程引擎和服务注册库等组件。信息共享服务层通过信息服务总线屏蔽各信息源的信息访问、信息存储格式等差异性,为异构数据源提供统一的访问接口并对外封装为工具服务。
服务协同层是行政服务信息系统的控制层,负责服务的接入、服务的调度、服务的通讯和服务的编排等管理工作,其系统构成如图2所示。
企业服务总线是行政服务信息系统的关键核心组件,作为服务消费者和服务提供者之间的通讯调用代理,其主要功能是:解析服务描述,按服务描述连接不同的服务实现,基于消息、业务规则动态路由服务等。在行政服务信息系统中,业务服务间的交互以及业务服务与工具服务间的交互都通过企业服务总线进行[3],如图2所示。
流程引擎是行政服务信息系统实现各业务信息系统业务协同的基础支撑,负责解析BPEL定义的业务流程,协调处理活动间的路由,处理客户端的请求,如启动流程、提交工作项、查询工作项等。部署的流程通过企业服务总线调用具体的服务,并以服务的形式发布。流程状态监控管理接口实现对流程基本状态信息、历史信息的查看与维护。
服务注册库由一个服务注册中心和一组提供注册/访问的接口组成。服务注册库提供服务注册、服务运行信息存储、服务查找等管理功能。在服务注册中心,服务按照标准的分类法进行分类。服务提供者将有关其自身的描述在服务注册中心进行注册,服务使用者通过服务注册中心来发现各个服务提供者的存在,然后与这些服务提供者连接或绑定。
服务协同层通过企业服务总线实现服务间的交互,可以降低各业务信息系统及开发技术的耦合度,消除各业务信息系统点对点集成瓶颈。基于BPEL的流程引擎可以灵活重构系统,快速适应行政服务业务变化的需要。以某商业企业的企业注册登记图3为例,服务协同层各组件的关系和工作原理如图4所示。
图3中商业企业的企业注册登记行政服务业务流程涉及工商局、文化局、卫生局和药监局四个部门的联动:工商局受理申请人的申请、对企业名称预先核准,文化局、卫生局和药监局分别许可企业的音像制品经营、卫生证和药品经营,最后工商局注册企业登记。除了受理申请人的申请、企业名称预先核准和注册企业登记外,音像制品经营许可、卫生证许可和药品经营许可均为企业注册登记的子流程。由于三个子流程中,药监局药品经营许可是一个独立部署的异地流程,企业注册登记业务流程涉及两个独立业务信息系统(行政服务中心业务信息系统和药监局业务信息系统)的信息共享和业务协同问题。这种业务原型涉及多个政府部门,同时一个或多个政府部门私有一个独立业务信息系统的行政服务业务流程,每个独立部署的异地流程可以WebService技术或适配器技术将其业务逻辑对外封装为业务服务,并利用企业服务总线和流程引擎集成多个业务服务和工具服务,实现多个独立业务信息系统的业务协同如图4所示。
图3 企业注册登记业务流程图
图4 服务协同层各组件关系和工作原理图
图4中首先由工商局通过中心业务信息系统受理申请人申请,开始企业注册登记业务流程,企业名称预先核准后,通过企业服务总线启动流程引擎中的药品经营许可子流程;药品经营许可子流程通过企业服务总线调用药监局业务信息系统;药品经营许可后药监局业务信息系统回调药品经营许可子流程,并通过信息服务总线将业务状态信息记入公共库(后文详述);最后药品经营许可子流程回调中心业务信息系统,待音像制品经营许可和卫生证许可子流程结束后,由工商局利用中心业务信息系统对申请人进行企业注册登记。
作为行政服务信息系统的信息共享服务层,信息服务总线负责分布、异构信息源的接入、联邦、转换和基于标准的信息访问。
信息接入提供对各类信息源无缝、透明和动态接入,使得信息总线能够实时地访问分布在各类业务信息系统中的信息,如结构化信息DB2、Oracle、Informix、SQL Server、Sybase等,非结构化信息XML文件、文本文件、消息队列和Web Service等。
联邦主要实现跨越多个信息源不同数据库表之间或文本文件之间的信息关联查询。这样通过信息服务总线就可以屏蔽信息存储的异构性和操作的异构性,整合不同信息源中的信息,使其如同在单个逻辑信息源中,并能够统一地访问以任何格式(结构化的和非结构化的)存储的任何信息。
图5 信息共享服务层工作原理图
转换功能涉及两个层面:一个是异构信息和信息字典的转换,另一个是功能的补偿。信息服务总线提供统一的信息标准,动态将信息请求转换为后端接入信息源的信息格式,自动实现不同信息源间信息类型的转换。功能补偿是用信息服务总线内置的功能补偿数据源缺少的功能或将接入信息源中一些特有的功能注册到信息服务总线,由信息服务总线透明使用。
基于标准的信息访问基于接入数据源的配置信息,提供标准的信息存取访问接口:SQL、XML、Web Service。仍以某商业企业的企业注册登记为例,信息共享服务层工作原理如图5所示。
图5中药品经营许可后药监局业务信息系统回调药品经营许可子流程,通过企业服务总线启动信息服务总线开始业务状态信息的交换,交换完成后事件通知药品经营许可子流程开始流程的下一任务。
行政服务信息系统采用符合SOA标准的企业服务总线和流程引擎,对异构业务信息系统进行服务化封装,解决了异构业务信息系统的接入、重用等问题;以信息服务总线作为SOA技术的补充,解决了批量、大数据传输效率和可靠性的问题,完全能够满足各独立政府部门业务信息系统间信息共享和业务协同的需要。但由于所有的服务调用都经由企业服务总线,使企业服务总线成为系统的瓶颈点,并增加了系统层次,降低了系统性能。采用更加松散的集成方式集成业务服务和工具服务,仅在需要中介与接口转化的地方使用企业服务总线,是下一步项目工作中需要认真研究和改进的关键点。
[1] 周宏仁.信息化论[M].北京:人民出版社,2008.
[2] 王满红,陈荣华.SOA概念,技术与设计[M].北京:机械工业出版社,2007.
[3] 吕希艳,张润彤.基于SOA的企业信息资源整合[J].中国科技论坛,2006.
[4] 徐向荣,顾新建等.基于Web服务的企业应用集成研究[J].制造技术与机床,2006.
[5] 长风联盟SOA应用指南[S].长风开放标准平台软件联盟,2008.