“中客户机”Web程序技术白皮书 ---------------------------------------------- .概述 在上个世纪九十年代初World Wide Web(WWW)刚刚问世的时候,发明者Tim Berners Lee 估计不会想到,在短短六七年的时间里,超文本语言(HTML)会成为世界上最重要的信息 表达格式,超文本传输协议(HTTP)上的信息会占用互联网的绝大部分带宽;发明者应当 更不会想到,在再往后的几年里,HTML居然成了主流应用程序的界面构成描述,而HTTP则成为 网络应用程序的通用协议,从而产生了近几年最热门的所谓Browser/Server结构的应用软件。 html 不是因为适于程序,或者界面程序设计,而是出于兼容的需要 http 不是因为效率高,或功能强,而是凭它可以安全穿越防火墙 .基本原则: .物理意义的三层结构,mvc-data .rich interface —batch interface .什么是业务逻辑,数据状态功能业务与表示层紧耦合业务 .数据与显示分离 .服务器只处理数据,既只处理业务 .后端状态变更与前端界面操作(界面内响应和界面间跳转)分离 .纯应用服务器 .面向事务的软件设计 .运行模式: .对用户而言,中客户程序是一批界面(html页)之间的相互调用(界面必要时访问后台) .对后台数据而言,中客户程序是来自界面的一次次简单访问(增删改查) .技术基础 .Internet(IP Net)、HTTP、HTML、Script .任何一种后端技术,推荐使用Java Servlet .Dynamic HTML 及 Ducument Object Model .特性: .相比jsp,减少程序构成文件数量,缩减代码量:-80%; .系统前后端独立性、简单性 .开发简单,易于设计、易于编码、易于测试 .开发人员知识结构要求降低 .前后端成对编程 .大粒度通讯 .低服务器开销 .低网络带宽开销,高传输率 .强交互界面,界面流畅 .未来的Web程序结构 .接口:轻量级数据定义及简化的通讯协议 .后端系统:数据处理器 .前端系统:数据访问定义参数与返回数据、异步处理、界面组件 .XML/SOAP的前景 .基于DHTML的中客户程序体系结构 .服务器浏览器接口 .事务行为 .请求数据 .返回数据 .界面(浏览器)结构,html及工具js .界面内部构成 .主界面与对话框 .主界面职责:全局数据,包括session .对话框职责:打开方式,入参出参 .界面视觉构成 .界面内部数据和接口数据 .界面中的动态显示区域 .界面向服务器的请求--数据--回调 .通讯正常与异常(超时) .后台处理正常与异常 .界面初始化 .界面操作功能 .界面组件 .请求组件 .日志组件 .数据树 .数据表格 .公共参数,如servlet路径 .界面间调用 .参数传递方式 .数据返回方式 .界面重用 .接口--界面是多对多关系 .界面负责维护该用户自己的状态数据(session) .跨域访问时的friendship设置 .后台(服务器)结构 .servlet初始化:init()的不足,自定义的initialize() .单一servlet请求统一分解 .业务类(状态管理者或代理) .数据库代理型 .所有sql全外置到配置文件--》进一步:面向行为开发 .文件代理型 .内存数据型 .通讯型 .接口辅助方法 .统一参数拆取 .get/post .单记录/多记录及组合 。进一步:模板化的参数拆解 .统一返回数据构造(script/csv) .数据库结果集构造 .内存数据构造 .大数据cache .其他 .统一数据库连接获取和释放 .统一异常处理 .异常集中到根(service) .统一权限管理 .统一日志 .中客户程序的分析设计 .开发流程 .需求要点--用例 .界面草图--界面串讲 .数据定义--数据审核 .事务定义(b/s接口定义 *** )--》样本请求/样本返回数据 .请求参数结构(单记录与多记录,name:1&names:n) .返回数据结构 .b,s实现及测试 .b测试:界面操作---》请求---》样本返回数据---》界面响应;界面连测 .s测试:样本请求---》(数据状态变动)--》返回数据 .b/s测试工具: 接受请求,返回样本数据(伪server); 发样本请求,分析返回结果(伪browser) .b/s联合测试:请求合理性 .界面连测 .系统提交 .样例 .相似技术分析 .XML .参考文献 .HTTP 1.1 .HTML 4.0 .DHTML IE4 IE5 IE6 NS4 NS6 .ASP ASP.net VB DHTML 程序 .javascript/jscript .Servlet 2.0 - 2.3/Jsp0.91-1.2 spec .j2EE .XML .SOAP .problem of jsp .JSP 技术 -- 是友还是敌 .mvc -- jsp model 2 .servlet/jsp/j2ee security