网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 数据库技术 > Oracle > 体系架构 > Rails 上的 HR 模式  

Rails 上的 HR 模式

2006-07-21  作者:BitsCN.com整理  来源:中国网管联盟  点评 投稿 收藏

2006 年 6 月发表

网管u家u.bitsCN.com

   Oracle 数据库有着辉煌的历史和光明未来。它拥有最新的创新特性以及超前很多现代技术的历史。应用程序不断更替,但是组织的数据一直保留在已通过各种版本迁移的 Oracle 数据库中。由于现在存在大量的旧模式,这已经带来了技术上的挑战。许多组织面临着如何使其客户群更广泛地利用这些数据的挑战。 网管bitscn_com

    Ruby on Rails(或者简称“Rails”)是一个令人振奋的新框架,开发人员、DBA 和系统管理员可以使用该框架快速开发 Web 应用程序。该框架是开发源代码的,很快获得了广泛的认同。使用该框架,您可以比使用其他框架更快速地构建和开发与数据库集成的 Web 应用程序。 网管联盟bitsCN@com

   现在提供的大多数 Rails 示例和教程都包括创建一个带表和列的新数据库,这些表和列遵守该框架要求的结构和命名惯例。这些教程还假设一个相当简单的对象关系映射 — 使用旧模式时该映射不适用。但是,该框架和 Oracle 数据库都提供一些特性,这些特性可用于创建与旧模式集成的 Web 应用程序。

网管u家bitscn.net

   本文说明创建 Oracle 演示模式 HR 的 Web 前端的技巧。本文供下载的代码包括一个完整的 Ruby on Rails Web 应用程序,该应用程序在 HR 模式上开发,该模式在 Oracle Database 10g 快捷版 (XE) 上运行。

网管u家www.bitscn.net

   下载的应用程序可在 Windows 或 Linux 上运行。Linux 用户在执行本文说明的命令时应将所有反斜线转换为正斜线。 网管u家u.bitscn@com

为什么使用 Ruby on Rails?

   可用于 Web 开发的平台有很多,包括 Microsoft .Net、Java 2 企业版和 PHP。此外,大家广泛认为 Oracle 数据库 10g 的特性(也可以单独提供)Oracle Application Express(以前的 HTML DB)是快速开发与 Oracle 数据库集成的 Web 应用程序的理想平台。那么为什么还对一个使用相对不熟悉的语言的新平台这么感兴趣呢? 网管下载dl.bitscn.com

   依设计,Rails 可以进行极快的 Web 应用程序开发。Rails 是通过遵守惯例而不是强制开发人员预先做出所有配置决定来做到这一点的。安装了 Ruby 和各种所需的程序包之后,您只需运行不到六个命令和编辑一个文件 (database.yml) 就可以创建一个最小的 Web 应用程序。附带的代码生成器或代码库可应对 Web 开发中很多最常见的任务。Ruby 语言具有 Java 等语言的以对象为导向的功能,但是还可以用于创建简单的脚本。该语言的功能范围使您无需借助各种不同技术来完成手边的任务就可以创建应用程序。 中国网管联盟bitsCN.com

   Rails 因其加速了应用程序的开发而几乎誉满天下。之所以取得这样的成功,是因为遵守了编码标准和命名惯例。除了 Rails 框架要求之外,这些标准和惯例通常也是很好的编码做法。

网管网www_bitscn_com

传统模式与 Oracle 和 Rails 集成的有关惯例包括:
  • 使用表所代表的模型的复数形式命名表。例如,“employee”模型映射到“employees”表。
  • 包含将更新数据的所有表都包含一个称为“id”的主键。
  • 如果是 Oracle 数据库,该主键使用一个序列递增,序列名称基于主键递增的表的名称。名为“employees”、包含“id”的表将按名为“employee_seq”的序列递增。

    继续创建在旧模式下运行的 Rails 应用程序的方法有很多。一些技巧涉及使用 Rails 特性,还有一些技巧涉及修改底层数据库对象。演示 Web 应用程序并不尝试说明继续进行的每个可能方法,而是尝试利用以这样的方式利用 Oracle 和 Rails 的强大功能,提供一个清晰、开发速度快、容易维护的合理解决方案。 网管联盟bitsCN@com

   Rails 社区将 Ruby on Rails 框架的特征归结为“教条化”。这可以看作是肯定性的描述,表明该软件的设计加强了对标准和惯例的遵守。但是,这样的目标也引出了这样的担忧 — 该框架将限制或约束应用程序开发。我们的应用程序包括实现表明框架灵活性的一些要求。 网管有家bitscn.net

   Ruby on Rails 框架提供在新的或旧的数据库模式上快速构建 Web 应用程序所需的工具。看一下 rake(一个 Ruby 构建实用程序)的输出,这可以让您感受一下创建该项目所付出的努力: 网管联盟bitsCN@com

C:\hr_rails\hr>rake stats
(in E:/ruby_apps/hr_rails/hr)
+----------------------+-------+-------+---------+---------+-----+-------+
| Name                 | Lines |   LOC | Classes | Methods | M/C | LOC/M |
+----------------------+-------+-------+---------+---------+-----+-------+
| Helpers              |    15 |    14 |       0 |       0 |   0 |     0 |
| Controllers          |   243 |   193 |       7 |      35 |   5 |     3 |
| Components           |     0 |     0 |       0 |       0 |   0 |     0 |
|   Functional tests   |   440 |   315 |      10 |      50 |   5 |     4 |
| Models               |   177 |   149 |       6 |       5 |   0 |    27 |
|   Unit tests         |    50 |    35 |       5 |       5 |   1 |     5 |
| Libraries            |     0 |     0 |       0 |       0 |   0 |     0 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total                |   925 |   706 |      28 |      95 |   3 |     5 |
+----------------------+-------+-------+---------+---------+-----+-------+
Code LOC:356     Test LOC:350     Code to Test Ratio: 1:1.0
 网管u家u.bitsCN.com 

开发该应用程序需要的类不到 30 个,代码不到 400 行!

网管bitscn_com

安装和运行 Web 应用程序

    安装 Oracle 数据库 XE、Ruby、Rails 和 OCI8 程序包是安装该应用程序的前提条件。由于介绍每个过程将需要一系列文章,因此我仅向您提供安装资源参考: 网管u家u.bitscn@com

  • 安装 Oracle 数据库特别版
  • 安装 Ruby 和 Rails
  • 安装 OCI8(“PHP OCI8 扩展”部分)
   安装这些程序后,下载并解压缩 hr_rails.zip 文件,该文件包含与本文相关的所有代码资源。解压缩的文件具有向右显示的以下目录结构(图 1)。
图 1

图 1:目录结构 网管网www.bitscn.com

    该目录结构没有什么特别的,它是所有 Rails 应用程序的标准结构。应用程序的名称(本示例为 hr)显示为根目录。app 目录中的 models、views 和 controllers 目录包含大量的应用程序代码。config 目录包含 database.yml 文件(用于配置数据库连接)和 routes.rb 文件(用于定义充当应用程序索引的页面)。public 文件夹包含保存 Web 资源的目录,包括脚本、图像和样式表。尽管本文没有讨论,但 test 目录包含与对应用程序进行单元测试相关的资源。

网管网www_bitscn_com

安装了软件、创建了模式并配置了 Rails 应用程序后,就可以运行该应用程序了。从 hr 目录,运行:

网管论坛bbs_bitsCN_com

ruby script\server 网管u家bitscn.net 
    该命令启动 WEBBrick(随安装程序附带的 Ruby Web 服务器)。在 Web 浏览器中,输入将在端口 3000 运行的 Web 应用程序的 URL,例如 http://localhost:3000。

下面列出了在应用程序中显示的页面的示例:

网管下载dl.bitscn.com

 

网管下载dl.bitscn.com

图 2

图 2:主页

网管网www_bitscn_com

  网管朋友网www_bitscn_net

图 3

图 3:地区赔偿报告

中国网管论坛bbs.bitsCN.com

 

网管u家www.bitscn.net

图 4

图 4:员工列表

中国网管论坛bbs.bitsCN.com

 

网管联盟bitsCN_com

图 5
图 5:员工编辑


接下来,我们来看看应用程序的数据库和模式配置。

网管u家www.bitscn.net

TAGs   模式   应用程序   数据库   Rails   使用   创建   一个   Oracle   可以      
 上一篇:Oracle、IBM、BEA服务器的基准测试和比较   下一篇:Oracle10g回溯版本查询追踪行变化
Rails 上的 HR 模式 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: