电子白板最初由一些研究机构与大学院校率先推出,目前,主要应用于远程教育、多媒体教学、网络会议等领域。在这些应用中,共享电子白板充当一个虚拟公共区域,应用者利用白板进行教学、讨论、会议等活动。电子白板作为CSCW中的一个重要工具,是实时协同工作的一种具体应用。群体在交互过程中,特别是点到多点的通信过程中,要实现交互和共享,这种协同工作就要用到电子白板。本节结合前面对CSCW理论和Agent技术的研究,在对系统需求分析的基础上,给出了MWBS总体结构框架,并对其组成以及功能进行介绍。
9.4.1 系统的需求分析
随着现代科技的发展,作为新兴产物的嵌入式移动设备在人类生活领域中得到了广泛应用。当前,无线查询系统凭借其查询结果动态实时、终端设备小巧便捷、使用简单方便的特点,使得MWBS应运而生。MWBS是一个基于无线通信技术的嵌入式系统。异地的与会者利用电子白板系统进行专题讨论,会议参与者可以同时看到其上的内容,包括文字、图像、图形等。这样就实现了多人交流讨论,可以发挥集体的优势,达到集思广益的效果。
9.4.2 系统的功能模块
利用电子白板进行案情分析、专题讨论等活动时,会议参与者可以同时看到其上的内容,包括文字、图像、图形。因此,系统的功能主要包括:
(1)用户管理功能模块:包括用户的登录/退出、权限判别、口令管理等功能(见图9-5)。
图9-5 MWBS的功能模块(周蕾,2007年)
(2)组操作功能模块:用户可以创建组、退出组或选择加入组。创建组指用户创建了一个新组、并召集其他成员一起进行讨论,系统根据登录的权限不同,而赋予用户不同的发言权;退出组指用户可以根据自己的情况选择退出讨论组,对于其他用户,其操作是可见的;选择加入组指用户加入到一个已经成立的讨论小组。
(3)协同交互功能模块:电子白板支持多用户图形、图像等的绘制操作、文字说明以及协同编辑功能,最基本的包括插入图片及绘制圆、直线、矩形和自由曲线等简单的几何图形,用于明示重点。用户在系统中进行各种操作时,接收方的白板始终保持着与用户的白板同步,用户在白板上所做的任何行为都会反映到接收方的白板上。
(4)行为控制功能模块:包括冲突检测、发言权控制、并发控制。
9.4.3 系统的总体架构
在采用了“多线程”技术的白板系统中,服务器始终运行着多个服务线程,处理用户的各种请求,存储和转发数据消息。每个正在讨论的小组都被视作一个整体,服务器为每一个讨论组启动一个“组”服务线程,由“组”服务线程负责管理用户、监听用户对某个特定端口的网络连接请求,维护共享数据,并把结果以消息的形式发送给用户,用户根据收到的消息进行具体的响应操作。除了组服务线程,用户端还存在一个与服务器交互的线程,它将用户输入的数据和本身逻辑产生的控制信息传送给服务器,同时接收服务器转发过来的其他用户的数据和控制信息,再根据这些数据和控制信息完成相应的操作。
控制系统方面,服务器和客户端的线程中始终调用主逻辑函数flow(),相当于一个逻辑调度中心,根据终端当前所处的阶段和接收到的数据信息、控制信息,将具体的处理工作再分配给相应的函数。系统的类架构如图9-6所示。
图9-6 系统的类架构
系统中各类的功能介绍如下:
pad MIDlet.java:继承J2ME类库中的MIDlet类,是整个应用程序的入口,能控制程序的启动、暂停和终止。
Clientjava:继承J2ME类库中的Canvas类和Runnable接口,是客户端程序的主类,处理客户端的逻辑。
Server.java:继承J2ME类库中的canvas类和Runnable接口,是服务器的主类,处理服务器端的逻辑。
Sender.java:继承J2ME类库中的Thread类,是一个发送消息的线程,客户端和服务器都含有其对象,通过这些对象调用该类的send(String msg)函数来发送消息。
Receiver.java:继承J2ME类库中的Thread类,是一个接收消息的线程,服务器通过它的对象调用该类的函数来发送消息。
Common.java:一个自定义的公共类,主要用来存放客户端和服务器的公共变量和公共处理函数,消除重复代码。如消息解析函数decodeMsg(String reeeMsg)。
9.4.4 系统的工作流程
(1)用户首先通过用户状态管理Agent注册登录,经验证后启动用户界面,通过菜单选择要连接的讨论小组并生成白板消息,请求与服务器连接,如图9-7所示。
(2)服务器启动主程序与白板系统数据库相连接,任务协同管理Agent模块监听客户端的消息。
(3)用户消息管理Agent监听用户动作,生成白板消息并传给服务器,服务器消息管理Agent接收消息,并转发给其他用户。
(4)客户端消息管理Agent接收到消息后处理并更新用户界面。
图9-7 系统的工作流程图
1.会议召集流程
当一个用户想召集会议时,流程如图9-8所示。
图9-8 电子白板会议召集流程
(1)各用户向电子白板服务器发送注册消息(包括用户级别权限等);
(2)若某用户想召集会议,可以向服务器发送召集请求信息,召集会议的用户即为本次会议的主持者,享有主席控制功能;
(3)服务器接收到用户的召集请求时,向本用户发送所有用户信息列表;
(4)所有准备加入会议的用户打开电子白板系统,建立会议。
2.会议加入流程
当新用户想加入一个已经存在的会议或是已经登录过的用户重新登录此会议时,系统的处理流程如下(见图9-9):
图9-9 电子白板会议加入流程
(1)若某客户想选择一个已经存在的会议加入,首先向服务器发出请求得到会议信息并请求加入该会议。
(2)服务器接收并分析用户发来的注册消息,若是新用户消息,则插入;若己存在过本记录,则更新记录登录时间,并更新用户列表。用户列表信息包括用户级别、登录时间等。
(3)服务器认证请求加入的客户,完成新用户加入。
3.退出会议/结束会议
若用户想退出会议,直接向服务器发送退出请求即可。若客户由于断线等原因不正常退出,则当会议服务器向客户发送信息时,会发现信息不可达,则判断本客户的退出。
结束会议时由服务器向所有客户发送结束会议信息。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。