林珠黎丽阳杨伯蔼
(1.广东省科技基础条件平台中心广东省高性能计算重点实验室2.华南师范大学计算机学院)
基于SOA与JFinal架构的科技资源服务总线建设*
林珠1黎丽阳1杨伯蔼2
(1.广东省科技基础条件平台中心广东省高性能计算重点实验室2.华南师范大学计算机学院)
为更好地提高科技资源的共享效率和服务质量,建设科技资源服务总线,提供更多类型的资源服务。基于SOA与JFinal架构建设科技资源服务总线,提出其技术架构,主要在数据处理、服务实现、资源展现方面进行建设,并应用于科技资源服务监管平台,进一步提高了科技资源的共享与服务水平。
科技资源;服务总线;JFinal;SOA
建设科技基础条件资源服务平台,能够有效提升科技服务的质量水平,使科技服务由抽象变为具体、由集中变为广泛。科技平台是科技服务的载体和实现形式,通过科技平台汇聚科技基础条件资源,并将汇聚的资源整合利用,为社会各界提供资源服务[1];通过科技平台展现各类科技服务,包括在线提供服务或离线实现某些科研项目,使科技服务更加具体化、形象化。
“一站式”科技基础条件平台需要将各类资源进行统一整合,面向社会提供多样化的资源服务,具有跨机构、跨平台和跨组织的业务特点。为更好地面向广大科技工作者提供开放式的资源服务,扩展兼容更多的信息系统,参考企业服务总线应用模式,提出面向科技资源的服务总线设计,可方便地整合分布式资源,并统一对社会开放共享。面向服务的架构(service oriented architecture,SOA)是为了适应需求多变而提出的一个系统
架构理念[2],是一种构造分布式系统方法,它将IT系统功能以服务的形式提供给用户或其他服务,以适应不断变化的需求。本文基于SOA架构设计开发,基于服务及组件的开发思维可提高系统的移植性和适应性,可满足科技资源中众多资源类别以及资源异构性的特点。本文平台采用Web 2.0技术,借助其特性提升用户体验,因此,面向科技资源服务的资源服务总线(resource service bus,SSB)技术架构主要基于SOA和Web 2.0,其架构如图1所示。
图1 面向科技资源服务的资源服务总线(SSB)的技术架构
在SOA体系架构下,资源服务总线基于组件的开发模式,整合现阶段广东省科技资源,解决其异构性和多样性,构造更高层和更粗粒度的资源应用模块软件架构。
在数据整合方面,SSB采用自建数据库与外在数据有机结合的方式。对于可以整合归类的科技资源,直接存储于平台进行统一管理;对于各类企业自主管理的资源,采用数据交换平台的形式接入资源服务总线。资源服务总线采用消息服务封装、EJB服务封装等多种封装形式,以保证总线的适应性和扩展性。为保证进入服务总线的数据安全,采用安全审计、Cache机制和通信机制等多种企业总线机制。SSB整合科技资源并进行管理后,提供各种服务的应用,这些应用均采用Web Service服务和Rest服务。目前该服务总线已开展统一认证、综合搜索、UI控件、服务统计、服务评价、服务监管等应用。
2.1 资源服务总线优势
传统的资源服务总线主要是运用于本地进行信息共享传输,为集合本地资源,以请求、服务的形式实现跨应用、跨区域的信息共享,其核心技术采用企业服务总线的建设思路,解决企业本身各系统间的信息共享问题。
科技资源服务总线将企业服务总线的思想运用于科技资源数据整合和应用中,除了应用行业不同之外,其核心技术也有创新之处。1) 在数据的采集和整合过程中,传统服务总线一般运用于本地的资源整合;而科技资源服务总线采用本地与异地相结合的方式进行存储和管理,异地异质数据库通过数据交换平台最终纳入资源服务体系架构。2) 虽然同样将服务作为接口,但传统的服务总线通常在第三方应用与服务总线前,直接采用Web Service接口进行数据访问和应用调用;而科技资源服务总线在第三方应用和服务总线之间添加管理工具,包括适配器和统一认证技术,每次访问调用均需要授权和认证,保障数据安全。同时在SSB中通过认证用户,在访问其他第三方应用时,可以实现单点登录,使服务更加方便快捷。
2.2 SOA与JFinal实现
平台采用J2EE框架实现,技术选型主要考虑轻量级、易扩展、支持Restful、开发极速灵活和良性运行的特点,并遵循MVC架构[3],技术框架如图2所示。
图2 平台技术框架
JFinal是基于Java语言的极速Web开发框架,现阶段已得到广泛应用。在SSB实现过程中,结合JFinal框架进行开发,采用ORM+JFinal+SHIRO+ Freemaker+HTML5的模式进行。框架由Handler、Interceptor、Controller、Render、Plugin 5大部分组成。JFinal架构十分简单,顶层是一个责任链模式变种。ActionHandler内部结构也很简单,是Command模式变种[4]。
基于SOA与JFinal架构的科技资源服务总线可应用于科技资源服务平台中,其功能主要有资源服务统计、服务评价、资源监管等。具体的功能模块如图3所示。
图3 服务监管中心功能模块
3.1 资源服务统计
资源服务统计技术上主要采用第三方软件与服务总线相结合的方式实现。在SSB实现科技资源数据整合的基础上,通过统一认证的用户,可直接通过接口调用数据统计插件。主要集成了EChart开源图形统计软件及自主研发的统计分析算法,包括多维度关系分析、高性能分析引擎等,将数据根据需求展示给用户。SSB将自建的服务评价功能通过基于SOA的接口适配技术实现服务总线内订单记录的双方评价及评价处理。数据与用户的交互通过适配器进行接收和传送,适配器将数据转换成XML文件,并打包成SOAP消息,通过服务总线消息队列统一管理和发送。
1) 资源数量统计主要按照资源类型,归类总结各类资源的服务数量,以达到数据分析的目的。同时提供按机构进行统计的功能,以发现全省范围内资源提供量较高的单位,有利于发现资源共享的典型机构和补助政策的实施。
2) 资源质量统计分为按资源统计和按机构统计。按资源统计主要根据数据的类型进行归类分析;按机构统计主要为了发现资源优质服务单位。质量统计的依据是交易过程中的使用方评价和纠纷协调处理情况。
3) 统计报表用于展示资源的各种情况,为平台管理人员提供直观的数据,并作为主管单位进行科技资源决策时的数据依据。统计报表可以分为按区域统计、按时间段统计、按类别统计以及自定义统计。按区域统计可发现全省范围的科技资源地域分布情况,有利于科技资源的均衡分布;按时间段统计可发现科技资源的发展趋势,以及各项共享政策实施后的成效;按类别统计可发现全省的科技资源优势与劣势,有利于平衡资源冗余与资源需求之间的关系。
3.2 服务评价
服务评价是指交易结束后,资源提供方和资源使用方进行互评,主要功能包括使用方评价、提供方评价和评价处理。
1) 使用方评价主要针对交易后,对资源的质量和服务响应进行综合评价,该评价将影响资源信誉,并作为资源服务质量统计的依据,影响积分发放。
2) 提供方评价主要在交易完成后对使用方进行评价,主要评价是否具有不良行为,如仪器是否损坏等。该评价将影响对使用方的积分发放。
3) 评价处理主要是对资源提供方和使用方的评价进行监督,防止恶意评价,并依据评价的结果进行积分发放。
3.3 资源监管
资源监管是指对资源进行审核及监督,保证资源服务的正常运营及服务质量的提高。其主要功能包括资源信誉、资源审核、资源数据准确性监管、资源服务响应性监管。
1) 资源信誉体系通过对机构信誉、交易信誉和质量信誉进行加权整合,形成信用体系中的资源信誉部分。用户可对发布的资源进行收藏,也可对机构进行关注和收藏,机构或资源被关注或收藏,增加机构信誉;交易结束的资源订单,双方互评,评价分数影响资源使用方和资源提供方的交易信誉;发布的资源如果被用户举报,并被服务监管中心确认,或服务监管中心发觉异常,将影响资源的质量信誉。
2) 资源的审核由平台管理方执行,针对资源提供方发布的资源进行审核,符合资源服务标准的资源才能在平台上正式运营。
3) 资源数据准确性监管主要监管资源是否正确,如资源的实际内容与发布标题是否相符,资源提供的数量是否属实等。该监管手段主要依据使用方的资源举报和使用方评价。
4) 资源服务响应性监管主要是监管资源提供方是否及时响应用户的需求,及时提供资源进行服务,如用户进行咨询时是否及时回答、是否及时发货、在仪器闲时是否及时提供仪器租赁等。该监管手段主要依据使用方的资源举报和使用方评价。
本文建设的面向科技资源的服务总线,提出了资源服务总线的技术架构和基本特征,采用SOA与
JFinal技术实现,并运用于科技资源服务平台的建设。通过该服务总线的建设,能够满足科技资源中众多资源类别以及资源异构性的特点。该资源服务总线运用于资源服务平台,体现出其良好的服务效果。
[1] 林珠,陈树敏,罗俊博.基于云计算的科技资源数据中心架构设计[J].中国科技资源导刊,2015,47(4):40-44.
[2] Palma F, Moha N, Tremblay G, et al. Specification and detection of SOA antipatterns in Web services[M]// Software Architecture. Springer International Publishing, 2014:58-73.
[3] 杨宁,刘丹军.基于JFinal框架的Java Web应用开发研究[J].电脑知识与技术,2014,10(7):1440-1443.
[4] Yang N, Liu D J. Java Web application development research based on JFinal[J]. Computer Knowledge & Technology, 2014,10(17):140-143.
Construction of Science and Technology Resource Service Bus Based on SOA and JFinal Architecture
Lin Zhu1Li Liyang1Yang Boai2
(1.Guangdong Science & Technology Inframstructure Center, Guangdong Provincial Key Laboratory of HPC 2. South China Normal University)
In order to improve the sharing efficiency and service quality of science and technology resources, we should build a scientific and technological resource service bus to provide more kinds of resource services. The construction of science and technology resources service bus based on SOA and JFinal framework for the technical architecture, mainly in data processing and service implementation, resources show aspects of construction, and applied to the science and technology resources supervision service platform, to improve the level of science and technology resources sharing and service.
Science and Technology Resources; Service Bus; JFinal; SOA
林珠,女,1983年生,高级工程师,硕士,主要研究方向:数据挖掘和人工智能、信息系统。E-mail: cherist@163.com
科技资源数据分析与开放共享服务平台建设(2014B070706004);远程健康监护大数据关键共性技术研究与应用(2016A050502060);广东省科技计划项目--广东省科技基础条件平台公共服务能力提升研究及资源网络建设(粤科规财字[2015]72 号)。
黎丽阳,女,1979年生,高级工程师,硕士,主要研究方向:信息系统、数据库、软件工程。E-mail: 22360857@qq.com
杨柏蔼,男,1993年生,硕士,主要研究方向:云计算与数据开放。E-mail: 1027531092@qq.com