11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

Volta:架构之构与重构

  • 2007-11-19
  • 本文字数:1063 字

    阅读完需:约 3 分钟

我参加了本周在 Redmond 举办的战略性架构论坛(Strategic Architecture Forum,SAF)。会上进行了一系列的演讲和圆桌讨论。Bill Gates 主持的 Q&A 环节很出色,其间他透露他也是 REST + WS-* 阵营的一员。

我出席了 Dragos Manolescu 主讲的架构重构演讲。Erik Meijer 最近发表了一篇文章,可作为架构之构与重构的现状总结:

随着世界越来越朝着将软件作为服务的模型靠拢,我们需要找出一种实用的方案,让普通的程序员也能构建分布式的系统。

Dragos 在 LiveLabs 工作,他们负责探索开创性的技术(Listas、PhotoSynth、Seadragon、Deepfish)。他从位于 Urbana-Champain 的 University of Illinois 毕业时, Bill Opdyke 刚刚奠定了代码重构的基础。他也曾在 ThoughtWorks 与 Martin Fowler 一同工作。代码重构已经取得了巨大的成功,差不多所有的 IDE 都支持不同程度的代码重构。

Dragos 揭示了架构重构所固有的挑战,他以代码重构作为对比。代码重构基于以下前提:

  • 相同的程序边界
  • 相同的开发平台
  • 相同的约束

这些前提在架构重构的领域中是不成立的。他的想法是绕过它们。他以 MSIL 为出发点,创造了一个 MSIL 到 MSIL 的转换来跨越进程和开发平台的边界,同时在伸缩性、可用性上提供了更多的选择,即便代码本是为一个单块(monolithic)架构而写。

他的第一个目标是实现多层架构的重构和模板代码的注射,同时消除由于选择了特定的架构而附带出现的复杂性,扩展平台的能力。 他尽可能地重用:

  • .Net 编程语言
  • .NET 库
  • 开发工具如 Visual Studio 2008
  • 模式和惯用法

Dragos 给出了 3 个“层剥离(tier splitting)”的重构例子(更详细的信息见此)。他从一个单块(monolithic)的程序开始,简单地给操作前面加上一条“[RunAt(server)]”语句,无须编写其他代码,编译器就自动生成了相应的服务和调用服务的程序。

接着演示了 Visual Studio 的跨层调试能力,以及如何不显式使用.NET 委托就能优雅地实现异步方法调用。

他还演示了架构重构对 Web 应用也是可行的,即使我们使用:

  • 不同的语言
  • 不同的库
  • 不同的工具
  • 不同的编程范式

Dragos 建议大家看看 Erik Meijer 讨论 Volta 的演讲:《 Wrapping the Cloud with .Net 》。

Volta 是一个发展中的研究项目,目的是探索数据密集型编程模型的改革途径。Volta 目前正在研究一个受到精益编程启发的工具包,通过把“云(Cloud)”囊括进.NET 的编程模型的方式来构建 Web 应用和移动应用。

Sami Jaber 上月发表了一份 Volta 项目的参考列表。Mary Jo Foley 在4 月份也写了一篇文章描述Volta 项目的背景信息

查看英文原文: Volta: Architecture Factoring and Refactoring

2007-11-19 15:52715
用户头像

发布了 225 篇内容, 共 55.3 次阅读, 收获喜欢 43 次。

关注

评论

发布
暂无评论
发现更多内容

测试编排必要性

FunTester

敏捷 测试 敏捷测试 FunTester 测试编排

Cube 技术解读 | 详解「支付宝」全新的卡片技术栈

蚂蚁集团移动开发平台 mPaaS

大前端 支付宝 移动开发 mPaaS cube

SAP x EMQ 碳中和方案亮相进博会,数据基础设施支撑低碳发展

EMQ映云科技

物联网 IoT mqtt 进博会 SAP

百度人脸活体检测系统通过信通院“护脸计划”首批优秀级安全防护能力评估

百度开发者中心

安全 人脸识别 百度安全

使用 OpenCV 和 Python 识别数字

AI浩

OCR

新赛季集结!“百度AI创意派”正在寻找有创意的你

科技热闻

OpenMLDB v0.3.0 正式发布,支持快速部署使用的单机模式

第四范式开发者社区

开源 第四范式 OpenMLDB

加速拥抱支持开源生态 | OceanBase 开源版3.1.1正式发布

OceanBase 数据库

数据库 开源 开发者 成绩单 DTCC

git submodule 添加/删除

webrtc developer

300行ABAP代码实现一个最简单的区块链原型

Jerry Wang

区块链 SAP abap 11月日更

ABAP和Java的destination和JNDI

Jerry Wang

SAP JNDI hana 11月日更

如何用WebIDE打开并运行CRM Fiori应用

Jerry Wang

Cloud SAP 11月日更

融合通信技术趋势和演进方向

网易云信

云通信 通信云 传输协议

个人项目管理软件解决方案

低代码小观

项目管理 管理系统 企业管理系统 项目管理工具 企业管理工具

共筑数据库未来 | 2021 OceanBase 原生分布式数据库论坛回顾

OceanBase 数据库

开源 分布式 #数据库 云栖大会 圆桌论坛

浪潮云说丨GPU云服务器,助力AI计划轻松实现

浪潮云

云计算

Python代码阅读(第55篇):获取字典的所有键或所有值的列表

Felix

Python 编程 阅读代码 字典 Python初学者

阿里云云合计划走进深圳,实践助推生态持续创新

技术 科技革命 生态 “互联网+”

京东三面(后端)凭借这份Java面试复盘手册,已斩获60K*15offer

Java spring 程序员 算法 JVM

OceanBase 3.2 正式发布 | 更硬核的 HTAP,TPC-H 性能提升6倍!

OceanBase 数据库

数据库 分布式 云栖大会 核心系统 一体化架构

Apache APISIX 扩展指南

Apache APISIX 中文社区

Apache 插件 API网关 Apache APISIX

“初雪”与“向量化” | StarRocks Hacker Meetup 小记

StarRocks

数据库 大数据

长隆熊猫酒店联合番禺消防大队开展“我是小小消防员”活动

江湖老铁

如何巧妙使用Camtasia库中的素材?

淋雨

Camtasia

Nocalhost 亮相 CD Foundation 国内首届 Meetup,Keith Chan 将出席致辞

CODING DevOps

Linux Nocalhost Meetup CDF

MySQL Operator 01 | 架构设计概览

RadonDB

MySQL 数据库 Kubernetes RadonDB

“你好,天津”网络短视频大赛月内启动

InfoQ 天津

解决大数据分布式计算痛点:腾讯正式开源分布式远程Shuffle服务Firestorm

科技热闻

腾讯大数据全场景在离线混部系统Caelus正式开源

科技热闻

杨冰:OceanBase助力数字化转型,原生分布式数据库成核心系统首选

OceanBase 数据库

数据库 开源 分布式 云栖大会 核心系统

Volta:架构之构与重构_.NET_Jean-Jacques Dubray_InfoQ精选文章