InfoQ

新闻

用于Flex和Java快速开发的Flamingo项目

作者 Jon Rose译者 宋玮 发布于 2008年6月4日 上午2时8分

社区
Java
主题
RIA,
Web 2.0,
富客户端/桌面
标签
Adobe,
Adobe集成运行时/AIR,
Flex,
JBoss Seam,
Flash,
Spring框架
Exadel的Flamingo项目是一个快速启动后台使用Java构建的RIA应用的工具。在中间层,该工具对Seam和Spring都提供了支持。在 展现层,Flamingo既支持Flex也支持JavaFX。该工具启动应用程序开发的方式与AppFuse项目类似,后者可用于更传统的Java Web层框架。InfoQ与Exadel的Igor Polevoy和Fima Katz进行了交谈以了解更多关于Flamingo的信息。

Igor和Fima以分享Flamingo的特性细节作为开场白:
现在的特性可以被划分为三个逻辑分组:
  1. 工具
    Flamingo提供了快速启动简单功能项目的能力。把一个项目组装在一起是一个费时费力的过程,这不是什么秘密了。此外,在Java界有许多不同的方法 来开发项目。我们意识到了这个问题并创造出了Flamingo工具作为解决方案。使用Flamingo工具,你不但可以快速地创建一个新项目,还能在开发 周期过程中随时产生应用的各个部分。
  2. 集成类库
    它就像是客户端和服务器代码间的粘合剂。我们只使用二进制协议,因为它们更加有效。所有配置(不管有多小)在项目创建时就已经配好了。因此,开发者只需将注意力集中在手头的业务问题上。
  3. 客户端组件
    Fiamingo有一些非可视化组件,它们通过提供校验、将多个请求捆绑到一个请求中等等来简化开发过程。Flamingo中比较有意思的特性之一是动态 持久化方法。这些方法可以使开发者以直观的、类英语的方式来查询数据库,而不是使用SQL(实际上SQL是由Flamingo在运行时创建出来的)。这一 特性本身就可以极大地推进开发效率。
Igor和Fima继续论述了它是如何工作的:
我们用Maven来组织和创建项目。我们的Maven启动向导会询问关于项目不同方面的几个问题,比 如,服务器端技术(Seam/Spring)、客户端技术(Flex/JavaFX)、数据库类型、位置、证书、以及基于前面选项的一些其他问题。接着, 一个Maven项目就被创建了。这一项目包含了一个小项目必须的所有组件,如单元测试、持久化单元、以及工作屏(working screen)。这里使用的是标准Maven命令。这样,在几分钟之内,一个新的全配置项目诞生了。
InfoQ询问了在结合RIA技术时Spring和Seam的对比:
Spring/Hibernate和Seam/JPA组合都是使用Flamingo和 Flex/JavaFX实现RIA应用的可行解决方案。选择哪一种后台技术通常取决于给定组织的文化及基础架构以及开发团队的偏好,而不取决于某些特定特 性。通常,Seam和Spring是难于比较的,即使它们在某些方面是相互重叠的。它们被设计用于不同的目标。Flamingo试图保持中立。无论选择了 哪种后台技术,Flamingo都尽力给于同等的支持。我要说的是如果一个组织在选择Java企业平台的时候考虑的是丰富的支持,他们有选择Seam的自 由。否则,Spring/Hibernate组合应当被考虑在内。
Igor和Fima评述了谁应该考虑使用Flamingo:
目标客户是企业及企业级应用开发者。我们看到了RIA技术在企业级得到了广泛采用——比如不同风格的 AJAX。通常,AJAX技术与基于Java的后台系统能够很好的集成。我们开发了一个这样的企业解决方案——RichFaces,它结合了JSF (JavaServer Faces)和AJAX。可是,虽然没有探究AJAX的利弊,我们还是明确地看到了企业开发组织中对另一套解决方案如Flex的巨大需求。 Flamingo使得企业中从事Java工作的人们可以很容易地使用Flex和Java创建一个新的应用。
而且,在开源方面:
我们已经从事开源事业很长时间了,已经看到了这一社区及这一方法的巨大力量。
InfoQ询问了关于Flamingo如何支持敏捷开发的更多细节:
  1. 集成
    这是今天我们所拥有的。它提供了使用Flex或JavaFX与Seam或Spring相结合的无缝开发过程,消除了不使用Flamingo时所需的所有手工编码。其结果是,开发过程更加容易、快捷及廉价。
  2. 敏捷RIA平台包括一套高级工具
    为了迎接“敏捷”或“快速”开发的挑战,像Ruby on Rails和Grails这样的技术解决方案出现了。尽管这些都是非常好的框架,但是它们对于RIA应用开发并不擅长。而这正是能产生项目及简单工作屏 (screen)的Flamingo代码向导的长项。Flamingo的下一版将公布更加强大的工具。同样,所有由Flamingo产生的服务器和客户端 组件立马就可使用,减少了项目启动时间。Flamingo第三个敏捷方面的内容是其客户端组件,这些组件有可以用客户端上极其简单的编码模式来创建访问数 据库的运行时请求。这一能力本身节约了大量时间,如果你将Flamingo的所有这些方面结合在一起,它绝对会为组织提供一个称心如意的敏捷开发平台。
  3. 随取随用RIA开发平台
    这包括提供一套预构建的组件(可视的和非可视的),以及一套预构建的应用程序组件(比方说,用于数据访问/导航的dVersion)。
访问Flamingo项目主页可以获得更多关于Flamingo的信息。

查看英文原文:Exadel’s Flamingo Project for Rapid Flex and Java Development

2 条回复

回复

听起来感觉不错 发表人 wang Alex 发表于 2008年6月12日 下午8时22分
Re: 听起来感觉不错 发表人 帅 曾 发表于 2008年7月8日 下午10时44分
  1. 返回顶部

    听起来感觉不错

    2008年6月12日 下午8时22分 发表人 wang Alex

    听起来感觉不错,有机会试一下效果如何

  2. 返回顶部

    Re: 听起来感觉不错

    2008年7月8日 下午10时44分 发表人 帅 曾

    我试用了一下 开源的 这个文档讲得最多的就是和Seam的集成 可我喜欢用Spring,还有对Spring 的支持不够全面 性能还好 比CLDS强 至少实际应用不用偶花钱了

独家内容

世界顶尖运动队教练的成功秘诀

本文列出了来自于顶级教练Marc Lammers的9条原则,他是在打造世界最佳曲棍球队的过程中发现这些原则的,文章把这些原则映射到了软件开发实践之中。

探索JVM上的LISP

本文由Per Jacobsson所作,目标读者为有意了解Lisp的Java开发人员。文章探讨了当前可以运行于JVM上的不同Lisp方言,以明快简洁的方式介绍了Lisp程序设计工作机理和其独特之处,并在最后演示了Lisp代码同Java系统的整合过程。

Ruby/Rails: 不一样的'Web'应用

本文以一个实际应用的例子为引子,探讨Ruby/Rails在非传统web系统中应用,以及研究如何定制以Rails为基础的领域特定的MVC框架。

认识云计算

本视频对云计算进行了简要的介绍,主要包括了五部分内容:首先带大家认识“云”,然后对计算机的发展过程进行了阐述,接着介绍了业界现状和企业级/世界级计算的新布局,最后对云计算做了一下展望。

AtomServer:数据分发的发布动力

在这篇文章中,Bryon Jacob和Chris Berry介绍了AtomServer,一个基于Apache Abdera的完整Atom存储实现。在去年,作者一直致力于为其雇主——Homeaway——实现一个Atom存储,现在已开源了其Atom存储框架:AtomServer。

从卓越工程角度看微软中国开发团队的成长

开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。

利用Ruby简化你的Java测试

本文是Productive Java with Ruby系列文章的第一篇,我将从单元测试这个话题开始,让Java的开发人员能够在实际工作中利用Ruby提高工作效率。

与赵进聊SaaS

InfoQ中文站有幸与阿里软件的首席架构师赵进在一起探讨了SaaS的相关话题,包括SOA和ASP与SaaS的异同、云计算、SaaS的前景、它的关键技术、技术瓶颈等等。