隨著ria技術的不斷成熟,對rias與伺服器端技術整合的需求越來越迫切了。來自於we are mammoth
公司的x2o框架
就是針對flex的這樣一種整合方案。infoq有幸採訪了we are mammoth的合作者ka wai cheung以了解x2o框架如何適應基於flex的ria開發。
infoq: x2o框架是什麼?
cheung:x2o是乙個針對adobe flex應用的基於web的資料建模平台。它使你可以快速構建資料庫驅動的flex應用而無需任何伺服器端**或設定。
通過使用x2o,你無需建立自己的資料庫、構建儲存過程、編寫伺服器端**、甚至都不用將你的as3**整合到資料服務中。所有這些事情都由x2o幫你做好了。
相反,你只需建立乙個資料模型(如果需要的話還可以對其或多或少進行配置)並生成框架。然後你就可以立刻使用生成好的**及工具去構建你的flex應用了。特別地,你會得到乙個安全的cms以管理資料,乙個根據你的資料模型而定製的as3 swc檔案及全部文件。x2o會建立好包含基本的crud方法的值物件、關係,同時還會根據你的配置生成定製的載入方法。
由於這一切都是通過web實現的,因此無需進行安裝。你只需將生成的swc庫放到你的flex專案中就行了。你可以修改資料模型並重新生成這一切,這樣看來x2o就是乙個敏捷平台。
infoq:為什麼要建立x2o框架,它要解決什麼問題?
cheung:flex ria開發的乙個主要問題是它要求開發者有非常廣的知識面。開發者需要精通資料庫、某種伺服器端語言(如php、ruby、c#等等)、客戶端與伺服器端的整合(remoting、web services或者是soap),當然還要會編寫as3/mxml並構建於mvc/cairngorm這樣的架構之上。
x2o通過處理所有繁瑣的伺服器端程式設計與整合簡化了整個flex的開發過程,而這些工作過去需要幾個開發者用幾天甚至幾周的時間才能完成。這使得flex開發者可以將全部精力集中在flex上,同時還能夠完全控制資料的構造方式。
本質上,x2o使得flex開發者能夠專注於其領域,就像伺服器端開發者一樣,不用了解其他語言。
此外,x2o是完全基於web的。除了你的flex開發環境以外,不需要其他的安裝和設定。如果說還有需要解決的問題的話,那可能就是x2o將快速的flex開發與雲程式設計結合起來了。
對於簡化使用flex進行客戶端與伺服器端整合的需求越來越多了。針對rails的weborb
外掛程式很有趣——但使x2o與眾不同的卻是你無需編寫任何伺服器端**,也不用做任何整合。x2o開發者只需在flex環境下編寫**以推/拉資料,同時還能夠完全控制資料模型。
infoq:x2o在伺服器端的架構如何?
正如我之前所說,還會生成乙個安全的cms及文件——他們在伺服器上作為單獨的站點執行。
infoq:開發x2o都使用了哪些技術,如何使用的?
cheung:x2o底層構建在.net上。因此我們現在使用了sql server 2005和.net 2.0。我們還通過開源的flex框架生成了asdocs。
infoq:x2o典型的使用場景是什麼?
cheung:x2o可以應用於任何資料庫驅動的flex專案。過去兩年中我們公司(we are mammoth)已經使用x2o開發了很多東西,從只有靜態內容的簡單站點到包含很多業務邏輯的擁有大量資料的互動式應用。
我們還發現x2o對於原型開發來說非常有用。通常,flex中的原型利用率都很低,因為當你開始開發乙個「真正」的版本時,大多數原型都會被丟棄。借助x2o,你可以在幾分鐘內開發出乙個資料模型並立刻將其與真正的、受管理的資料進行整合。這使得我們可以無縫地將原型轉換為真實應用。
infoq:它是免費的麼,它的發布計畫如何?
cheung:x2o目前還處於公測階段,在beta版期間它是免費的。在這段時間內,我們允許開發者註冊並建立兩個免費的專案以熟悉x2o的工作方式。
我們打算在2023年發布x2o的完全版本,它會有乙個免費版(就像beta版一樣)和乙個付費版。後者在專案限制和功能性上會有所不同(比如部署該框架的開發版本和正規版本)。
作者moxie zhang譯者張龍
檢視英文原文:x2o framework for flex server integration
針對DataColumn的封裝
原本封裝了datacolumn。但是由於使用dataset自定義的remoting會丟失一些資訊 無可奈何,只好存入extendproperties.現在又覺得每次convert.toboolean會消耗,覺得只需要用存在於不存在來判斷是否擁有這個屬性。有點體會封裝的好處了。明天就把公司的底層修改一...
針對 this 方法的找錯題
考題題幹 下列 在編譯的過程中有錯誤,請找出錯誤的位置。1 class woman 7 public woman string n,int a 11 public woman string n,string ar,int a 15 試題分析 在同乙個類的不同構造方法中呼叫該類的其它構造方法需要使用 ...
針對mybatis的快取理解
1 mybatis分別有一級 二級快取,即已經設定好的快取模式,其中,一級快取指每個sqlsession分別有乙個快取,針對相應情況進行資料的快取,也是預設開啟的功能 而針對二級快取需要在mybatis的sql對映檔案中加入語句開啟,並且相應的model類要實現serializable介面,如果只配...