从SOA到云计算---盘点计算机技术的发展历程

SOA到云计算---“重用”始终是计算机的灵魂
 
 Jack zhai
 
曾经有过世界性的探讨,计算机未来是否能够超越人的智力,机器人是否能够反过来统治人类,当人把本身的感情能力也赋予给计算机,计算机也有了“生命”,那么机器人也能够拥有人的权利吗?
计算机做为人类的辅助工具,并且愈来愈深刻到人类生活、工做的各个角落,那么计算机比人究竟擅长的是什么?计算机技术飞速发展,形态也花样百出,但计算机没有变的思想是什么?
咱们都了解,计算机分为硬件与软件,硬件是实现运算的平台,所“会的”也是再简单不过的加法与移位,软件是把你要作的事情逐渐分解,拆分为计算机能够作的简单工序,先输入给计算机内,计算完后再输出结果。这个过程有些象工厂流水线的管理,原料从这边进去,产品从那边出来。
任何复杂的事情,经过数字化,变成计算机能够认识的“语言”,计算机再作“计算”,按照咱们的模型(软件设计)获得咱们须要的结果,因此原则上计算机能够作任何动做。可是计算机最低层的工做,就是“重复”地计算,并且每次干新事情时,能够重复利用之前的软件,工做就大大简化,若不能重复使用,计算机其实比人还“笨”,也就是由于这个“重用”,让计算机的能力愈来愈神奇。
 
咱们从软件与硬件两个方面说明一下重用的发展,也总结一下计算机的新技术:
一、 从模块编程到面向对象,再到SOA
在学习计算机软件设计思想时,老师很自豪的说,虽然计算机有不少语言,但其设计思路只有顺序、转折、循环三种,其中转折是条件的判断,这一点计算机不如人,人能够多个判断条件兼顾,并很快选择重要的条件因素,而计算机只会一个一个看,在高明的“算法”也是人思路总结的便捷判断方式;但在循环方面,计算机就表现得很是优秀,让计算机重复几万次,能够彻底同样;而人来作这件事情,很快就会“找不到北了”,因此计算机的出如今求解方程的叠代计算、财务的记账、资料的统计等方面,计算机简直就是“千百人”能力的叠加,循环就是部分程序的重用,重复是计算机的强项。
因此在计算机软件设计时,重用一直是设计中的灵魂。提及来也颇有趣,软件发展思想一直是在不断地增强重用的能力。
n         模块编程:
DOS编程时,比较流行的设计思想是模块编程,也就是经过设计能够重复使用的程序功能块,做为过程或函数来调用,让程序结构化,设计简单化。在那个时代,能让本身的软件最大的重用是很不错的事,要设计个下拉菜单、画个小图标,须要本身不断完善本身的“软件库”。
正是因为这种软件低度共享的缘故,软件开发人员通常是比较“专业”的人员,而开发的应用软件又都是业务管理软件,计算机人员与业务使用人员对业务的理解与对计算机能力的理解相差甚远,确认你们沟通的“语言与方式”每每是软件设计成败的关键。
n         面向对象:
能重用更多的软件模块的开发管理,让你们的工做能有积累效应,软件设计思路从编程人员到软件系统设计者的角度,出现了功能与数据封装在一块儿的“重用”,这就是面向对象的编程。
面向对象方式让数据与程序一块儿重用,等于应用功能的重用,让软件界的工做获得共同积累,专门为其余软件开发者提供中间件的专业软件公司相继出现。如今软件设计者不再用为菜单、打印等“通用”的功能而花时间,开发者有了更多的时间研究业务的流程、用户化的设计,IT人员开始与业务人员进行更多的交流,敏捷编程思想开始流行,IT管理者也逐步走到企业核心管理者的团队中。
n         SOA(面向服务架构体系)
SOA的出现不是为了软件编程,它让不少人不理解,所谓的服务到底是要干什么,有些象系统集成中的搭积木,咱们顺着模块编程到面向对象的发展思路,再向上走一步就明白了:既然应用中的对象已经能够重用,下一步就是把业务流程拆解为可重用的子流程,重用的程度上升为业务流程设计层面,所谓服务就是为业务流程用户提供的实现平台,能尽量地重用,企业的业务支撑就能够快速组建,业务流程能够快速重造。SOA的五大关键因素有两个是做基础支撑的,一个是连通,另外一个就是重用,重用是SOA快捷支撑企业业务能力的灵魂。
因此咱们说SOA是高级可重用的编程思路,把软件设计的着眼点从编程人员转移到业务流程设计人员,让业务用户与IT人员的“对话”更加“职业”,计算机已经成为最为普通的工具,软件开发成为业务人员的工做,而再也不是计算机专业人员的工做了。
软件开发思路的变化,体如今计算机普及的历程上,但其重用的思想不只没有改变,并且在不断地光大,“可重用”也再也不只是计算机专业理解的专业术语,而是使用计算机全部人员的新思惟方式。
 
二、 从虚拟计算机到云计算
重用在软件开发思路上的展示是计算机设计者开始就有的想法,硬件设计者也一直在但愿硬件的重用。在单台的计算机上运行多用户的系统,让多我的使用不一样应用在早期的计算机上就开始了,由于那时计算机是奇缺资源;后来PC普及后,在PC上运行单用户的多线程,让一个用户能够同时作不一样的事情。随着CPU的功能日渐强大,人们开始但愿更多、更灵活的硬件平台了,计算机的虚拟技术开始流行。
如何理解虚拟呢?在计算机网络设计时,为了处理不一样厂家、不一样技术的共同开发,提出了分层的概念,网络分为7(OSI)5(Internet),每一个层实现本层次的功能,对上提供实现接口,对下提供调用接口,层次概念简化了复杂系统的设计难度,也让不一样层面的设计者有了不一样的设计思路,他再也不担忧下面层次的具体实现方式。用层次的概念理解虚拟计算机就容易多了。
n         虚拟计算机
虚拟计算机实际就是计算机硬件组件的重用,首先是存储资源,存储技术已经从计算资源中分离,造成规模宏大的网络存储技术NASSAN(FCSANIPSAN),以及近线存储VTL,离线存储磁带与光盘系统,不一样厂家的存储虚拟为一个大存储池,对于应用系统来讲,再也不关心数据具体存在哪里,只要交给存储系统就能够,至于如何保证数据在系统的可用是存储系统本身的事情,备份、容灾、RAID技术等数据安全都不用应用系统的人再关心了。
其次是计算资源,尤为是目前多核CPU的出现,应用程序须要几个CPU、多大内存、什么操做系统、什么数据库支持,在虚拟计算机中都是能够动态分配的,也就是随时根据你的须要,从目前的全部计算机硬件中虚拟出一台最适合你的计算机,因为资源是按需分配,因此硬件的利用率天然提升。虚拟就是把计算机的硬件变成能够随意组装的积木。
n         云计算机
云计算是IBM提出的新技术。是IBM采用单个性能通常的计算机群体,完成超级计算机才能提供的计算性能。IBM给出的定义:云计算是一种经过虚拟化的方式共享资源的计算,计算资源能够动态部署、动态调度、动态回收。在云计算的设施中,各类计算机被链接在一块儿,造成统一的资源池,这些资源会被动态地分配给不一样的应用和服务,知足它们在不一样时刻的需求。
云计算有几个显著的特色:
n         分布式:计算机能够部署在不一样的网络点上,能够虚拟统一管理,也能够单独使用。分布方式方便了可重用的构架实现,能够把计算机资源分红更细的重用单元,可重用的组合越精细,复杂度也会增长。
n         虚拟化:应用与计算机硬件不绑定,根据应用的须要虚拟出应用需求的计算机使用,实际上就是增长了虚拟管理层。
n         动态可扩展:虚拟的计算机比非虚拟的好处,就是动态扩展的方便,由于业务的发展,对计算机、存储等资源的需求会动态增大,而也不但愿业务因系统升级而中断,动态扩展也是虚拟计算的天生亮点。
n         灵活:云计算的虚拟能够支持不一样应用的环境需求,包括CPU、存储的硬件需求,也包括操做系统、数据库、中间件等软件环境。
云计算能够说是虚拟计算机的高级阶段,它与网格计算的差别是网格计算容许计算资源的不一样构,固然也牺牲了管理性能的代价。云计算机采用同构计算资源,对于效率的提升是有好处的,适合企业的计算中心整合。
 
三、 SOA与云计算的联合
重用的思路贯穿到计算机的软硬件设计中,但二者也是融合的,把二者放在一块儿,就是目前的计算机构架。
    将来的计算机从软到硬都是“虚拟”的,真正为人类提供互联网上的“虚拟”社会就是更加方便了。
相关文章
相关标签/搜索