OO+分布式计算=软件架构的方向.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OO+分布式计算=软件架构的方向.doc

OO + 分布式计算 = 软件架构的方向 板桥里人 2008/4/19   最近,一个新名词“云计算(cloud computing) ”很热门,它是网格计算的进一步细化,我们看看网络上一些对云计算的定义:   Googel有哪些信誉好的足球投注网站引擎计算用来解读云计算再合适不过:网页的变更通常大量而复杂,但云计算可很容易地处理海量数据,它不仅可以将有哪些信誉好的足球投注网站任务切分为多个小的任务模块执行,而且单个任务模块可以采用不同的算法,这样的计算结果集合就是有哪些信誉好的足球投注网站结果。 (摘自云计算泄露Google的秘密)   “云”,既是对那些网状分布的计算机的比喻,也指代数据的计算过程被隐匿起来,由服务器按你的需要,从大云中“雕刻”出你所需要的那一朵。实在是非常浪漫的比喻。   云计算是一个新兴的商业计算模型。利用高速互联网的传输能力,将数据的处理过程从个人计算机或服务器移到互联网上的计算机集群中。这些计算机都是很普通的工业标准服务器,由一个大型的数据处理中心管理着,数据中心按客户的需要分配计算资源,达到与超级计算机同样的效果。(摘自如果云计算)   所以,从概念上看,云计算实质也就是一种分布式计算,这种计算模式相对于传统数据库中心的计算模式,无疑拥有巨大潜力和优越性。   所谓数据库中心的计算模式,就是将软件系统的处理能力和负载主要集中在一两台数据库服务器,如果要提高计算处理能力,只能不断提高数据库服务器的硬件水平,从普通双核多核PC机到小型机,直至中型机和超级计算机,随着处理能力提高,系统的建设成本也越来越高,最后,享受超级计算能力不再成为普通百姓的权利,而成为贵族和特殊国防领域的专利,并成为国家炫耀计算机实力一个象征。   其实,也许我们又走上了一个错误的方向,如果Google当初选择了这种集中式超级计算模式,那么也许就没有我们普通百姓可以享用的方便低廉的有哪些信誉好的足球投注网站服务,使用有哪些信誉好的足球投注网站已经成为我8岁儿子基本工具,他一学会汉字,就会用这些汉字在google中找到自己想玩的小游戏,有哪些信誉好的足球投注网站和汉字已经同时融入我们下一代人的血液中,这些都得益于计算思维的转变:分布式计算 云计算。   在Java领域,从EJB诞生那天开始,就已经宣布分布式计算革命的开始,EJB最重要的价值就是让我们开发一个分布式计算模式的软件系统不再变得困难和复杂。现在的云计算模式更上升为SOA和We服务,看看下面IBM的蓝云架构中,一个基础核心就是EJB/SOA服务器Websphere(图来自云计算泄露Google的秘密):   说了这么多分布式计算,那么和面向对象OO这样设计思维有什么关系呢?这两者其实是一脉相承,这个观点我已经在论坛中提及了好几年:试想想:分布式计算处理的是数据,只有数据被包装在对象Object中,而对象是运行在应用服务器的内存中,这样,整个计算负载才会集中到这些应用服务器上,然后我们就可以架设多台应用服务器,进行分布计算;如果这些数据是被包装在数据表中,就是只能运行在数据库服务器中,那就只能走集中式主机的发展道路。   千里之行,始于足下,时尚革命的云计算好像和我们无关,其实它的方向就开始于我们最基础的编程设计中,只有我们树立了OO编程思想,将我们的业务数据使用对象这个容器封装起来,才能在将来可能享受分布式云计算的好处,否则只能推倒重来重新设计,这也说明:追求软件的可拓展性和伸缩性是现代软件的灵魂。   当你使用Evans DDD这些OO分析方法提炼你的需求以后,你就得到你系统的很多业务对象,那么如何让这些业务对象在计算机中以分布式计算方式运行呢:目前在Java世界,有两种路线可以实现集群分布式集群计算:   1. EJB或SOA路线。IBM的蓝云产品就是试图走这条路,你选择IBM这样产品提供商,就象买了辆日本车,舒适型、操控性和空间内饰以及外表都适中,各种指标都很中庸,OO方面有一点但差一点;分布式性能上有一点但也差一点;分布式事务方面有一点但也差一点,所以,如果你只是一般商务应用项目,EJB/SOA也许是一种选择,这也是日本车畅销的一个原因。   而EJB/SOA前提也是必须首先将你的业务对象和业务服务从数据库的SQL语句中独立出来,否则,你提供的SOA服务就是SQL语句服务,实际就是数据库存储服务,有一种观点认为云计算就是云存储的延伸,这个我不敢苟同,有这种观点的人实际还是数据库中心思维的延伸,难道他们认为分布式处理就是将包含业务内容的SQL语句分开运行?   这里面就忽视了一个重要概念:对象,必须将业务逻辑从你的SQL语句中分离出来,形成业务对,再通过对象缓存或服务的分布化,才能真正实现分布式计算或云计算。所以,我们必须对EJB/SOA这些现成解决方案的内部机制掌握开始,这就是第二条路线:   2. 分布式计算定制DIY路线:google走的就是这条路,德美车福克斯很流行,就是因为其操控性和5

文档评论(0)

tangtianbao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档