现在的位置: 首页 > 综合 > 正文

领略分布式编程乐趣–[3]

2013年10月01日 ⁄ 综合 ⁄ 共 2481字 ⁄ 字号 评论关闭
                     领略分布式编程乐趣

RedStar81 9/9/200313/9/2003
                                               81_RedStar81@163.com
                                               TomHornson.student@www.sina.com.cn

首次修改时间:13/9/2003
                         
个人文集:http://www.csdn.net/develop/author/netauthor/RedStar81/

 

   

                       三、几种分布对象计算技术简介

  总的来说,传统的分布对象技术DCOM/RMI/CORBA/Remoting等无一例外的,基于代理/存根架构。由客户端和服务器端基础服务控制器来通过RPC或是类RPC(这里每种的具体情况又很多,如早期的DCOM还涉及LPC,更重要的是由于历史和这些技术运行平台的演化,技术本身从实现上来说,有本质的区别.)来列集/散集(序列化技术/反序列化).

  DCOMMS COM+的分布式计算的基础.

  RMISUN JINI底层通信采用的分布式对象计算技术.

  RemotingMS dotNET平台分布对象计算新技术.

这里我想谈谈DCOMRMI从上面提及的所谓平台演化角度看实现本质的问题,我们不谈Remoting的比较,因为基本上,RMIRemoting在寄于的平台这个角度来说,没什么区别.
  COM(Component Object Model)
初衷是特定的历史时期寻求二进制级别上的软件复用,克服语言/编译系统带来的诧异而产生的技术,从历史走来,如今基于COM的技术和应用已经比较成熟当然也异常的复杂,体系结构异常庞大,原因在哪?个人感觉,在于这只是一种技术,永远逃避不了底层系统的束缚和影响,从基础的二进制重用就堆砌了大量的实现技术细节,一层层叠加,最后不可避免的,体系机构异常复杂.然而Java来了,dotNET来了,他们都基于Virtual 平台,一个Class,天然的就是一个Assembly,是可重用的,不需任何的额外技术来支持。天大的诧异就从这里开始.如今的Java Applet/.NET下多种Control 的开发复杂度和功能都比基于COMControl有着不可比拟的优越性.这样基于COMDCOM自然也继承了这等劣势.另外一点:RMI/Remoting可以说呈现给客户的都是对象视图,DCOM是接口视图.这一点也算是本质上的区别.

 

 

                                四、几种分布式语言简介

  什么样的语言才能叫分布式语言?

  Java?C#?SmallTalk?Dejay?

  你注意到目前的分布式开发是怎样的一种形式?正如开始讲的,我们目前的分布式计算技术走: 在网络上部署分布式计算环境(中间件的形式部署,这里可能MSDCOM与系统的集成度较高),并且提供开发的工具和公共服务,支持分布式应用,实现资源的共享和协同工作这条路,现在的分布式开发核心基本还定位在在什么样的基础架构上作开发,你用过原生支持分布式计算的语言?我们下面提及的两种典型的语言:EmeraldDejay。其中,只有Emerald算是较为纯粹的分布式编程语言,Dejay则是基于我们上面提及的ObjectSpace公司的VoyagerJava开发的,当然从语法上,还算比RMI等东西更靠近分布式编程语言范围这一层.

  Emerald20世纪80年代,由华盛顿大学开发的一门兼面向对象和分布特性的语言,为分布式应用编程提供了方便.它的研发重点之一就是分布式方面的处理。这门语言首先算是一门较为纯粹的面向对象语言,当然了,当你亲生接触它的时候,请不要以现代的OO语言来看待它,也不要说它很怪异,因为毕竟不谈分布式特性,OO80年代,也算很新的技术,它的所有语言机构都是基于单一的对象模型,所有的结构和数据类型都是由对象代表.详细请参考: http://www.cs.ubc.ca/nest/dsg/emerald.html或是http://www.eci.ie/first.asp

  Dejay是汉堡大学的一个研究项目。它基于VovagerJava语言开发的。Dejay遵循的目标就是开发一门基于Java的分布式编程语言,用来促进分布式应用的发展.这门语言由于基于voyager,从语法层次上,很容易的支持远程对象,对象迁移,名字服务,持久化,异常处理等特性。后面我们会好好的利用这门语言来体验分布式编程的乐趣的。请访问www.dejay.org .

 

 

 

 

Part2.实践
                    
五、分布式编程实践

下面,我们就来亲身领略分布式编程带来的兴奋和乐趣.当然了,这里基本上,用较为基础的例子,然后加上解说。想系统和深入地掌握这些技术,你需要自己去涉猎相关专业书籍.。本文重在引导和激发大家的学习兴趣。

 

1.ObjectSpace Voyager

  Voyager基本来说,是一个库和一个运行期环境。充当存在于系统(OSJVM)之上的底板。支持分布应用的各种行为特性。你可以从www.objectsapce.comwww.dejay.org得到这个产品。解压后,你将得到如下文件:

            /bin             Voyager utilities

        /doc            Documentation files

          /examples       Example files

/lib             voyager2.0.0.jar file (Voyager .class files)

/voyagerDb       Support Distributed Data Persistence

像设置JDK

抱歉!评论已关闭.