熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

高可靠性移動應用程序---J2ME工具(3)

2022-06-13   來源: Oracle 

  JME移動數據庫的選擇
  當然PointBase並不是JME移動數據庫產品的唯一選擇在本文的剩余部分我會比較和討論幾種主流的競爭者在開始以前先讓我來闡述一下這個產品的前景
  
  高端設備上的JDBC數據庫
  對於運行PersonalJava或Personal Profile的高端設備數據庫能夠通過JDBC API被訪問JDBC數據庫對於程序來說是最容易的數據庫類型所有的廠商已經至少有一個這種種類的產品最大的挑戰是如何平衡這些功能我們想要最小而且最快的數據庫它能夠支持應用程序所需功能的准確集合
  
  MIDP設備上的輕量級數據
  CLDC(有限連接設備配置Connected Limited Device Configuration)/MIDP並不支持JDBC接口在MIDP設備上支持復雜數據管理的兩個通用方法是
  
  執行非常輕量的數據庫和RMS上的類似JDBC的訪問API這個方法很耗費資源但根據開發者開發能力和性能支持證明是最好的
  
  直接擴展RMS類並在擴展的類上執行簡單的行序列化數據訪問索引/搜索和同步方法這個擴展類是RMS上的一個細小的層次它能模擬關系表的行為
  
  在產品評論的章節裡我將討論這兩種方法
  
  同步服務器
  眾所周知同步是移動數據庫的一個關鍵性能大多數數據庫廠商有他們自己專有的同步服務器這些服務器提供許多附加功能來優化在移動環境下的同步過程同步服務器的重要性能包括如下幾點
  智能沖突解決方案
  帶寬減少
  端到端編密碼
  後台引擎性能調整
  異步和可擴展更新
  
  接下來的幾章裡我將檢查和比較幾種主流廠商的產品
  
  HSQL 數據庫引擎
  開放源碼的數據庫引擎?DHSQL是基於Thomas Mueller的Hypersonic SQL項目它完全是由Java是編寫的同時也是一種廣泛用於嵌入式的數據庫它被包含在許多JEE應用服務器中在移動設備上HSQL運行在PersonalJava和FP/PP平台上HSQL是完全免費的你能自由地將它重新部署到你的應用程序中這對移動應用程序來說是容易的
  
  HSQL提供一個支持%JDBC接口和所有JDBC數據類型的JDBC驅程它支持事務外鍵甚至Java存儲過程在HSQL中的表能寄存在內存中和保存在磁盤文件中HSQL只有少於KB的存儲器足跡footprint它也為PersonalJava設備發布了一個數據庫管理控制台(經過Sharp Zaurus上的測試)
  
  然而HSQL缺少一些商業移動數據庫上所需的高級性能和安全功能更重要的是HSQL不能提供任何同步解決方案它也缺少一個為MIDP設備的解決方案
  
  PointBase Micro
  PointBase是一個純Java嵌入式數據庫方面的主流廠商PointBase Micro數據庫能運行在FP/PP/PersonalJava和MIDP平台上
  
  在FP/PP/PersonalJava平台上PointBase Micro 數據庫僅用 KB 存儲器足跡就能支持大多數JDBC和SQL功能它也支持例如數據庫編密碼這樣的高級功能它不支持存儲過程和接口CallableStatement因此MIDP不支持JDBCPointBase為MIDP提供它自己的輕量級類似JDBC的APIPointBase Micro 數據庫的MIDP版本提供了一個用浏覽器打開的MIDlet數據庫控制台
  
  PointBase Micro 數據庫通過UniSync 同步服務器能容易地同服務器端PointBase嵌入式數據庫和Oracle 數據庫同步
  
  Sybase iAnywhere 解決方案
  在膝上型電腦上的輕量級數據庫ianywhere的SQL Anywhere Studio已經擁有巨大的市場份額在普遍設備上的移動數據庫市場它也有一個強大的份額Anywhere SQL Studio 的自定義數據庫生成器是它一個關鍵創新它讓用戶而不是數據庫廠商決定如何平衡數據庫存儲器足跡和它所支持的功能
  
  在Anywhere SQL Studio中用戶能指定將在應用程序中調用的SQL狀態SQL statement它根據用戶對根本性質和事務功能的選擇生成一個自定義數據庫所生成的數據庫是一個純Java類以及伴隨的一系列用戶應用程序能調用的API使用iAnywhere MobiLink 同步服務器的數據同步API也能加入到自定義數據庫中去
  
  除了自定義數據庫生成器iAnywhere也提供大存儲器足跡和移動數據庫的一般用途它包括支持Java儲存過程 Java stored procedure在內的許多安全優化和可用性方面的功能這些數據庫為了達到更好的性能天生就運行在流行的移動平台上Sybase iAnywhere SQL Studio 現在仍然不能支持MIDP數據庫的自動生成
  
  IBM DB Everyplace
  IBM DB Everyplace是IBM在移動數據庫的禮物對於IBM的客戶來說DB Everyplace非常好地整合了其他IBM企業組件(例如DB Universal Database 和WebSphere MQ Everyplace)和IBM開發工具(例如IBM WebSphere Studio Device Developer)DB Everyplace本身運行在包括Palm OSSymbian OSPocket PCQNX 軟件系統和嵌入式Linux在內的許多平台上DB Everyplace支持加密數據域和表存儲優化功能
  
  在MIDP平台上DB Everyplace有一個叫FastRecordStore的產品它仿效在MIDP RMS記錄存儲之上的可索引和可搜索的關系表
  
  DB Everyplace 數據庫和FastRecordStore通過IBM同步引擎與後台數據庫同步DB Everyplace也附帶一個叫Mobile Application Builder 的工具它允許開發者可視化地創建DB Everyplace 應用程序
  
  Oraclei Lite
  Oraclei Lite是Oracle在移動數據庫上的產品它可運行在Plam OSPocket PCSymbian OS和Win 等平台上Win這個版本是為了能運行在膝上電腦上並支持JDBC多用戶模式以及Java存儲過程Oraclei Lite的Pocket PC和Symbian OS版本支持JDBC而Palm OS版本僅支持Oracle自身專用的OKAPI(對象核心API Object Kernel API)和ODBC(開放數據庫連接Open Database Connectivitiy)Oraclei Lite suite包括一個移動開發工具Mobile Development Kit它能夠根據用戶自定義需求自動生成和打包移動數據庫應用程序目前它只能生成本身客戶端應用程序
  
  Oraclei 移動數據庫通過Oracle移動服務器和後台Oracle數據庫服務器同步如果我們使用Oraclei Lite 移動開發工具來創建應用程序則移動服務器會自動為這個應用程序生成同步邏輯Oraclei Lite支持任何基於TCP/IP的網絡上的同步包括HTTPCDPD(單元數字包數據cellular digital packet data)b無線局域網通過使用移動服務器的開放傳輸API Open Transport APIs我們也能增加新的傳輸另外Oracle移動服務器支持非同時的同步在高峰期每個設備只是把同步內容提交到一個隊列中然後退出異步操作是可擴展解決方案的關鍵
  
  在MIDP平台上Oracle提供SODA(簡單對象數據庫訪問Simple Object Database Access)這個產品是基於RMS的SODA實際上是一個支持MIDP設備的面向對象數據庫它允許存儲搜索和恢復類似JavaBean的數據對象
  
  選擇正確的移動數據庫
  選擇正確的移動數據庫產品是個復雜的商業決定由於移動數據庫嵌入在客戶端應用程序中你需要為你所開發的每個產品支付版稅為減少總開銷而簽訂一個好的合同是非常重要的由於同步解決方案所特有的性質每個產品都在某種程度上鎖定了廠商因此開發人員不僅應該考慮到產品的技術優點而且應該考慮到廠商的一貫聲譽和穩定性例如如果你的移動客戶端需要MIDP和Personal Profile 數據庫你應該選擇同一廠商中更好傳輸率的產品和更易管理的同步解決方案
  
  PointBase和Sybase iAnywhere提供極好的移動數據庫解決方案然而如果你的企業基礎架構主要是IBM或Oracle那麼最好選擇DB Everyplace 或Oraclei Lite 移動數據庫
  
  移動數據庫和同步解決方案是高可靠性移動應用程序的重要組件他們提供了新的而且有前途的偶然連接移動應用程序范例在閱讀完本文後你應該已經能夠使用JDBC和PointBase APIs設計和執行移動數據庫應用程序由於移動數據庫運行在小設備上當選擇商業產品時你需要仔細權衡特征和儲存器足跡而不是性能
From:http://tw.wingwit.com/Article/program/Oracle/201311/17782.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.