之六: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和消息。