开放平台
2012-04-29江波
江波
〔摘 要〕开放平台作为当前网络信息服务和软件系统发展的最新趋势,使图书馆集成系统ILS发展面临一次新的选择和机遇。ILS由“管理型”向“服务型”转变,面临泛在的数字化环境的更高要求。ILS只有在战略上向开放平台发展,才能成为许多优秀应用和服务的集合,帮助图书馆不断提高管理和服务水平。
〔关键词〕开放平台;图书馆集成系统
图书馆集成系统(Integrated Library System,ILS),也称图书馆管理系统、图书馆集成管理系统、图书馆自动化系统等,是现代图书馆最核心的软件系统,管理着一个图书馆最完整的文献资源信息和读者信息,是图书馆业务自动化和OPAC服务的依托。
自20世纪70年代中期诞生以来,ILS一直随着计算机技术、网络技术的发展而进步,不断自我完善以适应图书馆新的业务模式和服务需求。从单模块到多模块系统;从馆内服务到广域网服务;从只提供传统的图书馆资源到提供多种网络资源和多媒体资源。
近年来,Web2.0/Lib2.0、B/S模式、RFID、云计算、移动互联网等对ILS的发展均产生了较大的影响。而开放平台Open Platform作为当前网络信息服务和软件系统发展的最新趋势,将使ILS发展面临一次全新的选择和机遇。
1 开放平台
1.1 开放平台的概念
从战略层面看,开放平台是一种全新的网络服务和软件生态模式,开放平台运营者将自己的产品或服务转换成一个平台,鼓励第三方开发者通过自组织围绕平台来开发应用、解决问题并产生新的创意,而不是自己创造一些事物并强势地加以守护。平台运营者不仅是一个创造者,同时也做一个管理监护者,与开发者共生共荣,让开发者尽情释放创造力[1]。
从技术层面说,开放平台是指软件平台公开其应用程序编程接口(API)、函数(Function)和接口规范框架,并以容器的形式对外开放,第三方开发者的程序能访问平台的核心资源,与核心应用集成,从而不断增加该软件系统的功能,而不需要更改该软件系统的源代码。
从商业层面说,开放平台是云计算中SaaS(Software as a service)和PaaS(Platform as a Service)模式的互利结合,并通过两者的循环刺激实现快速增长的一种新型商业模式[2]。
1.2 开放平台的特点
1.2.1 需求的微粒化
传统的软件系统是将用户的需求归结为一个集合,然后构建一个庞大的、功能复杂的集成系统来一次性满足所有的需求。而开放平台将用户的需求细分为更细小的颗粒,通过不同的、更小的、相对独立的App应用或App应用组合来满足用户的微需求。从而解决系统能力的有限性和用户需求的无限性的矛盾,解决系统的稳定性和用户需求的灵活性之间的矛盾。
1.2.2 以数据为中心
开放平台的整体功能是借助于众多的小的App应用来实现的。这些App应用既可能来自于平台公司自身,也可能来自于不同的第三方公司。甚至多个App应用是为了满足同一个需求而开发的,处于一种竞争关系。所以,开放平台的整体功能始终处于一种动态平衡之中。只有以数据为中心,才能保证在松耦合状态下系统整体的安全性和稳定性。
1.2.3 集成开发环境
开放平台需要为开发者提供的一套开放集成的SDK(Software Development Kit,即软件开发工具包)和一个统一、高效的数据交换系统。用户可以开发新的应用软件或者将已有的应用程序通过使用开放平台API与核心数据交互。
1.2.4 开放许可
任何人和机构都可以免费申请开放平台账户,向开放平台运营者申请开发者计划,开发的App应用通过审核和批准后,能够与开放平台对接,并发布和销售。
1.2.5 技术文档支持
开发平台需要有非常详细的在线文档、完整的白皮书和丰富的代码示例,指导开发者如何使用API以及如何与平台框架数据交互。
1.3 开放平台的发展与现状
2007年5月24日,Facebook推出开放平台,在这个框架上,第三方软件开发者可以开发与Facebook核心功能集成的应用程序。Facebook获得了巨大成功,现在拥有超过6亿的全球用户,有超过100万的开发者和50万个App应用。
国外另一代表性开放平台就是举世闻名的苹果应用商店(Apple App Store)。拥有超过34万款的各类App应用,总下载量突破惊人的100亿次。
国内,腾讯、百度、新浪、人人网、开心网、豆瓣的开放平台战略已全面启动。
豆瓣为第三方开发人员提供编程接口。利用豆瓣API,开发者可以在自己的网站或程序中使用豆瓣的数据和功能。
人人网平台上目前通过审核的App数量达到1 000款以上,而正在开发,准备提交审核的App应用则有数十万款[3]。
国外,著名图书馆行业软件艾利贝斯ExLibris公司提出了自己的开放平台战略Open Platform Strategy。艾利贝斯研究了一套强大的、开放的解决方案,支持和鼓励客户和第三方软件开发者用自己的程序代码扩展艾利贝斯产品,并以此促进合作和思想共享。艾利贝斯综合运用API:Web services and X-services、深层链接,持久网址、插件、适配器等技术,设计、实施了各种开放式接口,并发布了开放接口的文档。同时,艾利贝斯还对第三方软件开发者提供协作工具,代码托管,并与其举行面对面的会议。
OCLC的Grid Services影响也较大,目前提供的服务包括WorldCat Search API,Registry Services,Identifier Services,WorldCat Identities,Terminology Services,Metedata Crosswalk Services等。
2 图书馆管理系统面临的挑战
2.1 ILS由“管理型”向“服务型”转变
随着信息化、网络化的发展,以及图书馆服务意识的不断增强,ILS逐渐由传统的业务自动化管理系统转变为了一个网络服务系统,重心由“管理”向“服务”迁移。
管理型的ILS主要是面向馆员的,在功能上有比较明确的边界。业务环境稳定,功能封闭是其显著的特征。
服务型的ILS是以读者为中心,读者的用户体验(UX)开始受到高度重视,图书馆对ILS的功能需求与日俱增、纷繁复杂。不同的图书馆有不同的需求,越来越多的图书馆希望根据自身的使命、价值观和服务特点定制自己的ILS系统[4]。依靠软件商提供集成解决方案的时代已经一去不复返,“功能齐全”成为不可能完成的任务,因为已经没有一个公司能包揽一切。传统的ILS软件架构已经越来越难以满足图书馆个性化的需要。部分图书馆开始放弃ILS的OPAC,寻求类似AcquaBrowser Library这样的不依赖ILS的独立OPAC系统,或者寻求第三方的资源发现系统。
2.2 泛在的数字化环境对ILS的更高要求
随着数字化校园的建设发展,各种MIS(Management Information System)系统不断投入使用,零散的信息、碎片化的应用和信息孤岛日益增多,平台孤立和差异造成极大的资源浪费。越来越多的系统需要与ILS进行数据交互和功能整合。例如,ILS读者库需要与校园一卡通用户数据自动同步。学校的离校系统需要与ILS整合。论文提交系统的数据需要与ILS同步。学校文库的书目数据与需要ILS同步。学校的门户需要与ILS整合,手机图书馆系统需要与ILS整合,随书光盘管理系统需要与ILS整合,等等。
同时,ILS本身越来越多的需要接入外部的服务。如:厦门大学图书馆在OPAC界面加入了豆瓣书评;清华大学图书馆利用SFX Citation Linker接口实现在OPAC中完成电子图书的检索及在线阅读,等等。
但是,目前ILS均是相当封闭的系统,如Horizon、Millennium、Unicorn、LIBSYS、ILAS、ADLIB2.0、MELINETS、GDLIS XP、博菲特、ULCM IS、图腾、妙思、InterLib等,能提供的接口极其有限,如Z3950、SIP2、ILL、OAI、Open URL等。ExLibris的Aleph相对较为开放,因此受到不少图书馆的青睐。
美国的图书馆自动化技术市场已经觉察到图书馆集成管理系统与实际需求之间存在的分歧,这使图书馆正在对ILS供货商产生不信任感,一些有影响力的图书馆正在采取措施解决该问题:用开源ILS替换商业ILS;着手对ILS进行二次开发;关注ILS以外的功能和特点[5]。
美国图书馆协会仲冬年会重要组成部分的RMG第19届领导人年会从宏观角度讨论图书馆集成管理系统(ILS)和图书馆自动化产业重建的问题,与会代表一致认为,重建图书馆自动化产业的时机已经成熟。
ILS亟待运用开放平台的理念和技术进行重构,最大程度允许第三方应用系统接入,进行数据交互和功能扩展,从而满足泛在的数字化教学和科研的需要。
3 图书馆开发平台LOP
3.1 LOP的概念
LOP即Library Open Platform,是ILS向开放平台发展的一种新形态。
LOP将图书馆采访、编目、典藏、流通、读者管理、OPAC等需求细分为更小的颗粒,通过高度松耦合的小应用来满足不同的微需求。从而便于在更小的功能集合上进行系统定制和用户个性化。
更重要的是,LOP对外开放其应用程序编程接口(API)、函数(Function)和接口规范框架,并提供全面的技术支持,鼓励图书馆、个人、第三方机构开发第三方应用程序,从而不断增加LOP平台的功能。
3.2 LOP的架构
LOP的总体架构如图1所示。
App应用程序既可以运行在开发者的服务器上,也可以托管在LOP服务器。每个App应用程序与特定的URL相关联。 当用户通过LOP用户服务系统请求其URL时,LOP应用管理系统将这个请求重定向到App应用服务器处理,并通过LOP核心框架的API交互,App应用服务器最终向LOP用户服务系统返回承载应用界面的文件。LOP API采用基于REST架构实现的Web编程接口,通过API第三方应用程序可接入到LOP的核心数据(如书目数据、读者数据等),同时实现与核心功能集成[6]。
3.3 LOP的主要技术
3.3.1 HTTP–POST
由App应用程序建立请求XML数据,然后提交HTTP POST操作来执行调用。提交的各种参数等内容都包含在XML文件中。调用成功后LOP返回XML格式返回数据,其中包括调用数据结果,调用数据具体信息等信息。App应用程序自行解析返回XML信息,从中取得返回数据[7]。
3.3.2 Web Service
Web Service是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作[8]。
Web Service基于XML和HTTPS,其通信协议主要基于SOAP(Simple Object Access Protocol),服务的描述通过WSDL(Web Services Description Language),通过UDDI(Universal Description,Discovery and Integration)来发现和获得服务的元数据。
3.3.3 REST
REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
REST定义了应该如何正确地使用Web标准,例如HTTP和URI。REST定义了五条关键原则:为所有“事物”定义ID;将所有事物链接在一起;使用标准方法;资源多重表述;无状态通信[9]。
3.4 LOP的运营模式
LOP在很大程度上释放了平台的创造力,第三方App应用的数量越多,平台的整体功能越强,用户也有了更多的选择,可以更好满足用户的需求,实现多方利益的共赢。
LOP开发运营者帮助图书馆搭建LOP开放平台,同时出售自己公司开发的核心应用,以此获得收益。
第三方开发者可以自由的开发基于LOP的各种应用软件。第三方开发者们所提交的软件必须要通过审核和批准才能够与开放平台对接,并发布和销售。审核基本标准包括:不能对LOP系统整体安全构成威胁,不能影响LOP系统的稳定性,不能够对LOP开发运营者自身的应用造成冲击,不能损害LOP开发运营者自产应用的经济利益[10]。
LOP开发运营者与第三方开发者盈利共享。第三方开发者设定他们自己的价格,而LOP开发运营者从总收入中获得提成。例如,苹果从App Store中销售的软件收益中获取30%提成[11]。
总体上看,良好的文化氛围是LOP的内在驱动力,公平的游戏规则是LOP运作的基础,共赢互惠是实现LOP基业长青的前提,有效的运作协调机制是用户利益的保障[12]。
3.5 LOP的安全性
LOP所涉及的安全问题包括:
(1)认证:对通信的对等实体和数据来源的认证。
(2)访问控制:防止对资源未经授权的访问和使用。
(3)数据机密性:对数据进行加密,防止数据未经授权的泄漏。
(4)数据完整性:保证数据的完整性,防止数据被恶意篡改或受到意外破坏。
(5)非否认性:防止数据的发送者和接受者对其行为的抵赖。
目前有很多好的设计原理可以采纳作为开放平台的设计原理:
(1)分层安全性——将安全性贯彻到网络中尽可能多的点。
(2)访问控制——使用“除了和业务有关的访问,其他的都被禁止”的原则来进行访问决策,即“最小权限策略”[13]。
(3)特定角色安全——基于组织内部用户的角色管理访问权限。
(4)用户防范意识——在为第三方开发者提供API过程中,努力提高用户的防范意识。
(5)安全监视——对系统进行监视以维护系统的安全并且使系统不受入侵[14]。
4 结 语
LOP对图书馆的价值很明显。图书馆不用被迫制定遥不可及的所谓的五年规划和整体解决方案,能专注于“最后一公里”的服务,可以及时吸收借鉴最新的理念和技术,无穷无尽的服务创新和需求创新,自由地添加或调整图书馆需要的功能,可以更容易将图书馆服务集成到数字化校园或其他数字化系统,可以便利的开展图书馆之间的合作。
当开放成为一种趋势之时,我们应抓住趋势之下的机遇。ILS具有得天独厚的数据基础和技术积累,只有在战略上向开放平台发展,才能避免在竞争中被不断挤压生存空间。越多的开发者将他们的应用添加到LOP,LOP的价值就会越大越大,最后,LOP将成为许多优秀的应用和服务的集合,从而帮助图书馆不断提高管理和服务水平。
参考文献
[1]胡泳.成为开放平台的6条法则[J].IT经理世界,2011,(8):33.
[2]乔岩.开放平台:云计算时代的战略选择[J].高科技与产业化,2011,(7):45.
[3]吕文龙.SNS的“开放平台”选择题[J].互联网周刊,2011,(1):30.
[4]Edward M.Corrado.The Open Platform Strategy:What It Means for Library Developers[EB].http:∥codabox.org/6/,2011-10-27.
[5]RMG 19届年会讨论图书馆集成管理系统和图书馆自动化产业重建的问题[J].现代图书情报技术,2009,(1):109.
[6]苏嘉.SNS开放平台架构简析[J].电信快报:网络与通信,2009,(10):8-10.
[7]张小锋.eBay开放平台的研究应用[J].电脑知识与技术,2010,(29):8227-8228.
[8]Wikipedia.Web service[EB].http:∥en.wikipedia.org/wiki/Webzservice,2011-10-27.
[9]Baidu.rest[EB].http:∥baike.baidu.com/view/1077487.htm,2011-10-27.
[10]项有建.Q+:封闭式的开放平台[J].软件工程师,2011,(9):19-20.
[11]赵思斯.开放平台规划攻略[J].程序员,2009,(10):47-48.
[12]彭胜君.开放平台第三方开发者的管理策略[J].信息网络,2010,(6):15-20.
[13]高嘉阳,孟繁焘.Web开放平台安全体系的研究与设计[J].宇航计测技术,2010,(5):39-42.
[14]高嘉阳.Web开放平台安全机制的研究与设计[D].北京:北京邮电大学,1988.
(本文责任编辑:孙国雷)