APP下载

ROR在Web开发中综合运用的研究

2009-07-01鲍海燕朱学玲

新媒体研究 2009年23期

鲍海燕 朱学玲

[摘要]在社会信息化程度不断提高的今天,软件开发者也在不断探索着新的软件开发方法,希望能使软件开发更加简单有效,在这种大前提下,敏捷开发应运而生。敏捷开发指的是一种面临迅速变化的需求去快速开发软件的方法。Ruby on Rails是一种解释型的方便快捷的面向对象脚本语言,利用Ruby语言和Rail相框的强大功能,可以使Web开发更加轻松自如。在不久的将来,Rails技术会给我们的开发带来更多的进步。对最新Web应用开发框架Ruby On Rails的工作原理做简单介绍,讨论构建一个基于ROR的Web应用的实现方法和所用到的技术,并基于ROR开发一个在线购物系统。

[关键词]敏捷开发Ruby on RailsWeb开发

中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1210123-01

一、引言

Ruby on Rails是一个使用纯Ruby语言编写的、实现了MVC模型的、易于开发、配置和治理的Web应用程序的框架。Rails的设计思想由一组关键的概念来驱动:低重复、约定优于配置、快速Web开发框架、对数据库访问的支持。ROR是Ruby On Rails的英文简称,ROR是指使用Ruby语言实现的Rails Web开发框架。Rails是一个MVC框架。使用Rails开发应用时,每个代码以及应用程序的每个部分都遵循标准的方式。也就是说,是在一个被事先预备好的框架内开始应用程序设计的。Rails应用程序是由模块化的、面向对象的脚本语言Ruby写成的,这些模块之间的相互链接和关系驱动着MVC模型的运行。ROR这些特点也使它逐步从一个开源和个人的Web开发框架走向主流,在诸多Web开发框架中以其鲜明的特色占据了一席之地。将(模型-视图-控制器)MVC模型用于软件设计中可以使应用程序的构造更加清晰。Rails是一个MVC框架。使用Rails开发应用时,每个代码以及应用程序的每个部分都遵循标准的方式。也就是说,是在一个被事先准备好的框架内开始应用程序设计的。Rails应用程序是由模块化的、面向对象的脚本语言Ruby写成的,这些模块之间的相互链接和关系驱动着MVC模型的运行。[3]

二、需求分析

基于ROR在开发应用上的诸多优势,本文使用ROR开发了一个小型的网络购物系统,根据客户要求,该系统应具备下列主要功能:向客户提供可预订商品的列表和具体信息,供客户选择。这些信息的维护由系统管理员进行。向客户提供一个订单提交、浏览和处理界面,实现购物车的订单功能。提供管理员登录功能,包括增加、删除和信息修改。系统选用数据库作为后台数据库,运行环境为:WindowsXP、InstantRails1.7、Mysql4.1、

Ruby-1.8.7及使用notepad++编辑,ROR实现购物系统的技术路线,将需求模块化设计中将以递增式开发这个应用程序,首先使用Rails立即创建名为depot具有一些功能的简单应用Order。使用Rails的第一个任务是创建Web接口来治理系统中的商品信息,包括创建商品信息,编辑现有商品,查看已有的商品信息,删除不需要的商品。要实现以上功能,在数据库中应当建立几张表,使用Rails“支架”来自动生成最初的代码,这也是Rails具有灵敏性开发效率的一个原因。Rails“支架”是为治理一个“模型”而自动创建的一个框架。当运行“生成器”时,告诉它需要“支架”来生成一个非凡的“模型”,并且需要通过给定的“控制器”来访问它。在应用程序中,根据需要要求有一个名为product的“模型”,所以Rails将它与叫products的表关联起来。[3]

三、系统设计与系统实现

1.系统分析。基于ROR在开发应用上的诸多优势,本文使用ROR开发了一个小型的在线购物系统,根据客户要求,该系统应具备下列主要功能:

(1)向客户提供可预订商品的列表和详细信息,供客户选择。(2)向客户提供一个订单提交、浏览和处理界面。(3)提供系统管理员登录功能。(4)提供系统管理员管理商品和订单的功能。

为了满足消费者的各种需求,网络购物车系统对所有的商品信息都会不断的更新。[2]

2.系统流程图。本系统为用户提供了买家及卖家之间的买卖商品交易,客户可以通过购物车系统功能查看所有商品。卖家可以通过管理页面进行商品的添加和修改,卖家还可以查看客户的订单情况。[1]

3.在线购物。前台主要分为购物、商品、订单功能。

4.添加商品。管理员添加商品。

5.添加管理员用户。给系统后台添加管理用户。

四、系统测试

Rake是使用ruby编写的程序,用Rake来读入RakeFile。而Rakefile里包含了定义的任务,每个任务都有一个名字,和它所依赖的一些任务,并且还有一组要执行的动作。现在我们来了解一下Rails中的Rake。当使用Rails的generate脚本创建一个项目的时候,会自动在项目的根目录生成一个Rakefile文件,可以帮助完成很多任务,在Rails的命令行中执行:depot>raketasks命令,将会看到数据库,文档,测试,临时文件等相关的命令。如图4-1所示[1]:

图4-1系统测试图

五、结束语

在线购物系统的开发证明,使用ROR来开发一个中小型的Web应用是非常快速和便捷的,它和J2EE Web应用开发框架相比,开发复杂程序大大减低,也不用处处使用xml语法来对应用进行配置;但ROR要遵循许多约定和习惯来生成框架,而且对数据库设计有一些特殊的要求,一旦要在不符合约定和习惯的旧系统上进行更新设计,有时会使其快速开发的效率受到较大的影响。[1]

参考文献:

[1](美)Dave Thomas David Heinemeier Hansson,《Web开发敏捷之道-应用Rails进行敏捷Web开发》,北京:电子工业出版社,2007年7月.

[2]高昂,《面向企业的Ruby on Rails》,2007年23期.

[3]宋华、王佐成、汪林林,《基于RoR框架的办公自动化系统的设计研究》,2007年11期.