利用Clear Toolkit连接Flex与Java开发


作者
Jon Rose & Moxie Zhang译者
张龙

Farata Systems于2月24日宣布开源其Clear Toolkit Framework,这是一个使用Adobe Flex与Java开发企业级RIA的框架。InfoQ有幸采访了Farata Systems三个合伙人之一的Yakov Fain一探究竟。

Fain首先解释了创建Clear Toolkit的缘由:

在开发企业项目时,大家都希望减少手工编码的工作量,因此我们想要自动化一些重复性的工作。如果你是个使用数据库的Java程序
员,就会不断编写类似的JDBC代码来处理结果集。我们首先着眼于XSL模板并搭配元数据从而基于SQL
Select语句为后端的Java处理生成了完整的源代码,接下来增加了更多的模板以使用Adobe
Flex来生成前端,这样我们现在只需花几分钟的时间就可以生成Flex/Java
CRUD应用的代码了。与此同时,我们还为Flex应用创建了Ant脚本生成器,友好的日志器及大量增强的Flex组件来降低手工编码的工作量。

在被问到Clear Toolkit的典型使用场景及其能解决的问题时,Fain继续说到:

首先,Clear
Toolkit可用来创建企业级的Flex/Java项目,接下来这些灵活的Flex组件就可以简化对用户修改数据的跟踪、更方便地处理数据表格与表单并
自动对连接的Adobe
AIR应用进行数据同步。我们还拥有优秀的Web报表工具ClearBI,最终用户可以凭借它创建自己的报表而无需其他软件(只需一个带有Flash
Player的Web浏览器即可)。我们将在不久之后发布ClearBI。

根据Fain所述,当前的Clear Toolkit包含如下组件:

  • Clear Data Builder,这是个Eclipse插件,可以根据SQL语句或Java数据传输对象为BlazeDS或LCDS生成CRUD应用。
  • DTO2Fx,该插件会根据Java类型自动生成对应的ActionScript类。
  • Log4Fx是个构建于Flex logging API之上的Eclipse插件,它会自动化日志处理并且更加灵活,也更加友好。
  • Fx2Ant插件会为Flex Builder项目生成优化的Ant构建脚本。
  • clear.swc是个增强的Flex组件库。

他继续说到:

因为大多数的Clear
Toolkit组件都是非常灵活的,因此他们几乎可以用在任何的Flex项目中。如果你只需高级的日志组件,使用Log4Fx就好了。如果你想要增强的数
据验证类和表单处理,只需将clear.swc添加到项目的构建路径中即可。如果你仍在使用SQL,请使用Clear Data
Builder来生成CRUD。你还可以根据Java
DTOs生成整个Flex前端,包括UI层数据变化时与服务器之间的通信机制。对于那些由于各种原因而决定使用Adobe开源的服务端组件BlazeDS
而放弃商业的LiveCycle Data Services bundle的用户来说,Clear
Toolkit能助他们一臂之力。我们认为BlazeDS是个健壮、设计良好的组件,它可以用在要求很高的企业应用中。

关于Clear Toolkit的开源,Fain说到:

在过去的2年中,我们一直在www.myflex.org
免费提供Clear
Toolkit组件。之后我们认识到,尽管公司招纳了优秀的软件工程师,但这还远远不够,凭借一己之力你无法与成百上千的开发者的智慧相抗衡。我们已经付
出了大量努力让Clear
Toolkit成为RIA开发的坚实平台,这样你就无需再花钱了。我们诚邀世界各地的Flex与Java开发者加入进来,为Clear
Toolkit成为首选的开源平台而努力奋斗。

Fain又说:

目前由于这是个开源项目,所以我只能告诉你Farata Systems在2009年的打算:

  • 文档化对AIR/BlaseDS应用的数据同步解决方案。我们已经编写好了示例应用并在即将出版的O’Reilly书Enterprise Development with Flex中进行了说明,但现在需要将这些内容转换为产品文档。
  • 增强Flex UI组件以支持客户端的PDF生成。
  • 文档化Clear组件库生成的类(clear.swc)。
  • 开源Web报表工具ClearBI。

除了Fain在接受InfoQ采访时所说的以外,他还在InsideRIA上给出了主要的框架组件的一个概览。对于那些使用客户端或服务端架构处理过数据同步问题的开发者来说,该框架最吸引人的地方在于它能跟踪客户端上的Flex更新并将其同步到Java服务器上。

如果熟悉LCDS,那么你应该知道Data Managemet Services使用了ChangeObject,这是一个特殊的DTO,用来在服务端与客户端之间传播变化。我们的组件也包含了这类对象,而且它不仅可以用在LCDS上,也能用在BlazeDS上。

DataCollection类会自动跟踪UI上的所有变化并将相应的ChangeObject实例集合发送到服务器端。

当用户准备将改变提交到服务器端时,下面这行会将ChangeObject实例集合发送到服务器端:collection.sync()。

 

Clear Toolkit基于MIT协议,这意味着只要声明Farata Systems是代码的创建者,你就可以在自己的应用中使用我们的代码了。可以从http://sourceforge.net/projects/cleartoolkit/下载Clear Toolkit 3.1最新的构建版和源代码,相关的文档、示例、论坛和bug跟踪也在那儿。

查看英文原文:Clear Toolkit Bridges Flex and Java Development

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: