今天看到一篇感受很深,特转载。
1.
前言
什么是合适的,那么什么就是成功的。
这句话绝对适用于系统架构和设计。
最简单的例子,如果一个系统需要的实时反应,而不是复杂的业务。那么这个系统在设计的时候就应该更加关注与速度而不是业务的分层。
反过来说,如果一个系统能够容忍客户反应的迟钝,但是要求实现非常复杂,后期可扩展的业务逻辑。那么这个系统就应该有效的对业务进行抽象和分层。
在这里,我想分享几个我所知道的有趣的系统架构设计。
2.
一个反应超级快速的系统框架
2.1
该系统的要求
首先我们看一下,这个系统的需求概要
系统作用
|
一个保险系统
|
系统运行环境
|
全国各地的保险分销点,通过
https
协议访问
|
系统性能要求
|
要求响应速度高,但是并发量不是很大
|
系统未来扩展预期
|
系统未来的业务改动不会很大
|
2.2
该系统的框架设计
看到了没有,这个系统设计的多么有趣。没有臭屁的
MVC
,没有乱七八糟的
XML
配置文件,更没有数据库的
ORM
。
非常单纯的系统设计,非常简洁。
所有的业务处理都放在
JSP
中间,而所有的业务处理都是通过一个自定义的
JSP Tag
库。
接着通过这个
JSP Tag
库访问数据库中的
PL/SQL
,
PL/SQL
接着做数据库的增删改查。
整个系统中最重的地方就在自定义的
JSP Tag
库,数据库的连接,逻辑业务处理都在这里进行。
后期维护的时候,只要针对新业务扩展
JSP Tag
库就可以了,如果想变换数据库处理逻辑,就直接改写
PL/SQL
。
在整个系统的业务不是很庞大的时候,这样的系统设计是不是更好更实用呢?
另外,可以猜测,这个系统的设计者肯定是以前的银行系统的设计者,或者可能是以前
COBOL
时代的老程序员。因为这种短平快的设计思想绝对是那个时代的经典产物。
虽然已经很古老,但是依旧很实用。
3.
一个易于扩展的金融框架
3.1
该系统的要求
首先我们看一下,这个系统的需求概要
系统作用
|
一个行业内通用的证券系统,需要根据不同的证券公司的业务添加会修改具体的逻辑
|
系统运行环境
|
运营在小范围内,同时在线人数不大,但是要求系统的安全性和可重用性
|
系统性能要求
|
响应速度和并发量都不大,但是要求信息传输完全正确,不能失真
|
系统未来扩展预期
|
该系统其实是一个通用的证券系统平台,然后按照具体用户的要求定制系统模块
|
3.2
该系统的框架设计
我们可以看到,这个系统的框架明显的复杂了起来。
首先在客户端,它采用了
MCO
技术,让框架变成富
B/S
框架。
其次在,服务器层,他部分采用了
Struts
技术,但是有一点很特别的。
他在
Action
和
Logic
层次之间加上了一个
Facade
层次,这个最主要的原因就是减低控制层和逻辑层之间的耦合性,为了后期的扩展性做好准备。
简单的说起来,整个系统的客户端会有一个类似于
ActiveX
的控件在运行,专门用于解析服务器端发送来的
NXML
消息。而服务器端也不是单纯的发送
HTTP
请求来给客户端,而是通过框架发送有特定标识意义的
NXML
消息。
整个框架的技术层次如下:
最后提一下,这个框架是如何实现高可重用性的功能,如何满足不同客户快速定制化的要求。
那就是,对具体的业务抽象,抽象出高重用性的
Logic
,用来给予下方的具体业务类继承。具体的抽象
Logic
如下:
機能
|
Facade
名
|
Logic
名
|
登録
|
TemplateRegistFacade
|
TemplateRegistLogic
|
削除
|
TemplateDeleteFacade
|
TemplateDeleteLogic
|
订正数据
|
TemplateCorrectFacade
|
TemplateCorrectLogic
|
出报表
|
TemplateChohyoFacade
|
TemplateChohyoLogic
|
上传
|
TemplateUploadFacade
|
TemplateUploadLogic
|
下载
|
TemplateDownloadFacade
|
TemplateDownloadLogic
|
确认
|
TemplateApprovalFacade
|
TemplateApprovalLogic
|
确认解除
|
TemplateCancelFacade
|
TemplateCancelLogic
|
详细登録
/
更新
/
削除
|
TemplateCorrectallFacade
|
TemplateCorrectallLogic
|
Excel
处理
|
TemplateExcelFacade
|
TemplateExcelLogic
|
原文来源:http://blog.csdn.net/nanjingjiangbiao/archive/2010/08/17/5819364.aspx
分享到:
相关推荐
企业IT架构转型之道是一个系统化的企业中台架构解决方案,旨在帮助企业实现业务快速响应和创新,提高核心竞争力,实现数据驱动业务运营,提高个人职业含金量,个人和团队技术能力方面提升,中台给信息中心带来组织...
在这个架构图中,我们可以看到共享平台的技术架构设计,它包括了相关体系架构的搭建、应用功能完善可开发、应用资源全面共享与管理等几个方面。 首先,技术架构设计是本次项目的一项关键部分,它实现了相关体系架构...
中台架构是企业数字化转型的中台系统,包括中台系统架构、中台系统功能、中台系统接口等几个方面。 技术架构是企业数字化转型的技术基础,包括技术架构设计、技术架构实施、技术架构维护等几个方面。 架构治理是...
系统架构设计师是一个最终确认和评估系统需求,给出开发规范,...架构师是由国外引进的一个概念,国外软件开发的几个职位是技术官、架构师、设计师、开发、测试,对应我们的公司应该是技术总监、架构师、系统分析员、
在《系统架构设计师教程(第4版)》中,读者可以学习到以下几个核心知识点: 1. 系统架构设计基础:包括系统架构的概念、作用、类型以及架构模式,这些都是理解和设计系统架构的基础。 2. 架构风格与模式:介绍...
书中详细讨论了银行信息系统架构的几个关键组成部分: 1. **前端系统**:这是银行与客户接触的界面,包括网上银行、移动银行应用、ATM机等。这部分讲解了如何设计用户友好的界面,提供便捷的金融服务。 2. **核心...
在该资源中,作者还提到了以下几个重要的概念: * 中台架构的价值:中台架构可以帮助企业实现业务创新、成本降低和业务探索等目标,提高自身的核心竞争力。 * 中台架构的实施方法:企业可以通过保留原有系统、利用...
这些教程和讲义的综合学习将涵盖以下几个核心知识点: 1. **系统架构设计基础**:包括计算机系统的基础知识,如操作系统、网络协议、数据库原理等,这些都是构建系统架构的基础。 2. **架构模式与设计原则**:介绍...
本文将深入探讨“系统架构方法”这一主题,解析系统架构设计师的角色与职责,并详细介绍几种主流的系统架构设计方法论。 ### 一、系统架构概述 #### 1.1 定义 系统架构是指在计算机科学领域内,为了解决复杂系统的...
系统架构是软件设计中的一个重要组成部分,它作为软件产品的骨架,确保了软件组件与环境的有效整合。架构不仅仅是软件产品的结构,更是需要包含整体性的需求,尤其是非功能性的需求,如性能、安全性和可靠性等。架构...
在32小时的学习计划中,考生可以期待深入学习以下几个关键领域: 1. **系统架构基础**:这部分通常会介绍系统架构的基本概念,包括架构风格、架构模式、架构元素(如硬件、软件、网络等)以及架构视图和视角。 2. ...
本报告通过几个产业案例的分析,介绍了可信工业数据空间系统架构在实际应用中的效果和价值。 本报告全面介绍了可信工业数据空间系统架构1.0的设计和实现,旨在建立一个安全、可靠、可扩展的工业数据共享平台,解决...
工业互联网体系架构通常包含以下几层: 1. 感知层:这一层主要由各类传感器、控制器和智能设备组成,它们负责收集和传输设备状态、生产流程、环境等信息。这些信息通过无线或有线方式传输到数据处理层。 2. 网络层...
系统架构可以分为几个主要的视图:逻辑架构、开发架构、运行架构和数据架构。 逻辑架构关注的是系统的功能布局,即软件如何满足用户的需求。它将系统拆分为多个模块,每个模块负责一个特定的子功能,并通过清晰的...
在2020年的讲义中,可能会涉及以下几个主要知识点: 1. **系统架构设计基础**:这部分内容可能包括系统架构的基本概念、原则、模式和风格,以及常见的架构框架,如 Zachman 框架、TOGAF(The Open Group ...
系统架构设计师教程涵盖的核心知识点包括但不限于以下几个方面: 1. 系统架构基础:包括系统的定义、架构的层次、系统架构的视图和模型。理解这些基础知识是掌握整个系统架构设计方法论的前提。 2. 系统设计方法:...
从思维导图的内容来看,软件架构设计被细分为几个关键部分: 1. 软件架构的概念:对软件架构的基本理解和定义。 2. 软件架构的意义:软件架构设计对软件项目成功的重要性。 3. 软件架构的风格:包括分层架构、面向...
综上所述,“转转”的AI工程架构体系涵盖了从数据处理到模型服务的全过程,并注重系统的可扩展性、稳定性和安全性。这样的实践案例对于其他希望在AI领域进行技术创新的企业具有重要的参考价值。通过不断优化和完善,...
这本书可能会涵盖以下几个关键知识点: 1. **架构模式与原则**:系统架构设计的基本模式,如分层架构、微服务架构、事件驱动架构等,以及背后的设计原则,如单一职责原则、开闭原则、依赖倒置原则等。 2. **系统...