计算机软件发展史之个人观

本文不愿像数家常一样讨论计算机软件发展史的各个阶段。因为本文作者长期从事应用系统工作,在此主要对计算机软件发展中与计算机应用相关技术的过去、现在以及趋势发表点个人看法。如有不正,欢迎指正。
首先,计算机硬件是先于计算机软件的(一点废话 )。
有了台计算机,咱们要做的第一件事可能就是安装 操作系统了(OS)。1955-1965期间,典型的操作系统是FMS(FORTRAN Monitor System-FORTRAN监控系统)和IBSYS(IBM为7094机配备的操作系统)。而UNIX的历史可以追溯到1969年,但1975的第六版UNIX才开始走出贝尔实验室。顺便提一下,Windows 1.0是在1985年正式推出的。
一般说来,咱们要做计算机应用系统的话可能需要 数据库,当然数据库是运行于OS之上的。史上第一个数据库管理系统—IDS由通用电气(GE)公司的Charles Bachman在1961开发出。1979年Oracle公司引入了第一个商用SQL关系数据库管理系统。IBM DB2数据库产品是在1983推出的。
随着计算机技术的飞速发展,各种各样的应用软件需要在各种平台之间进行移植,或者一个平台需要支持多种应用软件和管理多种应用系统,软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。这些,都需要一种构筑于软、硬件平台之上,同时对更上层的应用软件提供支持的软件系统,而中间件正是在这个环境下应运而生。一般把Tuxedo作为第一个严格意义上的中间件产品。Tuxedo是1984年在当时属于AT&T的贝尔实验室开发完成的。自二十世纪90年代,中间件技术才开始迅速发展。
进入21世纪后,或许是意识到软件通用性和用户需求个性化的矛盾过于突出,业界关注的焦点突然转向了软件平台。其中, 业务基础平台作为一个新的软件层级尤为引人注目。业务基础平台是以业务导向和驱动的、可快速构建应用系统的软件平台。2003年前后,许多公司相继宣布推出自己的平台,掀起了第一轮业务基础平台热潮。2005年,ERP厂商再度引发“平台热”,金碟、SAP都在此时高调推出平台战略。
以上的叙述可以用下图来描述。可以看出软件的发展史其实就是在裸机(硬件)和终端用户之间不断沉淀(平台化)的过程。当与裸机接近的某个层次发展成熟后,与这个层次相关的创新和成果会明显减少,而从这个层次更靠近终端用户业务的层次的创新和成果会增多。就这样不断不断的沉淀形成平台,不断的向用户和业务领域靠拢。
当前最火热的层次无疑就是业务基础平台了,当这个层次成熟后,可以预见将会有更靠近用户的层次出现并被沉淀形成平台。比如:业务领域平台软件等等。
 
以上咱们把软件的发展史看作了一个不断的沉淀运动,或者叫做平台化运动。对这些沉淀物(平台)有了一个了解(what),对他们为什么这样运动也有了一个认识(why),可是他们是如何被沉淀的(how),这种运动中伴随着什么样的思想、语言、工具和过程?在这里作者不想详细讨论计算机语言的发展历程和软件工程的演变历史,在此仅以软件体系结构(通常被称为架构)为线,做个简单的梳理。
与最初的大型中央主机相适应,最初的软件结构体系也是 Mainframe结构 ,该结构下客户、数据和程序被集中在主机上。
在20世纪80年代中期出现了 Client/Server结构,此结构把数据库内容放在远程的服务器上,而在客户机上安装相应软件。C/S软件一般采用两层结构。Client/Server结构因为其灵活性得到了极其广泛的应用。
Internet的发展给传统应用软件的开发带来了深刻的影响。随着网络技术的不断发展,尤其是Web技术和网络分布式对象技术的飞速发展,导致了许多应用系统的体系结构从C/S结构向更加灵活的 B/S多层分布式结构演变。CORBA,EJB,COM/DCOM是三大主要的分布式的对象模型技术。
对于2006年被炒得沸沸扬扬的 SOA(Service-Oriented Architecture)作为 下一代软件架构,主要用于解决传统对象模型中无法解决的异构和耦合问题。SOA 是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征即为服务之间的松耦合。简单的说, SOA 是“抽象、松散耦合和粗粒度”的软件架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。 Web 服务是实现 SOA 的最好方式,当然SOA 并不局限于 Web 服务。
Mainframe结构,Client/Server结构,B/S多层分布式结构,SOA的演变可以看出软件系统变得越来越分散,越来越开放,强调互操作性。
其实,总的一条,与软件发展史中的趋势一致,向着“终端用户”,向着虚拟的现实世界靠拢。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值