嵌入式移动数据库Oracle Lite
Oracle公司推出的嵌入式移动数据库系统 Oracle Lite 10 g是一个可扩展的移动解决方案, 为移动和嵌入式环境应用的开发、 部署和管理 提供了强有力的支持。
Oracle Lite 10 g为本地数据库与中心数据库的数据交换提供可靠和安全的运行环境, 它在无需用户干预的情况下和中心数据库进行自动数据同步, 这种数据同步是 双向的, 数据同步可以在企业数据库或者移动设备上发起。Oracle Lite 10 g同时提供各种集中式管理工具, 实现应用程序、 设备和用户的管理。
Oracle Lite 10 g主要由移动服务器 ( Mobile Server) 、 移动关系数据库( Database Lite) 和开发工具三部分组成。
1 )移动服务器:移动服务器提供数据同步机制, 同时为应用程序、 用户和设备提供可扩展的部署和管理环境。
2 )移动关系数据库:移动关系数据库 Database Lite 是客户端轻量级数据库, 支持 Windows 3 2 -b i t 、 Windows Mobile 、 Linux以及 Symbian OS等多种平台。Database Lite 数据库不是一个小型的 Oracle数据库,而是专门应用于嵌入式设备的、 提供安全的关系数据库存储、 自管理和自调整的数据库。
3 ) 开发工具: 开发工具为移动应用提供快速、 简单的开发环境。
Oracle Lite 移动应用系统包括 Oracle Lite客户端、 移动服务器和移动服务器数据仓库。
Oracle Lite 客户端包括 Oracle Lite数据库、 同步代理程序、 设备代理程序和更新工具。同步代理程序为应用程序和数据同步提供支持, 设备代理允许管理员通过命令来远程管理设备, 更新工具支持新版本程序下载。
移动服务器作为中间层, 为 Oracle Lite客户端和后台数据库进行同步提供运行环境, 同时提供应用程序、 用户和设备全生命周期的部署和管理。
移动服务器数据仓库以数据库表、 视图等形式存在于 Or a c l e 数据库中。
Oracle Lite t e数据库中的数据是 Oracle 数据库的数据子集, 这个子集在移动设备中以“ 快照” 形式存在。当用户在离线状态下对Oracle Lite数据库中的数据进行更新后 , “ 快照” 通过日志文件来保存更新痕迹。
移动服务器作为 Oracle Lite 数据库和 Oracle 数据库的应用中间件, 负责完成数据同步。所有对Oracle Lite 数据库的更新通过移动服务器提交到后台服务器, 同时Oracle Lite数据库也下载更新。数据同步执行时不需要独占数据库锁, 保证了客户端应用程序在持续访问本地数据库的情况下, 同时进行数据同步。
数据同步的调度
数据同步有以下三种调度方式。
( 1 ) 在移动客户端执行名为 mSync的程序。
( 2 ) 在移动客户端调用同步 API 。
( 3 ) 预定义规则, 当规则被触发时自动执行预定义规则包括面向数据的规则和面向平台的规, 例如当客户端或者服务器的数据更新超过预定义的值, 或者当客户端移动设备的电量低于预定义的等级 。
数据同步过程
Oracle Lite 的数据同步过程采用异步的数据同步机制, 通过在移动服务器中的队列来收集和下载数据更新。
移动服务器 中后 台运行 的 MGP( Message Generator and Processor ) 进 程 异 步 地采 集 所有 Oracle Lite客户端的更新数据并提交到后台数据库的基表中, 然后对数据进行合并, 根据客户端的订阅情况, 下载到每个客户端。
MGP进程同时管理两个队列, 即 IN队列和 OUT队列, 同步过程分两步进行。将客户端 Oracle Lite数据库中更新的数据放入到 IN 队列 , 同时从 OUT队列取得数据, 更新客户端 Oracle Lite数据库。将 IN队列中的内容提交到 Oracle数据库中的基表, 对更新进行合并, 将基表中的更新数据放入到客户端 OUT队列。
Oracle Lite提供基于 web界面的移动管理器, 用于对移动应用程序、 设备、 用户和移动服务器
进行统一管理。通过移动管理器,管理员能够查看、 监控和管理各移动客户端。移动管理器支持应用程序管理、 用户管理、 系统管理、 同步管理和设备管理。
1 ) 应用程序管理
采用打包向导工具, 将应用程序打包并发布到移动服务器数据仓库。移动管理器允许从移动服务器仓库上传、 删除应用程序以及修改应用程序属性; 为应用程序分配组和用户, 通过设置参数来指定数据子集。
2 ) 用户管理
用户管理定义新用户和组, 为组和用户建立角色, 控制应用程序的访问权限。
3 ) 系统管理
系统管理提供对所有移动服务器进行管理, 包括活动用户同步会话的详细信息, 动态设置跟踪属性; 允许管理员指定过滤条件, 指定 日志文件和跟踪文件的大小; 通过管理界面动态设置配置文件webtogo.ora中的参数。
4 ) 同步管理
同步管理对用户同步结果提供详细的监控, 例如启动和结束时问, 上传和下载持续时间, 记录总数等; 监控和管理同步服务和性能, 跟踪同步历史,浏览同步信息, 监控 MG P的性能等。
5 ) 设备管理
设备管理提供如何对设备进行配置以及远程管理这些设备上的数据和应用程序。支持远程检查客户端设备硬件和操作系统; 远程查询和修改应用程序配置参数; 客户端数据库信息恢复、 验证以及和后台数据库同步; 客户端设备锁定、 应用程序删除、 数据删除等。
移动开发套件为开发移动应用程序提供快速开发和部署支持。移动开发套件提供 JDBC,ODBC,ADO.NET等 Oracle Lite数据库访问接口;支持同步 API支持Java、 C /C++ 和.Net语言; 支持 Oracle J Developer 1 0 g 、 Eclipse 、 Intelljj 、Microsoft Visual Studio.Net 、Sybase PowerBuilder 等开发环境。
开发者可以使用Java ,.Net或者 C/C++语言建立传统的本地、 离线的应用程序, 应用程序开发模型如图 3所示 。Oracle Lite同时还提供 OC4Jserverlett 容器作为本地的应用程序服务器, 使用 applets或者 Jave serverlets/JSP s , 支持开发无网络连接条件的基于 Web的应用程序。
移动数据库工作台是一个图形用户界面工具, 该工具使用一系列预先定义的步骤, 在开发人员编写应用程序代码之前, 指导开发人员来指定发布项, 共享队列, 存储过程或者触发器, 以及用于在客户端数据库执行的数据定义语言。
打包向导是一个图形用户界面工具 , 为开发人员提供建立、 编辑和发布新的移动应用到移动服务器中提供支持。开发人员使用打包向导来指定应用程序元数据( 例如在 mobile server 上的名称、 位置等) , 包含应用程序的文件集, 应用程序使用的发布模式等。
开发及运行环境建立
数据库服务器和移动服务器可以是同一台主机 , 也可以不是 同一 台主机 。
1 ) 在数据库服务器上安装 Oracle 数据库。
2 ) 在移动服务器上安装 Oracle Lite , 以及 MD K。
3 ) 从 移动服
务器中复制针对特定PDA的Oracle Lite程序版本到 P D A 中, 该安装程序版本为自解压程序, 直接运行安装。
4 ) 重新启动 P DA 之后 , 进 入 \oracle文件夹, 运行 其 中的 setup程序 , 出现如图 四所示 的界面 , 在该界 面中, 服
务器 URL 为移动服务器的地址和端口号 , 用户为在移动服务器 中预先建立好的用户 。
应用程序开发
Oracle Lite 支持Microsoft Visual Studio.Net开发平台, 同时 Microsoft Visual Studio.Net支持智能设备应用程序开发。在Microsoft Visual Studio.Net集成开发环境中, 新建工程, 引用 Oracle Lite 为.NET提供的开发库。
欲访问Lite数据库, 先引入 Oracle .DataAccess.Lite命名空间, 该命名空间提供了一系列的类用以实现 Oracle Lite 数据管理功能 。
OracleConnection liteConn=new OracleConnection(“DataDirectory=\\Oracle;Database=zblite;DSN=*;uid=system;pwd=709”);
liteConn.open();
// 根据连接对象创建命令对象
OracleCommand cmd=(OracleCommand)liteConn.CreateCormmand();
// 将相关 S QI 语句赋给命令对象并执行
cmd.CommandText=“update TZB_User set fpassword=1”
cmd.ExecuteNoQuery();
应用程序 的发布和管理
应用程序的发布可使用打包向导工具或者移动管理器两种方式, 我们采用打包向导进行应用程序发布。
使用打包向导工具, 将所有和应用程序有关的文件, 以及需要在移动终端设备上建立的数据表、序列、 视图等加入, 然后整体上传到移动服务器。定义在移动终端设备上建立数据表。在打包向导工具的最后, 是指定将应用程序发布到移动服务器
发布成功后, 在移动管理器中可以看到刚才发布的应用程序属性, 如图七所示, 此时可通过移动管理器来定义该应用程序的访问权限, 分配给用户或者组。
数据同步
运行 P DA中的mSync程序, 录入移动服务器的地址、 端口号, 以及移动服务器中的用户名和口 令 , 系统则按照该用户名关联 的应用程序进行下载, 并根据同步选项将本地的Oracle Lite数据库和 Oracle数据库进行同步。