从单机到互联网:软件架构的第二次系统性演进
本系列第三篇,聚焦 1990~2000 年代软件架构的第二次重大变革。个人计算机普及与互联网兴起,驱动软件架构从单机应用向网络化协作模式演进。本文将探讨单机应用的黄金时代、C/S 架构的崛起与局限,以及 B/S 架构如何成为 Web 时代的解决方案。
单机应用局限性 → 互联网催生联机需求 → C/S 架构主导 → Web 技术突破 → B/S 架构兴起
一、单机应用的黄金时代:GUI 与分层架构的技术赋能
1.1 技术支撑与时代背景
- 硬件与操作系统:Intel x86 系列处理器、Windows 95/98 图形界面普及
- 开发范式成熟:MVC 架构(如 Delphi)、三层架构(UI/BLL/DAL)成为主流设计
- 本地化优势:无需网络依赖,响应速度快(如 Photoshop 图像渲染)
1.2 单机应用的优势与典型场景
应用领域 | 代表案例 | 关键技术 |
---|---|---|
办公自动化 | Microsoft Office | COM 组件、OLE 对象嵌入 |
图形设计 | Adobe Photoshop | 插件化架构、分层渲染管线 |
单机游戏 | 《红色警戒》 | DirectX 图形库、本地资源管理 |
数据库工具 | Access、FoxPro | ODBC 连接、三层架构实践 |
1.3 技术局限与挑战
- 资源瓶颈:内存限制(Windows 9x 内存管理缺陷)、计算能力不足
- 数据孤岛:企业数据分散,无法跨终端协作(如财务系统数据同步困难)
- 维护成本:客户端升级需逐台部署(某医院管理系统升级耗时 2 个月)
👉 单机架构的封闭性,在互联网浪潮中逐渐暴露短板。
二、C/S 架构的崛起:分布式协作的初探
2.1 需求驱动:从封闭到联机
- 企业需求:跨国数据实时同步(如沃尔玛库存管理系统)
- 技术基础:TCP/IP 协议标准化、关系型数据库(Oracle)支持并发访问
- 网络普及:以太网带宽提升至 100Mbps(1995 年)
2.2 C/S 架构的定义与核心设计
层级 | 职责 | 技术实现案例 |
---|---|---|
客户端 | 交互逻辑、本地计算 | PowerBuilder 数据窗口控件 |
服务器 | 核心业务、数据存储 | SQL Server 存储过程、事务管理 |
优势体现:
- 资源共享:集中式数据库避免冗余
- 安全可控:权限集中管理(银行核心系统案例)
- 负载均衡:连接池技术优化数据库访问
2.3 典型应用与技术栈
- 企业管理系统:SAP R/3(ABAP 语言 + 专用客户端)
- 即时通讯工具:ICQ(多线程 Socket 通信)
- 技术栈演进:
- 通信协议:DCOM、CORBA
- 数据交互:ODBC、JDBC
- 客户端框架:MFC、Java Swing
发表回复