Ruby on Rails开发Web应用的基本概念
Web应用架构
C/S架构
Web应用从最初就採用C/S架构。Server负责监听client请求,提供资源,Client向server发起请求并渲染页面。两者通过TCP/IP协议栈之上的HTTP协议通信。
多层架构
在Web 2.0时代,随着交互性的要求,这个架构变得更为复杂。Server须要提供更复杂的服务,Client也要完毕很多其它的交互任务,涌现出非常多新的提供更快更好服务的技术。对应的,C/S架构须要以一种更复杂的方式来组织,即多层架构。
多层架构中的每一层负责提供一个特定的功能,与其它层通过良好的接口进行交互,易于升级维护。原始的C/S架构能够视作Server、Client两层。
3层架构
典型的3层架构为表示层,逻辑层,数据层
- 表示层由浏览器负责渲染
- 逻辑层由server端操纵数据,并发往表示层
- 数据层负责存储数据。
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:中间件,用于server软件和应用之间的交互
缺点
- 不适合海量服务,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,原文链接为点击打开
Ruby on Rails开发Web应用的基本概念的更多相关文章
- 在linux,windows上安装ruby on rails开发环境
ruby是一个非常优秀的语言,ruby的精髓rails可以让web开发的效率成倍的提高,下面就介绍一下我搭建rails环境的过程.windows下搭建ruby rails web开发环境本篇文章主要是 ...
- [Ruby on Rails系列]2、开发环境准备:Ruby on Rails开发环境配置
前情回顾 上次讲到Vmware虚拟机的安装配置以及Scientific Linux 6.X系统的安装.这回我们的主要任务是在Linux操作系统上完成Ruby on Rails开发环境的配置. 在配置环 ...
- 开发环境准备:Ruby on Rails开发环境配置
开发环境准备:Ruby on Rails开发环境配置 前情回顾 上次讲到Vmware虚拟机的安装配置以及Scientific Linux 6.X系统的安装.这回我们的主要任务是在Linux操作系统上完 ...
- 各种环境下搭建ruby on rails开发环境
win10上搭建raby on rails环境: 步骤如下 1.安装ruby (我选择的版本是ruby 2.2.3p173) 2.安装rails gem 在这之前建议先把gem的源换成淘宝的源,速度快 ...
- [QuickRoR]Ruby on Rails开发环境安装
1.Setup Ruby on Rails2.Test Web App3.Create the First Web App 1.Setup Ruby on Rails1) Download rubyi ...
- 用VirtualBox和vagrant在win7×64上搭建ruby on rails 开发环境
下载准备 1.vagrant 官方 WINDOWS Universal (32 and 64-bit) http://www.vagrantup.com/downloads.html 2.Virtu ...
- Ruby on Rails 开发笔记
安装 Ruby on Rails Install Rails: A step-by-step guide 创建应用 # 创建新的应用程序 $ rails new blog $ cd blog # 启动 ...
- win7安装ruby on rails开发环境
前言 我们看到很多文章说ruby环境windows它是非常困难的基础上,这将是各种稀奇古怪的问题,因此,建议linux和mac发. 可是我依照教程搭了下,问题也不算太多.总过大概花费了2个半小时左右就 ...
- Ruby和Rails开发环境安装
更新包管理 sudo apt-get update 安装curl sudo apt-get install curl *安装rvm via curl \curl -L https://get.rvm. ...
随机推荐
- Criteria 和 DetachedCriteria的区别与使用(转)
转自:http://javapub.iteye.com/blog/1149709 Criteria 和 DetachedCriteria 的主要区别在于创建的形式不一样, Criteria 是在线的, ...
- 好的组件,无须太复杂 – KISSY Slide 组件简介
KISSY Slide 组件首页:http://gallery.kissyui.com/slide/1.1/guide/index.html V1.1 New Featurs Slide是一个幻灯切换 ...
- ECO
ECO(生态环保的简写) 在与环保相关的概念和资料中,ECO 是ECOLOGICAL的缩写,用来表示生态环保的意思.与之相关产生了一些新的名词,尤其是在房地产楼书中常常被提及,如: ECO-HOME, ...
- [技巧]使用Xcode集成的HeaderDoc自动生成注释和开发文档
[技巧]使用Xcode集成的HeaderDoc自动生成注释和开发文档 Doxygen本来是一个很好的工具,可是我感觉在mac系统下,如果用doxygen最后生成的CHM文件感觉就不是那么恰当, ...
- Codeforces 293B
Codeforces 293B 原题 题目描述:给出一个\(n \times m\)的网格, 给定一个整数\(k\),网格上的每个数都不超过\(k\),其中有的格子是\(0\),要求把这些格子变成\( ...
- Oracle 基础查询知识点
1.Oracle 别名 如果非固定格式的列名可以如此 select last_name as name from employees 如果想显示固定格式的别名的话,则别名必须使用"" ...
- webpack入门笔记
此为第一篇主要是webpack入门笔记: http://if-true.com/2015/10/16/webpack-tutorial-translate.html
- C#中使用日志类,添加dll时出现错误
警告 1 未能解析引用的程序集 “log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, proces ...
- oracle11g+ef+vs2013做的项目在部署的时候碰到的问题
最近公司做一个项目,用到了ef和oracle11g,开发工具用的是vs2013,开发完成后,在本机上完美运行,但是,当到了要到服务器上部署的时候,就出了问题,服务器环境是server08R2,开发环境 ...
- JAVA读取propertise配置文件
java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"key=value"的格式,在pr ...