在網際網路的環境,微軟的MSN是許多人每日必用的應用程式,大家都了解它的即時訊息與現況資訊的用途,但只侷限在個人電腦的環境─隨著個人電腦的需求不再強烈,數量也趨向飽和化。相較之下,隨著3G的興起,行動裝置在未來的確還有相當大的空間。尤其行動裝置無線上網技術日益成熟普及以及頻寬的增加,使用手持式行動裝置的即時訊息與現況資訊的服務正不斷增加當中。
無線城邦標準的應用服務
雖然在眾多網際網路的應用中排名第一的是電子郵件,但是,根據服務供應商表示,它們寶貴的頻寬中有80%以上被垃圾郵件用掉,雖然許多非官方的文件的交換的確依賴電子郵件,可是,伴隨垃圾郵件日益泛濫,即時訊息更顯得重要了。隨著手持式行動裝置益趨普及,它們對於即時訊息與現況資訊的需求也促使供應商面對此一需求,而有所謂無線城邦(Wireless Village)標準的產生。
WV(Wireless Village)是由OMA(Open Mobile Alliance)所制定的IMPS(Instant Messaging and Presence Services)開放式共通標準,主要的推動廠商有Ericsson、Motorola、Nokia等。 它所提供的IMPS(即時訊息與現況資訊)最主要著重在行動服務架構裡,符合一致的技術標準。 財團法人資訊工業策進會開發團隊依據這項標準,開發了包含伺服端與用戶端完整IMPS軟體以及程式應用介面。其功能如表所示。
經由以上功能介紹, 我們得以知道用戶線上狀態顯示。 透過現況資訊我們可以知道所要撥打的對象目前所處的狀態如忙線、待機、愉快中、生氣、擔心等各種狀態,從這些資訊供我們了解現在是否撥打的時機,或者接通後應該講什麼話。 在此之前,我們打電話只能知道對方是否忙線或未接電話以及未開機。透過IMPS 的應用,可以有更多狀態提供對方現在狀態,更加豐富了雙方互動的機會,更加刺激了撥打電話的動機。
IMPS client端技術介紹
從圖1來看,OMA PRESENCE CSP這個類層有四個應用程式,全部都採用XML作為 訊息資料的包裝載具,因此它們底層採用HTTP。在它們之上,有所謂PEA,這是那四個應用程式的加值類別,日後,當我們考慮要增加額外的功能時便可在這裡發揮。這裡所謂CSP(CLIENT SERVER PROTOCOL)是資策會為 提昇交易的速度另外提供新的技術 - CIR(Communications Initiation Request),其特色如圖1。
由伺服端主動發起的交易
■主動行動端取得最新的訊息及狀態
■因CSP/HTTP無法由伺服端主動通知,因此需要藉由CIR來輔助。
■資策會支援CIR/TCP主動通知模式,再由客戶端下載最新資料
HTTP的典型模式是由用戶端送出一項需求(REQUEST),伺服端收到之後將所需的資料傳回(RESPONSE)。如此完成了一項交易(TRANSACTION)。 用戶端前往伺服端索取資料又稱為詢問(POLLING)。當IMPS的應用產生後,從一個用戶端送出一個HTTP的詢問裏面包含要送到另一端用戶的訊息時,它會被送到伺服端,然後等候另一用戶端詢問,再傳過去。通常IMPS的應用可以設定用戶端和伺服端的詢問區間為固定,但為了提供用戶收送訊息是所謂即時模式。伺服端採用CIR,就是收到訊息後,主動且立即通知另一用戶端前來詢問。如此就解決了等候的問題。
圖2:III IMPS Server系統架構
要談到IMPS伺服器的架構(見圖2)之前,先要探討某些基本觀念,如MVC(Model-view-controller)就是用來幫助控制變化的一種設計模式。MVC是要設計者設計時,將資料與控制和顯示分離。它把應用部份的資料抽離和用戶圖形介面分開,更改了使用者顯示介面與應用邏輯的處理是無關的,一旦確定了應用程式模型的部份,令我們可以更改顯示而且毋需重寫,反之亦然。MVC包括了以下的模式:
Model(模型)
模型包括應用程式的核心功能。它的功能是處理與特有領域相關的資訊以及其運作的模式,模型封裝了應用程式的狀態。有時它包括的唯一功能就是狀態。它對顯示或控制器一無所知。
View(顯示)
顯示提供模型與外界互動的表示。它是應用程式的外觀 。顯示可以存取模型的讀的方法,但無法存取寫方法。此外,它對控制器一無所知。當變更模型時,顯示應得到通知。
Controller(控制器)
控制器對使用者的輸入作出反應。它可以建立並設定模型狀態的改變。
開發的框架是用STRUCT其中TomCat Servlet是HTTP的伺服器View(顯示)是用JSP/CSS/HTML所開發的。在應用邏輯部份就是IMPS的應用程式核心-模型。資料存取的方式由於採用DAO的作法,因此,在最底層的資料庫不限於MySQL即更換成另一種資料庫,程式也不必重新改寫。整個架構是以J2EE實作。
結論
資策會使用即時訊息與現況資訊專案是遵循OMA IMPS規範之點對點解決方案,可讓用戶透過手機連結其他手機或電腦端之IM用戶,並可同時透過gateway支援MSN、雅虎即時通、AIM、ICQ、QQ及其他IM社群。此項技術之實現,可使我國軟體得以在電信領域能落地生根。