本文针对移动图书馆的发展现状,提出基于Android 和胖客户端/服务器模式的移动本地个人数字图书馆,并详细分析Android 的工作机制和胖客户端/服务器模式在移动本地个人数字图书馆构建的优势。
0 引言
随着移动通信网络和移动终端的发展,移动本地个人数字图书馆应运而生,利用手机移动平台拓展图书馆的服务成为图书馆的发展方向。用手机上网的用户逐渐增加,基于短息平台和WAP 网站方式是目前数字图书馆移动信息服务的主要模式,这两种模式都存在一定的局限。随着智能手机的发展,各种手机系统纷纷涌现:Nokia 的Symbian,Microsoft 的Windows'MC,苹果的IOS和 Google的Android,为移动终端的应用开发提供很好的系统平台。提高了直接访问网络能力,可实现断网后储存数据的操作。
Android 是Google 开发的一种开放性的移动综合平台。它包括Linux 内核、Android 运行时库和其他库层、应用框架、应用程序。用Android 进行移动本地个人数字图书馆的开发研究,可促进系统的创新,降低开发成本,创造出有特色的数字图书馆。
1 图书馆移动服务技术应用类型
1.1 手机信息服务
手机信息服务包括传统的SMS(ShortMessaging Service,短信息服务)、MMS(MultimediaMessaging Service,多媒体短信息服务)。图书馆运用手机信息服务,提高了图书馆的工作效率。手机短信服务快捷方便;收短信免费,发短信费用低廉;可随时随地收发短信,当对方的手机不能接收短信时,发出的短信可以暂存在服务器中;可实现用户和管理员的双向互动。
短信服务虽然方便、经济、有效,但是也存在很多不足,手机短信文字长度限制在140 个字节,相当于140 个字符,或70 个汉字;只能进行简单的查询。
1.2 瘦客户端/服务器类型
瘦客户端/服务器类型是指客户端通过浏览器与服务器端建立联系,瘦客户端是指使用浏览器来提供应用程序(以HTML 定义的)用户界面的执行环境的客户端应用程序。目前流行的技术是基于WAP 和WML(Wireless Markup Language,无线标记语言)的WAP 网站。浏览器具有一定的安全性、数据处理和状态管理功能,但它只能通过Cookies 存储少量数据,致使与客户端环境交互能力低,功能的扩展收到制约,只能实现简单业务操作,另外,并须联网进行所有的操作,受到网络连接的限制。
1.3 胖客户端/服务器类型
胖客户端是在客户端机器上安装应用软件,与瘦客户端不同,客户端同服务器断开连接后,依靠客户端存储的少量数据也能够为应用软件所用,并独立完成部分业务操作。胖客户端模式将应用程序处理分成了两部分:由用户的桌面计算机执行的处理和最适合一个集中的服务器执行的处理[2].它的优点是操作和充分利用本地存储资源,可离线工作,响应速度快,网络传输量小,安全性高;它的缺点是目前移动终端存在有多种操作系统共存的局面,需要为不同的平台开发相应软件,在客户端的操作痕迹较多,部署和更新很复杂。
为了解决胖客户端开发的困难,目前有两种常见的解决方案:软件解决方案,直接开发智能手机操作系统从底层实现上就实现统一,或者提供运行在不同智能手机操作系统之上的虚拟机,应用开发在统一的虚拟机上完成,借此来降低跨平台开发的难度。
1.4 智能客户端客户端/服务器类型
智能客户端是易于部署管理的应用程序,通过统筹使用本地资源和到分布式数据资源的只能连接,提供适应的、快响应的和丰富的交互式体验。与B/S 或C/S 相比,只能客户端具有明显的优势。用户可以在离线情况下运行程序,可以使用本地数据或连接到服务端数据库,不依赖于网络是否连接。移动通讯设备,由于网络费用,网络故障,可能不能保持网络实时通常,移动本地个人数字图书馆终端设备采用智能客户端,网络在线可以进行在线查询,在线咨询,在线阅读等即时服务,当网络断开时,可管理本地个人数字图书馆,可以对依据自身需要收集储存的信息,进行编辑、使用,可根据各自的爱好、兴趣,专长来进行信息资源的选择和控制,尤其对网上的信息进行去糟粕取精,更方便快捷的对已存储信息进行查阅等,对收藏的信息反复进行查询和学习。
2 基于 Android 的移动终端应用优势
随着移动终端的普及和移动通信技术的发展,移动本地个人数字图书馆对移动终端的要求越来越高,而Symbian,Windows Mobile,PalmOS 等手机平台都比较封闭,满足不了用户的需求。市场十分需要一个开放行很强的平台。随着3G 技术的发展,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有75 很大的发展空间。Google 为此于2007 年11 月推出了一个专为移动设备设计的软件平台--Android.
2.1 Android 的特征
开发,源代码完全开放。Android 平台主要由应用程序、开发库、运行环境和Linux 内核等组成[3].其中,应用程序包括用户界面、地图、浏览器、通讯录和短信程序等,且都是由Java 语言来进行操作和完成,使用者可进行可视化使用,并掌管所有基本应用功能和数据:开发库主要包括被用于系统组建中的常见功能,含Media Framework、libc、SGL、Webkit、OpenGLES、FreeType 和SQLite 等。
应用程序框架包括资源、消息、活动管理器和可视化对象;Dalvik 虚拟机经Google 修改和优化后,效率更高;SQLite 开放关联性数据库占用资源少,运行速度快,更适合在手机上运用;Webkit 是Android 开源浏览器,开发时可做搜索引擎使用;Open GL ES 基于OpenGL ES 1.0 规定的3D 绘图引擎,可优化处理显示;多媒体框架的核心Open Core 支持多种影像声音格式,如MP3、AAC、MPEG4、JPG、PNG、GIF 等,可方便的开发多媒体应用程序;Android 集成地图模块,Location接口和Maps 接口使开发M-GIS(移动地理信息系统)更加容易。
2.2 Android的架构和工作机制
Android 系统平台由以下四个层次组成:Linux 内核层、开发库层、应用框架层、应用程序层:
(1)Linux 内核层。基于Linux 2.6 内核开发,提供底层服务,如内存管理、进程管理、安全机制、网络堆栈等驱动模块,位于软件层和硬件层之间。
(2)开发库层。包括运行时库和其他库,Android运行时包含一组核心库(提供了Java语言核心库内的大部分功能)和Dalvik 虚拟机。它也提供了丰富的类库支持,并且开源,如数据库SQLite、OpenGL ES 等。
(3)应用框架层。开发人员可跟核心应用一样,拥有访问框架APIs 的全部权限。结构化设计简化了各组件之间的重用,所有应用都可以分发自己的组件,也可使用分发的组件。
(4)应用程序层。Android 包含一套核心应用程序。包括e-mail 客户端、短信程序、通讯录、日历、浏览器、地图等。
Android 上应用程序有活动、服务、接收器和ContentProvider 四种主要类型。活动(Activity)是最常用的Android 应用程序形式。一个应用程序可包括一个或多个活动;服务(Service)是"在后台"运行着的应用程序,服务是没有UI 的应用程序;接收器(Receiver)接受请求并处理intent,并且没有UI元素;ContentProvider 是数据储存抽象机制。
2.3 Android 与其他手机操作系统的比较
从手机操作系统的Portablity、Relisbility、Connectivity、Product Diversity、Open Platform、Kernel Size、Standards、Security和Special Features 几个方面进行比较,比较结果如下表:
表1 手机操作系统对照表
3 移动本地个人数字图书馆手机客户端功能设计
系统可采用 MVC 设计模式,视图由res/目录中XML 文件来实现,很好的将显示层分离,可增强程序的阅读行,并有利于系统的后期维护;控制器由Activity与用户的交互实现;模型层可用ContentProvider 实现系统内部资源共享。
(1)用户和图书管理模块[4].用户管理主要是读者和图书管理员的账户信息注册、查询、修改等,读者和管理员都可以通过手机客户端直接登录系统,进行账户管理;图书管理是指图书的检索、借阅、预约、续借等,借阅模块可以使自己避免借阅超期,续借模块可以延长开到期的图书的时间,预约模块可以预约未归还的书。
(2)在线阅读模块。此模块要包括在线搜索图书功能;在线及时阅读图书;书签功能,收藏阅读资源,记录阅读历史,方便第二次阅读;预读下页功能,使阅读更流畅;屏幕缩放和滑动翻页功能,阅读更人性化。
(3)数字资源下载模块。可以将喜欢的数字资源下载到手机本地,当网络断开时可以直接阅读本地资源,对本地资源分类管理,提供各类资源阅读器;建立全文索引,便于本地搜索。可用Service 实现,作为后台服务,不受其他进程影响。
(4)本地检索模块。本地可根据主题、题目、作者、关键字、摘要等进行本地全文检索。
(5)读者服务模块。在此模块读者可根据自己的兴趣定制信息和服务,例如热门书推荐、评论等,根据定制的服务,服务器端的信息更新及时推送到手机客户端。
(6)图书馆地理位置导航模块。用户可用来方便找到图书馆的位置。可用Android 集成地图模块实现此功能。
4 结论
目前移动数字图书馆已经有了很大的发展,但是多数还是基于短信和WAP 模式,有一定的局限性。本文分析胖客户端/服务器模式和Android操作系统的优势,构建了基于Android平台的本地个人数字图书馆模型。该系统打破了网络的限制,可随时访问图书馆资源,根据个人爱好建立自己的本地图书馆。手机是目前发展最快的网络移动设备,个人移动本地数字图书馆的模式打破了传统图书馆的模式,为图书馆服务提升了空间。