结语

  上述的很多理论和概念在实际的分布式结构中很多都是在混合地运用,并且其中的一些结构在应用中是互为基础的。

  某些技术,虽然很老旧,但是仍然很有必要使用。所以,没有哪个大型机或者UNIX系统的系统管理员会放弃文本终端来进行拨号远程管理的方式。类似地,频繁地执行大吞吐量或者低层次的系统通讯操作,也是一些低层次操作系统和网络接口最能胜任的任务。

  不过,在费用和便捷成为使用中的主要因素时,一般来说标准化的体系结构则是一个较好的选择。在这种情况下,人们通常将标准化的体系分成两种情况来考虑:异步的和同步的。根据异步和同步的进一步细分。我们可以得到程序中需要使用的相应的过程化的方法和面向对象的方法。

  对于异步通信来说,基于消息的体系常常是最为合适的。在某些情况下,由于整个系统的可靠程度本身就比较高,所以消息传送的可靠性要求不是那么高;但在另外一种情况下,消息传送的可靠程度要求很高,那么,可靠的存储转发中间件就是解决这个问题的答案。

  而在同步模式中,我们常常使用过程化的编程,DCE RPC是通常情况下的最好选择。它证明,实际中大量而广泛运用的具有C语言接口的体系在C或者C++应用程序中十分易于使用。而在其他的除C语言外的系统中,DCE RPC的支持是不那么完整的,此时同步消息机制就是我们所需要的答案。

  最后也是最重要一点,也就是面向对象的分布式体系。毫无疑问,在前面所阐述的三种结构中,语言和平台无关的CORBA提供了最大的灵活性和通用性。当然,这种无关性也产生了资源耗费。不过,一个不那么灵活的结构,如果它不支持未来的一些要求和特性,从长远来看,会有更多的麻烦。

  微软的COM/DCOM方案能够获得成功的最主要因素之一,就是几乎所有运行着WINDOWS的个人电脑都或多或少地使用了内建的COM支持,并且大多数32位版本的WINDOWS还支持DCOM,几乎所有的Windows开发工具提供相当容易集成COM组件的封装包,这使得在Windows环境下COM为基础的技术在分布标准中成为一个强有力的竞争者。

  使用Java RMI的原因非常简单,因为Java RMI很容易使用。因为它仅仅支持java对象,所以它能在很少影响开发资源的情况下,很容易地采用Java模型。不过,因为CORBA支持是建立在Java环境中的,所以RMI由于没有广泛的使用基础而失去了一定的优势。但是,在纯Java系统? 基于RMI的系统的易用性是无可怀疑的。

  上述各种结都有大量的支持者,所以无所谓哪种结构更好或者哪种结构更差,并且虽然这里提到了一些广泛使用的分布式计算结构,但是其实还有更多的结构尚未在这里阐述。另外,特别值得一提的是,可靠消息传递机制是一个正在快速发展的领域。

  关于COM和CORBA的更加详细的比较可以参考[Quoin 98]。当然,上述的各种结构的比较都可以在互联网上找到,这里就不赘述了。

  分布式的计算正在今天变得越来越普遍。这里所讨论的分布式体系,正越来越应用于实际中去解决大量的问题,而在几年前这些还是不可想象的。不过,选择其中一种进行应用和开发是必须要谨慎的,因为这不仅需要考虑公司自身当前和将来的需求,也需要考虑各种结构之间的竞争。