分布式计算

lk198186 2009-05-14 08:20:16
普通的C/S结构系统和用CORBA应用的C/S系统有什么区别?
普通的C/S结构系统算不算分布式计算?
请高手帮忙!!!
...全文
120 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
marcblue 2009-05-15
  • 打赏
  • 举报
回复
刚查了查下面这三种都算分布式计算,有点晕了

传统的C/S模型。如HTTP/FTP/SMTP/POP/DBMS等服务器。客户端向服务器发送请求,服务器处理请求,并把结果返回给客户端。客户端处于主动,服务器处于被动。这种调用是显式的,远程调用就是远程调用,本地调用就是本地调用,每个细节你都要清楚,一点都含糊不得。

集群技术。近年来PC机的计算能力飞速发展,而服务器的计算能力,远远跟不上客户端的要求。这种多对一的关系本来就不公平,人们已经认识到靠提高单台服务器的计算能力,永远满足性能上的要求。一种称集群的技术出现了,它把多台服务器连接起来,当成一台服务器来用。这种技术的好处就是,不但对客户来说是透明的,对服务器软件来说也是透明的,软件不用做任何修改就可以在集群上运行。集群技术的应用范围也仅限于此,只能提高同一个软件的计算能力,而对于多个不同的软件协同工作无能为力。

通用型分布式计算环境。如CORBA/DCOM/ RMI/ DBUS等,这些技术(规范)差不多都有具有网络透明性,被调用的方法可能在另外一个进程中,也可能在另外一台机器上。调用者基本上不用关心是本地调用还是远程调用。当然正是这种透明性,造成了分布式计算的滥用,分布式计算用起来方便,大家以为它免费的。实际上,分布式计算的代价是可观的,据说跨进程的调用,速度可能会降低一个数量级,跨机器的调用,速度可能降低两个数量级。一些专家都建议减少使用分布式计算,即使要使用,也要使用粗粒度的调用,以减少调用的次数。
lk198186 2009-05-15
  • 打赏
  • 举报
回复
自己的PC不是主体啊,你只是做为一个终端或者客户去连接数据库服务器而已。
marcblue 2009-05-15
  • 打赏
  • 举报
回复
自己的PC不应该充当主体吧
lk198186 2009-05-15
  • 打赏
  • 举报
回复
按你的意思是说只要是有计算的分摊就算是分布式计算了?
也就是说你用自己的PC以sqlplus方式去连接你PC所在的局域网中的数据库服务器也是分布式计算?
那今天的网络不都是分布式计算了吗?
郁闷啊,看CORBA的书也没多少,有的话也是些皮毛的东西,全是抽象的理论。
marcblue 2009-05-15
  • 打赏
  • 举报
回复
具体的也不知道怎么说,应该是数据的处理不只是在一台机器完成,而是多台机器协作完成的。比如,为了处理一项工作,它由两部分工作组成,甲和乙。如果把甲放在机器A中完成,乙处理放在机器B中完成,那么它们就形成了一个分布式的计算。通俗的说就是把大任务化小任务,一般是服务器作为“中央”
lk198186 2009-05-15
  • 打赏
  • 举报
回复
那分布式计算的标准或者定义是什么?
现在还是不明白,到底何为分布式计算?
计算不在本地处理就算是分布式的吗?
那网络游戏算不算分布式计算呢?
lk198186 2009-05-15
  • 打赏
  • 举报
回复
我晕,哪OMG和sun还鼓吹什么分布式计算
lk198186 2009-05-14
  • 打赏
  • 举报
回复
哪B/S结构的系统是不是也算分布式计算呢?
client发起的请求是以值的方式发送到server,经过server某一个方法处理后将处理结果返回吗?

sjkof 2009-05-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 marcblue 的回复:]
区别在于:CORBA标准主要分为三个部分:接口定义语言(IDL)、对象请求代理(ORB)以及ORB之间的互操作协议IIOP。其中ORB是对象之间建立Client/Server关系的中间件。使用ORB,客户可以透明地调用一个服务对象上的方法,这个服务对象可以在本地,也可以在通过网络连接的其他机器上。ORB截获这一调用同时负责查找实现服务的对象并向其传递参数、调用方法返回最终结果。客户并不知道服务对象位于什么地方,它的编程语言和操作系统是…
[/Quote]

学习
imliuli 2009-05-14
  • 打赏
  • 举报
回复
正解。
marcblue 2009-05-14
  • 打赏
  • 举报
回复
区别在于:CORBA标准主要分为三个部分:接口定义语言(IDL)、对象请求代理(ORB)以及ORB之间的互操作协议IIOP。其中ORB是对象之间建立Client/Server关系的中间件。使用ORB,客户可以透明地调用一个服务对象上的方法,这个服务对象可以在本地,也可以在通过网络连接的其他机器上。ORB截获这一调用同时负责查找实现服务的对象并向其传递参数、调用方法返回最终结果。客户并不知道服务对象位于什么地方,它的编程语言和操作系统是什么,也不知道不属于对象接口的其他系统部分。这样,ORB在异构分布环境下为不同机器上的应用提供了互操作性,并无缝地集成了多种对象系统。  
在开发传统的Client/Server应用时,开发者使用他们自己设计的或一个公认的标准来定义用于设备之间通信的协议。协议的定义依赖于实现语言、网络传输和许多其他因素,而ORB的出现简化了这一过程。使用ORB时,协议是使用接口定义语言(IDL)定义的,而IDL是独立于语言的。并且ORB提供很强的灵活性,它使程序员选择最适合的操作系统、执行环境,甚至系统各个组件也可以采用不同的编程语言实现。更重要的是,它允许现有组件的集成。在一个基于ORB的解决方案中,开发者可以使用与创建新对象一样的IDL对遗留系统进行建模,他们创建“包装”代码以在标准化的软件总线与遗留系统接口之间传递信息。  
使用CORBA,用户可以透明地访问信息,并不需要知道信息存在于什么软件中、使用什么硬件平台,以及位于企业网络的什么地方。作为面向对象系统的通信核心,CORBA为今天的计算环境带来了真正的互操作性。
普通的C/S应该不算分布式计算
marcblue 2009-05-14
  • 打赏
  • 举报
回复
在B/S模式中,客户端运行浏览器软件。浏览器以超文本形式向Web服务器提出访问数据库的要求,Web服务器接受客户端请求后,将这个请求转化为SQL 语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给Web服务器,Web服务器再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器以友好的Web页面形式显示出来。

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧