基于SOA的科技资源共享平台建设研究
赵朋飞
(宝鸡文理学院计算机学院,陕西宝鸡721016)
要:针对当前科技资源共享性差的现状,文中提出一种基于SOA的科技资源共享平台建设方案。并在资源分类、数据集成共享、Web服务查找优化等关键问题上进行研究,根据实际开摘
发情况,将科技资源分为六类,使用XML对分布式异构数据库数据进行集成,建立Web服务cache库提高Web服务查询效率。
关键词:科技资源;SOA;资源分类;数据集成中图分类号:TP393文献标识码:A
Theconstructionofscienceandtechnologyresourcesharing
platformbasedonSOA
ZHAOPeng-fei
(SchoolofComputer,BaojiUniversityofArtsandSciences,Baoji721016,ShaanxiProvince,China)
Abstract:Inviewofthecurrentsituationofpoorsharingonscienceandtechnologyresource,thispaperproposesascienceandtechnologyresourcesharingplatformconstructionplanbasedonSOA.Thoughresearchingonkeyissuessuchasresourceclassification,dataintegrationandsharing,andWebservicesearchoptimization,accordingtotheactualdevelopmentsituation,thescienceandtechnologyresourcesaredividedintosixcategories,XMLisusedtointegratedistributedheterogeneousdatabasedata,andaWebservicecacheisestablishedtoimprovetheefficiencyoffindingWebservice.Keywords:technologyresource;SOA;resourceclassification;dataintegration
0引言
务层,数据层持久层,如图1所示。
应用表示层提供用户人机交互接口,主要包括
两大模块,门户系统和开发服务平台。门户系统主要用来进行仪器设备等此类普通科技资源信息的发布、搜索和交易,主要包括游客、顾客、商户和系统管理员四类用户;开发服务平台的主要功能是各单位把数据接口封装成服务,注册到平台,开放出去,供开发者调用,主要包括服务提供者,服务调用者和平台管理员三类用户。
业务逻辑层包含所有的业务逻辑,负责定义业务逻辑,包括规则、工作流、数据完整性等,接收来自
收稿日期:2019-01-14
基金项目:宝鸡市科技计划项目(16RKX1-21);宝鸡文理学院校
级重点项目(ZK14090)
作者简介:赵朋飞(1981-),男,硕士,讲师,研究方向为数据库与
系统集成。
随着科学技术的不断发展,各单位企业普遍采用信息化技术进行科技资源管理,激增出大量高质
量的科技资源信息。然而,这些科技资源信息由各单位企业创建和维护,缺少整合与共享,存在着
,分散、分离的状况,形成大量的“信息孤岛”科技资
源并未能有效地利用。如何提高科技资源信息的集成能力,形成共享交换的格局,转换为现实生产力,是当前亟待解决的问题。
本文通过对资源共享平台的研究和开发实践,对科技资源共享平台在建设方案、科技资源分类、数据集成共享和服务查找优化等方面进行了研究。
1系统框架设计
[1]
按照分层,系统自系统基于SOA框架体系,
Web服上而下分为四层:应用表示层,业务逻辑层,
—37—
图1科技资源共享平台框架
应用表示层的数据请求,进行逻辑判断,向服务层提
交请求,得到数据访问结果并传递给表示层显示,业
务逻辑层是一个中间件,起着承上启下的作用。
Web服务层主要由服务提供者使用代码把功能单元封装为服务组件,向外界暴露出一个能够通过Web调用的API,向平台进行注册,供本系统或者开发者使用。开发者进行服务搜索,调用相应的服务进行程序开发。本平台包含两类服务,基础服务和高级服务,对于基础服务,开发者无需申请可免费调用,对于高级服务,开发者需要申请付费进行调用。数据持久层为系统提供所有所需数据,本系统数据库是一个分布式数据库,包括系统数据库和各单位数据库,主要对数据进行组织存储和管理维护。
2
系统关键问题及技术
2.1
资源分类方案
现存科技资源多种多样,建立科技资源共享平
台的目的是对科技资源信息进行采集和分类,以便有效的进行共享,因此如何对资源进行分类,是一个关键问题。根据目前的研究,尚没有一个较好的分类标准对科技资源进行分类。本文在分析现有科技
资源分类理论的基础上
[2-3]
,从实际出发,结合开发情况,将科技资源分为六大类:人力资源、物力资源、
财力资源、信息资源、技术服务和法规。①人力资源是科技活动的主体,包括直接从事科技活动和为科技活动提供服务的科技人才;②物力资源包括各类仪器设备、实验基地、实验室、研究中心等物质设备和基础设施;③财力资源主要指为科技活动提供的资金支持,主要包括企业投资、银行贷款、科技研发经费等;④信息资源是指以电子数据的形式直接为科技活动提供支持的信息,包括科技文献、科学数据、技术资料等;⑤技术服务指为科技服务提供—38—
外围服务的活动,主要包括科技评估、科技检测、技术培训、技术支持等;⑥科技制度包括各级科技单位颁布的各种规章制度和法规等。如表1所示。
表1
科技资源分类表
科技资源类别具体构成要素
人力资源专业技术人员、研究开发人员、科技服务人员等物力资源仪器设备、实验基地、实验室、研究中心等财力资源企业投资、银行贷款、科技基金项目、
科技研发经费等信息资源科技文献、科学数据、技术资料等技术服务科技评估、科技检测、技术培训、技术支持等
科技制度
法规、规章制度、激励机制等
2.2
基于XML的数据集成
在资源共享平台中,类似仪器设备、技术服务等此类资源的共享,在具体实现上相对容易,将此类资源作
为产品发布出去,供用户购买或租借即可。但对一些
实时性要求比较高的科学数据,尤其有些数据资源可能处于几个不同单位的不同数据库中,甚至是异构数据库中,虽然各数据库厂商可以实现跨库联合查询,但两张表如果分属不同的异构数据库,此类数据需要集成共享,实现起来比较困难。本文使用XML技术对数据进行集成,以便达到数据集成共享的目的。
假设人事数据库DB1中有一张科技人员信息
表P1(number1,
name1,age1,sex1),存储专利人员的身份证号、姓名、年龄和性别。而科技人员的发明
专利信息存储在专利数据库DB2的关系表P2(number2,name2,number1)中,存储专利编号,专利名称,专利人身份证号。P1表和P2表从数据意义上是一对多的关系,现要将P1表和P2表中的数据进行集成到一个XML文档中,并符合如下DTD。
<!ELEMENTpatents(person)*><!ELEMENTperson(patent)*><!ELEMENTperson(#PCDATA)><!ELEMENTpatent(#PCDATA)><!ATTLISTpersonage1CDATA><!ATTLISTpersonsex1CDATA><!ATTLISTpatentnumber2CDATA>现定义如下映射文件,其中<root>标记表示生
成一个根标记,
<element>标记表示生成一个普通标记,
<value>标记定义该标记的值,<attlist>标记表示生成一个属性。
<root>patents
<elementdata=“select*fromp1”rs=“r1”>person
<value>r1.name1</value>
<attlistvalue=“r1.sex1”>sex1</attlist><attlistvalue=“r1.age1”>age1</attlist>
<elementdata=“select*fromp2where
number2=”param=“r1.number1”rs=“r2”>patent
<value>r2.name2</value>
<attlistvalue=“r2.number2”>number2
</attlist>
</element></element></root>
定义好映射文件之后,系统中的集成转换模块读取映射文件,从各个数据库中抽取相应数据,按照
映射规则,将查询结果整合为XML文档[4]
,
供后续模块使用,如图2所示。
图2数据集成转换模块
2.3
Web服务平台及服务查询优化
本系统提供一个Web服务平台,除了由系统进
行数据集成封装的Web服务,各单位企业可以将数据接口封装成服务,注册到平台,开放出去,供开发者调用开发,如图3所示。
图3Web服务平台
随着系统的使用,服务注册中心中的服务越来
越多,服务查找越来越困难。在实际使用中,最近使
用过的服务以后被再次使用的概率非常大,为了提
高服务查找效率,本文设置一个服务cache库,将最近已经匹配成功的服务存放在cache库中,在进行服务匹配时,首先与该库内的服务进行匹配,匹配成功即可输出该服务,否则再从服务注册中心进行匹配[5]
,
查找模型如图4所示。系统中的Web服务cache库最初是空的,在首
图4
Web服务查找模型
次使用时,
需要从服务注册中心中查找,在服务注册中心查找到所需服务之后,返回该服务并将该服务放置到cache库中;在后续使用中,如果cache库已满,还需要将最久未使用的服务删除。本文采用LRU算法,该算法使用一个链表保存服务索引,实现简单,在实际开发中应用广泛,具体如下:Step1:在cache库中查找服务,如果查找成功,将该服务移到链表头部,如果查找不成功,在服务注册中心查找服务。
Step2:如果在服务注册中心查找到服务,判断cache库是否已满,如果没满,转Step3,如果满,转Step4。
Step3:将查找到的服务插入到链表尾部。Step4:将查找到的服务插入到链表尾部,将链表头部的服务删除。
当服务注册中心中的服务更新时,要检查该服务是否在cache库中,如果在,需要将该服务同步更新到cache库,以保证cache库中的服务和服务注册中心中的服务一致。
3结束语
本文结合实际开发情况,提出了一个基于SOA
的资源共享开发框架,并对科技资源进行了分类,针对数据集成共享的问题,提出了基于XML的数据集
成共享方案,屏蔽了数据的底层差异性,并设计一个
服务cache库,提高了服务查找的效率。由于科技数据并不一定单一存储在关系数据库中,因此本文下一步的工作主要集中在如何对其它数据源中的数据进行有效集成。参考文献:
[1]王瑞,李青,赵倩.基于SOA与WebService的飞机保障信息系
统集成[
J].计算机工程,2018,44(1):91-97.[2]董明涛,孙研,王斌.科技资源及其分类体系研究[J].合作经济
与科技,
2014(19):28-30.[3]张胜,黄欢,郭英远,等.陕西省军民科技资源开放共享的实现路
径研究[J].情报杂志,
2017,36(9):171-177,118.[4]毛佳飞,叶霞,李俊山.异构数据集成查询处理研究[J].微电子
学与计算机,
2018,35(5):45-50.[5]赵朋飞.基于ESB的Web服务管理系统的设计与实现[J].计算
机与现代化,
2013(10):204-207.责任编辑:杨静
—39—
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务