文档介绍:Web架构实践
2011-3-23
演讲人:李开太
关于我
1
2
3
4
目录
系统架构设计原则及方法
架构师能力提升之道
物流综合信息Web平台架构设计案例介绍
LOGO
7年大型行业软件开发设计经验,主要包括
- 电信(BOSS,CRM、BI)
- 物流(运输管理,资源管理,客户管理)
- 邮政
参与以下web产品&平台架构的规划设计
- J2EE基础开发平台
- Web Portal
- MDA(模型驱动开发)框架
- BI应用-KPI(关键绩效指标)
- 物流综合信息平台
- 统计填报系统
角色
- 系统架构设计,模型设计,需求分析
关于我
LOGO
Web平台架构设计原则及方法
非功能性需求
Web架构设计过程
架构
需求进,架构出
凡事不知道原因的,则不知道结果;需求就是架构设计的因
LOGO
Web平台架构设计原则及方法
功能
质量
约束
业务级需求
业务目标
快,好,省
与第三方系统集成
商业约束
技术性约束
技术趋势
业务规则变更
用户级需求
用户需求
运行期的质量:可操作性,可维护性,可移植性,可伸缩性,高可用性,可靠性
用户群特点
用户水平
多国语言
开发级需求
行为需求
开发期质量:可复用性,可扩展性,可修改性,互操作性
开发人员水平,
开发团队技术体系
系统需求方面矩阵
LOGO
Web平台架构设计原则及方法
运行架构
面向控制流
物理架构
面向节点
数据架构
面向Table
或文件
逻辑架构
面向对象
或结构化
开发架构
面向文件
细化架构-5视图
LOGO
架构师能力提升之道
形而上者谓之道,形而下者谓之器
-《易经》
架构设计之道
架构模式,设计模式,设计哲学,设计经验
架构设计之器
数据结构,算法,编程语言等相关基础知识
实践+ 总结= 架构师能力的提升动力
LOGO
物流综合信息平台架构设计案例介绍
系统需求方面矩阵
功能
质量
约束
业务级需求
业务目标
快,好,省
与第三方系统集成
半年上线
支持字符终端登录操作
前后端分离
用户级需求
用户需求
运行期的质量:全国性系统,并发大,高性能;高可靠性,高可用性,可伸缩性,海量数据处理
操作员水平参差不齐,界面要易于操作,用户体验设计
开发级需求
行为需求
开发期质量:可复用性,可扩展性
开发团队技术体系
开发成本
开发人员多,有序管理
LOGO
业务级需求
与第三方系统集成
为了让系统和第三方系统能够通讯,采用了SOA工业标准,即所有的业务逻辑都可以以Web服务的形式向外暴露服务,以供其他系统调用通过Http协议调用
物流综合信息平台架构设计案例介绍
虽然需求功能点非常多,由于这是一个政治任务,要求半年内必须上线
由于在公司产品中心已经有成熟的MDA(模型驱动开发)产品,资源管理系统和客户管理系统中存在大量的资料维护,可以使用MDA的开发模式,即通过配置的方式,实现一些简单的实体CRUD操作,不需要开发人员编码,而且还省去了大量的调试时间。
LOGO
支持字符终端登录操作
字符终端采用C++编写,利用C++的HTTP协议包,可以调用系统所有的业务逻辑,但是字符终不能解析JSP页面,所以后端业务逻辑都可以以格式化的JSON串返回给调用,这样字符终端在通过HTTP调用获取JSON数据,并渲染到终端界面上。这里说明一下:之所以要采用JSON格式的数据,因为系统是采用富客户端B/S技术,浏览器到Server端的通讯均采用JSON格式,且JSON格式相对于XML有较小的数据冗余。业务逻辑采用的JAVA BEAN开发,调用返回的是对象,所以需要增加一个通用的控制层来解决后端JAVA BEAN到终端(浏览器,字符终端,第三方系统)通讯,这样开发人员就只用关心业务逻辑,不用关心通讯。前后端调用采用基于RPC的rest框架
物流综合信息平台架构设计案例介绍
LOGO