首页 > 代码库 > Ruby on Rails开发Web应用的基本概念

Ruby on Rails开发Web应用的基本概念

Web应用架构

C/S架构

Web应用从最初就采用C/S架构。Server负责监听客户端请求,提供资源,Client向server发起请求并渲染页面。两者通过TCP/IP协议栈之上的HTTP协议通信。

多层架构

在Web 2.0时代,随着交互性的要求,这个架构变得更为复杂。Server需要提供更复杂的服务,Client也要完成更多的交互任务,涌现出很多新的提供更快更好服务的技术。相应的,C/S架构需要以一种更复杂的方式来组织,即多层架构。
多层架构中的每一层负责提供一个特定的功能,与其他层通过良好的接口进行交互,易于升级维护。原始的C/S架构可以视作Server、Client两层。

3层架构

典型的3层架构为表示层,逻辑层,数据层

  • 表示层由浏览器负责渲染
  • 逻辑层由服务器端操纵数据,并发往表示层
  • 数据层负责存储数据。

6层架构

如果进一步分割,就得到6层架构,如下图


  • 表示层分为Client层和表示逻辑层
    • Client层负责渲染展示页面
    • 表示逻辑层为Server根据脚本生成网页
  • 逻辑层分为商业逻辑层和数据访问层
    • 事务逻辑层表征事务逻辑和流程
    • 数据访问层负责存取数据,发往事务逻辑层
  • 服务端通常有网络层负责网络

Ruby on Rails

Ruby on Rails是一个基于Ruby开发的构建Web应用的开源框架或者开源库,Twitter、Hulu、Github、Iteye等公司都采用了rails
框架。

组件

Ruby on Rails包含一系列组件

  • Rake:类似于make,可以用来修改、迁移数据库
  • WEBrick:一个Rails内置的HTTP服务器,可以使用rails server命令启动,速度较慢,适合完成开发阶段的测试
  • SQLite:最简单的数据库,同样只适合开发阶段的测试
  • Rack Middleware:中间件,用于服务器软件和应用之间的交互

缺点

  • 不适合海量服务,Twitter已经由ROR转向Scala
  • 它是一个框架,隐藏了太多细节

MVC架构

Model表示数据,View使用数据渲染页面,而Controller是媒介。View和Model的严格分离保留了重用性。


使用Rails创建应用时会自动按照MVC架构生成相关代码,包括:

  • 表示Model的一个类,数据库中会建立相应的表
  • 一个Controller,相应的URL解析和数据库中的操作会一一对应好
  • View包括一系列html文件用来渲染页面

Active Record

Active Record机制使object-relational mapping (ORM)变得可行。在Ruby中以ActiveRecord模块的形式出现。ORM映射机制为:

  • class - table
  • object - record(表的一行)
  • attribute - record value(表的一列)

ActiveRecord模块提供以下功能:

  • 与数据库建立连接
  • 表的创建
  • ORM映射
  • 使用object完成CRUD操作(Create、Read、Update、Delete)

 

转载请注明作者:Focustc,博客地址为http://blog.csdn.net/caozhk,原文链接为点击打开