设为首页 加入收藏

TOP

选择开发移动应用程序的数据库
2014-11-23 14:00:36 】 浏览:1546
Tags:选择 开发 移动 应用程序 数据库

  选择开发移动应用程序的数据库


  第一节 引言


   也许开发所有的网络和企业应用程序项目必须做的事情就是使用关系数据库管理系统(RDBMS)来有效的处理存储和检索基于表的数据的操作。RDBMS已经成了最流行的数据库管理系统(例如Oracle 9i ,MS SQL Server和IBM DB2),而且也包括以存储过程和触发器的形式在数据库内直接编码应用程序逻辑的能力。像Oracle 9i 和Sybase Adaptive Server企业版这样的高级数据库甚至包括用于开发操作数据的Java存储过程或Servlet的数据库中运转Java虚拟机的功能。


   这些工业应用的企业级数据库产品都可使用通用SQL语言存取数据并使用像ODBC 或 JDBC这样的标准化数据库应用程序接口进行查询。这些技术已经发展到任何IT项目无论大小,离开关系数据库就无法工作的地步。面对来自产品经理和用户们日益高涨的把现有的应用程序“可移动化”的请求,然而令企业应用程序开发者大吃一惊的是移动平台的数据库访问机制还未成熟。


   像Palm OS和 Window CE 这样的平台支持本地文件系统,用于在列表格式中存储数据;然而,这些文件系统实际上是非常简单的系统,不能通过SQL查询。这使开发者不得不手工编码每一个自定义数据存储和检索的解决方案。


   我还应该提到,移动平台系统的数据库应用程序接口显然是完全不同的,并且你还需要编写你们自己的数据同步化代码以确保手持设备上编辑的内容能够返回企业数据库中。


   第二节 移动数据库应用程序开发技术


   默认情况下,PDA平台上的数据同步化是通过使用由开发者编写的一个管道(conduit)处理的。当一个Palm用户按下Sync按钮时,管道软件(驻留在用户系统中的DLL或COM对象)访问 Palm系统数据库并检索一个或更多指定的表。如果需要的话,这个操作可以使用一个ODBC/JDBC调用插入或更新一个企业关系数据库,如果没有其他的任务的话,这个操作就相当地简单。


   Palm甚至为 Java、 COM和 C/C++开发者提供 Conduit SDK。然而,万一万恶的老板还让你的应用程序能够被 Windows CE支持并且被手提电脑支持,老天,我们该怎么办?这可能就产生了三个数据库模块(手提电脑中的 JDBC/ODBC/ADO,Palm OS上的 Palm数据库应用程序接口以及Windows CE中的 ADOCE)以及三个同步化解决方案(从手提电脑到服务器的 TCP/IP套接字,从Palm到Conduit的HotSync以及从 WinCE设备到Conduit的 Microsoft ActiveSync )。


   别害怕,符合我们需要的移动关系数据库已存在了!事实上,随着版本的不断提升,这些移动数据库的功能正变得越来越强大。这其中有许多中数据库系统可以使用在多个平台上,可以使用流行的程序设计语言如 C/C++、 Java和 Visual Basic,以及服务器端的数据合并和同步化。本文中,我们将探讨三种流行的提供多操作平台和程序设计语言支持的数据库产品。


  第三节 Sybase SQL Anywhere/Ultralite


   当前的移动数据库市场的领头羊(超过60%市场份额)是 Sybase的 SQL Anywhere 产品。这种产品的最初的版本是定位于需要同步支持服务器版本的 Sybase数据库( 现在命名为 Adaptive Server EntERPrise)的移动用户。发展了几年以后,这种产品已经慢慢的包括了一个微型的关系数据库,通常称为 Ultralite,可以在多种平台上配置并且支持许多同步化选项。虽然SQL Anywhere数据库是一个功能强大的SQL数据库,并且包括了安全性和高端数据库功能比如存储过程和触发器,但是如果你正在多个移动平台上配置应用程序的话你可能会对Ultralite更加有兴趣。现在, Ultralite可用于 Windows 95/98/NT 、 Palm OS、 Windows CE和 EPOC 。它的应用程序接口可用于 C/C++ 和 Java程式语言,并且这些应用程序接口在所有的支持的平台上保持不变。


   不象其他从台式机移植到移动设备上的关系数据库系统那样,Ultralite数据库是特意为没有硬盘的设备设计的,这意味着这个数据库在存储器使用上已达到最优化,即使使用最小的内存也能提供最高的性能。SQL Anywhere包含的另一个强大功能是MobiLink 同步技术。MobiLink是一个基于服务器的同步化引擎,它可以通过串行口、 TCP/IP、 HTTP 、 HotSync 、 ScoutSync或 ActiveSync连接与远程客户通信。使用象 MobiLink 这样的通用同步技术可以极大地削减开发费用,因为MobiLink能够处理高级的同步操作,比如瞬象(snapshot)和时间戳同步、主键维持、冲突的检测和解决等。在服务器端,所有的MobiLink同步逻辑都是通过使用后台数据库的SQL的事件处理的( MobiLink通过 ODBC 连接数据库,所以事实上支持所有的SQL数据库),通过使用 Certicom的 SSL/TLS Plus 来支持公钥加密功能(使用椭圆曲线加密系统技术)。如果在编写应用程序前把可能发生的时间都考虑好的话,那么 SQL Anywhere/Ultralite 组合将是一个极强大的移动数据库和同步解决方案可以满足任何任务。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇一种高效的javabea分页ForSqlServ.. 下一篇多线程中的死锁举例与分析

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目