首页 理论教育 电子白板系统的实现

电子白板系统的实现

时间:2022-02-12 理论教育 版权反馈
【摘要】:因为电子白板系统中存在大量动态设计文字、图形及图片,所以客户端的图形用户界面选择Java Applet来实现。为了在Internet/Intranet网络上连接远程客户,电子白板系统采用了TCP/IP通信协议。在电子白板的客户端,系统由主线程来响应用户的交互操作,还要自动创建一个辅助线程来及时地接收、处理服务器端发来的同步信息。在电子白板的服务器端,首先由主程序自动产生一个主线程,然后自动产生一个负责监听网络上白板客户端请求连接的JListener线程实例。

不同的设计者可能在不同的地点使用不同种类计算机、不同操作系统合作设计一个产品,这些要求决定了系统能跨平台使用,因此系统的框架用Java编写。Java语言的平台无关性是它最突出的优点。所谓“一次编写,随处运行”(Write Once,Run Everywhere),即在Windows、Linux、Unix和Solaris等不同的平台下,都可以使用相同的代码,从而保证了整个系统的平台无关性。

2.7.1 客户端

面向设计用户的客户端是基于Web的图形用户界面。用户通过Web浏览器进入设计界面,将设计事件或操作消息发送到应用服务器。相对于HTML/JSP、XML/XSLT,Java Applet更加适合于含有大量动态图形的界面,且与用户有较强的交互性,可以减轻网络流量,加快即时响应速度。因为电子白板系统中存在大量动态设计文字、图形及图片,所以客户端的图形用户界面选择Java Applet来实现。

2.7.2 应用服务器

应用服务器与客户机的通信采用Socket技术。Socket提供了连接任何流到通信接口的方法,可以通过输入/输出流来抽象网络层的具体操作,把应用程序与网络技术细节分开,只需要考虑流的读写操作,而不用关心网络的具体细节。在Internet/Intranet领域,Socket指两个程序间进行双向数据传输的网络通信,是网上两个主机之间必要的数据无缝传输。

Socket由每一个主机的终点和端口地址加以区别,利用Socket可以与相应的服务进行通信。在Java中,也引进了Socket概念,提供了Java.net.Socket和Java.net.ServerSocket类库,这两个类一起提供完整的TCP/IP连接支持。前者用于客户端,后者用于服务器。某种服务通过监听一个端口号,可以与向该端口号发出请求的客户程序进行通信,其过程如图2-10所示。

图2-10 应用程序与Socket的关系

2.7.3 数据库服务器

数据库服务器采用SQL Server2000来管理产品设计过程中的各种数据,应用服务器的设计模块通过SQL语句与之交互。设计数据用关系数据库的形式存储,可以充分利用其管理及查询功能。

2.7.4 关键技术

2.7.4.1 采用TCP/IP通信协议

为了在Internet/Intranet网络上连接远程客户,电子白板系统采用了TCP/IP通信协议。由于白板系统属于数字信息,为了可靠传输,采用面向连接的字节流套接字模式(Stream Socket)的TCP/IP协议,其通信模型如图2-11所示。

图2-11 面向连接的系统通信时序模型

2.7.4.2 多线程技术

在电子白板的客户端,系统由主线程来响应用户的交互操作,还要自动创建一个辅助线程来及时地接收、处理服务器端发来的同步信息。

在电子白板的服务器端,首先由主程序自动产生一个主线程,然后自动产生一个负责监听网络上白板客户端请求连接的JListener线程实例。当该线程接收到一个连接请求后,再由主线程创建一个JUser类的线程实例来响应这个白板客户的各种操作请求。当该客户请求退出时,由主线程删除对应的JUser线程实例,并释放系统资源。

在同一时刻可能有多个客户端同时连接到服务器,且请求使用同一资源,因而存在资源死锁和线程同步问题。因此,系统中每一个通信协议都要分别建立一个同步块(synchronize),该协议的全部操作都要在这个同步块内完成,以限制自由访问网络接插建立的输入流和输出流,使得当一个线程执行一个协议时能够独占这些网络资源,其他线程不能访问这些资源,保证线程能够完整正确地执行协议。但是同步操作会降低线程调度和执行效率,所以要在确保协议完整执行的前提下尽量缩小同步代码块的范围。

2.7.4.3 文件上传技术

Java的安全机制使得Java Applet程序在浏览器中运行时不能存取本地资源,这种所谓的“沙箱”机制使得Applet只能与源主机进行通信,而不能穿过“沙箱”去访问任何本地资源。Java的这种安全机制对于Internet应用是完全必要的,可以防止Applet读取本地计算机中的保密数据及外界病毒的侵入。但对于Internet应用系统,有时却需要Applet有能力存取本地资源,如上传文件和插入本地文本、图片及工程图等,所以Applet存在一定的局限性。

系统为了实现上传文件的功能,同时又不破坏Applet原有的“沙箱”机制,在服务器端又添加了一个Servlet应用程序,它可以被Web服务器加载、执行。而由HTML组成的客户端(Web浏览器)可以访问本地资源,通过HTTP提出上传请求,Servlet接收请求并在服务器端执行,通过HTTP向客户端返回应答,最终完成文件上传功能。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈