知识卡片

其他五类软件产品的架构案例对比

普通读书笔记卡

内容

除[[人人网四层技术架构案例]]外,书中还给出五个架构案例,各自代表一种不同的架构驱动力。金蝶EAS(企业应用套件)构建于自研的金蝶BOS(业务操作系统)之上,架构遵循SOA体系,由信息门户(整合第三方系统、把不同角色的相关人员通过Internet结合在一起协同工作)、业务流程(可灵活配置的流程引擎,业务流程和工作流对企业可视可查)、业务服务(提供统一接口标准,所有业务都以功能插件形式挂在流程上,可按需启用或更换)、基础平台(封装底层存储、计算、传输技术细节,降低集成部署复杂度)四部分构成——这是一个”业务能力被拆成可插拔服务、由流程引擎编排”的架构驱动力。Lucene作为全文检索引擎,具有强烈的面向对象特征:定义与平台无关的索引文件格式,把系统核心组成部分设计为抽象类,具体平台实现部分设计为抽象类的实现,与具体平台相关的部分(如文件存储)也单独封装为类——这是一个”用面向对象抽象换取跨平台可移植性和低耦合可扩展性”的架构驱动力。OpenStack本身由众多服务组合而成,服务之间有层次关系,每个服务像积木一样可按需取舍组合,作为社区/项目/开源软件三位一体,提供部署云的操作平台——这是一个”用可插拔服务积木应对公有云/私有云/大云/小云等多样部署形态”的架构驱动力。12306采用两地三中心混合云架构,由阿里巴巴技术团队提供支持,需要应对”双十一”级别的高并发抢购、支撑用户数据增长十倍以上情况下的稳定响应——这是一个”用异地多中心的高可用架构应对极端峰值流量”的架构驱动力。大数据时代兴起的数据驱动软件架构(DDSA,Data-Driven Software Architecture)则代表存储基础架构本身成为IT核心的新趋势——数据的价值本身驱动系统架构设计,而非单纯服务于业务逻辑。五个案例合在一起说明:架构风格的选择从来不是抽象的审美偏好,而是对”当前系统真正承受的压力是什么”这一具体问题的回答。

参考来源

- 位置:《软件架构理论与实践》第1章《软件架构概述》"1.4.2 软件架构的应用研究"节之"(3)常见软件产品的架构"(源文件:_epub-src/OEBPS/text00009.html) - 结论依据:原文分别用独立段落说明金蝶EAS的四部分SOA架构、Lucene的面向对象检索架构、OpenStack的服务组合云平台架构、12306的两地三中心混合云架构,以及大数据时代DDSA的兴起背景,均给出了具体的架构组成或驱动因素,直接支撑本卡片对五个案例各自架构驱动力的归纳。 - 原始内容:金蝶EAS系统在架构模型上遵循SOA架构体系,由四部分构成:①信息门户……②业务流程……③业务服务……④基础平台……12306网站或系统采用的是两地三中心混合云架构……这种软件架构需要很好地支撑并发业务,支持高可靠、高性能业务的需求。