基于Web Service 的政府信息公开系统接口设计与实现
2015-07-13陈海轮
陈海轮
摘要:提出了基于Web Service的政府信息公开系统接口建设必要性,介绍了Web Service接口的体系架构和工作原理,详细阐述了政府信息公开系统Web Service接口的设计和实现过程。文章最后介绍了政府信息公开系统Web Service接口在推进政府部门的政务信息资源共享与服务中的应用及前景。
关键词: Web Service;政府信息公开;接口;政府网站;OA系统
中图分类号 TP311 文献标识码:A 文章编号:1009-3044(2015)13-0270-02
Abstract: The paper presents the necessity of implementing the government information public system interface based on web service. The web service interface system architecture and operation principle are introduced. The design and implementation of web service interface applied in the government information public system is also expounded in the paper. In addition, web service interface's application and prospects are suggested in sharing government information among government departments.
Key words: Web Service; The government information publicity; Interface; The government website; OA system
自2008年《政府信息公开条例》实施以来,各级政府利用信息技术构建政府信息公开系统,统一推进政府信息公开工作,为政府、公众提供准确、高效和便捷的政府信息公开。几年来政府信息公开的不断推进,安徽省已形成省、市、县三级信息公开体系,利用政府信息公开系统管理、发布政府信息,信息公开发布量逐年呈倍增长,截止2013年底整个安徽省信息公开系统的信息公开已突破200万条。目前,政府部门的OA系统、政务应用系统、政府门户网站与政府信息公开系统间信息孤立,已形成信息孤岛[1],导致信息重复上载、发布,效率低,也不利于信息公开规范和质量控制。如何消除政府信息公开信息系统与政府部门的OA系统、政务应用系统、政府门户网站信息孤岛问题,成为政府信息公开工作顺利推进中的一个难题。
为了实现政府信息公开系统与某个系统间的数据共享,传统的方式是直接通过改造两系统,编写代码方式实施两系统间的数据调用。这种方式在实施中必须考虑系统运行平台、系统开发语言等因素,复杂度高。随着信息化的不断发展,政府上线的业务应用系统、网站越来越多,这种方式无法满足政府信息公开系统与多个业务应用系统、网站间的数据共享,而Web Service接口技术则很好的解决了上述难题。
1 Web Service技术
Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序[2]。
Web service的体系结构是基于Web服务提供者、Web服务请求者、Web服务中介者三个角色和发布、发现、绑定三个动作构建的。Web服务提供者就是Web服务的拥有者,它耐心等待为其他服务和用户提供自己已有的功能;Web服务请求者就是Web服务功能的使用者,它利用SOAP消息向Web服务提供者发送请求以获得服务;Web服务中介者的作用是把一个Web服务请求者与合适的Web服务提供者联系在一起,它充当管理者的角色,一般是UDDI。图1为 Web service的体系结构图。
利用Web Service技术使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成[3]。
2 政府信息公开系统Web Service接口的设计
根据政府信息公开系统接口需求分析,政府信息公开系统的Web Service接口提供包括获取某部门政府信息公开目录列表、政府公开信息添加、修改和删除、获取某单位某目录的信息列表、按照分页信息获取某单位某目录的信息列表和获取某条信息内容等的接口功能。详细接口定义如下:
接口1:获取某部门政府信息公开目录列表
定义:public String getMenuInfoByUnit(String strInputXML)
入参:为字符串
出参:返回目录列表字符串
接口2:政府公开信息添加、修改和删除
定义:public String sendNewsToInfoPub(String strInputXML)
入参:为字符串
出参:返回操作结果字符串
接口3:获取某单位某目录的信息列表
定义:public String getInfoListByMenu(String strInputXML)
入参:为字符串
出参:返回目录的信息列表字符串
接口4:按照分页信息获取某单位某目录的信息列表
定义:public String getInfoListByMenuPage(String strInputXML)
入参:为字符串
出参:返回按照分页信息获取某单位某目录的信息列表字符串
接口5:获取某条信息内容
定义: public String getDetailByNewsId(String strInputXML)
入参:为字符串
出参:返回某条信息内容字符串
政府信息公开系统通过发布Web Service接口为各类业务系统、网站提供服务,图2为政府信息公开系统的Web Service接口服务示意图。
图2 接口服务示意图
3 政府信息公开系统Web Service接口的实现
根据政府信息公开系统Web Service接口的需求分析和设计,基于原系统java体系架构下,采用axis2技术框架进行接口开发、发布[4]。接口开发中采用Myeclipse 8.5作为开发工具,Tomcat作为Web服务, 服务端的数据源是SQL Server 2005数据库。采用axis2开发政府信息公开系统Web service接口分四步实现[5]。
第一步:将axis2整合至现有java工程中。
下载axis2的压缩包,将axis2\WEB-INF下的conf、services文件夹放到WEB-INF下,拷贝lib中的jar包到lib下,完成相关jar包的整合;在web.xml中配置axis2的servlet,将如下所示内容添加至web.xml:
第二步:提供服务实现类 (implementation class)
编写InfoPubService类,实现信息公开接口功能。主要实现获取某部门政府信息公开目录列表、政府公开信息添加、修改和删除、获取某单位某目录的信息列表、按照分页信息获取某单位某目录的信息列表和获取某条信息内容接口功能。
第三步:编写服务描述文件services.xml
在\WEB-INF\services中配置web服务,新建anhui_infopublic\META-INF\services.xml,内容如下:
service name即服务名为XxgkUI,该服务对应的在信息公开工程里面的类为cn.mpsoft.webservice.InfoPubService,使用的接口方法名称为该类的getMenuInfoByUnit等方法。
第四步:部署服务
编译部署工程,向客户端提供http://IP:PORT/anhui_infopublic/services/XxgkUI?wsdl访问地址。
经过上述接口开发、部署实施,已实现了政府信息公开系统的Web service接口功能,为客户端提供服务接口。
4 政府信息公开系统Web Service接口的应用
目前,政府信息公开系统的Web Service接口的已部署发布,省交通厅、省环保厅等部门已经通过应用Web Service接口实现了政府信息公开系统与部门办公系统、部门门户网站的数据互联互通,解决了政府信息公开信息系统、部门办公系统和政府门户网站信息孤岛问题,提高了资源利用效率和工作效率。省交通厅、省环保厅的示范应用,积极引导省直各部门通过Web Service接口推进信息公开数据的共享。
5 结束语
该接口的设计和实现,立足于政务信息资源共享的需要,它能大幅度减少数据重复录入的工作量,成倍地提高工作效率和数据使用效率,有效提高政务信息资源开发和应用水平,有很高实用价值。
参考文献:
[1] 杨明波,王谦,褚江川.电子政务与信息孤岛[J].电子政务,2005(11).
[2] 王绘,尹治本.WebService的深入剖析与研究[J].电脑知识与技术,2005(33).
[3] 顾宁.WEB SERVICES原理与研发实践[M]. 机械工业出版社,2009.
[4] 唐青.如何用Axis2开发Web Service服务[J].福建电脑,2007(4).
[5] Deepal Jayasinghe.Axis2 Quick Start Guide[M].Packt Publishing,2008.