软件体系结构

[img]http://dl.iteye.com/upload/attachment/187020/ab9106cb-b8ac-3224-bb7f-58a662bf4a42.png[/img]
软件体系结构图


从2个层面来看软件系统结构
一个是从技术抽象层面看,把系统水平分隔层上下层
一个是从业务处理层面看,把系统分解成彼此互联互通的模块


从水平看,完整的软件体系应该包括:应用服务层,业务基础层、业务逻辑层、业务调用层。

1)、应用服务层:采用标准的应用服务器构建最基础的应用服务环境。
2)、业务基础层:提供业务系统中的通用服务能力,包括:
a、缓存服务:为系统提供多方式的缓存服务,涵盖web缓存,资源缓存,快速响应用户请求
b、定时调度:设定定时执行业务的策略。
c、日志服务:提供日志服务,纪录业务执行痕迹
d、配置服务:采用参数化设计模块,并保证运行期配置参数等的动态修改和安全性,通过修改参数可动态调整模块执行能力,提高系统的适应能力。
e、监控服务:提供系统和业务模块的监控途径
f、备份服务:提供关键数据的多方式备份的能力,在异常情况下能最大限度的保护业务数据
g、开放业务编程接口:开发部分对上层应用需要调用的api,允许多种方式调用(local,remote,web service)等,方便上层应用应用开发
h、工作流引擎:用来快速定制业务逻辑,通过UI交互以及开放接口的API,快速实现流程
I、规则引擎:对于复杂规则匹配的处理,由规则引擎来处理,简化和快速实现复杂逻辑处理
3)、业务逻辑层:承载业务逻辑实体,web/wap开发框架,部署到系统中运行。遵从MVC的架构,实现视图与业务逻辑的分离。
4)、业务调用层:完成业务功能的各种交互,业务逻辑本身按照树状的软件模块组织,能单独部署和管理。


从纵向看,通过接入、业务处理、互连结构、外部接口系统完成完整的业务处理流程,提高业务系统的处理效率和信息交换能力。包括:
1)、接入层:提供多种接入协议支持,包括Http、TCP、MIDP、SOAP等协议接入系统
2)、逻辑处理层:通过业务逻辑完成业务请求的处理,将处理结果通过view视图返回给业务请求的实体,同时,将需要其他系统处理的信息,通过连接层交换给其他系统。
3)、后台业务调用:与后台系统的互连互通,比如认证系统、计费系统、邮件系统、短消息系统等,连接器采用插件结构设计,可以自由扩展,对业务系统统一接口,提高可管理能力和互连互通效率。


系统开发采用“无共享架构”(Share Nothing Architecture)方式来允许支持水平扩展的能力,每个节点彼此独立,不在单个节点上保存状态的信息(当然了可以采取商业的应用服务器集群方式,他们的session复制功能比开源产品做的高效,但如果采取商业服务器集群的方式,所集成的应用服务器的个数是有限的,不能真正做到业务水平扩展)。从较经济角度和可操作性出发,设计的时候着重注意层次化和模块化。


软件基础平台和开发者的互动
[img]http://dl.iteye.com/upload/attachment/187022/fa8bd430-5ba8-373f-8a6b-53a02c73b42e.png[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值