Worklight移動(dòng)程序的開(kāi)發(fā)平臺(tái)
Worklight(以下簡(jiǎn)稱(chēng) WL)作為一個(gè)移動(dòng)程序的開(kāi)發(fā)平臺(tái),通過(guò)三種模式(Web、混合、本地)支持了不同需求的客戶(hù)端開(kāi)發(fā),但是面臨的一個(gè)現(xiàn)實(shí)問(wèn)題是如何和已有的系統(tǒng)進(jìn)行良好 的集成。適配器(adapter)是平臺(tái)的服務(wù)器端組件,作為一個(gè)傳輸層負(fù)責(zé) WL 服務(wù)器和不同企業(yè)級(jí)后臺(tái)的連接。通過(guò)平臺(tái)支持的 HTTP 和 SQL 適配器,客戶(hù)端應(yīng)用可以與原有系統(tǒng)方便的進(jìn)行數(shù)據(jù)訪問(wèn),這減少了重復(fù)的開(kāi)發(fā)工作。
![]()
適配器由三部分組成:基于 XML 的配置文件,用于定義適配器的類(lèi)型和提供的方法;基于 JS 的方法實(shí)現(xiàn)文件,通過(guò) Mozilla Rhino 解析器實(shí)現(xiàn)對(duì)不同后臺(tái)的訪問(wèn);基于 XSL 文件的數(shù)據(jù)轉(zhuǎn)化規(guī)則,在 HTTP 適配器中存在,用于將獲得的數(shù)據(jù)按照一定規(guī)則進(jìn)行轉(zhuǎn)化。
WL 支持的適配器提供了如下特性:
- 快速開(kāi)發(fā):開(kāi)發(fā)者可以使用便捷而強(qiáng)大的服務(wù)器端 JavaScript 創(chuàng)建簡(jiǎn)潔易讀的代碼,用于和不同后臺(tái)程序的集成。
- 只讀操作和事務(wù)操作:平臺(tái)通過(guò)適配器支持對(duì)后臺(tái)系統(tǒng)的只讀和事物操作。
- 安全:適配器使用靈活的認(rèn)證機(jī)制創(chuàng)建與后臺(tái)的連接,使用的用戶(hù)可以是系統(tǒng)用戶(hù)也可以是事務(wù)中操作的用戶(hù)。
- 可擴(kuò)展性:適配器通過(guò) cache 機(jī)制減少了與后臺(tái)系統(tǒng)的交互,并且通過(guò)配置,限定和后臺(tái)系統(tǒng)建立的連接數(shù)。
- 數(shù)據(jù)透明:適配器提供了獲取后臺(tái)數(shù)據(jù)的統(tǒng)一接口,這樣開(kāi)發(fā)者在獲取數(shù)據(jù)時(shí)就不需要關(guān)注數(shù)據(jù)源、格式和傳輸協(xié)議信息。
圖 1 描述了適配器和前臺(tái)的 app 以及后臺(tái)系統(tǒng)間數(shù)據(jù)交互的過(guò)程,具體的流程如下:
- 適配器暴露一系列的方法,稱(chēng)之為 procedures,前臺(tái) app 通過(guò) Ajax 方式調(diào)用這些過(guò)程。
- 這些方法從后臺(tái)獲取相應(yīng)信息。
- 后臺(tái)系統(tǒng)返回的數(shù)據(jù)格式如下
- 如果格式為 JSON,WL 服務(wù)器直接返回。
- 如果格式不是 JSON,服務(wù)器將數(shù)據(jù)格式轉(zhuǎn)化為 JSON 后,再返回。
- 這些方法將獲得的 JSON 數(shù)據(jù)進(jìn)行業(yè)務(wù)處理,將最終結(jié)果返回給 app。
評(píng)論
圖片
表情
