999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于“和欣”的構件化Car Faces技術

2007-01-01 00:00:00張久安
計算機時代 2007年5期

摘 要:在以Car構件為基礎的嵌入式研究領域中,構建面向Web服務的Car構件運行容器一直是研究的熱點。文章闡述了面向Web服務的Car構件運行容器的特點,介紹了構件技術以及“和欣”操作系統(tǒng),討論了構件化的Web Container的分層設計理念,闡述了在“和欣”操作系統(tǒng)上實現的基于構件的Car Faces系統(tǒng)。該系統(tǒng)充分發(fā)揮了構件技術的優(yōu)勢,并具有簡單、高效可配置等特點,很好地滿足了以Car構件為基礎的Web應用程序的需求。

關鍵詞:嵌入式系統(tǒng);Web容器;構件技術;和欣

0 引言

基于構件的軟件工程是實現高生產率、低維護費用和高可靠軟件產品的關鍵技術,在這種工程模式下,按照一定的架構把構件組裝起來成為軟件開發(fā)的核心工作。目前絕大多數傳統(tǒng)的嵌入式應用仍然是采用強類型的系統(tǒng)編程語言(比如c和Java等)來完成對構件的組裝。對于一個應用程序僅需改變應用的表現層,而不必大量修改構件功能的情況,傳統(tǒng)開發(fā)模式所要經過的修改一編譯一運行的過程就顯得效率低下,開發(fā)周期長和不能隨需求靈活變化的弱點就暴露了出來;另外,采用強類型語言來實現功能構件并將這些構件組裝成應用程序,將造成構件之間的強耦合關系,會使得開發(fā)維護的難度加大。

為了實現構件問的松散耦合,提高開發(fā)維護的效率和適應需求變化的能力,有必要在應用的開發(fā)中引入新的開發(fā)模式,采用新的構件組裝技術來適應新形勢的發(fā)展。考慮到腳本語言的語法簡單、功能強大、易學易用的特點,本文基于CAR構件技術,提出了新的XML+CAR+其他腳本語言(Javascript、Ruby等)的Car Faces編程范式,實現了更為靈活的構件組裝機制,為在“和欣”上的應用開發(fā)提供了更加快速、靈活的編程范式。另外,手機上網已成為一種潮流,采用原始的模型勢必導致服務器高負載運轉,所以也需要一種新的架構模式,用來解決手機上網所帶來的新問題。

1 構件技術及“和欣”操作系統(tǒng)

構件技術是在面向對象技術的基礎上發(fā)展起來的。面向對象技術通過類的封裝和繼承成功實現了代碼級的復用。類的封裝性,實現數據抽象和信息隱蔽;而類的繼承,提高了代碼復用性。但是面向對象的復用脫離不了代碼復用的本質,對象之間的關系在編譯時被固定,模塊之間的關系是靜態(tài)的,無法解決軟件動態(tài)升級和軟件模塊動態(tài)替換。

構件技術通過二進制的封裝以及動態(tài)鏈接技術解決軟件的動態(tài)升級和軟件的動態(tài)替換問題。面向構件技術對一組類的組合進行封裝,它代表完成一個或多個功能的特定服務,同時為用戶提供多個接口。整個構件隱藏了具體的實現,只用接口提供服務。這樣,在不同層次上,構件均可以將底層多個邏輯組合成高層次上的粒度更大的新構件。構件之間通過約定的接口進行數據交換和信息傳遞,構件的位置是相互透明的,可以在同一個用戶進程空間,也可以在不同的用戶進程空間,甚至在不同的機器上;而且不同的構件可以用不同的語言編寫,只要它們符合事先約定的構件規(guī)范。

“和欣”操作系統(tǒng)是科泰世紀公司開發(fā)的具有自主知識產權、基于微內核和構件技術,支持構件化應用的嵌入式操作系統(tǒng)。“和欣”操作系統(tǒng)對CAR構件技術提供了內置的支持。

CAR構件技術是面向構件編程的編程模型。它規(guī)定了一組構件間相互調用的標準,使得二進制構件能夠自描述,能夠在運行時動態(tài)鏈接,進行系統(tǒng)升級的時候也只需要升級相關的構件即可,具有可靠性、容錯性、安全性,代表了軟件工廠化生產的方向。

2 構件化Car Faces的設計

為了能滿足新的需求,如圖1所示,整個系統(tǒng)的服務器端分為四層:呈現層、導行層、驗證層和業(yè)務處理層。另外,底層采用Car構件支撐各個環(huán)節(jié)的運行和交互。

圖1 Car Faces業(yè)務邏輯架構

其中,呈現層實現視圖的相互轉換:(1)將頁面提交的html代碼還原成Car Faces樹,并以xml樹形格式呈現。同時這一層負責將樹上的各節(jié)點值或組件與后臺支撐的Car構件動態(tài)綁定。(2)將頁面導行系統(tǒng)提交的Car Faces樹轉換成html代碼表示,整個系統(tǒng)通過這一層實現服務器和客戶的直接交互。

當呈現層從客戶端接收完數據并轉化成Car Faces代碼后,就將轉換結果遞交到驗證層。驗證層從樹的根結點遍歷整棵樹并調用綁定到各結點的相應的驗證程序。如果一旦遇到錯誤信息,驗證程序將把所得到的錯誤信息排隊。驗證結束后根據決策代碼決定是否向下層提交或者直接調用Response.finish()將錯誤信息呈現給客戶端。驗證過程中,我們可以調用默認程序EzValidate,也可以調用用戶自定義為結點綁定的驗證程序。驗證程序的實現,也是通過調用各后臺支撐Car構件來完成的。

如果驗證程序驗證結束,將進入業(yè)務處理模塊。在這一模塊中我們定義了許多業(yè)務Car構件,通過調用業(yè)務Car構件的應用程序,可以完成對用戶數據的處理。業(yè)務處理模塊根據客戶端產生的事件調用相應的業(yè)務處理程序,最終得到處理結果。處理完成后將處理結果提交業(yè)務導行模塊。

導行層次是為客戶呈現具體頁面而設計的。在這一層里,我們通過業(yè)務層的運行結果或者錯誤信息選擇適當的頁面信息返回給客戶。用戶根據返回信息可以知道操作的結果。

所以在整個架構的設計過程中,構件容器占據著至關重要的作用。

3 Car Faces生命周期

圖2為我們展示了car Faces請求響應的生命周期。

圖2 Car Faces生命周期

接到客戶端的請求后,首先將請求視圖轉換為Car Faces樹狀視圖。在轉換過程中可能會出現轉換異常現象。當發(fā)生了異常后,應用程序捕獲異常,根據錯誤類型作相應的處理。

呈現結束后,根據轉換的結果樹的值動態(tài)綁定到相應的構件上,并在此作一些初步處理。

上面兩步完成后,生命周期將進入下一個階段:驗證處理階段。在驗證處理階段將對Car Faces視圖的每個結點實行驗證處理。一旦出現錯誤,處理程序立即捕獲錯誤,并根據錯誤類型實施相應的處理。

以上各階段工作完成后,將進行的就是核心工作:業(yè)務處理。業(yè)務處理調用業(yè)務處理程序對轉換后的數據進行相應的處理,進而達到為客戶服務的目的。在這一階段也可能會有意想不到的異常發(fā)生。一旦發(fā)生異常,將有異常處理程序做相應的處理。

業(yè)務處理完畢后,處理結果樹被遞交給頁面導行。頁面導行根據業(yè)務處理結果做出抉擇,最終確定要向用戶返回哪個頁面。

上面所有處理完成后,Car Faces生命周期也進入了最后的階段:頁面呈現。在這一階段,將根據頁面導行程序所遞交的結果對結果樹實施頁面呈現。同時,服務器端各種組件給用戶呈現可識別代碼,最終以html代碼的形式返回給客戶。

4 Car Faces在“和欣”上的實現

完整的Car Faces架構可以表示為圖3

圖3 Car Faces系統(tǒng)架構

(1)最外層是Car Faces運行環(huán)境(Runtime),負責初始化和釋放Car Faces應用所需資源。

(2)內部頂層是腳本語言及其配套設施。這一層相當于提供了對MVC中View的支持。

XML/JavaScriptt/Other Scripts提供了多種描述Car Faces應用的形式,讓開發(fā)人員能夠靈活利用各種腳本語言的優(yōu)勢。

(3)SCI(script Callable Interface)是腳本語言與CAR構件系統(tǒng)通信的橋梁。這一層相當于提供了對MVC中Controller的支持。

(4)CFSTL(Car Faces Standard Tag Library)是Car Faces提供的標準標簽庫,其中Car Faces提供了標準的自定義組件。CTL(Custom Tag Library)是用戶自定義標簽庫。頁面設計人員能夠使用這兩個標簽庫所提供的標簽。

(5)CAR構件系統(tǒng)。它是服務的提供者。這一層相當于提供了對MVC中Model的支持。在這一層,實現了各種Car構件。這些構件支持著上層的業(yè)務邏輯能夠順暢運行。

本Car Faces架構集成了XML-GIue特點。

通過以上論述,可以看出使用Car Faces具有諸多優(yōu)點:(1)Car構件直接運行在本地機器上,某些操作甚至可以直接控制硬件,所以其速度相對較快。(2)Car Faces實現了清晰的分層概念,不像AJXA只局限于技術的實現。(3)組件的可擴展性好。在本系統(tǒng)中,提供了許多標準組件,但同時也給用戶提供了組件定義接口,使用戶開發(fā)出自己的組件。(4)采用本體系容易實現瘦客戶端。一些簡單的邏輯判別可在客戶端直接完成,比如采用Script語言提供驗證機制。這些特點為在手機上實現快速網絡瀏覽器提供了捷徑。

5 結束語

本文采用科泰公司的CAR構件技術在和欣操作系統(tǒng)上實現了一代新的網絡開發(fā)架構。該體系中的一些簡單業(yè)務邏輯可以以Script的形式直接嵌套在客戶端代碼中。另外本架構采用了清晰的分層概念,使得開發(fā)和調試更加快捷方便。借助CAR構件的元數據和自描述信息,在“和欣”操作系統(tǒng)上使用JavaScript、Ruby等腳本語言和XML文件動態(tài)地編寫圖形界面成為可能。使用構件化的方法開發(fā)圖形系統(tǒng)也可以推廣到其他支持構件的操作系統(tǒng)上。

下一步的工作是完善系統(tǒng)的構件粒度劃分,同時優(yōu)化各步算法,以提高Car Faces系統(tǒng)的效率。

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。

主站蜘蛛池模板: 福利小视频在线播放| 国产免费久久精品44| 在线不卡免费视频| 免费啪啪网址| 国产亚洲精| 亚洲综合国产一区二区三区| 中文字幕人成人乱码亚洲电影| 四虎影视库国产精品一区| 国产婬乱a一级毛片多女| 全午夜免费一级毛片| 男女性色大片免费网站| 91黄视频在线观看| 久久综合结合久久狠狠狠97色| 欧美yw精品日本国产精品| 国产av无码日韩av无码网站| 国产精品私拍在线爆乳| 91亚瑟视频| 黄色成年视频| 99在线观看视频免费| 国产一级做美女做受视频| 毛片网站免费在线观看| 在线毛片网站| 久久国产精品国产自线拍| 伊人久久大线影院首页| 亚洲VA中文字幕| 亚洲精品色AV无码看| 亚洲国产亚洲综合在线尤物| 国产精品尤物铁牛tv| 99er精品视频| 高清无码手机在线观看| 国产精品手机在线播放| 手机看片1024久久精品你懂的| 高潮毛片免费观看| 久久网欧美| 国产又爽又黄无遮挡免费观看 | 激情国产精品一区| 国产人人干| 亚洲天堂网2014| 国产成人精品男人的天堂| 高清色本在线www| 99热最新网址| 尤物精品国产福利网站| 色偷偷av男人的天堂不卡| 国产精品欧美激情| 欧洲在线免费视频| 福利片91| 国产一区二区影院| 天堂网亚洲系列亚洲系列| 日韩高清中文字幕| 欧美专区在线观看| 亚洲人成人无码www| 精品一区二区三区四区五区| 朝桐光一区二区| 尤物视频一区| 在线观看免费国产| 人与鲁专区| 波多野结衣一区二区三区88| 一区二区三区四区在线| 国产成人精品视频一区二区电影 | 国产乱子伦精品视频| 熟妇人妻无乱码中文字幕真矢织江| 日本亚洲欧美在线| 88av在线| 亚洲 成人国产| 婷婷六月在线| 19国产精品麻豆免费观看| 18禁影院亚洲专区| 精品无码一区二区三区电影| 波多野结衣二区| 色一情一乱一伦一区二区三区小说 | 在线亚洲精品自拍| 九九九国产| 国产精品自在线天天看片| 欧美日韩在线成人| 午夜视频免费试看| 久久夜色撩人精品国产| 亚洲丝袜中文字幕| 国产高清在线观看91精品| 日韩精品无码免费专网站| 国产va在线| 亚洲日韩日本中文在线| 日本午夜影院|