• 沒有找到結果。

Chapter 2 Background and Related Works

2.1 背景介紹

2.1.1 MExE (Mobile Execution Environment)

MExE[45]是 3GPP[46](3rd Generation Partnership Project)針對目前行動裝置 (mobile device)上的執行環境,所提出的主張。在 MExE 裡頭,將行動裝置 上的執行環境分成五種類型,如果該行動裝置的執行環境屬於五種類型之 一,則該行動裝置也稱為MExE device。

MExE 的目標是,希望能透過 MExE 的定義,來規範所有的行動裝置上的執 行環境,使這些行動執行環境能夠標準化,使往後開發行動應用程式(mobile application)或是軟體服務(service)能夠更方便及快速。

MExE 根據每種行動裝置的執行環境和計算能力(computing capability),將執 行環境分成五種類型(classmark):

1. classmark 1 – WAP execution environment

擁有這類型執行環境的行動裝置,通常都含有一個輕量型的瀏覽器,可 以觀看、執行由WML / WMLScript[36]所撰寫出來的網頁(web pages)或是 應用程式(web application)。這類型的執行環境必須遵守 WAP(Wireless Application Protocol[36])的規範,應用在 GSM、GPRS,或是相容的無線 網路環境上。

2. classmark 2 – Personal Java execution environment

擁有這類型執行環境的行動裝置,通常擁有比一般行動裝置較高的計算 能力(computing capability)和硬體能力(例如:較多的記憶體、較大的螢 幕)。這類型的執行環境(也就是 Java Virtual Machine,簡稱 JVM),可以 執行由Personal Java(PJava)[42]所撰寫出來的行動應用程式,支援較複雜 的使用者介面及較多的APIs,例如:Java AWT、Java Applet……等等。

3. classmark 3 – J2ME/CLDC execution environment

擁有這類型執行環境的行動裝置,其計算能力和硬體能力較受限制,且 通常螢幕較小,無法顯示複雜的使用者介面。因此,在這類型的執行環 境(也就是 Kilobyte Virtual Machine,簡稱 KVM)中,可以執行由 J2ME[42]

所撰出來的行動應用程式。在 J2ME 中,特別額外設計了專屬的APIs。

4. classmark 4 – CLI compact execution environment

這類型的執行環境是中立性質的,利用Microsoft 系列的程式語言(例如:

embedded VC++)所寫出來的應用程式,都可以在這類型的執行環境上執 行。

5. classmark 5 – Virtual PalmTop network execution environment

這類型的執行環境採用client-server 架構,在行動裝置上只顯示使用者介 面(client 端),而行動裝置上所輸入的資料透過網路傳輸,送到遠端的 server 主機做邏輯運算的處理,處理完之後再將結果透過網路,送回到 行動裝置上,再以適當的使用者介面顯示出來。另外,這類型的執行環 境也可能跟之前的四種類型一起搭配使用。

2.1.2 WAP (Wireless Application Protocol)

WAP[36]是一種應用在無線網路環境上的一種協定(protocol),允許擁有無線 裝置(wireless device)的使用者能夠在無線網路中,快速地存取資訊和服務。

WAP 是由產業界所共同制定的一種公開的標準,使用 WML / WMLScript 來 撰寫WAP 應用程式,能夠應用在下列的無線網路環境中:CDMA、GSM、

PHS、GPRS、CDPD、PDC、TDMA...等等。

圖2-1 和圖 2-2 分別表示了 WAP programming model 和 WAP architecture。

[圖 2-1 WAP Programming Model]

[圖 2-2 WAP Architecture]

2.1.3 J2ME (Java 2 Platform, Micro Edition)

J2ME[42]是一種專門為了消費性嵌入式裝置所設計的Java 平台,例如:行動 電話(mobile phone)、個人數位助理(PDA,Personal Digital Assistant)、電視 盒(set-top box)、smart card...等等。在 J2ME platform 裡頭,包含了由多個 專家組織(experts group)共同制定的標準 Java APIs。這些專家組織包括了硬 體裝置的領導廠商,軟體廠商,以及軟體服務提供者(service provider)。

J2ME 的架構組織包含三個部份(參考圖 2-3):configurations、profiles、optional packages 。 這 三 個 部 份 建 立 起 一 個 完 整 的 Java 執 行 環 境 (Java runtime environment)。三個部份的內容分別是:

1. configurations

對於所有J2ME 針對的裝置,提供基本的能力,包含了最小集合的 APIs。

在J2ME 裡頭,有兩種 configurations:分別是 CLDC(Connected Limited Device Configuration),和 CDC(Connected Device Configuration)。

2. profile

包含了更高階層的APIs,針對不同裝置的能力,會有少許不同。可以跟 CDC 或 CLDC 建立起一個完整的執行環境。在 profile 的部份,定義了 應用程式的生命週期(life cycle)、使用者介面、以及裝置的資料存取方式。

3. optional package

是一種擴充用的APIs。為了滿足市場需求或是裝置本身特殊的能力,也 可能是為了擴充 J2ME 本身能力而設計的。例如:Bluetooth、Web Services...等等。

[圖 2-3 J2ME Architecture]

2.1.4 XML (Extensible Markup Language)

XML[39]是一個開放的,以純文字為基礎的後設語言(meta-language),以標籤 (tag)的形式提供結構的,以及和語意相關的後設資料(metadata)。因為是以 純文字為基礎的,所以可以很容易地被人類閱讀並了解,另外,它所提供的 組織、描述和結構化資料的能力,使它能被機器(即應用程式)所解讀。

因為XML 是一種後設語言,所以也能用來創造其他的語言,產生各式各樣 的應用。現今有很多XML 的應用,例如:XSLT、MathML、XPath、SOAP、

WML……等等。

2.1.5 XSLT / XPath

(Extensible Stylesheet Language for Transformation / XML Path Language)

XSLT[40][41]是XSL(eXtensible Style Language)的其中一個分支。XSL 擁有強

大的能力,能將一份 XML 文件以不同的方式呈現出來,或是將一份 XML 文件中的結構,重新組織成一份結構不同的XML 文件。XSL 包含兩個主要 的部份:

1. a set of formatting objects

能將一份 XML 文件所描述的內容,以不同的呈現方式表現出來。這一 個部份被獨立出來,但仍稱作XSL 或 XSL-FO(XSL Formatting Objects)。

2. transformation language

能將一份 XML 文件原本的內容結構,重新組織成內容結構完全不同的 另一份XML 文件。這一個部份也被獨立出來,稱之為 XSLT(eXtensible Stylesheet Language for Transformation)。

XSLT 具有以下的能力:

- XSLT 可以描述轉換之後的目的文件的格式樣板(template),而樣本內容 透過XPath(eXtensible Path Language)[41]從原本的XML 文件獲得。

- 可以從原本的 XML 文件中獲得 elements、attributes、text、processing instructions 和 comments。也可以在目的文件中穿插所需要的文字字串。

- 簡單地說,XSLT 文件就是轉換規則的集合(a set of transformation rules),

這些轉換規則可以重複使用,或是從外部檔案引入(import)。

- 在 XSLT 的轉換規則中,可以使用類似一般程式語言的條件判斷敘述,

例如:if-else 敘述。

- 能夠使用變數(variable)或參數(parameter),參數可由外部應用程式傳入。

- 能夠處理 XML 文件中,內容結構彼此的關係。

- 能夠處理簡單的字串、數字、布林值的運算。