1、基于微件的个人数字图书馆系统框架郭文丽 严潮斌 赵晓晔 韩为民(北京邮电大学图书馆 北京 100876)文 摘:个人数字图书馆是数字图书馆发展的一个重要方向,微件技术作为Web2.0的衍生技术,为个人数字图书馆的实现提供了一种全新的途径。本文分析了个人数字图书馆的研究现状、微件技术的发展与应用现状。在此基础上,提出了基于微件的个人数字图书馆系统框架,并对系统的结构和主要处理流程进行了探讨。关键词:微件 个人数字图书馆 Web2.0Towards Widget-based Personal Digital Library System FrameworkGuo Wenli Yan Chaobin
2、 Zhao Xiaoye Han Weimin(Library of Beijing University of Posts and Telecommunications, Beijing 100876, China) Abstract: Personal digital library is an important development direction in the field of digital library. Widgets, as a derivative technology of Web2.0, provide a new implementation tool for
3、 the personal digital library. This paper analyses the research status of the personal digital library, and gives a review of development and applications of widget technologyFurther more,this paper proposes a framework of widget-based personal digital library system and approaches on its main archi
4、tecture and chief processing procedures.Keywords: Widget, Personal Digital Library, Web2.01 引言目前,图书馆系统往往是针对大多数读者而设计实现的。为了兼顾众多读者的需求,一般图书馆门户网站上会将图书馆能够提供的所有资源与服务分为若干大类罗列在首页上,每个大类下又细分为若干子类,子类下面可能进一步细分下去。这样,用户每次从这些内容中找到自己需要的资源,都要从资源的大类出发,再到子类,再到子类的子类,这样一种“层层剥离”的访问方式,不仅需要花费很多不必要的时间和精力,而且很容易产生“迷失”现象。传统数字图书
5、馆系统大而全的服务模式如图 1 所示。事实上,这种模式很难满足特定用户的个性化需求。对某个特定的用户而言,他所感兴趣的图书馆资源和服务往往是一些相对固定的内容。如果把用户感兴趣的内容放在该用户最容易获取的位置上,可以大大节省用户每次访问资源或获取服务的时间,提高信息利用效率。鉴于以上情况,针对用户在获取图书馆资源与服务方面的个性化需求,建设个人数字图书馆,正在成为数字图书馆发展的一个重要方向。图 1 传统图书馆系统运行模式2 相关研究现状2.1 个人数字图书馆研究现状对于个人数字图书馆的描述,可追溯到1945年Vannevar Bush所提出的未来个人专用设备(a future device
6、for individual use) 1:人们可以将自己看过的书、记录和交流都存储其中,快速而灵活地对其中的资源进行浏览,也可对图书馆中的任何一本书进行查找,比从书架上获取资料要便捷得多。该设备具有关联索引,还允许用户插入评论。虽然这样的个人专用设备目前还未实现,但国外许多图书馆为满足用户的个性化需求,提供了“MyLibrary”功能,即依托于一个大的数字图书馆系统,允许用户根据自身需求定制该系统中的电子资源。例如,美国Los Alamos国家实验室研制的MylibraryLANL 2、 北卡罗莱那州立大学图书馆的MylibraryNcstate 3、康奈尔大学图书馆的Mylibraryco
7、rnell 4和多伦多大学My.1ibrary 5等都属于此类系统。对于个人数字图书馆,国内外学者给出了多种不同的定义。微软高级研究员Cathy Marshall把个人数字图书馆概括为PC+X 6,而X= 可读性、上下文检索、用于管理和浏览的方法、具有共享的途径、安全性+ 交互性、重现性、持续性。其中交互性是收集数字资料,然后分享、归档、做出标记以备使用;重现性指事物的重现可起到提醒和启发的作用;持续性主要是指个人数字资源的长期保存与利用。武汉大学信息管理学院的陈光祚先生给出了如下的“个人数字图书馆”定义 7:“所谓个人数字图书馆,是指个人为了读书治学的目的,在自己的计算机上采用免费或基本免费
8、的全文数据库软件,将有关的网上信息和自创的数字化信息资源进行采集、存储,使之成为有组织的信息集合,以供个人有效利用的数字图书馆。”陈光祚先生把个人数字图书馆看作个人数字图书收藏 8,即“私家藏书楼”,陈先生和他的几位博士生利用联合国教科文组织的信息存储与检索软件WINISIS,把他的数字化资源电子文稿、扫描文件和下载的因特网上的有关资源建设成为一个个人数字图书馆。中国科学院国家科学图书馆的张晓林等人从个人信息管理的需求出发,给出了个人信息空间的定义:为了有效发现和利用信息,用户希望按照自己的认知体系将开放信息空间中自己所需的信息资源构建为集成化的虚拟个人信息空间。依据这一定义,张晓林等人将个性
9、化定制看成是用户、资源和个性化组织机制的选择绑定, 提出了由资源目录搜索器、资源描述管理器、用户管理器、个性化定制管理器、信息结构管理器组成的开放个性化机制的逻辑框架 9。构建个人数字图书馆可以采用专门的软件,如墨西哥Tecnolgico de Monterrey大学开发的个人数字图书馆Pdlib 10、 开源软件Joxa Personal Digital Library Management 11等;也可以利用一些通用的系统软件,如联合国教科文组织提供的免费开源软件GreenStone 12、麻省理工学院图书馆和惠普实验室联合开发的开源软件DSpace 13、源自Cornell大学的开源软件
10、Fedora 14、意大利的NCSTRL欧盟分支机构开发的开源软件OpenDLib 15等。2.2 微件技术研究现状微件(Widget)是基于代码重用的思想而构建的小应用程序,是Web2.0的一种衍生技术。通过微件,用户无需依赖于浏览器就可访问网络。微件最初源于苹果电脑的一个插件工具Konfabulator,由于其具有功能简洁、界面灵活、体积微小以及开放式开发的特点,微件为用户创造并共享信息带来了一种全新的体验,微件本身也因此得到迅速的发展,目前已经扩展应用到各种桌面操作系统和手机操作系统上。2.2.1 微件的定义与应用形式W3C把微件定义为一种符合Web标准并可打包分发的成熟的客户端应用 1
11、6。微件既可以支持在客户机或移动设备上进行下载和安装,作为独立的应用程序在Web浏览器之外运行,也可以被方便地嵌入到一个网页里,在Web浏览器上运行。微件可以有很多种形式,从简单的钟表、股票行情、新闻滚动、游戏到把不同来源的数据聚合在一起(Mashup),微件的呈现方式既有趣又实用。 微件的主要应用形式包括“桌面微件” 、 “Web微件”与“移动微件” 。桌面微件可以在Windows XP /Vista、Linux、Mac OS X等操作系统上独立运行 17,用户无需通过浏览器便连接到网络。苹果的桌面微件是最早出现的微件,在苹果之后,雅虎、Google及微软等各大软件公司也纷纷推出了各自的桌面
12、微件。通过这些微件,用户可把各类网上信息(如天气、新闻头条、图片等 )放到自己的桌面上,方便地获取自己所需的内容。Web微件是一组可移植的HTML + JavaScript代码片段,一次编写无需任何编译就可以被用户集成到任意基于HTML格式的网页里 18。Web微件是一种易于嵌入到网页的模块,通过Web微件我们可以把各类信息整合到自己的网站上,很方便地实现信息聚合。移动微件实际上是运行在移动设备上的桌面微件 19。目前很多移动设备厂商都提供了对移动微件的应用支持。苹果为iphone手机用户提供了基于Dashboard平台的微件服务;Google 推出了 Android手机操作系统,支持移动微件
13、的使用;诺基亚基于 Web Run Time平台开发的“维信”软件,支持诺基亚手机用户通过自主添加微件的方式实现自己想要的各种功能。2.2.2 微件的技术标准目前微件的技术标准主要包括W3C推出的Widget1.0系列标准推荐方案(Widgets 1.0 Family of Specifications)和WAC(Wholesale Applications Community)制定的微件API标准。W3C的Widget1.0系列标准推荐方案包括已经正式发布的关于微件的对象包规范(Widgets 1.0: Packaging and Configuration) 16、界面规范(The Wid
14、get Interface) 20、数字签名规范(Digital Signatures for Widgets) 21、网络更新规范(Widget Updates over HTTP) 22、资源请求策略(Widget Access Request Policy) 23、URI 配置(Widget 1.0: URI Scheme) 24以及“视角模式”媒体功能(The view-mode Media Feature) 25,还包括尚未正式发布的关于微件的功能需求(Widgets 1. 0: Requirements) 26、总体描述(Widgets 1.0:The Widget Landsca
15、pe) 27等规范。如图2所示,W3C提出的微件技术架构由以下几个部分构成:(1) 一个宿主运行环境:指能够容留微件实例的软件,如Yahoo!的微件引擎、苹果的Dashboard等。(2) 一种媒体类型:一种预先指定的把包与运行环境联系起来的媒体类型。(3) 一种包格式:一种封装了微件内容的自含的结构化的资源,可用于分发和部署微件。(4) 一个配置文件:描述当微件被实例化时微件及其运行环境应如何配置。(5) 一组API:一组能为微件提供功能调用的程序接口。(6) 一组资源:构成微件的图像、文本、图形化界面的标注、样式表、可执行的Scripts代码以及其它组成部分。图2 W3C提出的微件技术架构
16、 28WAC(Wholesale Applications Community)是从OMTP(Open Mobile Terminal Platform)转变而来的组织,是由多家移动运营商建立的联盟,旨在利用开放的标准化技术推进移动应用市场的整体发展。WAC制定的 BONDI标准是专门针对微件和Web 技术的开源软件行业协作的,目前已推出1.1版本 29。BONDI 标准由几组相关的规范组成:API 规范对微件 API 的语法和语义定义。通过一个微件访问任意的 API 都不是自动的,必须进行请求,每个请求被表示成一个 URI 的形式。 框架与安全性规范一个互操作的 XML 描述的安全策略,定义
17、访问一个特定 Web应用和微件所需的 BONDI APIs。 BONDI 的访问控制定义基于 XACML 规范(OASIS) 并提供相似的标签。但是 BONDI 极大地简化了 XACML 语法。遵守性规范(合规)微件和应用框架对 API 规范和安全性框架的遵守程度声明描述方式。BONDI标准是在W3C标准的基础上对微件API 更全面、更细致的描述,以及对微件安全性更严格的规定。3 系统框架3.1 个人数字图书馆的运行模式个人数字图书馆应围绕用户的个体需求、结合传统的图书馆资源与服务来设计、实现。此外,对于用户需要的网络资源、用户个人的桌面信息管理、信息跟踪服务等,都要设法去满足。要为数字图书馆
18、用户提供个性化服务,首先需要了解用户的信息需求与习惯。这一般通过以下两个途径来实现:1通过用户注册信息来获知用户需求。2通过保存和统计用户的使用记录,如用户的浏览、阅读、收藏、搜索等网站活动记录来了解用户习惯。本文利用微件技术构建个人数字图书馆系统,该系统主要通过第一种方式来了解用户需求。需要注意的是,用户的需求与习惯是处在不断的变化之中的。因此,用户个体需求的动态获取与表示是个人数字图书馆建设的根本。如图 3 所示,用户可以根据自己的需求与习惯,从图书馆所提供的资源与服务中选取自己感兴趣的内容拖到个人数字图书馆中,这样,用户就会拥有一个属于自己的独特的虚拟图书馆,读者在使用这样的个人数字图书
19、馆时既省时又省力。当实际图书馆的资源与服务发生变化时,向读者的个人图书馆推送相应的消息,读者可随时根据需求对自己的个人数字图书馆进行动态调整。图 3 个人数字图书馆系统运行模式3.2 基于微件的个人数字图书馆系统结构本文提出基于微件技术构建个人数字图书馆系统,系统结构如图 4 所示,系统可分为三个层次:用户展示层、应用逻辑层和数据存储层。系统主要为本图书馆的读者用户服务,其次也兼顾其他网络用户,出于系统维护、管理的需要,还要考虑系统管理员用户的情况。因此,根据以上的系统用户定位,用户展示层包括针对以上三种用户的界面。应用逻辑层主要由三个功能模块构成:用户身份认证模块、资源检索模块与微件服务模块
20、。用户身份认证模块根据用户的角色进行统一认证与权限管理。资源检索模块包括了本馆的电子资源跨库检索、馆藏书目检索功能,另外,考虑到用户对图书馆以外资源的需求情况,还包括了 Balis 馆际资源检索、网络资源检索。微件服务模块包括针对前台读者及其他网络用户的微件添加、微件拖拽、微件配置、微件删除以及针对后台管理员用户的微件维护管理功能。对于图书馆的各种资源,以及在线咨询、新闻公告、新书推荐、书刊荐购、预约通知、借还通知等图书馆的各种特色服务,系统逐步以微件的形式分别进行封装,用户可以随时从微件列表中选择需要的微件拖拽到自己的个人数字图书馆中,形成富有个性特色的、独享的图书馆。数据存储层包括本地存储
21、的用户及权限管理信息、微件描述信息、用户对微件的定制信息,还包括用户的本机资源、图书馆馆内存储的资源及各种各样的网络资源。由于构成系统的主要部件微件可以随时添加和维护,因此基于微件的个人数字图书馆系统具有很好的可扩展性。图 4 基于微件的个人数字图书馆系统结构4 系统处理流程图 5 是利用开源软件 Dashboard30设计实现的个人数字图书馆首页,主要包括用户登录入口、资源检索列表、微件添加入口以及已定制微件分类列表。读者用户登录后,如果是第一次登录,可点击“显示微件列表”后,选择需要的微件,并通过修改微件和微件组的标签名、拖拽微件来确定自己的个人数字图书馆首页的内容与布局;如果不是第一次登
22、录,则可从定制的首页中迅速找到自己需要的资源或服务加以利用。图 5 基于微件的个人数字图书馆首页图 5 所示的是按照一般用户常用的检索方式与常用资源、服务组织的缺省首页。检索的首选方式是本馆电子资源检索。微件划分为“我的新闻” 、 “我的资源” 、 “我的服务” 、 “我的工具”等几类,其中“我的新闻”包括“国内新闻” 、 “北邮新闻”和“国际新闻”三部分。针对读者用户的系统处理流程如图 6 所示。读者通过点击首页右上角的“登录”按钮进入登录界面,输入用户名和密码后,系统根据图书馆的图书流通自动化管理系统中已录入的读者信息对用户进行身份验证。若验证不通过,则给出错误提示信息,并要求读者重新进行
23、登录;若验证通过,则查看该读者是否首次登录。如果是首次登录,按照缺省的检索排序方式和缺省的微件布局组织该读者的个人数字图书馆首页,并在读者按照自己的喜好更改检索排序方式或更改微件内容及布局后,将用户定制的页面信息存入数据库中;如果读者并非首次登录,则从数据库中读出其个人首页相关信息,显示读者定制的界面,此时读者可快速获取所需资源或服务,还可随着需求或服务的变化,对自己个人数字图书馆的首页进行适当调整。图 6 基于微件的个人数字图书馆系统处理流程5 结语微件技术的发展为个人数字图书馆的建设提供了一种新的手段。利用微件技术,图书馆既可以把自己的资源和服务分门别类地封装起来供用户组建个人数字图书馆之
24、用,也可以把网上的信息聚合在一起作为个人数字图书馆的组件。基于微件的个人数字图书馆系统不仅便于用户定制各种组件,而且支持动态调整组件的构成与布局。微件技术的迅速发展与应用为图书馆进一步改善服务模式、整合优势资源、实现服务增值提供了一个很好的机遇,与此同时,也给我们带来了新的挑战。抓住这样一个机遇,利用新理念、新技术为用户提供更好的个性化服务,推动用户主动创造信息、共享信息,是我们正在进行的一个尝试。在确定了系统框架并根据这一框架建立了系统首页之后,下一步需要把资源和服务逐步封装为微件的形式,以便用户从中选择自己需要的微件、构建属于自己的个人数字图书馆。参考文献: 1 Vannevar Bush
25、As We may thinkJAtlantic Monthly,1945,7(1):101-108.2 MyLibraryLANLEB/OL. 2010-09-10. http:/lib-www.lanl.gov/lww/mylibweb.htm3 MyLibraryCornellEB/OL. 2010-09-10. http:/mylibrary.cornell.edu/MyLibrary/Main.4 MylibraryNcstateEB/OL. 2010-04-29. http:/www.lib.ncsu.edu/mylibrary/5 University of Toronto Li
26、braries. My.library&My.alertEB/OL. 2010-09-10. http:/link.1ibrary.utoronto.ca/MyUTL/startlogin.cfm6 Cathy Marshall. Cathy Marshall on Personal Digital LibrariesEB/OL. 2010-09-10. http:/ 陈光祚, 阮建海, 臧国全. 论个人数字图书馆J.中国图书馆学报. 2002(3):15-18.8 陈光祚. 个人数字图书馆理论探讨和建库实践J.深图通讯. 2005(3):3-9.9 张晓林, 刘小兵, 王昉等. 开放个性化定
27、制机制基本理念与逻辑框架 J.图书情报工作. 2004(6):55-5810 PDLib ProjectEB /OL. 2010-09-10. http:/copernico.mty.itesm.mx/pdlib/11 Joxa Personal Digital Library ManagementEB/OL. 2010-09-10.http:/ Greenstone Digital Library Software EB /OL. 2010-09-10. http:/www.greenstone.org/13 DSpace Open Source SoftwareEB /OL. 2010-0
28、9-10. http:/www.dspace.org/14 Fedora Commons Repository SoftwareEB /OL. 2010-09-10. http:/fedora-commons.org/15 Open DLib Official SiteEB /OL. 2010-09-10. http:/ Marcos Caceres. Widgets 1.0: Packaging and ConfigurationEB/OL. 2010-09-10. http:/www.w3.org/TR/widgets/17Yahoo Widget Blog EB /OL. 2010-09
29、-10. http:/W Wikipedia EB /OL. 2010-09-10. http:/en.wikipedia.org/wiki/Web_Widget.19 微件互动百科EB/OL. 2010-09-10. http:/ Marcos Cceres, Robin Berjon, Arve Bersvendsen. The Widget InterfaceEB/OL. 2010-09-10. http:/www.w3.org/TR/widgets-apis/21 Marcos Cceres, Frederick Hirsch, Mark Priestley. Digital Sign
30、atures for Widgets EB/OL. 2010-09-10.http:/www.w3.org/TR/widgets-digsig/22 Marcos Cceres, Robin Berjon. Widget Updates over HTTP EB/OL. 2010-09-10. http:/www.w3.org/TR/widgets-updates/23 Robin Berjon. Widget Access Request Policy EB/OL. 2010-09-10.http:/www.w3.org/TR/widgets-access/24 Robin Berjon.
31、Widget 1.0: URI SchemeEB/OL.2010-09-10. http:/www.w3.org/TR/widgets-uri/25 Robin Berjon. The view-mode Media FeatureEB/OL. 2010-09-10. http:/www.w3.org/TR/view-mode/26 Marcos Caceres. Widgets 1.0 RequirementsEB/OL. 2010-09-10. http:/www.w3.org/TR/widgets-reqs/27 Marcos Cceres. Widgets 1.0:The Widget
32、 Landscape(Q1 2008) EB/OL. 2010-09-10. http:/www.w3.org/TR/widgets-land/28 Marcos Caceres. Widgets 1.0 Requirements, version 20070209EB/OL. 2010-09-10. http:/www.w3.org/TR/2007/WD-widgets-reqs-20070209/29 BONDI 1.1 Approved ReleaseEB/OL. 2010-09-10. http:/bondi.omtp.org/1.1/30 Dashboard Code EB/OL. 2010-09-10. http:/www.rossjohnson.co.uk/rss2/