`
wooyon
  • 浏览: 22579 次
  • 性别: Icon_minigender_1
  • 来自: XT
社区版块
存档分类
最新评论

RoR迈向2.0,强化企业开发机制

阅读更多
基于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月

分享到:
评论

相关推荐

    ThinkPHP2.0完全开发手册

    使用面向对象的开发结构和MVC模式,采用单一入口模式等,融合了Struts的Action思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,在项目配置、类库导入、模版引擎、查询语言...

    ThinkPHP2.0完全开发手册.chm

    使用面向对象的开发结构和MVC模式,采用单一入口模式等,融合了Struts的Action思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,在项目配置、类库导入、模版引擎、查询语言...

    ror实例

    ror实例ror实例ror实例

    RoR性能优化经验谈

    RoR性能优化经验谈,牛人对ror的优化,值得大家阅读

    ror中文资料

    ror中文资料ror中文资料

    ror

    NULL 博文链接:https://xuxiangpan888.iteye.com/blog/266696

    AspMvc框架 V2.0.rar

    借鉴了国内外很多优秀的(Java Ssh/Net NetMvc3.5 ThinkPhp)框架和模式,使用面向对象的开发结构和MVC模式,RoR的ORM映射,封装了CURD和丰富的工具集等,在缓存机制、认证机制和扩展性方面均有独特的表现。...

    敏捷开发第二版ROR必看

    敏捷开发第二版,06年最佳出版物,学习ROR必看教程。。

    初探ROR

    ROR 架构介绍及了解

    RoRBlog 基于RoR的博客系统

    基于RoR的博客系统,代码风格简单清晰,前后太完善,适合初学者。

    神经网络ror resenet模型

    神经网络ror resenet模型 cifar10准确率89% cifar100准确率72%

    Windows 上搭建 ROR环境

    之前本人在windows 上搭建ROR环境,屡屡受挫,上网查资料、加入ruby on rails的qq群,关注ruby社区等,没有得到一套完整的正确的方法,很多朋友说不要在windows 弄ROR,很费力。的确很费力,后来在朋友的帮助下,...

    RoR选题方向—源代码

    RoR选题方向—源代码

    家蚕Ror2基因的克隆与表达分析

    家蚕Ror2基因的克隆与表达分析,刘伟,陈菲,Ror家族属于受体酪氨酸激酶中的孤儿受体,在进化上非常保守。本研究克隆了家蚕Ror2基因BmRor2的ORF序列,BmRor2基因的ORF为1924 bp,编码638

    ROR绿色最新环境(2013/3/10)

    ROR环境 Ruby version 1.9.3 (java) RubyGems version 1.8.24 Rack version 1.4 Rails version 3.2.12 JavaScript Runtime therubyrhino (Rhino) Active Record version 3.2.12 Action Pack version 3.2.12 ...

    ROR 文件的上传与下载

    我自己再开发时的笔记

    mysqlDriver4ror.rar

    mysqlDriver4ror.rarmysqlDriver4ror.rarmysqlDriver4ror.rarmysqlDriver4ror.rar

    javarebel 用JAVA和ROR一样方便测试

    破解版本的JAR包,放到本地磁盘,ECLIPUS直接用,到JVM设置直接加 -noverify -javaagent:D:\javarebel.jar

    thinkphp3.2.3 开发大型商城项目完整笔记

    早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(标签库)、RoR的ORM映射和...

Global site tag (gtag.js) - Google Analytics