我按照年代演化,从前端交互层,到网络层、应用层、数据库来分别讲,技术对于客户的业务应用价值。
大家在阅读中,尤其要细细品味为啥出现了那个技术,到底是为了解决什么问题,但是它又产生了什么弊病。
一、70年代
过去的计算机,都是电传打字机和打孔机当终端,和计算机进行交互。年,王安电脑研制成功最新一代的文字处理计算机,首次配套了咱们现在最常用的键盘和显示屏,从此我们有了可视的字符界面。
咱们现在用的以太网是年才产生的。但是世界上第一条跨大西洋的海底通信电缆在年就铺完了,人类已经可以通过海底通信电缆进行跨洋的电报数据传输。而且在年互联网的前身ARPANet诞生的时候,人们已经通过电话线缆可以进行联网数据传输和访问了。
有了文件和文件系统,有了网状数据库和层次数据库,内容修改/存储/查找倒是比过去容易了,但是复杂性仍然很高。
二、80年代
年,Lisa推出了,这是世界上第一款图形界面的计算机。年,微软也在研发Windows图形界面,但是Windows1.0在年才推出。图形界面取代字符、取代命令行,让计算机大大易用。
年,以太网的发明人创办了3COM公司,给年IBM发布的PC机配备了以太网网卡。局域网便于多人多部门一起协作。
早在年,贝尔实验室Unix研究团队就已经产生出了分布式数据事务一致性协调中间件,后来年卖给了Novell公司,后来又被BEA公司在年收购。这是最早的中间件,就是为了解决分布式应用的问题。年,Sun公司就发明了RPC技术,用于分布式应用之间通过API进行远程调用的问题,这也是比较早的中间件,也是为了解决分布式应用的问题。
Oracle终于在年推出了Oracle2.0真正可商用的关系数据库,这让结构化数据存储/查询容易了很多。
三、90年代
早在年,欧洲原子能实验室的研究员就已经研究出来网页浏览器、HTML、HTTP协议、Web服务器。但是在年才被伊利诺伊大学的学生们开源实现并且普及。年网景公司成立,引爆了全球互联网。Web技术免除下载安装这些麻烦事,可以做到随时随地访问。
思科也顺便切入了TCP/IP的互联网路由器,互联网便于全球访问。
年,COM组件技术、CORBA组件技术都出现了,并且还配套了分布式应用远程调用中间件、组件持久化中间件技术、组件池化中间件技术。组件的出现是由两个技术在推动:一个是接口技术的推动,接口的出现,让不同开发语言编写的应用之间可以很方便API调用;另一个技术是通用组件规范,过去写一个类是很随意的,但是你要写成组件,前提就必须符合通用组件接口定义规范,只有这样,才能做到组件的计数/池化、组件的内省/持久化。
年,互联网崛起后,中间件又增加了Web中间件服务器,如开源的ApacheWebServer。WebLogic和WebSphere一开始都是商用的WebServer。年,为了做到Web页面从静态文本变成动态,Servlet/JSP技术发明了,这就相应出现了Servlet/JSP中间件服务器。年,J2EE规范发布,这就又相应出现了EJB组件和EJB中间件服务器。他们其实都是为了解决跨互联网的远程调用问题。
年,RedBrick公司推出世界上第一款数据仓库管理软件。这样,关系数据库处理OLTP交易型应用,数据仓库处理OLAP分析型应用。
四、年代
年,iOS、Android这两大双雄终于出现,开启了移动互联网时代。但是当时2G、3G网速慢,智能手机本机的性能也慢,所以当时做移动互联网应用,苹果公司就走了App这样的技术路线。如果你要做内部用或外部用移动应用,只能跟随苹果事实上的产业标准,做APP。
联网技术,也从Modem拨号上网技术,演化到有线ADSL技术、WiFi无线上网技术,乃至2GGPRS、3G无线上网技术。无线上网技术,让大家可以随时随地访问互联网。
年,W3C为了分布式应用跨互联网访问就在制定WebService标准,在年才正式推出。因而中间件又增加了WebService的特性,这就是过去大家老提的SOA:有注册中心UDDI,有所谓的SOAP企业总线(其实和过去的远程方法调用中间件本质是一样的),有描述文件语言WSDL。如果你想方便地利用互联网技术跨互联网访问其他的应用,那么你当时只能使用WebService技术。
关系数据库统治应用已经很多年,但是互联网的很多应用产生的内容和数据并非都是结构化关系数据,如半结构化数据(CSV、XML、JSON的日志),非结构化数据(电子邮件,文档,PDF)和二进制数据(图像、音频、视频)。所以就出现了很多存储方式系统以及NOSQL数据库。
五、年代
年,