UML软件工程组织

SpJBuilder 2006新功能赏析

对于Spring的配置,XML是很优秀的方式。但当定义大量bean时,基于XML配置会变得冗长,笨拙。Spring提供了丰富的配置选项。适当地利用其中的选项可以使XML配置清晰,但是,有些选项,例如autowiring(自动绑定),往往会降低易读性和易维护性。文章中所列举的实例,可以帮助你创建出清晰易读的XML配置文件。

近两年来Java IDE的市场异常热闹,面对开源社区Eclipse与日俱增的吸引力,曾经的王者JBuilder感受到从没未有过的压力。Borland沉寂了一年之后,终于推出了JBuilder 2006,其开创性的P2P对等协作功能和决定以Eclipse为基础的重大调整预示着JBuilder正在实现战略性的演化。

对等协作 JBuilder 2006最具特色的新功能 

9月2日发布的Borland JBuilder 2006创造性引入P2P对等协作功能,使开发团队能够跨越地域的限制进行即时交互(chatting, editing, designing, and debugging),实现虚拟化团队编程(Virtual Peer Programming)。

下面我们模拟两个团队成员(Tom和Angel)在局域网内的具体协作过程来说明JBuilder 2006的对等协作新功能。

1) Tom打开JBuilder 2006,通过JBuilder 2006中新的菜单Collaborate菜单设置协作账号的属性: Collaborate->Peer to Peer Properties…->打开Properties对话框,如图 2所示:

这里,Tom仅简单地设置了自己的名字,通过Choose Icon…按键可以选择一个图标。

2) Tom创建一个名为testPro的工程,在工程中通过File->New…->General->Application创建一个Application,其主入口类名为App,主窗体类名为MainFrame。

3) Angel在局域网的另一台机器上启动JBuilder 2006,如1)步一样建立一个名为Angel的协作账号。

4) Tom将工程窗格切换到Peers的标签页上,将发现JBuilder 2006已经自动探测到了Angel,并将Angel列在可选协作人员名单中,如图 3所示:

图 3 建立协作联系

Tom双击Peers标签页中的Angel,JBuilder窗体右侧出现一个Collaboration对等协作窗格。Tomo可以通过这个窗格和Angel进行对话,进行初步联系。

5) Tom单击Collaboration窗格的 图标将testPro.jpx工程共享给Angel,Angel的JBuilder中将马上出现来自Tom共享工程的通知信息,提示Tom正要将testPro的工程共享给她,如图 4所示:

图 4 Angel被告知Tom正要共享工程给她

Angel仅需点击testPro.jpx的链接即可获得Tom的testPro.jpx工程的共享权。当Angel接受了Tom的共享工程后,Tom端的JBuilder自动将testPro.jpx整个工程的文件发送给Angel,并在Angel的JBuilder中展现。此时Angel所看到的内容和Tom是完全一样的,可以称其为Tom JBuilder的"镜像JBuilder",但此时Angel还不能对工程的文件进行任何修改。Angel将工程窗格切换到Project标签页上,可以看到这个文件现在处理Remote Read Only状态,如图 5所示:

图 5 Angel的工程窗格显示共享工程的状态

在JBuilder 2006多人协作的环境中,同时只能有一人拥有编辑工程的权限,在获取工程的编辑权限之前必须得到工程的令牌(Token)。工程的拥有者(我们的例子中是Tom)可以将令牌传送给协作中的任何一个人,也可以从执有者手中取回令牌。

6) Tom在Collaboration窗格中点击 图标,在下拉的菜单中点击Angel,这样,Tom就将工程令牌传给Angel了,如图 6所示:

图 6 Tom将令牌传递给Angel

7) Angel在得到令牌后,就拥有了编辑工程文件的权限。注意:工程窗格工程结构树文件后的标识已经从[Remote Read Only]转变为[Remote]。Angel对工程文件的任何编辑将会即时同步到Tom的JBuilder中。Angel打开App.java文件,将第25~35行置为同步编辑状态,将screenSize变量改变为screenSize1,如图 7所示:

图 7 Angel对App进行编辑

Tom的JBuilder界面即时看到了Angel的这个调整,Angel还通过对聊窗口对Tom说:"我将screenSize变量调整为screenSize1",如图 8所示:

图 8 Tom看到了Angel的更改

8) 对等协作不但可以同享编辑器,还可以共享UI设计器。Angel打开MainFrame.java,并切换Design视图页上打开UI设计器,对MainFrame的界面进行设计。此时Tom的JBuilder也将自动切换到MainFrame的设计窗口中和Angel的JBuilder保持同步。Angel在MainFrame的界面上添加了一个按钮,如图 9所示:

图 9 Angel通过共享设计器设计界面

Tom在自己的JBuilder中马上也看到了这一变化,就好象幕后有一双无形的手在操作在自己JBuilder中设计着MainFrame界面一样。

9) Angel完成了设计工作后,Tom通过Collaboration窗格中如下的操作收回编辑令牌:

 

  
图 10 Tom从Angel手中取回令牌

收回令牌后,Tom即可以对工程进入编辑了。同样的,Tom对工程所做的任何编辑动作将即时同步到Angel的JBuilder窗口中。

10) 在这一步里,Tom要和Angel进行共享调试的协作。Tom在工程窗格在App.java中右击,在弹出的菜单中选择Debug using "App",此时Tom的JBuilder调出调试信息窗格,Tom对程序进行单步调试跟踪,Angel的JBuilder也同时反映出相同的操作。虽然Angel此时不能进行调试的控制(如单步运行、跳过方法、移到下个断点等),但她可以通过Add Watch窗口查看运行期变量信息,如下图所示:


图 11 Angel在共享调试窗口查看运行期变量

11) 在完成一系列对等协作后,Tom可以通过Collaboration窗格的 按钮,收回工程共享的权限。

对等协作除可以在协作成员间共享编辑器,设计器、调试器、并进行对聊的功能外,JBuilder的对等协作还可以传送文件,发送URL连接,发送运行期的堆栈迹,此外令牌的执有者还可以将当前编辑器所处的程序代码的位置通过Send Line Like发送给其他成员,使其他成员编辑器定位到相同的地方,如所示: 


图 12 编辑器位置协作定位

这不啻为是一个细心的功能,因为团队成员位于不同地方,在协作时,当你希望其他成员转向某个程序文件的某行代码时,往往需要花费一番口舌,但有了这项贴心的功能一切变得一蹴而就了。

此外JBuilder还允许对传输进行安全的设置,对传送的信息进行加密和认证,确保协作的安全。

如果JBuilder端点分布于WAN上,JBuilder则使用一种称为Jabber的开源即时信息发送协议,为了和远程的端点协作,你必须在Jabber Server上创建一个帐号,可以通过http://www.jabber.org来了解更多关于Jabber的信息。

JBuilder 2006的其他新特性

JDK 5.0的支持

虽然在JBuilder 2005中已经可以开发基于JDK 5.0的程序,但JBuilder 2005自带的JDK却是JDK 1.4版本的,需要从SUN下载安装并在JBuilder 2005中配置,才可以使用JDK 5.0。但JBuilder 2006自带的JDK就是JDK 5.0,你无需再做任何的事情就可以使用了。

J2EE和EJB的提升

JBuilder 2006支持J2EE 1.4和EJB 2.1,并支持目前市场上最新的J2EE服务器,包括Tomcat 5.5,WebLogic 9.0,Websphere 6.0和JBoss 4.x。

Web开发的提升

JBuilder 2006大力加强了对JSF的支持,包括新增了一个DTO/Fa?ade向导,用于创建JSF的客户端。JSF的流程设计器的功能得到了显著的改善:现在你可以从流程设计器定位到另一个JSP的代码上,可以从一个流程设计器转到另一个流程设计器,此外流程设计器的ErrorInsight的功能得到了优化。

Struts是当前最流行的Web层框架技术,JBuilder 2006所支持的Struts版本提升到了Struts 1.2。

Web services

Apache Axis的web services工具箱更新到了1.2.1版本。好几个Web Services的UI设计界面得到了调整以支持J2EE 1.4。JBuilder 2006现在同时支持1.0和1.1两个版本的Interoperability (WS-I) 的Web Services测试工具。

总结

在历时一年之久之后,Borland部分地完成了对JBuilder 2005的战略升级。其开创性的对等协作功能大大降低了分布式团队的协作成本和难度。对等协作使分布式团队跨越了地理上的限制,将团队的智慧和开发力集中到了一起。那些因为地域的限制正准备打点行囊赶赴会战点的开发成员,有了JBuilder 2006的对等协作的帮助,就可以为省却旅途颠簸之苦而欢呼了,老板也将因为节省了一大笔差旅费而暗自庆幸。

当然,最终完整版的JBuilder 2006还没有推出,以Eclipse为骨架的这个JBuilder混血儿究竟有哪些惊世骇俗的表现?我们还在引颈期待中,但Borland这次令人眼花缭乱的组合重拳,已经依稀让我们看到了JBuilder 2006脱胎换骨后凤凰涅槃的英姿。


版权所有:UML软件工程组织