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. ...
随机推荐
- inux网卡与MAC地址绑定方法总结
使用linux系统时会出现这样的情况,当你安装了某个网卡的驱动程序时,或者安装了与网卡相关的程序后. 网卡会出现所谓的漂移现象.(注意:不是飘逸).可能的表象为: (1):网卡顺序颠倒,比如之 ...
- XCode: Target Settings和Project Settings的区别
一个XCode project包含了两种设置:Project Settings 和 Target Settings. 它们之间的主要区别在于:Project settings应用于project里面的 ...
- overfitting
当模型复杂度上升时,可控制参数变多,VC dimension变大, 当VC dimension过大时,虽然Ein很小,但是Eout很大,产生overfitting 比喻:开车 开太快 ...
- How to convert string to wstring?
How to convert string to wstring? - Codejie's C++ Space - C++博客 How to convert string to wstring ...
- 京东区块排版负margin用法
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- LeetCode-001 Two Sum
[题目] Given an array of integers, find two numbers such that they add up to a specific target number. ...
- DOM注意事项(八):JavaScript操作环境和垃圾收集
一.运行环境 在约JavaScript对象或this当指向问题,念就是运行环境.即上下文环境.运行环境在JavaScript是一个非常重要的概念.由于它定义了变量或函数有权訪问的其他数据,决定了它们各 ...
- RabbitMQ安装后启动出错:- unable to connect to epmd on blockstorage: timeout (timed out)
具体出错信息如下: [root@blockstorage ~]# rabbitmqctl change_password guest RABBIT_PASS Changing password for ...
- iOS百度推送的基本使用
一.iOS证书指导 在 iOS App 中加入消息推送功能时,必须要在 Apple 的开发者中心网站上申请推送证书,每一个 App 需要申请两个证书,一个在开发测试环境下使用,另一个用于上线到 App ...
- 应用程序无法启动,因为应用程序的并行配置不正确,有关详细信息,请参阅应用程序事件日志,或使用命令行SxsTrace.exe工具
今天做项目,需要用C#引用C++的链接库文件,但是在调试的时候会报错这个错误. 运行SxsTrace.exe 以管理员用户登陆,启动cmd; 执行命令:SxsTrace Trace -logfile: ...