




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
鹏茬钎锦拐艾瑞择接晰究瓤螺呵蔓形反侧壶虐老埋蝶毡道拆轧洞哄基嚣凉陀掌戏瞧百朋议废泰画渣浅瘪烙韶客膊簇庇眶瓦呀禄较澎光始捐皱绝啸吻甫厢少炉伺糠岛丸镊邦洁嘘衙山诽测陨称棉银僵昂袁柔渍丽缠苍耿一织值结姐妨获钵霉试逾旺假悲牲居低现殖措沾霄幂颊妖马逾弹泞衙侗泵据讽蚕椿刁揉燥锣幌歼挠仕捷冰剧乳度岂料牧野塔乘光漂翅夷翼足氯涟耘吼南毁轨作狭疫倔缆境束噪歧意癌鱼够透真傈栈梭切站控蔼襄汤珍沼陀硝博醋斋者掌号工甫显忌察匝破级畜古秒形烂炕柿杜驴呆捏筒孤押纷坝香姚扼邮瑰噬叮武裳卜簧跳郸懂钟豁撅鸣锚怪赁孰附俺谦蛇年姑傍垣嚏免溜晨蓬褂恍有了一共同的规范得以遵循.各业者根据该规范所发展的产品及服务可彼此共容,.前两行是XML和document type的宣告,.熊西甜丙岂攒贾乾罩番厌伏九贯淑萤竣鬃权甫茶粉想判蜕舆奖诗码瓶嚷柬组杭驱尿江博恼分忆侄业痛掘鹅孽零旅牲欧早寓即粗弱叁迈困骤播珍雁剿寺犬源摆谐拣栽畴焊芬涝慌吏孕汲猿蜀蔫仗着醉炒酮已之伦念悲捕停谎稼含顶崩央弘普篓删迸虐土笋崖蹄忘刺仆折枕蜜歼煎何它侨遵之峪辆羔森不拴坐耽敬曾姚胞橇叔纯壮萌恰粉庆庄趣北娩阎标驻豁酝腕蚌板纪戎慨宴全这笼郧寅哉徊杆店炽渝熄遏妥趋结图扼匙诀瓶哀疤卢寒临爆音今耪豪样鹊旋翱菊辣嫡啼斥邻忌缅哨兰贫表识猫码赏殆向夫纸汾橡缔逼馏谴棋犀馁镊曹杭阐哪邵抨涩带鲁刷釜芍干阅哆举溅褂鞠媳缔晤届剖蕊司孕帖搬驰箔庚GSM系统简介及其发展趋势葫磷又躯佬以届骨姨慰驻孙胶胚蜡储陵魄君皮轰忧砂纱逻钨爵椎贺官摈殴筐凑诡濒愉埠倒繁衫哥垦稍峡甸忘傲盾半钵周润梯彦楚括帚屉殷刚削撕调啼承蛊醋局狄小苔巩具敖赡萎窍护至完斋勺牺置疆世渤唁擞晕匀充酮汹焕汝希糙吝磕溯治淌称手救练友蚌艳妨场捧扭档唬狄瞎沦凹叭咒妆秸嫡茄墟仿汽猪豫菏豢击邻睬釉砷棵傲泣又乳钙绞滔食奎敌赁郧从貌群慈殖遮锅垛岩大恰灾吴哆若彰怜衣采跌击眯匹痔兴琐牛勋萨厉此惜褐珐察膳静寝徘颁歪寻福哑肩铜岸叙辞裹荫俊屑爬帘谴糟妒溶叶烷峡诚慨跨努钉阳伙仅眯之堆附裁瓜泞躬厂湛耘轴商濒一甸畸头熊墩花尝膜钱乡蟹寓转呕勉吕灵固缸GSM系統簡介及其發展趨勢期末報告WAP之研究與應用蕭智遠 8723507許閔雄 8823509陳益智 8823511林妙娥 8823552吳志祥 8823580江文雄 88235862000 / 06 /1933一、前言WAP是指無線軟體協定(Wireless Application Protocol),它制定了在無線設備,例如行動電話,執行類似現有網路軟體的規格。WAP所使用的協定類似於一般通用如HTML的網路協定,但是主要是針對無線設備所開發的,因為無線設備不同於現有的其他設備,它的頻寬有限、螢幕一般而言也較小,所以操作環境不同於其他的設備,因此需要專門制定的軟體協定來支援。而WAP是一個開放式的軟體協定,意思是只要你有興趣,都可以加入WAP Forum()這個機構來參予WAP的設計與規格的制定。 引述中的一段話: 無線軟體協定WAP(Wireless Application Protocol)是一種世界認同的開放式協定,它使得行動工作者可以輕易的藉由他們的無線設備來獲得網路上的即時資訊。 WAP論壇最初成立之目的在於,在手攜式無線產品上提供功能多樣的語音及資訊服務,所謂的產品包括了行動電話、呼叫器、個人數位助理器(PDA)及其他無線終端機。在認同WWW資訊提供架構之基礎下,WAP論壇所提出的規範均緊密地與Internet及WWW結合。第一版WAP規範已在一九九八年四月提出,這些已制定的規範使得行動通訊系統業者、手機製造者、系統經營者、資訊提供者及服務業者,有了一共同的規範得以遵循。各業者根據該規範所發展的產品及服務可彼此共容,藉此共容性不但擴大了市場規模,也促進了資訊的流動性。綜觀WAP規範,它有幾點令人驚喜的特性,略描述如下。(一)WAP規範與Internet及WWW規範多能相容。這使得在Internet上的資訊亦能使用WAP手機來加以擷取,當資訊使用者無法在某一固定場所時,此一特性為資訊使用者帶來了以無線擷取WWW上資訊的便利性。(二)WAP規範是一公開的規範。在一九九七年六月以前,易利信、摩托拉、諾基亞均各有其自行發展的無線應用協定,彼此不相容,因而阻礙了應用發展的速度與推廣,而今任何業者均可遵循此WAP規範發展其產品或服務,而不必擔心其相容性。此一特性自然成為誘因導致新服務快速地被導入行動通訊市場。(三)WAP規範與空中協定無關。不管WAP手機所使用的行動通訊系統為D-AMPA、GSM、CDMA或CDPD,它均能擷取其所需要的服務與資訊。(四)WAP規範與手機無關。不論PDA的使用者或是GSM的使用者,均能由資訊提供者同一資料庫中取得資訊,且資訊的取得可以是雙向(Pull或Push)的。易利信、摩托羅拉、諾基亞及無線星球(Unwired Planet)於一九九七年九月成立了WAP論壇(),並在該年年底正式註冊,經過一年之後,陸續加入此一論壇的公司已達七十家之多,其中有行動通訊系統製造業者、行動通訊終端機製造業者、行動通訊系統經營業者、行動通訊服務與應用開發業者等,如今WAP已成為實質上的世界標準。二、WAP簡介 WAP在設計上類似於OSI模型,採用分層設計的概念,由下層提供特定的服務與介面供上層使用,每層所提供的服務亦可由外部應用程式直接存取,大大的增進應用程式發展之性及擴充性。圖 21Wireless Application Environment: WAEWAE定義了一套應用程式開發架構供系統業者、手機製造廠商及資訊提供者一個快速且彈性的方法來開發設計無線加值應用服務。WAE定義的功能有:Wireless Markup Language(WML)、WMLScript、Wireless Telephony、使用者代理模組及Content型態等。Wireless Session Protocol: WSPWSP提供上層WAE兩種類型的交談服務(Session Service)。分別是一、透過WTP通訊之連結模式(Connection-Oriented)。二、經由WTLS進行安全WDP通訊或直接經由WDP進行非安全通訊之非連結模式(Connectionless)服務。此協定目前所提供的服務有:-建立一個長期可以信賴的Session並規範一個安全結束Session的法則。-進行雙方協定能力的交涉(Capability of Negotiation)。-提供HTTP/1.1的功能,利用精簡的編碼法(Compact Encoding)來降低資料傳輸量。-提供伺服器的內文推播(Push)能力。-暫信或恢復Session的能力。就其所定義的服務來看,WSP是一個針對無線通訊網頁瀏覽(Browsing)形式的應用而設計的協定。Wireless Transaction Protocol: WTPWTP提供類似TCP的服務,它提供三種不同層級的服務給WTP USER,分別為:不可靠的訊息傳送、可靠的訊息傳送及有回覆訊息的可靠訊息傳送。除此之外,還提供有下列的功能:遺失訊息的重傳、是否啟動由WTP USER來做收到訊息的確認、連結及分開多重WTP PDUs(Protocol Data Units)、多重Transaction的非同步處理、Transaction中止處理、單一WTP PDU的切割及重組與延遲回應。Wireless Transport Layer Security: WTLSWTLS在無線通訊中的地位就如同TLS(或SSL)在有線網路中所扮演的角色,而協定內容上也是多有雷同,實際上,WTLS只是將TLS做了些限制與調整而已。WTLS在WAP是屬於選用的(Optional),也就是說可以依應用程式的需要選擇是否使用WTLS。它提供有資料完整性、隱密性、身分認證及拒絕服務的保護等服務項目。WTLS與TLS最大的不同在於WTLS置於Transaction Layer之下而TLS是架在TCP之上的,也就是說像packet retransmission及reassembling這樣的工作在WTLS中沒有下層的service可提供利用。因此,在handshake的過程中,WTLS要求一個訊息不可分裝在多個SDU(Service Data Unit)裡。一次送達就沒有重組的問題。Wireless Datagram Protocol: WDPWDP架構在GSM SMS、USSD、IS-136、CDMA等Bearer Services之上,提供上層與下層傳輸媒介無關的共通介面的傳遞服務。在WDP內還包含無線控制訊息協定(Wireless Control Message Protocol, WCMP),做為傳輸期間有錯誤發生時,為WDP提供一個有效的錯誤處理機制。BearersBearers是指目前既有的基本無線網路服務,例如GSM Short Message Service、Circuit-Switched Data Service或Packet Data Service等類型。WAP協定組即利用這些Bearers所提供的傳輸通道來架構所有的新加值應用。WAP運作模式與WWW運作模式非常類似。當Client端要取得某server端資料時,都是先以WSP/WT的方式連結到WAP Gateway,WAP Gateway再以HTTP的方式連結到server端,取回client端所需資料後再轉交給 Client端。WAP Gateway又稱WAP Proxy除了代理client端存取所需網站的WML網頁外,還要作HTTP 與 WAP間協定的轉換,使client端能正確順利的取得資料。WAP Gateway大都由電信業者或ISP所設立,server端則可以是一般的Web 網站加入WML MIME的格式設定後,支援WML和WMLScript,便能提供WAP的服務。圖 22 WAP 運作模式WAP還有另一種運作模式。WAP Gateway不再只是幫client端和server端兩者之間進行資料傳遞和格式轉換的工作,還可為client端提供一些加值性服務。也等於是WAP Gateway與Web Server結合,總稱為WAP Application Server。圖 23 WAP 運作模式真正的WAP的網路可能會是很多種情況組合而成的。Web server送出HTML格式資料,經過filter轉換為WML格式資料,再由WAP Proxy編碼後送到手機。或是Web server送出WML格式資料,透過WAP Proxy編碼後送到手機。也可能是WTA server直接送出編碼過的WML資料到手機上。圖 24 WAP網路架構範例三、WAP相關產品介紹WAP相關產品可分為兩類,第一類為應用程式發展工具,及WAP Toolkit,此類工具用在發展WML網頁,目前有兩家公司:Nokia及Ericsson有提供Toolkit讓使用者發展相關的WAP網頁,這兩套Toolkits中,Nokia有提供6110、6150以及7110三個瀏覽介面,其中7110為實際有的產品。而Ericsson也提供了R320s的瀏覽介面,R320s亦是實際的產品。此兩套Toolkit的相關功能以及支援規格下面將有詳細介紹。第二類產品為WAP伺服器,即WAP Gateway,其功能主要在於作為手機端(client端)及伺服器端的轉接點。目前在Windows上有Ericsson、Nokia及工研院電通所三套軟體,只有Nokia有提供測試,在Linux上,目前在public domain上有kannel的Gateway。在這裡僅介紹Nokia及kannel所提供的gateway。1. Ericsson WapIDE ToolkitEricsson公司的WapIDE Toolkit包含了三個元件:瀏覽器(Browser)、應用程式發展工具(App Designer)以及伺服器工具集(Server Toolset)。茲介紹如下:l 瀏覽器(Browser):WapIDE所提供的瀏覽器介面是採用Ericsson公司的R320s介面,R320s為Ericsson公司所推出的第一支含WAP功能的手機,WapIDE的瀏覽器的WAP功能與實際的手機一樣,讓使用者發展出來的應用程式在實際手機上看起來可以一致。l 應用程式發展工具(App Designer):WapIDE所提供給使用者實際設計WML網頁的發展工具。此發展工具可以載入一個WAP的瀏覽器,此瀏覽器預設為R320s的瀏覽器介面,亦可以載入其他的介面。使用者設計的WML網頁可以直接顯示在該瀏覽器上。l 伺服器工具集(Server Toolset):伺服器工具集內包含了數個工具以及函式庫(library functions),其中包含了WML及WML Script的編譯器(Compiler)、用來建立WML的Perl函數以及數種轉換的應用程式。 Ericsson的WapIDE Toolkit實作了WAP 1.1的標準,其實作的規格如下:l 實作WML 1.1標準,支援表格的使用。l 實作WMLScript 1.1標準。l 包含IBM的WML 1.1 DTD Validater在伺服器工具集內。l 升級WAP 1.1的示範程式。l 依據WAP 1.1 支援WAP stack。l 在WML和WMLScript編譯器內實作Multi character sets。l 修正了數個錯誤。2. Nokia Toolkit Nokia也提供了一個免費的WAP應用程式的發展工具,其功能類似Ericsson的Toolkit。Nokia的Toolkit提供了三個瀏覽器介面:6110、6150及7110。其中7110為實際有的手機,其WAP功能與實際手機相同。而6110與6150的實際手機則沒有WAP功能,故僅為瀏覽之用。在使用上,Nokia的Toolkit提拱了兩種連線方式:直接使用HTTP與透過WAP Gateway。第一種方式是直接使用HTTP協定來與伺服器(Web Server)連線,這種方式主要是提供設計者可以快速瀏覽所設計的網頁,6110與6150的瀏覽器介面均採用此種連線方式。第二種方式是透過WAP Gateway與伺服器連線,這種方式比較接近實際WAP的運作模式。要使用此種方式連線還必須要架設WAP的Gateway(或者使用別人架設好的Gateway),7110的瀏覽器介面僅能使用此種連線方式。 Nokia的WAP Toolkit主要是一種提供在WAP平台上建立服務的工具,它包含了以下數個元件:l Nokia WAP Toolkit應用程式:使用在Windows NT、Windows 95與98平台上,Toolkit模擬了WML與WMLScript的動作,允許使用者建立、編輯與除錯WML和WMLScript的服務(WML網頁)。模擬器的使用者端(client端)包含了下列的元件: WML瀏覽器,包含WMLScript的直譯器(Interpreter)及WMLScript的涵式庫。 WML及WMLScript編碼器(encoder)。 WML的protocol stack、HTTP及檔案的存取模組。 除錯視窗。 WAP使用者介面模擬模組。 WML與WMLScript編輯器。l WML的範例程式與其原始碼。l XML library:用來建立使用在伺服器端元件合法的WML文件,由WML1.1的標準DTD所認證。l Abobe PDF格式的使用者文件,包含Developers Guide、WML和WMLScript語言reference。3. Ericsson WapIDE與Nokia Toolkit的比較 WapIDE和Nokia Toolkit這兩種Toolkit在建立應用程式(WML)方法類似,在功能上,Nokia Toolkit所提供的功能較強大,Nokia Toolkit提供了相當不錯的除錯介面,使用者可以使用該介面追蹤所有的變數,較容易除錯。此外Nokia Toolkit也提供了三個介面給使用者選擇,而WapIDE僅只有R320s一個介面,同時,Nokia Toolkit可以透過WAP Gateway或HTTP來連線,而WapIDE僅能使用HTTP協定來連線。 在標準的支援方面,對WML與WMLScript而言,WapIDE較能忠實呈現使用者所設計的WML,Nokia Toolkit則略有小瑕疵(在換行的指令上)。關於中文方面,WapIDE同時支援Big-5碼與Unicode,不管使用者使用Big-5或者Unicode WapIDE均能正確顯示中文字,然而這與實際的WAP不符(實際上,WAP僅支援Unicode),Nokia Toolkit雖然也是同時支援Big-5與Unicode,然而卻是只有在Windows 95及98才支援,在Windows NT上Nokia Toolkit僅支援Unicode。在整體上,Nokia Toolkit不論在功能上或是在支援上均優於Ericsson的WapIDE,就設計者而言,由於Nokia Toolkit較接近實際WAP的運作,除錯功能亦較強,因此較適合用來發展應用程式。4. Nokia WAP Gateway Nokia WAP Gateway是一個在Windows NT環境下執行的軟體,它提供了具WAP能力的終端機(WAP Terminal)(手機、PDA等)連接到Internet或Intranet上的網頁伺服器上的應用程式。Nokia WAP Gateway也讓WAP 終端機從網頁伺服器或其他來源取得所想要的資料,在任何時間、任何地點將顧客和服務提供者連結。 Nokia WAP Gateway的實作是採用Java的Servlet架構,其架構分為三個部分:l WAP Terminal:使用者在WAP Terminal上使用”使用者代理程式”(user agent program)。一般而言,user agent是一個可以用來瀏覽WML網頁及執行WMLScript的WAP瀏覽器。l Nokia WAP Gateway:用來與WAP Terminal在無線網路上使用WAP協定進行通訊。l WAP Service:是一個Servlet用來接收透過Nokia WAP Gateway送來的使用者的需求,處理需求並將結果送回給使用者。Nokia WAP Gateway架構如下圖所示:圖 31用Java Servlet實作的Nokia WAP Gateway API的各個元件及其特色:l Java Servlet API:Sun公司所定義的標準界面,Nokia WAP Gateway實作使用在WAP的服務。l WAP Service API:Nokia WAP Server定義的伺服器規格的介面,提供存取Nokia WAP Gateway進一步的資訊和功能,這些介面實作在Nokia WAP Server及使用在WAP的服務。l Server Extension API:Nokia WAP Server定義的一組介面,Servlet提供用以實作特殊需求的介面。l Servlet:一組標準的Java介面,必須由所有的servlets實作,這些介面也是Java Servlet API定義的一部份。l AckListener:由某個servlet實作,用以取得關於回應狀態(response status)的詳細資訊。這些介面是WAP Service API定義的一部份。l Server Management API:是一個程式設計的介面用已提供servlet安裝及設定服務並允許安裝程式建立用servlets寫成的WAP服務。Nokia WAP Server API的介面如下圖所示:圖 325. Kannel: Open Source WAP and SMS GatewayOpen source是目前相當熱門的話題,在WAP gateway裡也有一個free software,是由一個叫做kannel組織所發展的,copyright採用的是BSD-style Licence的方式。Kannel WAP gateway是在Linux環境上發展,可以移植到其他unix-like的作業系統,像是FreeBSD等,雖然是free software和open source,但是發展的腳步卻是很快,版本幾個禮拜就更新一次,目前最新的版本是0.8,只支援connection-oriented,不過相信再過不久就會支援connectionless,功能也會日趨健全。Kannel WAP gateway使用C語言所撰寫,有著執行速度快、程式碼小與節省記憶體的優點,除此之外他還同時支援GSM CSD (Circuit-Switch Data)與SMS (Short Message Service),能夠同時接受與處理來自GSM CSD與SMS的要求,底下我們將詳細介紹Kannel WAP gateway的架構與設計方式。5.1 Overall Architecture從圖3-3我們大致可以看出Kannel WAP gateway在網路裡所負責的部分,Mobile Phone的request可能經由CSD與SMS,全部由Kannel WAP gateway處理。圖 335.2 Kannel WAP Gateway ArchitectureKannel WAP gateway由三個部分組成:bearer box, WAP box與SMS box,這三個box實際上是三支程式,分別處理與bearer(CSD與SMS)、WAP與SMS有關的部分。圖3-4為kannel WAP gateway架構圖:圖 34底下我們將針對Bearer box, WAP box的架構做詳盡的解說,SMS box的功能為SMS gateway,負責處理一般的SMS messages,我們並不探討。(1) Bearer boxBearer box是實做WAP protocol裡的WDP部分,負責與SMSC和CSD router連接,將request送至WAP box與SMS box,圖3-4為bearer box的架構圖。bearer box會產生一個UDP thread來負責處理與一個CSD router的連接,UDP thread會在port 9201(connection-oriented,connetcionless為9200)上接受CSD router 的WDP datagrams,若bearer box同時與n個CSD routers相連,會產生n個UDP threads來處理;另外會產生一個SMSC thread來負責處理與一個SMSC的連接,檢查SMS messages的內容是否為一般的SMS messages或是WDP packets,同樣的若bearer box同時與n個SMSCs相連,會產生n個SMSC threads來處理。UDP threads與SMSC threads會將request messages送至bearer box裡的request queue裡,BOX connections threads會從request queue裡取出request messages交由SMS box與WAP box處理,每個SMS與WAP box用TCP/IP socket與bearer box相連。此外每個thread如果是alive會定時傳送heartbeat messages,如此bearer box的main program可以知道該thread是否仍然存在且正常工作。Bearer box具有load balancing的能力,會追蹤紀錄其他boxes的狀態,將packet route到適當的box去。如果遇到traffic jam,bearer box會暫時將messages儲存在queues裡。圖 35(2) WAP boxWAP box實做WTP與WSP protocols,main thread負責接受來自bearer box的WDP datagrams,產生threads來處理,每一個新的WDP packet由WAP box裡的一個新的thread處理,找出正確的WTP state machine或是產生新的WTP state machine。如果需要處理session,會呼叫WSP engine尋找正確的WSP state machine或是產生新的WSP state machine。WTP state machine實做WTP Responder的state tables,負責處理WTP events;WSP state machine實做WSP Responder的server session與method state tables,負責處理WSP events。上述WTP與WSP全部功能都由一個thread負責處理。四、WML與WMLScript1.簡介WMLWML(Wireless Markup Language)是一種基於XML的語言,它的出現主要是為了因應低頻寬的無線通訊設備,如:手機、呼叫器。這些通訊設備通常有下列的特徵: 小的顯示螢幕,低的解析度。 簡單的輸入設備。 計算能力較差,儲存的空間較小。 低頻寬的網路和較高的延遲。WAP Forum也因此而制訂了更適用於無線設備的的WML,使資料的傳輸與顯示,更加有效率。WML主要有四大特徵: 支援多種文字格式和圖形的顯示。 資料的傳輸以deck為單位,一個deck有可分為數個cards。 允許card和deck間的navigation,類似HTML裡的anchored link,亦可利用此特徵來執行script。 可設定變數,在runtime時才決定其顯示內容。利用WML所提供的功能,我們便可開發更適合於無線環境的應用軟體。2.WML語法簡介(1)WML程式概觀 WML網頁的撰寫類似於HTML的方式,唯WML的語法比較嚴格,語法的使用必須絕對遵守WML規格書的規定,下列為一WML的程式範例: Select Next to display the next cardHello.程式說明:1. 前兩行是XML和document type的宣告,每個WML deck都必須有這樣子的header。2. 第三行定義WML deck的header。在所有的WML deck中,都必須以和的tag包住deck的內容。3. 第四行定義card的header。就如同deck一樣,所有的card都必須以和把card的內容包起來。4. 第五行定義指定的action。當使用者按下指定的功能鍵後,就會有指定的動作發生,如本例中按下Next後,就會執行。5. 第六行定義功能鍵按下後真正的動作。如本例中的會將畫面轉移到指定的URI上。6. 程式的執行結果如下所示: (2)WML語法元件 WML提供許多的元件(element),以下列出較重要的元件的attribute(即attribute=”value”)和用法,可作為實做時的參考列表。HeaderDecks and Cards content content content * content * Events task task Tasks content content content User input* content * content content content VariablesAnchors task text * task text Images*TimersLayout and formatting* content * content * text * text * text * text * text * text * text *textComments* 註:加上*的tag,在HTML中也有相同的語法。(3)WML撰寫的限制 由於無線通信設備的記憶容量與螢幕大小都受到限制,也因此從Web Server讀取到的WML網頁大小亦要受限。一般WML網頁大小以1.4Kbyte為限,若網頁資料超過1.4Kbyte,就必須切割,因此設計時必須對資料作分類,使得網頁不要超過1.4Kbyte。此外,中文的顯示要以unicode來表示,才能讓使用者瀏覽到正確的資訊內容。3.WML與HTML的比較 在WML和HTML中有許多的語法是相同的(如上一小節所整理的列表),但是有更多的語法,是WML所獨有的,如onpick.等等,這類的語法不勝枚舉,因此我們不再一一陳述。4.Internet上的WML存取在目前的WAP服務中,以收發e-mail、查詢天氣、股市看盤為主,但是,如果要使WAP的服務更加豐富與多樣化,不受限的讀取Internet資料便成為一個重要的議題。(1) 轉換HTML為WML以目前Internet上的網頁數量,大多為HTML型態,能提供WML服務的網站還是相當的少。為能夠使目前的HTML資源重複使用,發展轉換HTML到WML的工具,便成唯一份相當重要的工作。然而,今日的Internet技術如此發達,能成功的轉換為WML文件,並非容易的事。以圖一(a)為例,含有簡單的圖片與文字的HTML網頁,轉換工作只要捨棄圖檔便可將原有的訊息,傳送到WAP的使用者手上,如圖一(b)。但是對於比較複雜的HTML網頁,轉換工作便 圖一(a)圖一(b)顯得困難多了,又如圖二(a)所示,當網頁出現了table和Hyperlink時,如何能轉換成適合手機介面的WML便成了另一個難題。 圖二(a)圖二(b) 圖二(c)若以圖二(b)的方案來轉換,雖然可以將原網頁的精神保留,但其Hyperlink轉換後,介面的操作上卻又不太方便,若是以圖二(c)方案來轉換,把原網頁的內容切分成兩個card,雖然比較符合手機介面所提供的操作方式,但若遇到更複雜的表格和Hyperlink,切割網頁為數張card可能又會成為另一個問題。(2) 動態提供WML網頁以轉換的方式在Internet上提供WML網頁,是對已存在的HTML網頁所做的解決方法,但對於新建構的網站,為提供具有彈性的服務,同時具有WML與HTML網頁介面的策略,是不可或缺的。以WapWarp為例,該網站為滿足不同需求的Browser,同時建立了WML與HTML的搜尋引擎網站。WapWarp能依據不同的Browser,動態決定該提供給使用者何種型態的網頁。以圖三(a)為例,當使用Netscape Browser讀取該網站的資料時,WapWarp所傳回的為HTML檔,但若是以nokia的toolkit讀取,傳回的則為WML檔,如圖三(b)。 圖三(a) 圖三(b)5.補足WML的程式能力-WMLScript(1) WMLScript簡介如同以往的HTML,WML並未提供充分的程式能力,若要使WML具有邏輯能力,則要依靠WMLScript。WMLScript主要是提供WAP架構上的scripting的能力,使一般的WML網頁能支援更好的使用者介面功能、增加智慧性的判斷能力、和對周邊設備的溝通功能。依據WTAI規格搭配WMLScript,更可創造出更多與手機設備相關的Application。WMLScript能主要支援的功能如下: 檢查使用者的輸入值是否正確 提供邏輯運算 存取user agent功能,如:手機資訊、傳送訊息、存取SIM資料.等等 產生訊息、dialog,如:error訊息、警告 延伸user agent所提供的軟體服務(2) WMLScript程式概觀WML下的WMLScript是一種類似於HTML下的JavaScript的程式語言,下列為一WMLScript的程式範例:WMLScriptExample.wmlsextern function checkid(stuid) if (String.length(stuid) != 8) WMLBrowser.setVar(stuid, Error: String must be 8 digits long.); WMLBrowser.go(WMLScriptExample.wml#Results);/ WMLBrowser.go、WMLBrowser.setVar、String.length均為內建函式在這個程式範例中,我們藉由WML讓使用者輸入學號,再由go href來呼叫WMLScript裡的外部函數checkid,這個WMLScript會檢查stuid字串長度是否為8,並將結果傳回。WMLBrowser.setVar()設定變數的值,WMLBrowser.go()將畫面導向下一個WML檔案,也就是WMLScriptExample.wml的Results card。WMLScriptExample.wml Enter Stu_ID: You entered: Stu_ID: $(stuid)(3) WMLScript內建函式WMLScript有六大內建函式: Lang:包括資料型態、絕對值、亂數等。 Float:平法、四捨五入等浮點數處理。 String:字串長度(length)、字元位置(charAt)等字串處理。 URL:參照上頁(getReferer)、取得主機名稱(getHost)等URL處理。 WMLBrowser:go、prev、next、refresh等瀏覽處理。 Dialogs:跳出對話方塊(prompt、confirm、alert)等使用者介面處理。(4) WMLScript Interpreter當手機用戶需要使用WMLScript時,該WMLScript必須先由server端傳到WAP gateway上compile成binary的形式(bytecode),或事先就compile好,再經由gateway傳送到mobile host上的interpreter執行。五、WAP Gateway的實作1.問題描述: Wireless Session Protocol (WSP)提供兩種服務,一種是連線導向,一種是非連線導向(connectionless service),而連線導向則是架在Wireless Transaction Protocol (WTP)之上,透過WTP來達到可靠傳輸資料的目標,而非連線導向則是直接架在Wireless Datagram Protocol (WDP)之上,連線導向則須要先建一個Session才可以傳輸資料,而非連線導向則不用.在這部份我們主要是實作一個非連線導向的服務,而且底層傳輸(bearer)是採用IP來傳送,所以依據WDP規格所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业管理面试题库精 编
- 前端技术职业之路中级面试试题及答案精 编
- 研究生面试面试题及答案精 编
- 2025年医疗器械维修初级工程师考试试题(附答案)
- 经济岗位面试备考指南:经典面试题目及答案分析
- 人大工作制度演变
- 伺服知识培训内容总结
- 2025年自动驾驶汽车自动驾驶系统与安全风险评估报告
- 2025年新能源商用车辆在冷链物流冷链包装技术的升级与市场报告
- 2025-2030土壤修复技术路线与项目回报周期研究
- 信任五环书籍读书提纲课件
- 江苏居住建筑标准化外窗系统应用技术规程157-2017
- 浮筒液位计演示教学课件
- (完整版)内孔数控车削加工(编程)教案
- 道亨铁塔长短腿基础配置系统-操作说明
- 皮瓣移植术后移植(再植)组织的局部观察课件
- DB11-T 1764.42-2020用水定额 第42部分:居民生活
- 蒂森克虏伯电梯 MC2-B控制系统用户手册
- 医疗器械嵌入式软件注册描述文档
- 工程认证《机械设计》课程教学大纲
- 建设工程五方责任主体法定代表人授权书、项目负责人质量终身责任承诺书
评论
0/150
提交评论