基於Ruby語言的開發框架Rails 推出2.0新版。新增多項企業級運用所需的技術,包括對資訊安全、交易、效能等方面機制的改善,可用來協助企業在需求快速改變的Web環境中,進行快速開發。

Rails框架作者David Heinemeier Hansson(簡稱DHH)本月初於Ruby on Rails(簡稱RoR)官方部落格發布Rails 2.0正式版。Rails這種敏捷開發的框架,從2004年推出後,因為開發框架大受歡迎,而使得開發語言Ruby開始流行,甚至擠進全球開發語言排行前10名,去年還獲得歐美與日本開發市場的高度關注,CodeGear大中華區技術總監李維表示:「RoR風行的情形,類似1990年的Java,也將開始走入企業應用。」歷經4年,DHH終於再度推出第2版,並且增強企業最關心的資訊安全、資料交易(transition)、效能等方面的功能。

在Rails 2.0的新特色,增強了許多企業級應用所需的開發機制。例如新版最重要的其中一項特色是,在資料交易上,更完整的支援REST,這種連Amazon或Yahoo都在使用的網路資料交換方式。一般企業網站應用提供Web Service時,多採用SOAP或XML-RPC的資料封裝方式,來進行XML資料的傳遞。但不同於SOAP或XML-RPC,REST可以提供更貼近HTML協定,也更簡潔的XML資料存取方式與參考結構,有利於簡化不同網路應用之間傳遞資料的開發過程,有助於進行快速開發,或需經常變更資料架構的網路應用。

另外新版本也強化了企業近年來最擔心的資訊安全機制。例如Rails 2.0內建HTML表單和Ajax請求的驗證機制,可以檢測是否來自正確授權網站的資料請求,避免被攔截或偽造。對於常見的跨站攻擊(XSS),也能夠從過去檢查黑名單的方式,預設為更主動的白名單驗證,只開放授權網站存取。此外還新增一個模組來處理HTTP的基本驗證,開發人員可以很容易讓取得存取授權的API程式,跨越SSL協議。這些資訊安全機制,過去得相當費力自行開發,現都直接納入Rails新版的預設功能,企業可以直接使用。

效能是Rails 2.0第三個重要改善。採用RoR的Twitter網站,曾發生因為使用量暴增而效能不彰的情況,引起開發社群對RoR效能的疑慮和爭辯。在Rails 2.0中,新增查詢暫存(query cache)的機制,讓重複出現的相似查詢指令,存取相同的暫存資料,減少資料庫的讀取負擔。另外也在異常管理功能中,新增一個request profiler的指令,可以用來追蹤一支程式實際使用的過程,產生每個步驟執行時間的報表,可以用來找出實際運作上的效能瓶頸,作為進一步優化程式的依據。

新版Rails在資訊安全、交易與效能上的改進,李維認為:「讓RoR滿足企業級開發需求,不只是個人或小型開發。」但他不認為RoR會取代企業現有的開發方式,他認為RoR快速的雛形開發能力,可以協助企業解決像入口網站或對外網路服務,這類經常需要應變的開發需求,而像核心系統或複雜應用,還是需要更強的開發語言。臺大計中程式設計組組長也是資工系副教授呂學一同意這個看法:「臺大常有很多小型開發需求,其實也相當耗人力,因此需要功能不用很強但開發很快的工具。」臺大也有意採用RoR來解決這類小而快的需求。

除了RoR開發框架增強對企業應用的支援之外,也開始出現整合式的RoR IDE開發工具。目前已有供企業開發RoR的IDE工具,例如像Sun將推出的NetBeans 6.0,或CodeGear甫在臺發表的RoR專用開發工具3rdRail,都已經支援到RoR前一版本。李維表示:「明年第一季3rdRail會推出新版,支援RoR 2.0版,並提供專屬的Rails框架除錯功能。」文⊙王宏仁


Rails 2.0新增功能

Rails功能類別 增強項目
Action Pack ● 增強對RESTful方式的實現。將分號區隔定字的方式改成斜線。開發人員可自訂URL 路由的命名規則。
● 增強Multiview,可以在樣版(Template)中控制不同的呈現樣式。
● 建立大量命名預設規則,簡化Controller和View的URL。
● 新增處理HTTP基本驗證的模組,提供授權API跨越SSL。
● 新增瀏覽器請求靜態資源的分配機制,可分散伺服器的請求負擔。
● 內建處理CRSF攻擊的查驗機制。
● 增加白名單驗證功能,可預防跨站腳本攻擊。
● 使用Cookie來儲存Session資料。
● 新增request profiler,可供追蹤一支程式中每個步驟的實際執行時間,用來判斷效能瓶頸。
Active Record ● 提供SQL查詢的暫存。
● 新的Migration方式,簡化宣告方式。
● 增強對XML的支援,如還原XML序列的功能。
● 將商用資料庫移出預設。
其他 ● 回復中斷點除錯的功能。
● 簡化對外掛模組的管理。
資料來源:David Heinemeier Hansson,iThome整理,2007年12月

熱門新聞

Advertisement