10種無線技術詳細介紹
之一:WAP技術和開發要點
移動設備(諸如智能電話和PDA)正在被充分應用到企業應用架構之中。這種想法最初是逐漸潛入人心的,但是發展趨勢卻顯而易見:企業用戶正在將移動設備運用到日常工作當中。這就是結構設計者在勾畫應用于整個企業的程序結構時需要考慮將Java運用到電話中(甚至給手機配備基本的上網功能)的原因。
基于Wireless Application Protocol (WAP)技術的具有瀏覽網頁功能的手機在北美和歐洲一帶逐漸流行起來。WAP是由無線應用協定論壇(the WAP Forum)發展并流傳開來的,該論壇是由一群無線和通訊產業的公司組成,發布了能夠在無線設備上所使用Web內容和應用的“產業標準” 規范。于近期被認可的WAP版本是2.0版,但要到2003年我們才可能看到支持該版本的手機批量問世。目前,WAP1.1和WAP1.2.1版本是最為流行的。
WAP開發要點:
在企業Web應用程序中將諸如電話和PDA等基于WAP的設備作為最終用戶。
雖然通過使用HTTP和HTML等著名的協議會使WAP2.0開發更容易些,但近期內我們仍需要以WAP1.x為途徑進行開發。
編寫服務器端代碼使其可以生成HTML和WML,同時也要考慮屏幕大小和數據流量。
雖然有可用的代碼轉換器及HTML和WML間的轉換器,但很少能夠將設計漂亮的HTML頁面轉換成同樣漂亮WML頁面。你需要有特殊設計的中間件或使用系統自帶的XML/XSL解決方法。
WAP Forum 在設計1.x版本的時候是經過深思熟慮的,但它和我們熟知和喜愛的3W協議 (比如HTTP, SSL 和HTML)并不兼容。WAP1.x堆棧被定義為五層,自底向上依次是:WDP (Wireless Datagram Protocol), WTLS (Wireless Transport Layer Security), WTP (Wireless Transaction Protocol), WSP (Wireless Session Protocol), 和 WAE (Wireless Application Environment,包括 Wireless Markup Language 或 WML, 以及 WMLScript )。每一層都和3W堆棧層面大致吻合:WDP->IP, WTP->TCP, WTLS->SSL/TLS, WSP->HTTP, 以及WML->HTML.
2002年,WAP Forum引入3W協議并將其加入WAP堆棧當中。如今WAP2.0開發者能夠象使用WAP 1.x協議一樣運用TCP/IP, HTTP和SSL, 以WAP2.0電話為目標進行開發。雖然現在難以確定這種雙向方法是否可行,這種做法無疑使WAP與World Wide Web Consortium 和IETF( Internet Engineering Task Force)的建議和標準更好的同步。WAP協議和3W協議的合并將很可能使無線Web應用更容易投入使用,但是如何設計一種可以良好運用于大或小的 form factors的程序顯示還是具有一定的挑戰性的。Web設計師不得不用一種不同的方法在小型設備上進行頁面設計,同時平衡移動設備的優點(諸如輕便性,及時性和位置識別性)和缺點(諸如傳輸速度慢,顯示屏太小,以及輸入法笨拙等)。
?
之二:移動標示語言和開發要點
移動標示語言(Mobile Markup Languages),建立并傳送信息到移動設備上(例如Web電話,傳呼和手持設備)的過程和將其建立和傳送到臺式電腦或其他Web應用程序的過程相似。當然它們也有重要的差別。開發者必須因為移動設備屏幕更小,內存更小,計算能力較弱,以及數據流量更小而做出各種權衡。因此,許多傳送到移動設備中的內容沒有象在Web的目前標示標準HTML4.0的版本中那樣被完全格式化。這里有三種被推薦的替代方法:
?WML
?Compact HTML (cHTML)
?XHTML Basic 及 XHTML Mobile Profile
WAP是一套包含WML的協議,它符合XML1.0標準。WML是一個由WAP Forum設計并實施的全球工業標準。WAP2.0中對WML和低層傳輸協議進行了重要改進。WAP Forum設計的2.0版本將適應W3C中關于HTTP 和XHTML的標準,安全性更好,更新后的用戶界面和輸入法將跟上移動電話硬件的飛速發展。
移動標示語言開發要點:
?應重新設計內容和應用,尤其是面向移動設備的。
?應通過平衡移動設備的便攜性和屏幕大小以及數據流量而突出其特性。
?應使用中間件和服務器端生成動態頁面來支持多種標示語言。
cHTML是由Access公司推出的一種標示語言,于1998年被吸收成為W3C標準。cHTML因其用在日本DoCoMo公司提供的時下流行的i- mode無線Web服務中而名噪一時。cHTML和HTML結合使用讓i-mode應用發展得以輕松入門。結合DoCoMo公司的低成本B2C傳輸費用和 i-mode在年輕人當中的聲望,cHTML的成功指日可待。
目前,cHTML和WML兩種語言處于競爭狀態,CHTML的優勢是普及廣,而對WML來說,作為XML語言的實現者以及被設備制造公司和內容供應商廣泛采納則是其優勢所在。如今,cHTML和WML被溶入了結合所有最佳標示選項的HTML新版本-XHTML Basic 和 XHTML Mobile Profile.XHTML Basic 語言規范的制定者來自于各大公司,包括Openwave(Phone.com支持WML),Access Co. Ltd. (支持cHTML), W3C (從 XML 和 HTML 的角度出發), Sun, Ericsson, 以及Panasonic.
XHTML Basic是XML中對HTML4.01版本的實現。XHTML花費了相當長的時間改進了在HTML規范中的許多模棱兩可的問題。在XML的嚴格引進下, XHTML給瀏覽用器及其他瀏覽設備提供了清楚的頁面輸出導向,并允許使用“模塊”組件選擇處理瀏覽器性能的變化。XHTML是HTML的接替版,在未來的版本中所有的瀏覽器都將支持XHTML.
2000年12月,W3C發布了XHTML Basic 規范作為限定資源設備的推薦規范。2001年,WAP Forum 和DoCoMo正式采用XHTML Basic作為未來瀏覽器開發的基本標示語言。XHTML Basic是通過使用XHTML模塊來實現的XML文檔類型,這些模塊是構造XML文檔類型的“積木”。XHTML Mobile Profile是增加了用于顯示元素和內部style sheets模塊的XHTML Basic的擴展集。
符合WAP2.0技術的設備將通過同時支持WML 1.x 和 XHTML Basic或通過實現XSLT轉換來和WML1.x向下兼容。符合XHTML Basic規范的WAP2.0設備將具有先進的用戶界面,動畫效果,彈出式菜單以及顏色,這些將使得WAP內容與i-mode 內容一致。另外,Access公司和DoCoMo已就向XHTML Basic規范靠攏方面達成部分一致。
之三:多模式標示語言和開發要點
多模式標示語言(Multimodal Markup Languages)
對無線Web程序的開發者來說,最難的一關是設計用戶輸入法以及在設備上顯示出信息,這在很大程度上是一種使用性能大挑戰。對許多缺乏耐心的人來說在電話的數字鍵盤上打字是最為乏味和痛苦的。而且,電話機以及手持電話的屏幕太小也會使信息難以閱讀,并給大量信息的顯示造成一定困難。
現在有一種方法可以使這種情況得以改善,它可以在一定程度上解決問題,而且效果非常明顯:使用語音傳輸。每種電話的聽筒都有一個擴音器和揚聲器用于語音的傳入和傳出。很多PDA產品都配有擴音器和音質良好的揚聲器。有了這些語音傳輸工具,移動程序設計者就可以給用戶提供一種其他方法去捕獲和傳送信息。
多模式標示語言開發要點:
絕大多數人將電話作為通話手段,其次才是將它作為數據終端。
研究智能電話的Java開發者通過結合使用XHTML+Voice 和 SALT設計出多模式程序(包括語音,文本,圖形),并以此同時滿足消費者和公司的要求。
盡管XHTML+Voice 和 SALT還處于早期開發階段,但它們很可能迅速流行起來。而VoiceXML(XHTML+Voice 的前身)則被廣泛用于只傳輸聲音或其他交互式聲音回應程序當中。
但是如何將語音傳輸功能運用到無線Web應用中去呢?在VoiceXML中定義了一套用于捕獲和傳送語音的的語言,但它不支持例如文本,圖形或視頻等其他形式的輸入和輸出。IBM和Motorola以及Opera共同研制了一種在Web程序中加入聲音,文本和圖形等多種性能的的方法:模塊化 VoiceXML 2.0并將它結合到XHTML當中 (XHTML+Voice)。這種方法與W3C所提倡的在內容的形式化、使XHTML易于擴展及保持該語言的靈活性方面的指導思想相一致。XHTML+ Voice支持語音合成,語音對話,命令,控件以及語音語法。
SALT(Speech Application Language Tags)是另一種解決方法,和XHTML+Voice不同,SALT 不但沒有借助于VoiceXML,反而特意避免VoiceXML的開發模式以及VoiceXML支持本語言中特有的重用性。SALT能夠充分利用支持語言的所有事件和腳本。例如,在使用HTML時,SALT標簽的用法就和其他HTML標簽一樣。SALT標簽可以通過使用腳本和包含屬性,方法和事件等進行設計,而這些屬性,方法和事件可以通過HTML頁面的文檔對象模式進行訪問。這并不是說SALT是綁定在HTML上的,其實SALT標簽能夠和SGML家族中的任何標示語言結合使用,比如Wireless Markup Language,Compact HTML,以及用在移動電話和手機上的具有新特性的XHTML profiles.同時開發者也可以將SALT和一些可視性標示結合使用,比如WML,XHTML,或用于只傳輸聲音(voice-only browsing)的標示(2000年12月,W3C發布了XHTML Basic 規范作為限定資源設備的推薦規范。2001年,WAP Forum 和DoCoMo正式采用XHTML Basic作為瀏覽器未來開發的基本標示語言。XHTML Basic是通過使用XHTML模塊來實現的XM在這一點上和VoiceXML很相似)。
之四:短信傳送和開發要點
短信傳送(Short Messaging)
Short Messaging Service (SMS) 短信息服務是指在無線電話或傳呼機等無線設備之間傳遞小段文字或數字數據的一種服務。SMS是一種相對較簡單和可靠的技術。SMS在1992年首次出現在 GSM電話中,而今所有的主要無線設備都支持它,而且大多數移動電話都有發送和接收SMS信息的功能。有數據顯示僅在2001年的12月其間全球就有 300億條文本消息被發送出去。用戶可以通過電話鍵將160個以內的數字或字母仔細地輸入一條SMS信息中。用戶也可以借助使用縮寫字母或者其他捷徑輕松完成信息輸入過程。
短信息開發要點:
SMS的地位已經確立;而EMS和MMS直到2002年底或更晚才會流行起來。
SMS并不容易開發,將短信和程序結合起來的最簡單的方法是使用第三方工具,比如Simplewire的 Java SMS SDK 和 object XP jSMS.
EMS是SMS的升級版本,而MMS是其未來版本,它要求使用3G無線構架模式。
如果WAP2.0連同OpenWave中的新興瀏覽器能在今明兩年贏得市場,那么MMS會很快流行起來。
由于短信息的流行,老式的SMS面臨著革新。一種新的換代產品增強型信息服務(Enhanced Messaging Service EMS)問世了,它使用了SMS技術并新增了對二進制對象如聲音、圖像和動畫等的支持。EMS可以使用預加到手機中的圖像和聲音。接收的信息中可以參照這些對象而不用將其下載。由于EMS對象是二進制編碼,所以會使開發過程就變得更復雜一些,而且會比單一的文本信息載荷更容易出錯。因此在使用SMS或者 EMS系統的界面中編寫代碼不是輕松的工作。Simplewire的 Java SMS SDK和object XP的 jSMS等產品將同各種SMSC進行交互的大量細節方面的內容掩藏了起來,并給用戶呈獻一種清晰的對象界面以執行傳信功能。
一些手機制造商正在研究一種更為前衛的多媒體短信發送功能。這種多媒體信息服務(MMS)是在SMS產生10周年后的一個新生代產品。MMS使用XML格式和現有的HTTP及WAP基礎結構。MMS在產業界有著強大的后盾,WAP Forum已將其加入新的WAP 2.0建議書中,而手機制造巨頭Nokia, Motorola, 和Ericsson也開始將MMS用于他們未來的產品中。MMS網絡將手機和其他MMS用戶連接到MMS代理和服務器上,它們會依次連接到 Internet電子郵件服務器上,以及SMS和EMS系統中。這樣將會使開發者輕松進入傳信系統中,只要使它兼容于我們熟知的Web和無線開發界面及工具就可以了。
MMS已被安裝到50多種裝置上,但要普及的話恐怕要等到更快性能更好的第三代網絡和電話的問世了。在它的首次迭代過程中,MMS使用了W3Cd 一個標準-Synchronized Multimedia Integration Language( SMIL)和WAP的WML作為其基本語言在多媒體信息中體現其文本風格和色彩圖像。
之五:SyncML及開發要點SyncML
信息化同步是無線設備產生之后應運而生的產物。負責管理著我們的日程安排,通訊簿,任務目錄和電子郵件的個人數字助理和智能電話通常并不能完全發揮其作用,除非將他們的信息庫與個人電腦中的類似信息庫或者企業信息服務器相連才能將其完全利用。有很多實現同步化的方法,但通常最簡便的方法也就是最好的方法:用一個普通協議將基于文本的更新材料從一個數據源傳到另一個。而SyncML就是這樣一種方法。
SyncML開發要點:
?數據同步化是電話和其他移動設備應用的需求。
?
幾乎所有的同步化服務器產品提供者都支持SyncML.
?如果你自己處理同步化工作,請在SourceForge中查閱sync4j項目。
由Ericsson, IBM, Lotus, Motorola, Nokia, Matsushita, Openwave, Psion, 和 Starfish Software提供贊助,SyncML 聯盟建立和發行了SyncML協議,它是一種使依從該協議的設備、開發程序和服務在網絡中實現信息同步化的通用語言。SyncML用于在HTTP,WSP (會議層協議,基于WAP的無線Web應用),OBEX(一種對象交換協議,它基于紅外線和藍牙技術并用于構建多種操作系統)和低層的TCP/IP以及電子郵件協議諸如SMTP, POP3, and IMAP當中。
SyncML協議使用XML語言來編譯命令和數據并旨在成為和HTTP,SSL,和WAP一樣的最好的Web協議,因此它兼容用于Web- friendly移動平臺(如J2ME)的開發程序。開發者只需使用最少的工具便可在移動程序中加入同步化性能。用來建立和讀取XML文檔的剖析器是處理 XML執行過程最好的方法,但卻不是必須的方法。一條SyncML信息本身就是一個經過處理的包含標題和正文的XML文檔。標題由SyncHdr元素和該信息的路由和版本信息組成。正文包括SyncBody元素和同步命令,以及相關數據。
正文部分是真正執行處理過程的地方。SyncML指定13種必帶命令。例如,Add元素可以包括授權認證,指定同步化數據格式的元數據,以及數據本身。這個元數據可以直接被使用,例如,通過調用適當的XML命名空間來確定被附上的數據是一個vCard.然后該數據將出現在“text/x-vcard”命名空間里。
SyncMl語言有相應的SyncML框架支持,這種框架體現出用于完全的端到端交叉平臺同步化解決方案(幾乎包含所有移動設備,臺式機和服務器數據源)的結構,但是SyncML聯盟也不會擯棄現存的端對端單一平臺解決方案。Microsoft的 ActiveSync技術在Windows平臺上運行的很好并且Windows很可能是其單一平臺。然而我們還是期待Microsoft和Palm、 IBM等大的移動電話制造商合作,那么其他制造商將有可能實現同單一設備中普通實例間的同步化。
之六:802.11b無線局域網開發要點
在無需考慮耗電量但需要考慮傳輸速度的時候(比如在使用手提電腦瀏覽Web時)可以利用802.11b,802.11a和802.11gWLANs.其他無線協議如藍牙和IRDA(紅外線數據)則由于其耗電量低而更廣泛地用于PDAs和電話上,但是它們的傳輸速度比802.11低,而且發射范圍也小。
和幾乎所有的網絡協議一樣,802.11協議完全符合七層開放式系統互聯參考模型(Open Systems Interconnection (OSI) Reference Model),所以協議中的全部細則均被摘列并能夠通過應用層、表象層和網絡操作層中體現出來。
和藍牙設備,便攜電話,小型監視器(baby monitor)及其他無線電設備一樣,802.11b和802.11a的無線電操作系統也具有不規則的頻段。可以借助一些高級別的協議(比如用于藍牙技術的HTTP和Java API)來解決這種互用性問題。
IEEE小組的802.11b標準可能算是當今無線計算技術應用下最重要的主要產物了。IEEE的802.11b是802.11家族中的一種新標準,它利用無線電發射頻率將電腦及移動設備同局域網連接起來。它不像“藍牙”一樣有個容易記住的名字(有人曾試圖給它取個好聽的別名叫做“Wi-Fi”),而且它也沒有象CDMA2000 或者 UMTS (Universal Mobile Telecommunications System)那樣被冠以第二代無線技術奇跡的美譽。802.11b連接通常比其他類型的無線網絡連接的速度更快,而且使用802.11b無線區域網(WLANs)非常經濟,也很易于安裝,甚至對在家里使用的用戶來說也是如此。雖然在此之前,802.11b只使用在公司辦公室和家用網絡中,但現在 802.11b網絡的使用(常常是收費的)已遍布公共區域的“熱點區”之中。結合無線局域網在辦公室、家庭中的普及和在公共熱點區的收益,802.11b 絕對是一個大賣點。
802.11b的成功基于以下幾個原因:應用程序開發者無需知道他們的程序是在哪種網絡連接(無線或有線)中運行的,因為802.11b(還有其后續標準 802.11a 和 802.11g)及其有線標準使用同樣高級別的協議,類似的還有TCP/IP, HTTP, TLS等等。802.11b采用2.4GHz無線頻段并支持最大數據為11Mb/s傳輸速率,盡管在實際應用中的速率會低一些,那是由于用戶在同一射頻中共享帶寬或是因超過支持范圍而使性能降低。802.11a在5GHz頻段下提供56Mbit/s數據傳輸率,盡管它在實際應用中的速率也同樣會有所降低,但它還是比802.11b快好幾倍。802.11g是802.11家族中的另一成員,它能在2.4GHz頻段下提供56Mbit/s數據傳輸率。目前只有 802.11b標準是市場的主流,但802.11a和802.11g將緊隨其后并成為其替代產品。
IEEE802.11標準一個主要的安全問題已經解決。在WLAN安全性檢測性的庇護下,運行在802.11標準設備中的軟件更新有很大改進,但對于那些處理機密信息的應用開發人員來說,最好還是給代碼加一個額外的保護層。
之七:新一代無線電話網絡和開發要點
新一代無線電話網絡
新一代的無線電話和數據網絡使企業應用中的無線廣域電話和數據網絡在速度上邁進了一大步。不僅網速將提高5到10倍,而且連接模式由原來的回路交換(circuit-switched)提升到包交換(packet-switched)。這就意味著設備會始終連接到指定IP地址并能進入到所有 Internet服務中去。新一代技術中最有代表性的三種是:CDMA2000,General Radio Packet Service(GPRS), 和Enhanced Data Rates for Global Evolution (EDGE)。
新一代無線電話網絡開發要點:
新一代無線廣域網將始終和Internet相連,并實現包交換模式。在2002年,GPRS和CDMA2000的使用將遍布全世界,這使企業開發者開發出高速可靠的無線數據傳輸成為可能。同時由于其使用包交換,而且速度相對更快,所以這些技術將使無線應用程序更加完善和成熟。
筆記本和大多數PDA產品通過適配器連接到GPRS和CDMA2000中去,通常是以PC卡的形式連接。電話和一些手持設備配有內置無線電發射。如此一來,制造商通常會提供SDKs,它可以供給接用于顯示一個應用程序用戶界面(諸如信號強度和連接狀態)的相關信息。一些SDKs還將觸發事件,通過這些事件開發者能夠在出現問題和捕獲網絡中的數據(比如位置信息)時提示用戶。
CCMA2000是現存的第二代CDMA(碼分多址數字無線技術Code Division Multiple Access)移動電話系統的后續產品,主要流行與美國和亞洲一帶。它派生出的CDMA2000 3x是一種用于快速的(碼片速率2至4)第三代(3G)無線通信國際電信聯盟標準。網絡系統使CDMA2000 1x的最高傳輸速率達到144Mbps(但在實際應用中的速率大約只達到最高速率的三分之一或一半而已)。和GPRS和EDGE一樣,CDMA2000 1x被看作是一個2.5代移動通訊產品,因為它是處于第二代到第三代的過渡產品。
GPRS將第二代GSM移動系統的速度提升到一個更高的階段,并實現了包交換網絡,它在歐洲和美國一帶最為流行。和CDMA2000相比,GPRS的同時傳輸語音和數據的速度比目前傳輸速率是10Kbps的標準更快。在2002年,開發人員能將CDMA2000和GPRS應用推向全美國,多數通訊公司期待能夠實現一種接近56Kbs傳輸速度的數據服務。
EDGE是GSM技術的未來一代。EDGE使用增強型調制系統將數據傳輸速度提高到400Kbps,它比現存的GSM無線電頻波的速度高很多。
2002年之后(具體可能要到2003之后),世界會邁進很多人認為的真正的第三代移動通訊階段。屆時CDMA2000將發展到3x階段,而GSM網絡也將邁進寬帶CDMA(WCDMA)時期。WCDMA是Universal Mobile Telecommunication Service (UMTS)的基礎。目前看來CDMA2000和UMTS將同時占領3G市場。
之八:無線應用中的安全性開發要點
無線應用中的安全問題
無論是無線連接或是無線設備,端到端安全模式都是任何無線應用程序開發需要解決的首要問題。業界新聞報道說目前無線網絡安全缺乏的情況很普遍,包括 IEEE802.11b WLANs都有未經授權的登陸以及遭受到使一些無線Web網絡頗為頭疼而臭名昭著的“WAP gap”的侵襲。那么端對端的無線安全模式真的難以實現嗎?其實對于任何一種安全模式來說,沒有一種是完全牢不可破的,但所有大的無線協議都提供一些方法用來保護機密信息和阻止未經授權的訪問。
無線應用中的安全性開發要點:
目前使用的大多數802.11 WLAN由于缺乏安全性而受到直接的攻擊。SSID和WEP不足以保護網絡資源。目前一種能夠執行Extended Authentication Protocol combined with Transport Layer Security (EAP/TLS) 的新型硬件可以用來進行有效驗證和加密。但要確保你運行在WLAN上的無線應用程序能夠利用EAP/TLS.
一些移動設備支持虛擬專用網,一些無線中間件(比如Infowave Wireless Business Engine)將實現端對端安全通訊,即使是在安全性被置疑網絡中也是如此(比如WAP)。
一些藍牙設備將提供難以編譯的PIN. 這樣將通過使用額外的盤問式授權(authorization challenge)來提高程序的安全性。
要確保所有的移動設備用戶啟用本設備特有的訪問控制權(比如PIN)并確保不使用系統默認的或太簡單的密碼。
控制設備訪問權限。企業對幾乎所有的PDA、電話和移動設備實行加密保護。企業開發者可以采用這種平臺層的保護來阻止未經授權的訪問,或者用一個單獨的個人識別號碼(PIN)進入程序一個額外的保護層。
驗證、授權和審核。Triple-A是安全工作做的很好的企業一直采用的一種方法。企業無線開發人員可以將用于extranet和intranet程序中的相同的triple-A用在無線開發中,由于經常在內部使用的密碼很難從電話鍵上輸入,所以另一種全數字型的密碼被廣泛用于移動設施。
保密性和完整性。目前許多移動設備都有足夠的功率支持數據加密。開發人員很容易使用運行在Web上的SSL/TLS和無線Web中的WTLS(源自WAP堆棧)。使用被批準的證書也是確保從正常的渠道獲得內容的一種直接方法。
已知的弱點。最有名的無線安全漏洞是在IEEE802.11b和WAP中發現的。802.11b安全模式的主要組件是Wireless Equivalent Privacy (WEP), 其加密方法和有線Ethernet (802.3) 的標準相類似。安全專家已經證實WEP的安全層是可以被破壞的,然而許多基于802.11b的WALN連WEP保護都沒有。用于無線Web 的第一版WEP中列舉出一個被稱作是wireless transport layer security (WTLS) 的SSL-like實現能夠很好的運行安全模式,除非在某一時刻信息的保護權由WTLS轉向TLS時(此時無線Web會連接到World Wide Web上)才會發生意外。這種情況一般發生在WAP代理或網關之中,但在公司或網絡操作服務器室中通常是安全的。要確保網管能夠對服務器的使用權加以限制。
之九:藍牙技術和開發要點
用于藍牙技術的Java APIs
藍牙是一種無線網絡技術,最初是由計算機制造商和其它制造商提出的,它替代了電纜,在計算機、PDA、電話和外設之間實現了連接。例如,藍牙設備現在可以用來連接移動電話和免提耳機。自出現了藍牙技術以來,它就給我們設立了更高的目標,使我們可以創建“個人網絡(personal area networks,PAN)”或“piconets”。理論上,當藍牙設備之間建立了連接時,就自然地形成了PANs.例如,當一臺筆記本電腦連接到一臺打印機時,就會形成一個PAN.實際上,驗證、訪問權限的控制以及其它的安全問題,再加上來自其它無線網絡可能的干擾,會使這種情況變得復雜。
藍牙技術開發要點:
?JABWT盡可能地影響著J2ME類和框架。
?在使用JABWT開發時會使用到The Connected Limited Device Configuration (CLDC)。
?JABWT API已經開始在其他普通協議中和其他傳輸媒體(OBEX和RECOMM)結合使用。
總的來說,無線網絡的藍牙版本受到了越來越多的人的喜愛,從本質上說,藍牙技術很可靠。無線和計算機業界的倡導者們將藍牙技術作為一種規范來開發,將它作為一種低成本、低功耗的無線通訊方法,來連接運用未經授權的2.4GHz頻帶的設備。該規范主要針對三種電源,它們與三個連接間距相應:100 米,10 米和0.1 米。最常用的是在多達七種不同設備之間提供10米的連接間距。藍牙硬件和軟件的設計人員考慮到了由于安全性和網絡競爭帶來的復雜性(如801.11b無線 LANs)。
想在應用程序中運用藍牙技術的Java開發人員可以從兩方面來考慮。首先,藍牙技術可以是操作系統提供的一個服務,它可以從應用程序得以實現,這同 HTTP掩蓋了潛在的網絡協議(如802.11b和Ethernet)的低級實現有很多共同之處。第二,開發人員可以用Java APIs for Bluetooth Wireless Technologies(JABWT)來直接訪問藍牙服務。Java Community Process于2002年3月將JABWT作為最終規范發布了。JABWT至少需要512k的內存用于Java 2、一個藍牙堆棧和頻帶和J2ME Connected Limited Device Configuration(CLDC)的一個兼容配置或擴展配置。
JABWT為藍牙技術的實現提供了范圍很廣的一組接口,在JSR-82中有文件證明。JABWT將APIs根據discovery、設備管理和通訊加以分類。第一組接口可以幫助我們發現設備、查找設備并推廣設備。設備管理APIs包括安全性和Generic Access Profile方面的信息,它們用來描述本地設備并得到遠程設備的信息。通訊APIs用來同其它藍牙設備進行通訊,這些通訊是通過協議來完成的,如 OBEX(Object Exchange,也廣泛用于紅外線)、RFCOMM(通過Serial Port Profile提供)、L2CAP(Logical Link Control and Adaptation Protocol)和更高級的協議(如TCP/IP)。JABWT運用J2ME的Commected Limited Device Configuration中定義的Generic Connection Framework來提供基本的連接功能。
之十:JavaPhone API和開發要點
JavaPhone API
JavaPhone API定義了一組基于Java的接口,可以用來訪問智能電話和其它無線設備的功能。網絡操作人員、設備制造商和內容提供商運用JavaPhone在 PersonalJava平臺上構建設備。企業級Java開發人員將JavaPhone API作為一種穩固的、易用的對象接口用于設備所提供的服務,如Java Telephony API(JTAPI)、數據包信息傳遞、數據訪問(聯系人、日歷、任務和用戶配置信息)、電源管理和應用程序安裝。
JavaPhone開發要點:
Secure Sockets Layer (SSL) API在PersonalJava中是可選的,但是必須包含在任何JavaPhone的實現中,它支持應用程序在HTTPS上運行,這是保證無線應用程序的安全的一種常見的、相對容易的方法。只有可以信賴的應用程序才可以訪問JavaPhone的data stores和消息。
Java開發人員可以在JavaPhone智能電話上發送并接受短消息,而不需要知道所運用的具體的傳輸方式,如SMS或WAP Push.
開發人員可以將JavaPhone的聯系人、任務和日程管理作為vCard和vCalendar條目來訪問,它們存儲在“object soup”式的平面數據庫中,互相之間沒有關連,不能輸入。
Java開發人員用核心的Java Telephony APIs來執行基本的打電話、接電話的任務。JTAPI的擴展功能可以用于呼叫中心,擴展電話的控制(如持機等候和電話會議)以及媒體數據流(如按鍵音)。JTAPI移動核心接口是專門用于移動電話的。例如,MobileProvider接口提供了一個有效的方法來檢查該平臺是否實現了一個特殊的功能。Datagram Messaging APIs可以讓我們發送并接收文本信息而不需要知道根本的傳輸細節。應用程序的開發人員只需要知道如何格式化并發送信息就行了。JavaPhone可以支持在GSM上運用Short Messaging Service(SMS),也支持其它的傳輸形式。
AddressBook、Calendar和User Profile APIs給開發人員提供了一個基于對象的接口,可以用來訪問智能電話的個人信息管理(PIM)庫。AddressBook將vCard規范(RFC 2426)用于聯系信息,Calendar將vCalendar規范(RFC2445)用于日程管理和任務管理。對于移動和無線設備來說,安全性總是一個關鍵的問題,所以JavaPhone開發人員應該只允許可以信任的應用程序從數據庫讀取信息、將信息寫到數據庫以及發送和接收信息。
Power Monitor API提供了有關電池標準、預計電池壽命、以及設備是否接通電源的信息。Power Management API可以讓開發人員感受到設備狀態發生的變化并作出響應,如設備關機狀態、全功耗狀態、有效電源狀態、掛起狀態(suspend)和睡眠狀態。 Install API支持為開發和發布應用程序進行打包,包括對Jar文件、主程序切入點、圖標和版本的支持。
評論
查看更多