RichClient技术对应用架构的影响
Flex,Sliverlight,javaFX,Mozilla Prism,这些RichClient技术纷纷出现。
与ajax这样的改良主义相比,RichClient是一场彻底的革命,让应用可以脱离浏览器而运行。这样的技术变革必然对应用架构产生影响。让我们看一看引入了RichClient会怎样改变应用架构。
RichClient定位于展现层,对应用架构的影响也主要在展现层。我们已经接触了太多的Web Framework,大多数Web Framework都是MVC模式的某种实现。以Struts为例,Struts用jsp form作为View,用Servlet作为前端控制器,并用ActionForm作为Model。一个典型的请求过程为:
浏览器请求控制器
控制器根据请求的类型,调用相应的Action更改Model
Form从Model获取数据
服务器将Form返回给浏览器。
可以看出,传统B/S应用的展现逻辑是在服务器端处理的,浏览器只是展现作为结果的视图;任何请求或数据变化都需要提交给服务器。
ajax技术是对B/S架构的改良,通过ajax,数据请求和数据响应与界面分离开,可以单独进行。
而richClient则更彻底。在RichClient中,客户端可以实现完整的展现逻辑,甚至包括一部分业务逻辑。在RichClient中,前端控制器,Action(或Command),展现数据的Model,以及一部分Business都会包含在Client端。这样,用户的操作在被客户端进行处理,只有Business Object需要对服务器端数据进行操作时,才会通过Service远程调用服务器端。从大的尺度来看,这天然形成了SOA架构。
然而好处不仅如此。由于Client端能够单独处理用户请求,RichClient在缓存了必要的数据后甚至可以离线运行,在需要时再与服务器进行交互。
这样,服务器端不需要再考虑视图,前端控制和展现数据,而仅仅提供业务服务。同时,业务服务需要以一定的协议公开出来,比如HttpService,XML-RPC,或WebService。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架