`
wooyon
  • 浏览: 23559 次
  • 性别: 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和一些常用操作,在项目配置、类库导入、模版引擎、查询语言...

    jRuby On Rails WEB2.0

    Ruby on Rails(简称RoR或Rails)是一个用于web开发的模型-视图-控制器(MVC)框架,用Ruby语言编写。Rails强调“约定优于配置”(Convention Over Configuration,CoC)的原则,大大简化了Web应用的开发过程,使得...

    RoR性能优化经验谈

    RoR(Ruby on Rails)是一种流行的开源Web开发框架,以其高效和简洁的代码著称。然而,随着网站规模的增长,性能优化成为必不可少的环节。在本文中,我们将探讨一些RoR性能优化的关键方面,主要基于JavaEye网站在...

    敏捷开发第二版ROR必看

    **敏捷开发第二版ROR必看** 在编程领域,Ruby on Rails(简称ROR)是一个深受开发者喜爱的开源Web应用程序框架,它基于Ruby语言,强调简洁、高效的代码编写。"敏捷开发第二版ROR必看"这个主题,指的是对敏捷开发...

    RoR 培训课程PPT

    - **书籍推荐**:《Agile Web Development with Rails》是一本经典的RoR教程,适合进一步深入了解RoR的开发实践。 - **在线社区**:参与Ruby on Rails官方论坛或Stack Overflow等社区,获取最新的技术资讯和解答开发...

    软件2.0详细介绍---ppt,统筹各种软件2.0技术

    随着RoR的升级,PHP将面临更大挑战,而CodeGear推出的支持PHP和Ruby的开发工具预示着这两种语言在企业市场的前景。 3. **Python**:Python在.NET和Java平台上持续发展,Python 3000的发布标志着语言的重大革新,其...

    初探ROR

    Ruby on Rails(简称ROR)是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在促进开发过程的简洁性和效率。Ruby on Rails的核心理念是“Don't Repeat Yourself”(DRY,...

    RoR选题方向—源代码

    Ruby on Rails(RoR)是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程。在这个选题方向中,我们主要探讨的是与RoR相关的源代码分析和学习。源代码是...

    ror中文资料

    Ruby on Rails(RoR)是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程,提高开发效率。RoR强调“约定优于配置”,提供了一套完整的工具链,使得开发者...

    freemis 基于ror框架的mis

    5. **安全性**:RoR内置了多种安全机制,如CSRF(跨站请求伪造)防护、XSS(跨站脚本)防护等,有助于保护系统的数据安全。 **学习和使用FreeMIS:** 对于想要深入理解或使用FreeMIS的开发者,首先需要掌握Ruby语言...

    ror

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

    ror实例

    Ruby on Rails(简称RoR或Rails)是一种基于Ruby语言的开源Web应用框架,它遵循Model-View-Controller(MVC)架构模式,旨在提高开发效率并提供简洁、优雅的代码结构。"ror实例"可能指的是在学习或实践中,通过创建...

    ROR安装必备所有架包

    在Ruby on Rails(ROR)开发环境中,安装和配置正确的依赖包是至关重要的。这个压缩包包含了一系列用于ROR框架的基础组件,但不包括Ruby本身。让我们深入了解一下这些包的作用和重要性。 首先,`actionpack`是Rails...

    rails2.0的配置方法

    Rails 2.0作为Ruby on Rails(简称ROR)框架的一个重要版本,在Web开发领域具有不可忽视的地位。本篇将详细介绍Rails 2.0的配置过程及注意事项,帮助初学者快速上手并深入理解该版本的核心功能。 #### 二、Rails ...

    AspMvc框架 V2.0.rar

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

    神经网络ror resenet模型

    **神经网络Ror ResNet模型详解** 在深度学习领域,ResNet(残差网络)模型是具有里程碑意义的创新,由He et al.在2015年提出。该模型解决了深度神经网络训练中的梯度消失问题,允许构建非常深的网络结构。而“Ror”...

    ROR环境配置

    在IT行业中,Ruby on Rails(简称ROR)是一款基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用开发过程,提高开发效率。本文将深入探讨如何配置ROR开发环境,以及...

Global site tag (gtag.js) - Google Analytics