返回列表

转载: 企业Web应用以谁为中心:服务器?浏览器?

默认分类 2012-06-26 20:14:42

转一篇09年的文章http://www.cnblogs.com/webdw/archive/2009/08/18/1549250.html

企业Web应用以谁为中心:服务器?浏览器? 前言 企业Web应用,指的是企业内部使用B/S架构搭建的企业信息系统,用户一般局限在企业内部,为了适应企业某个业务流程而设计开发使用的系统。 出于跨地域部署升级的考虑,一般采用B/S模式进行开发,避免在每个客户端安装配置的麻烦。 一般情况下,前台浏览器特指IE浏览器,前台操作系统选择Windows操作系统。 非Windows操作系统的客户机与非IE的浏览器不在本文讨论范围之内。 本文主要讨论以J2ee架构为基础的Web应用,其他架构的暂不讨论。

在这种情况下,数据存储在数据库上,一般没有多大疑问。而附件文件一般存放在Web服务器上,也没有太大疑问。 最主要的问题是:整个应用应该是以浏览器为中心,还是以服务器为中心? 在J2ee出现的早期,这一问题是不存在的,当时的浏览器,基本上可以看成是互联网时代的终端机。当时的计算模式,是完全基于后台服务器的计算。 B/S的历史发展沿革 计算时代划分 浏览器 服务器 总结 史前时代/静态页面的时代 仅支持Html,只能显示文本和图片 静态文件存储; 静态时代,没有动态内容 史前时代/CGI动态页面时代 仅支持Html 利用CGI方式动态生成一个HTML文件给浏览器 动态时代,动态信息由后台服务器计算产生,与前台无关 Java Applet ActiveX控件时代 浏览器里面可以嵌入其他应用程序来显示动态内容 JavaScript出现 浏览器第一次拥有了计算能力,把计算资源从服务器上解放了出来 J2EE时代 应用服务器时代 Applet被废弃 Javascript开始发展 后台采用J2EE架构,JSP等多种方式生成动态页面 J2EE架构把系统的重心牢牢地绑定在后台的应用服务器上 后J2EE时代 开源运动时代 Javascript开始大发展,Ajax出现 J2EE开始走向没落,为弥补其缺陷,开源框架出现。 SSH大行其道 应用服务器不堪重负,轻量级别的框架开始出现作为替代品。 客户端王者归来 Ajax时代 Ajax风靡一时 Javascript框架大量出现。 Flex/SL/ExtJs各行其道 服务器端处于停滞状态,JSF昙花一现 后台的问题已经基本解决,现在关注的重点又转向前台,解决用户界面和友好性问题。 未来 自定义浏览器时代 浏览器中的浏览器 Flex大发展 SL大发展 自定义ActiveX 大发展 JavaScript逐渐衰退 服务器进一步弱化,弱化为为前台提供必要服务,应用中心转移 通过Ajax技术,利用DWR等工具。 浏览器终于把握了应用的全面主动权。 从整体上来看,整个应用架构的发展,体现了从理想的B/S架构到C/S架构的回归过程。 计算模式历史

初步结论 核心问题在与浏览器和服务器的合理分工。 把所有问题压在浏览器或者都压在服务器并不合适。 新模式技术架构 按照上面的演化过程,可以提出一种全新的,以浏览器为中心的技术架构模式。 序号 通用功能 浏览器功能 服务器功能 备注 1 用户界面渲染 渲染Html为标准用户界面; 可能内嵌一个自定义的界面渲染工具; 以纯静态HTML页面为主 少数以JSP形式提供,动态生成 以浏览器为主,服务器为辅助功能。 访问采用标准HTTP协议进行 2 动态数据访问 (数据库读取/存储) 调用后台功能接口,得到标准格式的数据包信息; 并对这些数据进行渲染 提供标准访问接口,供浏览器进行调用 前台发送调用要求,后台响应返回结果。 调用方式可采用DWR模式进行 3 界面跳转 浏览器根据本身状态变化主动跳转 存储页面跳转规则,将此规则以标准方式发送给浏览器 4 SQL生成 可以在浏览器生成 可以在服务器生成 两面都可生成,后台生成SQL,前台可以看到 5 业务逻辑 可以在浏览器实现 可以在服务器实现 如果在后台实现,前台通过Ajax或者DWR方式调用 6 开发语言工具 JavaScript ExtJs ActiveX控件 COM调用 Pure Java开发 SSH等开源框架 EasyCare开发平台 根据需要选择 7 核心问题 数据交换规范 数据交换规范 数据交换的标准化是系统框架的核心问题

新模式技术范围 序号 运行点 所使用技术 说明 1 数据库服务器 SQL Oracle 标准SQL语句在服务器端编程开发,创建,维护数据表 2 应用服务器 Java Servlet JSP 采用标准Java语言,在应用服务器上编写Servlet,对外提供标准服务 3 浏览器 HTML CSS 标准的HTML,CSS样式来实现渲染,此功能要弱化 4 浏览器 JavaScript ExtJS JavaScript调用Extjs等来实现数据处理,动态界面内容的渲染 5 浏览器 ActiveX Flex 采用插件形式来实现对界面动态数据的界面渲染 6 浏览器 JavaScript Ajax DWR 通过DWR等Ajax技术实现前后台的功能调用,后台提供数据,前台负责对返回数据的动态界面渲染

新模式下人员分工 序号 角色 技术特长 说明 技术难度 1 项目经理 负责项目进度管理 中级 2 架构师 ALL 确定系统技术架构,明确那些技术可用于此项目,如何使用此技术 中级 3 DBA 数据库管理 数据库规范设计,编写数据字典 中级 4 后台服务开发 Java Servlet JSP 利用Java语言,编写后台的通用服务功能,编写前后台的标准数据访问规范 高级 5 前台界面开发人员 JavaScript DWR 利用JavaScript,调用后台提供服务,编写前台的显示界面,主要语言为JavaScript,可能嵌入其他ActiveX控件,JS控件 初级 6 前台控件开发人员 JavaScript ExtJS ActiveX VB,VC 利用JavaScript, VB, VC等工具,编写前台通用的页面级别的控件。 这一控件专注于对数据显示的界面渲染以及对数据的处理过程,但此过程不涉及与后台的数据信息交互。 高级 7 项目秘书 Word 编写各种文档,将原始文档归档,格式化。 初级