协作体验:NetBeans协作环境配置与试用

最近对协作很感兴趣,准备先逐个试验一下已经支持“协作”概念的开发工具。
似乎NetBeans支持协作开发比较早,先拿它开刀。

本文的测试环境:
Windows xp
JDK:1.5
NetBeans:6.5(6.7没有发现如何通过XMPP协作)
OpenFire:3.6.4

---

1、下载并安装NetBeans
NetBeans下载地址为:http://www.netbeans.org/downloads/index.html
版本:6.5(最新为6.7,但6.7界面上只发现通过Kenai进行协作,没找到连接OpenFire的地方)

因为不需要使用太多功能,所以我下载的是J2SE版本,
下载后windows版本是一个exe安装程序,按步骤安装即可。

2、安装一个协作服务器(基于XMPP的OpenFire)
NetBeans的开发这协作模块支持XMPP协议实现通信,XMPP协议有很多开源的实现,
而NetBeans官方声明与OpenFire测试通过,于是我们的协作环境也拿OpenFire作为协作服务器。
XMPP(Extensible Messaging and Presence Protocol) :可扩展的消息与存在性协议,是目前主流的IM协议之一。

下载:
官方推荐使用OpenFire XMPP server。
OpenFire的下载地址为:http://www.igniterealtime.org/downloads/index.jsp#shqiperia

安装启动:
我下载的是不包含JRE的版本,下载后是一个zip文件,解压运行bin/openfire.exe,报错找不到配置文件,
后来将openfire的目录移到某个磁盘的根目录下解决问题,估计是我原来解压的目录上有中文造成的。

配置:
openfire启动后,默认9090为管理端口(可以在conf/openfire.xml中修改),配置过程很简单,
第一步:选择语言,选择“Simplified Chinese (zh_CN)”
第二步:配置域和管理端口,(官方提示域中要填写的是主机名而不是IP,我没感觉到有差异)。
第三步:配置数据库。为了简单起见,选择“嵌入数据库”
第四步:特性设置。保持默认“初使设置”
第五步:设置管理员密码。

设置密码并点击下一步后,系统提示设置完毕,点击“登录到管理控制台”,然后用刚才设置的用户名密码登录。
注意:在设置管理员密码的时候,输入的必须是一个电子邮件地址,而登录的时候只使用邮件地址中的用户名部分,
例如,如果输入的是[email protected],密码123456,
那么登录只用jinxfei/123456即可,这个地方让我重试了很多次,后来实在不行查看数据库才发现这一点。

配置聊天房间:
(这是Collab项目官方的步骤之一,但在后来使用过程中没有发现有什么用处)
首先,切换到“插件”页面,确保“Search”插件已经安装启动。
然后,切换到“分组聊天”页面,点击“创建新房间”,输入必要的信息后保存。
最后,重新启动openfire。

3、确保NetBeans包含协作模块
从”工具-->插件“菜单,在“可用插件”中选中“团队开发”一项并安装。
安装完毕后,在NetBeans的主菜单上会出现“协作”菜单。

4、连接OpenFire,创建账号
在NetBeans中,点击“协作-->登录...”,由于是第一次运行,所以界面上只有“添加帐户”,点击启动添加帐户向导。
第一步:选择“我希望在其它协作服务器上注册新的协作帐户”
第二步:填写帐户的显示名
第三步:填写服务器IP和端口,以及代理的配置,OpenFire的默认端口为5222
第四步:填写详细信息 
第五步:填写登录用户名和密码

接下来,你需要让别人也用NetBeans连接到这个服务器并注册,共同体验协作。

5、体验协作
当大家都登录OpenFire后,互相加为好友,
然后在好友名字上点击右键,选择“开始会话”,便进入协作状态。
协作状态下,主要能够实现如下功能:
1、聊天(聊天支持Java语法)
2、共享文件,共同编辑,将需要共享的文件/目录/工程拖动到协作窗口,这样参与协作的人就能共同编辑了。


简单的体验感受如下:
1、总体来讲,功能还比较初级,达不到利用这个功能开展共同开发的要求,但用来做代码Review倒还可以。
2、实时性比较差,看不到别人的编辑动作,对方保存后,延迟一下,然后会在自己界面上突然多出一行。
3、在解决冲突方面,还有待完善,双方同时编辑时,锁定的范围有些大,且会出现输入的字母莫名其妙丢失的情况,比如输入:System,只出现sem。
4、在加入第三个人(多人协作)的时候,系统提示:确认配置之前已锁住该房间,禁止进入。
5、将一个工程共享后,新添加的文件不自动加入共享,而且也无法再拖动到共享窗口(后来又测试了一下,拖动一个文件不行,必须重新拖入整个工程)。
6、没有发现对权限的控制,也就是共享双方都可以编辑文件。
7、操作便利性方面还有待改进,比如,不知道别人正在编辑哪个文件,也没有办法方便的邀请别人共同编辑一个文件(没发现相关上下文菜单)。


6、总结
NetBeans虽然很早就加入了协作的理念,但从使用效果来看,并不尽如人意。
看来实时协作要从一个很酷的概念变成可用的软件特性,还有很长的路要走。

我觉得主要的困难包括:
1、需要专门的协议来做通信支持,提高实时性。
目前基于IM协议有很大的延迟,使得协作体验不太好。

2、因为协作是一种新的工作模式,在界面的用户体验方面,还需要更多优化。
要让见不到面的人通过协作工具感知到别人的存在,这需要很多方面的研究。

3、冲突解决(尤其是多人的时候)应该是一个难题。
一方面要尽量减少锁定的范围,另一方面要尽量减少互相之间的干扰,参与的人越多,难度就会越大。

4、我们还需要更加强大的硬件。
更快的网络、更高的处理速度、更大的屏幕。
只有硬件跟上,才能将音频、视频等媒体手段紧密集成,
才能达到“虽远隔千山,却如处一室”的效果。

总之,还是期待“协作”技术的发展能给我们的工作带来更多便利。

你可能感兴趣的:(职场,Netbeans,休闲,协作)