红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

文章:有理化表现层

  • 2009-02-02
  • 本文字数:958 字

    阅读完需:约 3 分钟

web 应用的特色瘦客户端模式不完善,弊端越来越多,很多年来沿袭的一些习惯性设计模式也逐渐成为分布式应用发展中的障碍。而一些陈旧的折衷解决方案也随 着开发环境的转变而不合时宜。Ganesh Prasad 和 Peter Svensson 合作撰文就这一现象作了简要的分析,详细解释了为什么以及如何将表现层技术迁移到它本该遵循的开展方向上来。

他们追溯到直接导致陈旧的根深蒂固的表现层开发陋习的直接历史原因:
……(1)作为无处不在的客户端“应用平台”成就了浏览器的绝对重要性,应用因此很容易部署;(2)各商家间的分裂剥夺了平台原本拥有的发展潜能。……
……一方面,越来越多的应用需要采用 Web 方式向用户发布;另一方面,发布应用必须的平台却是如此不可靠。这时候,企业该怎么办?……
……最常见的决策是仅依赖浏览器那些非常有限的基本功能——显示格式简单的 web 页面、链接、提交表单等,而表现层的逻辑则转移到服务供应商能够控制的系统部分——Web 服务器。……

他们认为在旧式开发策略指导下的表现层开发现在完全应该由 SOA 构架来替代:

……一个“老”原则的重新兴起,或者说是“面向服务构架(SOA)”的流行,间接推动了表现层外观的改变。正如其所定义,SOA 更合理地组织业务逻辑,而且为实现整个逻辑提供统一接口。建立好构架的基础是囊括整个应用各个方面的各个互不相关的离散层,用户接口(UI)借助 SOA 能 够实现真正的表现层构架。这样的表现层没有业务逻辑,只有业务服务的客户。……

在文中,Prasad 和 Peter Svensson 解析了新模式实现的框架中包含的各个元素,解释了客户端的处理方式。同时,他们也一针见血地指出了这一新模式的基础原则:

……该模型的核心主题是分解表现层和业务逻辑等几方面的顾虑。……

最后,他们简要列出了新模式背后所蕴含的意义。

  • 精简的构架模型包含了表现层和业务逻辑层无阻抗失配的完美集成。
  • “web 服务器”的角色(首次)更为合理。
  • 支持 MVC 这个表现层最自然的设计模式。
  • 保证应用间端对端数据的完整;统一了“瘦客户”和“富客户”模型。
  • 支持无论是基于 SOAP 还是 REST 的服务。
  • 服务器运行更加轻便,因为其不需再负累表现层相关逻辑。
  • 降低了同组业务服务的多用户接口创建的开销。
  • 复用表现层模块的压力骤降,如果业务层设计合理的话,从表现层调用正确的服务就能实现足够的复用。

详细内容,请阅读全文有理化表现层

2009-02-02 20:481226
用户头像

发布了 71 篇内容, 共 19.1 次阅读, 收获喜欢 3 次。

关注

评论

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

Flink运行架构

五分钟学大数据

flink 7月日更

程序员35岁以后就真的要返乡种田了么?如果没田种怎么办?|话题

花花

话题讨论 话题 话题王者 话题广场

念念不忘,必有回响!6月更文活动的一些总结

编程三昧

程序员 程序人生 代码人生

浅谈大数据建模的主要技术:维度建模

云祁

大数据 数据仓库 维度建模 7月日更

时间管理:通过折叠时间放大时间价值

石云升

读书笔记 时间管理 7月日更

🏆 【JVM性能调优】「对象内存分配」虚拟机参数调优分析

洛神灬殇

GC jvm调优 内存分配 7月日更

2021最新一线大厂Java高级架构师面试题总结,上线3天获22w浏览量

Java 编程 程序员 架构 面试

Hadoop 数据仓库建设实践(理论结合实践)

云祁

hadoop 数据仓库 7月日更

PowerShell 数组

耳东@Erdong

PowerShell 7月日更

CodeDay#7 启动 | 北京欢迎你

蚂蚁集团移动开发平台 mPaaS

小程序 webview 移动开发 mPaaS

话题讨论|你知道集群、分布式、微服务区别吗?

Emotion

分布式 微服务 话题讨论 集群 话题王者

“懂行人”合力共建“强富美高”数字经济助力千载金陵的数字一跃

脑极体

李某逆道而行闭关三月,直接四杀斩获阿里/腾讯/京东/百度等大厂offer

Java架构师迁哥

(VMware)ubuntu 环境下搭建 docker 镜像私服

逸少

Docker 镜像仓库

.NET CORE 对象池简述

喵叔

7月日更

推荐系统提供web服务的2种方式(二十四)

数据与智能

算法 推荐系统 web服务

极客时间-排位赛可视化工具

IT蜗壳-Tango

7月日更

低代码“三合一”模式,解决产品研发系统沟通问题!

优秀

低代码

5分钟速读之Rust权威指南(三十四)面向对象

wzx

rust

为什么 FaaS 系统的复杂性不会随着规模的增长而指数增长?

朱峰 Ben

Serverless Faas

架构思考

zk

微信 架构 微信业务架构

云原生领域的一些技术展望

名白

容器 云原生 Service Mesh service

“Windows 找不到文件...”,怎么处理?

Emotion

windows 系统 找不到系统文件 windows找不到文件

又曝出程序员删库跑路,业界何时能推出互联网企业和程序员之间的约束准则?|话题

三掌柜

话题讨论 话题 话题王者 话题广场

业务架构模块7 作业 王者荣耀商城异地多活

好吃不贵

业务架构

Java入门到架构-优秀书籍

Java入门到架构

Java 架构 入门 书籍

Linux之tail命令

入门小站

Linux

08 | 指针系列(二):记住,指针变量也是变量

Nydia

剑指“双碳”目标,浪潮云牵手中科谱光一起做「光谱捕手」

浪潮云

云计算

网络攻防学习笔记 Day61

穿过生命散发芬芳

网络攻防 7月日更

在线HTML实体转字符串工具

入门小站

工具

文章:有理化表现层_SOA_Ganesh Prasad_InfoQ精选文章