速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

利用 Clear Toolkit 连接 Flex 与 Java 开发

  • 2009-03-25
  • 本文字数:1950 字

    阅读完需:约 6 分钟

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

2009-03-25 01:592981
用户头像

发布了 88 篇内容, 共 263.0 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

Atlassian应对CVE-2022-22963,CVE-2022-22965的常见问题

龙智—DevSecOps解决方案

Atlassian CVE-2022-22963 CVE-2022-22965

Linux驱动开发-编写W25Q64(Flash)驱动

DS小龙哥

4月月更

java培训:怎样才能写出一个优秀的对外接口

@零度

JAVA开发 对外接口

得物App H5秒开优化实战

得物技术

前端 H5 优化 实战 Web H5

大数据培训关于数据采集面试问题分享

@零度

数据采集 面试问题 大数据开发

[Day14]-[动态规划]四键盘问题

方勇(gopher)

LeetCode 数据结构与算法、

TypeScript基础学习

乌龟哥哥

4月月更

自己动手写Docker系列 -- 5.8实现容器制定环境变量运行

Go Docker 4月月更

Android C++系列:C++最佳实践2抽象类

轻口味

c++ android 4月月更

jupyter notebook换皮肤

Peter

Python 机器学习 数据分析 Jupyter Notebook

面试突击39:synchronized底层是如何实现的?

王磊

Java java面试

通过质量内建,提高交付质量

老张

软件测试 质量内建 交付质量

从Opentracing、OpenCensus 到 OpenTelemetry,看可观测数据标准演进史

阿里巴巴云原生

基于卷积神经网络的猫狗识别

Peter

机器学习 深度学习 tensorflow keras

Docker容器简介、优缺点与安装

乌龟哥哥

4月月更

react源码解析11.生命周期调用顺序

buchila11

React

周日直播|OpenMLDB Pulsar Connector,高效打通实时数据到特征工程

Apache Pulsar

开源 架构 云原生 Apache Pulsar 消息中间件

Jira 云产品宕机多日,业界热议上云如何保障数据安全

万事ONES

Atlassian Jira 研发管理工具 项目管理工具 企业研发管理

如何通过云效Codeup高效落地分支模式,提升开发协作率

阿里云云效

云计算 阿里云 版本管理 分支管理 分支模式

Docker 实战教程之从入门到提高 (四)

汪子熙

Docker 容器 虚拟化 docker image 4月月更

低代码极简部署

源字节1号

低代码开发

seaborn绘制箱型图

Peter

可视化 数据可视化 seaborn

EventBridge 特性介绍|以 IaC 的方式使用 EventBridge

阿里巴巴云原生

半导体行业如何保持高效远程办公?因果集群(Causal Clustering)了解一下!

龙智—DevSecOps解决方案

远程办公 因果集群

react源码解析12.状态更新流程

buchila11

React

web前端培训学习需要掌握哪些 Linux 命令

@零度

前端开发

企业如何进行信息化

秋去冬来春未远

数字化 信息化管理 如何信息化 信息化规律

基于机器学习算法的钢材缺陷检测分类

Peter

Python 决策树 随机森林 集成学习 LightGBM

如何在Unity中免费制作游戏

龙智—DevSecOps解决方案

Unity Perforce Helix Core

云风:不加班、不炫技,把复杂的问题简单化

博文视点Broadview

万字长文:直击关于Docker所必须了解的知识

穿过生命散发芬芳

Docker 4月月更

利用Clear Toolkit连接Flex与Java开发_Java_Jon Rose_InfoQ精选文章