第二章 设计程序架构 之 分布式应用

1. 概述

  分布式应用是将程序的互相协作的各个模块放到不同的机器上,从而提高程序的性能和可靠性。

  本章内容包括:集成web service、设计复合应用、分布式环境的session管理 以及 web farms。

2. 主要内容

  2.1 集成web service

    可以使用Asp.Net MVC4 创建 REST(Representation State Transfer) 服务。

    使用 ApiController来返回序列化的数据。这个Controller根据Html头的Accepts属性来决定返回Xml或者Json格式的数据。

    * ASP.NET Web Services (ASMX)是微软之前的web服务技术,可以让调用者简单的调用其中的方法,但是不能定制化特定的部件,比如传输协议、安全性、编码方式。目前该技术已被WCF和Web API代替。

    使用ASP.NET MVC4可以方便的从Rest url中获取数据:

private HttpService _httpService;  

        public ArticleRepository()
        {
            _httpService = new HttpService();
        } 

        public IQueryable<Article> GetArticle s()
        {
            Uri host = new Uri("http://www.yourdomain.com");
            string path = "your/rest/path";
            Dictionary<string, string> parameters = new Dictionary<string, string>();
            NetworkCredential credential = new NetworkCredential("username",
                "password");
            XDocument xml = _httpService.Get(host, path, parameters, credential);
            return ConvertArticleXmlToList(xml).AsQueryable();
        } 

        private List<Article> ConvertArticleXmlToList(XDocument xml)
        {
              List<Article> article = new List<Article>();
              var query = xml.Descendants("Article")
                                .Select(node =>
                node.ToString(SaveOptions.DisableFormatting));
                foreach (var articleXml in query)
                { 

                   article.Add(ObjectSerializer.DeserializeObject<Article>(articleXml));
                }
                return article;
        }

  2.2 设计复合应用

    未完待续。。。

时间: 2024-11-05 15:46:59

第二章 设计程序架构 之 分布式应用的相关文章

《深入理解bootstrap》读书笔记:第二章 整体架构

一.  整体架构 1. CSS-12栅格系统 把网页宽度均分为12等分(保留15位精度)——这是bootstrap的核心功能. 2.基础布局组件 包括排版.按钮.表格.布局.表单等等. 3.jQuery bootstrap插件的基础 4.响应式设计 兼容多个终端.这是bootstrap的终极理念. 5.css插件 提供丰富的样式. 6.js插件 二. 栅格系统 1.基本实现过程 定义容器的大小——跳转边距——媒询 有以下要求: (1)一行(row)数据必须包含在.container中. .con

第四章 设计程序架构 之 状态管理

1. 概述 本章内容包括 如何选择状态管理架构.考虑扩展性.使用cookie和本地存储保存状态.web.config中配置 以及 实现sessionless状态. 2. 主要内容 2.1 选择状态管理架构 ① 首先需要考虑的问题是,你是否真的需要保存状态.无状态使得站点可以处理更多的并发访问. ② web forms 中有多种方式保存装填.最主要是就是ViewState.使用隐藏域来实现状态信息的传递. ③ MVC4程序中,状态信息可以保存在以下位置:Cache.Session.Cookies.

第一章 设计程序架构 之 分层架构

1. 概述 本章主要介绍 程序分层架构的主要组成部分,比如 数据访问方式 以及 Soc(separation of concern).其中重要的组成部分之一就是MVC架构.本章还将介绍MVC架构的组成部分. 2. 主要内容 2.1 数据访问 未完待续...

第五章 设计程序架构 之 设计缓存策略

1. 概述 本章内容包括:实现 页面输出缓存.数据缓存.程序缓存 以及 HTTP缓存. 2. 主要内容 2.1 页面输出缓存 缓存是开发高可用web程序的重要部分. ① 浏览器可以以预定义的时长保存一个HTTP GET请求. [OutputCache(Duration=120, VaryByParam="Name", Location="ServerAndClient")] Public ActionResult Index() { Return View(&quo

第三章 设计程序架构 之 设计实现Windows Azure 角色生命周期

1. 概述 Windows Azure 是微软的云计算平台.用于 在微软数据中心 通过全局网络 生成.发布和管理应用程序. 本章内容包括 startup tasks 以及  实现 Start, Run 和 Stop 事件. 2. 主要内容 2.1 Windows Azure ① 提供 PaaS 和 IaaS 两种服务. PaaS 提供一个实际的计算平台,包括 操作系统.程序执行环境.数据库 和 web服务器. IaaS 是提供虚拟的机器. ② Windows Azure 有三种类型的解决方案:虚

第六章 设计程序架构 之 设计实现WebSocket策略

1. 概述 传统的网页的通信方式是请求-相应模式,每次请求-相应都是新的连接.连接的建立和断开也是需要消耗资源的. WebSocket是基于TCP协议,实现单个连接上的双向通信. 本章内容包括: 异步读写字符串和二进制数据.选择连接损耗策略.何时使用WebSocket. 2. 主要内容 2.1 异步读写字符串和二进制数据  HTTP polling 是传统的使用一系列AJAX请求来实现客户端服务端长久连接(表面上看起来是长久连接)的方式. HTTP long polling 是客户端使用AJAX

深入理解bootstrap框架之第二章整体架构

标注下,正好最近关注前段框架 1. CSS-12栅格系统 把网页宽度均分为12等分(保留15位精度)--这是bootstrap的核心功能. 2.基础布局组件 包括排版.按钮.表格.布局.表单等等. 3.jQuery bootstrap插件的基础 4.响应式设计 兼容多个终端.这是bootstrap的终极理念. 5.css插件 提供丰富的样式. 6.js插件 二. 栅格系统 1.基本实现过程 定义容器的大小--跳转边距--媒询 有以下要求: (1)一行(row)数据必须包含在.container中

ROS机器人程序设计(原书第2版)补充资料 (贰) 第二章 ROS系统架构及概念

由于工作事物繁忙,更新有些慢,抱歉. 已经完成的各章节补充说明,会依据反馈意见持续更新,希望大家多提宝贵意见,非常感谢. 在完成了第一章的学习实现之后,基本已经掌握了ROS系统的安装,那么如何使用ROS,理解系统架构和概念,这是第二章的内容.hydro-indigo-kinetic通用概念不做区分. 如果使用IDEs进行ROS开发环境构建,推荐:http://wiki.ros.org/IDEs RoboWare Studio:http://www.roboware.me 补充参考:http://

深入浅出Zabbix 3.0 -- 第二章 Zabbix Web操作与定义

第二章  Zabbix Web操作与定义 本章介绍Zabbix 中一些基本概念的定义和web前端页面的操作,包括Zabbix中使用的一些术语的定义,Web页面中用户管理.主机和主机组的管理,以及监控项.模板.触发器.告警的管理和操作,还有Graphs.Screens.Maps及Reports等.通过本章的学习掌握一些基本概念并能够通过Web页面的操作完成对Zabbix的管理. 2.1 定义 hosts(主机) Zabbix中需要监控的服务器.交换机及其他设备我们都统一称作host,这些设备与Za