基于SOA架构的医学图书馆个性化信息服务设计
2016-03-22,,,
, ,,
[作者单位]1.南京大学信息管理学院,江苏 南京210023;2.南京医科大学第一附属医院(江苏省人民医院),江苏 南京 210096
互联网时代已经进入快速发展期,一方面网络资源的种类日益丰富,呈现爆发式增长,满足了各类网络用户的需求——根据自己的个性化需要,检索到所需的网络资源;另一方面由于用户参与度加深,提供的背景信息更加详细和准确,使得各类服务提供商能够针对个性化需求并结合这些信息,提供有差异性和独特性的个性化服务。
医学图书馆界也在大力发展个性化信息服务,以满足医学图书馆用户个性化、差异性的信息需求,有效解决用户个性化需求与医学图书馆当前海量资源之间的矛盾。另外,由于个性化信息服务需要大量的数据分析和实时触发性业务,会消耗大量系统资源,容易影响医学图书馆业务系统和日常业务的正常开展,因此需妥善解决。
基于上述考虑,本文设计了一套基于SOA(Service-Oriented Architecture)架构的医学图书馆信息系统,从而满足当前医学图书馆个性化信息服务的需求。SOA又称面向服务的架构,它将不同的系统或功能模块(服务)通过定义良好的接口和契约联系起来,实现多系统的集成和整合。该方案能够保障医学图书馆日常业务和个性化信息服务的顺利开展。
1 医学图书馆个性化信息的服务内容与特点
1.1 医学图书馆个性化信息服务的主要内容
医学图书馆的服务原则是“以读者为中心,读者至上”,体现了“以人为本”的服务理念。医学图书馆界近些年在不断摸索和发展个性化信息服务理论和实践[1],目前个性化信息服务的主要服务内容有如下四个方面[2-3]。
一是定题信息推送服务。它是由用户参与,内容服务提供商或信息服务机构根据用户提交的需求,定期向用户提供与用户需求相关信息的个性化信息推荐服务。
二是热点信息服务。该服务将当前人们所关心的热点问题或某研究领域内的热点问题及相关信息推送给用户,可根据用户的网络痕迹推荐他们所需的热点信息。
三是深度挖掘服务。它是根据用户搜索网络、查询信息中产生的使用信息并对其进行分析挖掘,获取用户的意图,然后将系统中与用户意图有关的信息发送给用户的个性化信息服务。
四是定制信息服务。为用户提供更加符合其个性化要求的网络交互界面和检索结果输出格式,该服务包括用户门户的栏目设定、个人访问页面的内容编排的设置等。
个性化信息服务的个性化可以概括为3W1H[4]:服务时空个性化(When,Where),主要体现在服务提供的时间点和地理位置方面,即按照用户指定的时间和地点提供信息服务,便于用户更加便捷高效地获取信息,减少其为此而付出的额外成本;服务内容个性化(What),即医学图书馆为用户提供的信息内容极具个性化,服务内容是根据用户的背景信息以及具体需求制定的;服务方式个性化(How),由于医学图书馆用户逐渐开始关注医学图书馆所提供的具体服务,如通过短信方式或邮件方式、实时推送或定时通告,因此医学图书馆需根据用户需求采用各种先进手段开展服务。
1.2 医学图书馆个性化信息服务的特点
1.2.1 差异性强
要求医学图书馆为每个用户提供的信息服务具有针对性,不能千篇一律。这就要求系统支持大规模的用户行为与背景信息分析,即大数据分析。
1.2.2 支持实时服务
由于有的个性化信息服务对实时性要求高,这就对系统处理能力提出较高要求,并且在处理实时业务时不能干扰其他业务的正常运行。
1.2.3 强调服务的主动性
由于个性化信息服务要求医学图书馆转变服务意识,由过去的被动服务转变为主动服务,这就对系统主动响应能力提出较高要求,且涉及到多个系统协同服务,即要求实现系统的整合与集成。
1.2.4 强调信息的完整性与一致性
由于用户信息与各类资料可能散落在多个系统中,为了能够确保获取各类信息的完整性与一致性,需要从所有相关系统中获取信息,即系统之间要实现互联互通,消灭“信息孤岛”,实现各类信息共享,杜绝信息的遗漏和丢失。
通过对医学图书馆的个性化信息服务进行内容与特点的分析,提出基于SOA架构的医学图书馆个性化信息服务的系统架构以满足个性化信息服务的需要。
2 基于SOA架构的医学图书馆个性化服务模型
2.1 SOA架构的特点
SOA通过定义好的标准化接口协议,将接口与服务提供方分离,实现服务复用。同时位置的透明性使其提供的服务能够独立于硬件平台、操作系统和编程语言,体现了平台无关性,是一个松耦合架构[5]。具体有以下几个特点。
2.1.1 服务的标准化
SOA强调采用标准化的方式提供服务,即接口实现的定义、提供的服务内容格式都是标准化的。服务标准化的优点在于实现服务消费者只关注于服务本身而非服务提供者,即不论服务提供者是谁,只要其提供的服务满足标准即可。
2.1.2 实现服务提供与消费之间的松耦合[6]
由于标准化服务的应用,使得服务提供者对外只暴露服务本身而非服务提供者,从而实现服务提供与消费的松耦合,降低系统之间的耦合度,将系统相互间的影响降到最低,确保各系统不会干扰彼此正常运行。
2.1.3 提供可靠、安全、高效的数据交互模式
相比过去传统的数据交互模式,SOA采用了路由分发机制的数据交互模式,即将1份数据源拷贝发送给目标系统,实现方式简单高效,且SOA的数据交互具有高可靠、高安全的特性,确保数据在交互过程中不会丢失。此外,SOA还提供了推拉结合、实时和定时等多种方式的数据交互模式,能够满足实时性服务、多系统协同性服务等特殊服务要求。
2.1.4 能够有效利用现有功能模块,降低改造成本
由于SOA的松耦合特性,在对系统进行改造时,原有的功能模块能够按服务标准提供服务即可,无须开发新的功能模块,不但能提升系统功能模块的复用度,还可降低改造成本,并提高改造的可行性。
2.1.5 支持系统架构的长期演进
随着信息需求的不断增长,必须进行系统改造与更新。SOA的松耦合特性使其能够采用“热插拔”的方式实现系统功能模块的更换,在降低运维成本的同时提高运维的便捷性。利用SOA架构进行系统功能模块更新升级时,只要新的服务提供方提供的服务符合服务标准即能被服务消费方识别消费,无需中断业务,因此不会影响业务的正常开展。
从SOA架构特点可以发现,它能够很好地满足医学图书馆个性化信息服务的需求:标准化和松耦合特性使得其能够灵活地构建个性化信息服务流程,同时为数据分析提供标准格式的数据,方便系统自动采用针对性的个性化信息服务;高可靠、高安全的数据交互特性能够提供推拉结合、即时与定时等多种数据交互模式,使得个性化信息服务的实时性、主动性与数据的一致性和完整性得到满足;低成本系统改造和系统运维,使得医学图书馆的个性化信息服务能够在较长时期内满足医学图书馆用户不断变化发展的个性化需求,切实履行“以读者为中心,读者至上”的服务原则和“以人为本”的服务理念。
2.2 框架模型
基于SOA的架构思想,本文设计了基于SOA的医学图书馆个性化信息服务系统架构模型,如图1所示。SOA架构共分为业务层、交互层、数据层和应用层四层。
图1 基于SOA的医学图书馆个性化信息服务系统架构模型
2.2.1 业务层
各业务系统如库存管理系统、编目系统、检索系统等主要集中在这一层,其主要功能是完成医学图书馆的日常业务,确保医学图书馆正常运转。各系统间的数据交互是通过交互层实现的,而各业务系统所产生的与用户相关的业务数据,如用户借阅资料、用户背景资料、用户检索日志记录等,都将作为分析用户个性化特征的重要依据,采集并通过数据交互层上传到数据层以备分析利用。由于各业务系统间是松耦合方式协同作业的,因此不会影响医学图书馆的日常业务。
2.2.2 交互层
数据交互层由数据服务总线(Enterprise Service Bus,ESB)实现,主要提供高可靠、高安全、高效率的数据交互服务,按服务对象可分为对内数据交互服务和对外数据交互服务。在执行数据交互时,交互层将与用户相关的各类业务数据转发一份至数据层,无需采用额外的数据抽取方式获取数据。因此,不但能提高效率,而且可降低对各系统的数据抽取压力,将对系统的干扰降到最低。同时由于采用的是标准化的数据交互方式,在提高服务复用性的同时,可降低系统接入难度,有利于系统前期改造和后期运维。
2.2.3 数据层
该层主要汇集了用户相关的所有数据,包括用户借阅资料、用户背景资料、用户检索日志记录等资料。这些资料可以按照既定的类型进行保存,建立三个大型数据库:用户背景数据库,主要记录用户各种背景信息,如所属职业行业、教育背景、生活习惯、爱好特长、家庭背景等;用户行为数据库,主要记录用户使用医学图书馆各系统的行为,如检索行为、借阅行为等;用户评价数据库,主要记录用户对医学图书馆所提供各类服务的评价,如书刊的评价、馆员的服务评价、个性化信息服务质量的评价等。该层的主要功能是通过对采集到的各类用户数据进行分析处理,采用多种方式,如离线/在线分析、聚类分析等深度数据挖掘。由于该层与业务层即各业务系统是松耦合关系,数据层的各种分析工作皆不会影响业务系统的运转,也不会干扰医学图书馆正常业务工作的开展。因此,这一层的数据分析结果则为最顶层——应用层提供数据支持,确保个性化信息服务能够切实有效开展。
2.2.4 应用层
该层位于整个SOA架构的顶层,是个性化信息服务的最终落实者,直接面向医学图书馆用户,担负起个性化信息服务的重要职能。本文根据个性化信息服务的四大服务内容设计了定题信息推送服务、热点信息服务、深度挖掘服务和定制信息服务四大功能模块。这些服务依据实际情况开展个性化服务,同时由于这些服务的数据源都是来源于数据层而非业务层,因此实现了应用层与业务层的松耦合,确保应用层提供个性化信息服务的同时不影响医学图书馆其他业务的正常运转。
2.3 基于SOA的个性化信息服务流程
基于SOA的个性化信息服务流程简要概括如下:用户相关的各类业务数据生成后通过数据交互层上传至数据层,此后用户特征分析都将在数据层完成数据层分析处理的数据将作为个性化信息服务应用层的数据依据,为用户提供各类个性化信息服务。由于数据交互层将数据层、应用层与业务层进行隔离,使得数据层和应用层的工作不会影响业务层的工作开展,因此该套信息系统架构既能确保个性化信息服务全面开展,又不会影响医学图书馆的各项日常业务。
3 小结
采用基于SOA架构信息服务服务系统的医学图书馆能够有效解决个性化信息服务与日常业务运行之间的矛盾。随着互联网技术快速发展,未来基于SOA的个性化信息服务将是医学图书馆服务发展的一个重点方向。