现如今分布式应用多为客户端应用端模式,其应用程序可在不同的计算机上运行,通过网络来共同完成一项任务。并且用户之间可通过协议来进行交流。在分布式出现之前的应用程序多以Docm来与服务器进行通信,这使得开发成本非常的高,并且用户体验度极差。成本高主要是因为应用程序的配置以及服务器和客户之间的通信。这使得现在人们更喜欢使用基于浏览器的客户应用程序,分布式应用也得到了好评,使得分布式应用广泛的被使用。
现如今仍有许多程序面临着其他的很多问题,其中就包括与其他程序的互通性。如果所有的程序都应用的是一种方便的编译环境,并且都运行在同一平台上,那就还好。然而,其实大多数仍在主机上以非关系文件的形式存放着。而且,还有很多商用程序继续在使用各种各样的语言编写。除了最简单的程序之外,所有的应用程序都需要与运行在其他异构平台上的应用程序集成并进行数据交换。
分布式程序基本分为三个层,表示层,业务层,逻辑层。采用此种分层方式可以有效的使开发人员编写伸缩性更高更灵活的应用程序。
表示层包含系统的形式逻辑。表示层将过去存在的多种应用界面统一为一种界面。尤其是如今web浏览器正成为人们优先选择的端口。开发者可以生成在三个应用层上任一层上执行业务逻辑。
业务逻辑层该层被用于支持客户端。可使用协议来进行通信。
1。2 研究方向
分布式应用程序正在快速发展,我们更应该了解更多关于分布式程序的相关知识,通过设计和编写简易分布式应用了解和学习更多的分布式知识。
1。3 文章主体
第一章绪论介绍论文背景
第二章介绍程序的主体结构并介绍了相关技术流程。给出整体设计。
第三章相关技术详细的描述了程序所采用的技术。
第四章程序的运行与测试介绍了程序的运行与相关结果
2 分布式程序主体结构
2。1 整体设计及需求
在本次程序设计中设计了一个简单的分布式应用,分布式时钟计时传递。在分布式技术日益发展的今天,学习分布式技术已经成为必要。在研究复杂的分布式技术之前,作为学生要先设计一个简单的分布式应用来初步了解相关知识。所以这篇论文是我学习分布式技术的阶梯。本次做的小程序是一个关于时钟传递的小游戏,具体的需求如下:
(1)可运行在网络中的多台计算机上,通过固定的地址和端口探测网络中的其他程序并保持联系,协商是否可进行分布处理;(2)、任一程序都可作为应用的召集者,通过协商与其他程序达成共识后开始分布处理工作,并在同意协作的程序中推举开始者并确定处理顺序;(3)、当程序拥有时钟后开始计时,时钟在传递过程中不计时,最后时钟会在某个程序处到时,收到时钟或时钟到时都应给出提示并通知其他程序。本程序并没有采用服务器,而是采用协议进行通信,来完成分布式的操作。整体设计如下图
图2。1:整体流程图
界面:界面采用单例模式进行编写,使用的是javaswing技术,整体设计偏于简单,界面包括状态栏和按钮,状态栏详细面熟了当前连接状态,连接主机数目,按钮则是操作程序的关键。
Befor data handler:对程序的操作进行相应的处理,针对界面的操作进行相关的响应。文献综述
Data sendclient:把相关信息反送到其他客户端,进行分布式信息同步。
Push data2 widow:反馈相应的状态显示到界面,显示在状态栏。