网站地图
分布式应用

分布式应用(distributed application)指的是应用程序分布在不同计算机上,通过网络来共同完成一项任务的工作方式。

distributed application 分布式应用由不同的运行于分离的运行环境下的组件构成的应用程序,通常是在不同的平台上通过网络互联起来。典型的分布式应用是二端(Client/Server),三端(client/middleware/server)和n端(client/multiple middleware/multiple server)

分布式应用程序是指:应用程序分布在不同计算机上,通过网络来共同完成一项任务。通常为服务器/客户端模式。

研究一下当前的应用程序开发,你会发现一个绝对的倾向:人们开始偏爱基于浏览器的客户应用程序。这当然不是因为客户能够提供更好的用户界面,而是因为它能够避免花在桌面应用程序发布上的高成本。发布桌面应用程序成本很高,一半是因为应用程序安装和配置的问题,另一半是因为客户和服务器之间通信的问题。

传统的Windows客户应用程序使用DCOM来与服务器进行通信和调用远程对象。配置好DCOM使其在一个大型的网络中正常工作将是一个极富挑战性的工作,同时也是许多IT工程师的噩梦。事实上,许多IT工程师宁愿忍受浏览器所带来的功能限制,也不愿在局域网上去运行一个DCOM。在我看来,结果就是一个发布容易,但开发难度大而且用户界面极其受限的应用程序。极端的说,就是你花了更多的资金和时间,却开发出从用户看来功能更弱的应用程序。不信?问问你的会计师对新的基于浏览器的会计软件有什么想法:绝大多数商用程序用户希望使用更加友好的Windows用户界面。

关于客户端与服务器的通信问题,一个完美的解决方法是使用HTTP协议来通信。这是因为任何运行Web浏览器的机器都在使用HTTP协议。同时,当前许多防火墙也配置为只允许HTTP连接。

许多商用程序还面临另一个问题,那就是与其他程序的互操作性。如果所有的应用程序都是使用COM或.NET语言写的,并且都运行在Windows平台上,那就天下太平了。然而,事实上大多数商业数据仍然在大型主机上以非关系文件(VSAM)的形式存放,并由COBOL语言编写的大型机程序访问。而且,还有很多商用程序继续在使用C++、Java、Visual Basic和其他各种各样的语言编写。除了最简单的程序之外,所有的应用程序都需要与运行在其他异构平台上的应用程序集成并进行数据交换。这样的任务通常都是由特殊的方法,如文件传输和分析,消息队列,还有仅适用于某些情况的的API,如IBM的"高级程序到程序交流(APPC)"等来完成的。在以前,没有一个应用程序通信标准,是独立于平台、组建模型和编程语言的。只有通过Web Service,客户端和服务器才能够自由的用HTTP进行通信,不论两个程序的平台和编程语言是什么。


相关文章推荐:
网络互联 | 客户端 | 浏览器 | 桌面应用程序 | 桌面应用程序 | 浏览器 | 浏览器 | 客户端 | 互操作性 | 主机 | 文件传输 | 消息队列 |
相关词汇词典