魏 革,任 香,徐世明
(广东金赋科技股份有限公司,广东 佛山 528200)
基于SOA架构的自助办税服务系统设计与实现研究
魏 革,任 香,徐世明
(广东金赋科技股份有限公司,广东 佛山 528200)
税务是社会公众与政府部门联系最紧密、最复杂的领域之一。自助办税是指纳税人使用自助终端设备独立完成涉税事项的办理而无需工作人员介入。随着我国税务部门自助办税服务的快速发展,提高办税效率,缓解排队拥挤现象;优化纳税服务,实现“同城通办”和“24小时服务”;解放工作人员,促进人力资源的合理调配。自助办税服务系统的产生和发展,是现代技术、经济发展和社会进步的必然趋势。
SOA架构;自助办税服务;自助终端
自助办税服务的核心优势在于“两个减负”,即通过提高办税效率降低纳税人办税成本,同时将基层税务人员从重复性的工作中解脱出来,将更多的精力投入到征管流程重组、征管制度优化和征管措施创新之中。整个系统是以自助办税服务终端为载体,在为纳税人办理业务时,自助终端不断与税局后台业务系统交互。系统与后台业务系统的连接方式十分灵活,可以采用调用业务处理接口、访问数据库等方式实现无缝连接。除保证后台业务系统的网络安全性外,系统能够根据后台业务系统的繁忙程度主动控制并发业务数量以保障后台业务系统的性能。系统与自助终端的通信以网络服务为基础,支持行业标准的认证和安全机制,进一步保障系统的安全性。
面向服务架构(Service-Oriented Architecture,SOA)是一种架构模型和一套设计方法学,其目的是最大限度地重用应用程序中立型的服务以提高IT适应性和效率。它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。SOA的几个关键特性:一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义适配器进行通信,不涉及底层编程适配器和通信模型[1]。
SOA架构将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。而另一方面,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。对松耦合系统的需求来源于业务,应用程序需要根据业务的需要变得更加灵活,以适应不断变化的环境,比如经常改变的政策、业务级别、业务重点、合作伙伴关系、行业地位以及其他与业务有关的因素,这些因素甚至会影响业务的性质。我们称能够灵活地适应环境变化的业务为按需业务,在按需业务中,一旦需要,就可以对完成或执行任务的方式进行必要的更改。
服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。SOA的关键是“服务”的概念,万维网联盟(World Wide Web Consortium,W3C)将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化。”
本系统采用完全的SOA和符合开放服务网关协议(Open Service Gateway Initiative,OSGI)规范的模块化设计,适用于任何规模的自助服务网络,无论是几台还是数千台终端都能够良好地支持[2]。用户可以根据需要不断地扩展自助服务的规模。同时,系统各个不同的服务项目能够完全独立地部署和升级,不会干扰运行中的其他服务项目,这给增添新的服务项目提供了很大的便利,特别是在自主办税服务网点数量众多的情况下更为突出。
本系统提供了一系列的应用模块,基本涵盖了所有常见办税项目,与基础架构一起构成了最完整的自助办税服务系统解决方案,能同时满足用户在业务层面和技术层面的需求(见图1)。系统各层设计功能如下。
(1)资源层:管理服务基础业务,包括公共资源(终端、智能卡、各类票据、权限等)、参与方(纳税人、税务人员、税务局、角色等)及上述公共资源间关系的建立和维护。
(2)服务层:提供具体的服务项目,每一项服务以插件的方式开发和部署。应用服务层调用业务资源层的接口,并对展现层提供接口。统一服务总线(Enterprise Service Bus,ESB)是系统内部应用信息实时交换的中介渠道,提供安全及时规范服务调用和服务集成方式。
图1 基于SOA架构的自助办税服务系统
(3)展现层:包括B/S管理端、监控运维端、自助办税服务终端等。展现层实现用户界面和界面逻辑,驱动硬件设备工作。展现层调用应用服务层的接口实现业务逻辑和数据访问。展现层不保存业务数据,只保存操作日志。
本系统服务器端采用全生命周期的SOA架构,包括服务的开发、测试、部署、编排、安全、治理等各个方面,增加自助办税服务系统的灵活性和可扩展性(见图2)。具体技术实现的组件如下。
(1)Web Service Framework:Web Service开发框架,可用Java,C,C++,PHP,Perl,Python,Ruby,Spring,Jython等技术开发Web Service,利用Web Service Framework可以兼容多种技术开发的应用系统,提高自助办税服务系统的适应性,其中本项目开发使用Java技术。
(2)Web Service Application Server:Web Service Framework服务容器,可将用Java,C,C++,PHP,Perl,Python,Ruby,Spring,Jython等技术开发的服务在此服务器中运行。
(3)Data Service Server:通过JDBC技术将各种数据库中的表、视图等直接封装成服务,充分发挥税务机关的各数据资源,更好地为纳税人提供服务;
(4)Mashup Server:采用融合技术融合多种不同技术的服务资源并封装成标准的Web Service服务,充分发挥税局的应用资源及数据资源,使自助办税服务系统无缝接入税局业务系统。
(5)Business Process Server:编排多个服务以形成一个事务流程,可以自由地调整自助办税服务系统的业务流程。
(6)Gadget Server:门户服务器,采用PORTLET技术可以将自助办税服务系统及其他业务系统的信息在Gadget Server上集中展现。
(7)Govenance Registry:对服务进行注册管理。
(8)Identity Server:身份认证服务器,增强自助办税服务系统的安全性。
(9)Business Activity Monitor:对业务流程对进监控。
自助办税服务系统客户端采用插件式开发技术开放服务网关协议(Open Service Gateway Initiative,OSGI),可以灵活地配置各业务功能插件,实现终端不同的业务功能。采用插件开发技术还可适应不同的硬件,采用标准的接口,不同的硬件技术实现,硬件兼容性大大提高(见图3)。
自助办税服务系统客户端就是自助办税服务终端,其终端子系统包括4个方面。
(1)运行环境:自助办税服务系统的终端系统建立在强大的Microsoft.NET Framework架构之上。
(2)Kamfu OSGI Framework:基于Microsoft.NET Framework实现OSGI规范,是面向.NET的动态模型系统。Kamfu OSGI Framework的核心组件是OSGI框架,这个框架为应用程序(被叫作组件或插件)提供了一个标准环境。模块层定义类的装载策略。OSGI框架是一个强大的具有严格定义的类装载模型。它基于.NET之上,但是增加了模块化。在.NET中,正常情况下有一个包含所有类和资源的类路径。OSGI模块层为一个模块增加了私有类同时有可控模块间链接。模块曾同安全架构完全集成,可以选择部署到封闭系统、防御系统,或者由厂商决定的完全由用户管理的系统。生命周期层增加了能够被动态安装、开启、关闭、更新和卸载的插件。这些插件依赖于具有类装载功能的模块层,但是增加了在运行时管理这些模块的应用程序编程接口(Application Programming Interface,API)。生命周期层引入了正常情况下不属于一个应用程序的动态性。扩展依赖机制用于确保环境的操作正确。服务层提供了一个面向插件的考虑到动态性的协作模型。插件能通过传统的类共享进行协作,但是类共享同动态安装和卸载代码不兼容。服务注册提供了一个在插件间分享对象的完整模型,定义了大量的事件来处理服务的注册和删除。
(3)Shell:自助办税服务系统的终端系统的加载、环境初始化、硬件检测、异常管理等功能。Shell是自助办税服务系统的重要组成部分,控制着整个终端系统的运作,包括插件的安装、加载等生命周期控制、硬件控制,上下文管理、事件总线、终端身份验证等都是Shell的组件功能。
(4)Desktop:为自助办税服务系统业务插件提供工作区域。Desktop是一个容器,由Shell启动并初始化图形环境,为终端提供图形的工作环境,给予用户图形化的操作环境。包括业务插件的运行区域、导航组件、Banner组件、计时器等。
图2 自助办税服务系统服务器端技术实现
自助办税服务系统是将税收征管系统的业务处理和数据封装为标准化的网络服务,实现自助终端与后台业务处理的同步交互,同时提供行业标准的安全机制和灵活的扩容能力。系统采用计算机、网络通信、数据库等先进技术,利用信息化手段,有效地解决了税务部门与纳税人在办税过程中“两个减负”的管理难点问题,从而实现了自助纳税申报、缴纳税费、开具完税凭证和纳税证明、开具电子发票、发票真伪查询、涉税信息查询等常规纳税服务。
[1]曹均涛,洪枚,王韦,等.基于SOA的轻量级工作流中间件的研究与设计[J].计算机与现代化,2008(6):1-3.
[2]崔广林,王化雨,白运会.基于UML的面向服务体系结构建模方法[J].信息技术与信息化,2013(1):206.
Study on design and implementation of self-service tax service system based on SOA architecture
Wei Ge, Ren Xiang, Xu Shiming
(Guangdong Kamfu Technology Co., Ltd., Foshan 528200, China)
Tax is one of the most complex and highly correlated spheres that connect between the government sectors and the public.Self-service tax payment means that the taxpayer goes through the tax affairs independently by using self-service terminals without the intervention of the staff. With the rapid development of self-service tax payment by the domestic tax department. the tax payment efficiency has been improved with an eased crowding situation of lining. It also optimizes the tax payment service, and realizes the “crosscity tax management” and “24 hours service”. Besides, it also saves labor to facilitate the rational allocation of human resources. The emergence and development of self-service tax payment system are the inexorable trend of modern technology, economic development and social progress.
service-oriented architecture; self-service tax payment; self-service terminals
魏革(1966— ),男,吉林舒兰人,高级工程师,硕士;研究方向:大数据与信息安全。