新聞中心
在學(xué)習(xí)Flex的過(guò)程中你可能會(huì)遇到使用Flex和Java快速開(kāi)發(fā)的Flamingo項(xiàng)目的問(wèn)題,這里和大家分享一下開(kāi)發(fā)方法,在中間層,該工具對(duì)Seam和Spring都提供了支持。在展現(xiàn)層,F(xiàn)lamingo既支持Flex也支持JavaFX。

創(chuàng)新互聯(lián)公司長(zhǎng)期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為加查企業(yè)提供專(zhuān)業(yè)的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè),加查網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
Flex和Java快速開(kāi)發(fā)的Flamingo項(xiàng)目
Exadel的Flamingo項(xiàng)目是一個(gè)快速啟動(dòng)后臺(tái)使用Java構(gòu)建的RIA應(yīng)用的工具。在中間層,該工具對(duì)Seam和Spring都提供了支持。在展現(xiàn)層,F(xiàn)lamingo既支持Flex也支持JavaFX。該工具啟動(dòng)應(yīng)用程序開(kāi)發(fā)的方式與AppFuse項(xiàng)目類(lèi)似,后者可用于更傳統(tǒng)的JavaWeb層框架。InfoQ與Exadel的IgorPolevoy和FimaKatz進(jìn)行了交談以了解更多關(guān)于Flamingo的信息。
Igor和Fima以分享Flamingo的特性細(xì)節(jié)作為開(kāi)場(chǎng)白?,F(xiàn)在的特性可以被劃分為三個(gè)邏輯分組:
工具
Flamingo提供了快速啟動(dòng)簡(jiǎn)單功能項(xiàng)目的能力。把一個(gè)項(xiàng)目組裝在一起是一個(gè)費(fèi)時(shí)費(fèi)力的過(guò)程,這不是什么秘密了。此外,在Java界有許多不同的方法來(lái)開(kāi)發(fā)項(xiàng)目。我們意識(shí)到了這個(gè)問(wèn)題并創(chuàng)造出了Flamingo工具作為解決方案。使用Flamingo工具,你不但可以快速地創(chuàng)建一個(gè)新項(xiàng)目,還能在開(kāi)發(fā)周期過(guò)程中隨時(shí)產(chǎn)生應(yīng)用的各個(gè)部分。
集成類(lèi)庫(kù)
它就像是客戶端和服務(wù)器代碼間的粘合劑。我們只使用二進(jìn)制協(xié)議,因?yàn)樗鼈兏佑行АK信渲茫ú还苡卸嘈。┰陧?xiàng)目創(chuàng)建時(shí)就已經(jīng)配好了。因此,開(kāi)發(fā)者只需將注意力集中在手頭的業(yè)務(wù)問(wèn)題上。
客戶端組件
Fiamingo有一些非可視化組件,它們通過(guò)提供校驗(yàn)、將多個(gè)請(qǐng)求捆綁到一個(gè)請(qǐng)求中等等來(lái)簡(jiǎn)化開(kāi)發(fā)過(guò)程。Flamingo中比較有意思的特性之一是動(dòng)態(tài)持久化方法。這些方法可以使開(kāi)發(fā)者以直觀的、類(lèi)英語(yǔ)的方式來(lái)查詢(xún)數(shù)據(jù)庫(kù),而不是使用SQL(實(shí)際上SQL是由Flamingo在運(yùn)行時(shí)創(chuàng)建出來(lái)的)。這一特性本身就可以極大地推進(jìn)開(kāi)發(fā)效率。
◆Igor和Fima繼續(xù)論述了它是如何工作的:
我們用Maven來(lái)組織和創(chuàng)建項(xiàng)目。我們的Maven啟動(dòng)向?qū)?huì)詢(xún)問(wèn)關(guān)于項(xiàng)目不同方面的幾個(gè)問(wèn)題,比如,服務(wù)器端技術(shù)(Seam/Spring)、客戶端技術(shù)(Flex/JavaFX)、數(shù)據(jù)庫(kù)類(lèi)型、位置、證書(shū)、以及基于前面選項(xiàng)的一些其他問(wèn)題。接著,一個(gè)Maven項(xiàng)目就被創(chuàng)建了。這一項(xiàng)目包含了一個(gè)小項(xiàng)目必須的所有組件,如單元測(cè)試、持久化單元、以及工作屏(workingscreen)。這里使用的是標(biāo)準(zhǔn)Maven命令。這樣,在幾分鐘之內(nèi),一個(gè)新的全配置項(xiàng)目誕生了。
◆InfoQ詢(xún)問(wèn)了在結(jié)合RIA技術(shù)時(shí)Spring和Seam的對(duì)比:
Spring/Hibernate和Seam/JPA組合都是使用Flamingo和Flex/JavaFX實(shí)現(xiàn)RIA應(yīng)用的可行解決方案。選擇哪一種后臺(tái)技術(shù)通常取決于給定組織的文化及基礎(chǔ)架構(gòu)以及開(kāi)發(fā)團(tuán)隊(duì)的偏好,而不取決于某些特定特性。通常,Seam和Spring是難于比較的,即使它們?cè)谀承┓矫媸窍嗷ブ丿B的。它們被設(shè)計(jì)用于不同的目標(biāo)。Flamingo試圖保持中立。無(wú)論選擇了哪種后臺(tái)技術(shù),F(xiàn)lamingo都盡力給于同等的支持。我要說(shuō)的是如果一個(gè)組織在選擇Java企業(yè)平臺(tái)的時(shí)候考慮的是豐富的支持,他們有選擇Seam的自由。否則,Spring/Hibernate組合應(yīng)當(dāng)被考慮在內(nèi)。
◆Igor和Fima評(píng)述了誰(shuí)應(yīng)該考慮使用Flamingo:
目標(biāo)客戶是企業(yè)及企業(yè)級(jí)應(yīng)用開(kāi)發(fā)者。我們看到了RIA技術(shù)在企業(yè)級(jí)得到了廣泛采用——比如不同風(fēng)格的AJAX。通常,AJAX技術(shù)與基于Java的后臺(tái)系統(tǒng)能夠很好的集成。我們開(kāi)發(fā)了一個(gè)這樣的企業(yè)解決方案——RichFaces,它結(jié)合了JSF(JavaServerFaces)和AJAX??墒牵m然沒(méi)有探究AJAX的利弊,我們還是明確地看到了企業(yè)開(kāi)發(fā)組織中對(duì)另一套解決方案如Flex的巨大需求。Flamingo使得企業(yè)中從事Java工作的人們可以很容易地使用Flex和Java創(chuàng)建一個(gè)新的應(yīng)用。
而且,在開(kāi)源方面:
我們已經(jīng)從事開(kāi)源事業(yè)很長(zhǎng)時(shí)間了,已經(jīng)看到了這一社區(qū)及這一方法的巨大力量。
InfoQ詢(xún)問(wèn)了關(guān)于Flamingo如何支持敏捷開(kāi)發(fā)的更多細(xì)節(jié):
集成
這是今天我們所擁有的。它提供了使用Flex或JavaFX與Seam或Spring相結(jié)合的無(wú)縫開(kāi)發(fā)過(guò)程,消除了不使用Flamingo時(shí)所需的所有手工編碼。其結(jié)果是,開(kāi)發(fā)過(guò)程更加容易、快捷及廉價(jià)。
敏捷RIA平臺(tái)包括一套高級(jí)工具
為了迎接“敏捷”或“快速”開(kāi)發(fā)的挑戰(zhàn),像RubyonRails和Grails這樣的技術(shù)解決方案出現(xiàn)了。盡管這些都是非常好的框架,但是它們對(duì)于RIA應(yīng)用開(kāi)發(fā)并不擅長(zhǎng)。而這正是能產(chǎn)生項(xiàng)目及簡(jiǎn)單工作屏(screen)的Flamingo代碼向?qū)У拈L(zhǎng)項(xiàng)。Flamingo的下一版將公布更加強(qiáng)大的工具。同樣,所有由Flamingo產(chǎn)生的服務(wù)器和客戶端組件立馬就可使用,減少了項(xiàng)目啟動(dòng)時(shí)間。Flamingo第三個(gè)敏捷方面的內(nèi)容是其客戶端組件,這些組件有可以用客戶端上極其簡(jiǎn)單的編碼模式來(lái)創(chuàng)建訪問(wèn)數(shù)據(jù)庫(kù)的運(yùn)行時(shí)請(qǐng)求。這一能力本身節(jié)約了大量時(shí)間,如果你將Flamingo的所有這些方面結(jié)合在一起,它絕對(duì)會(huì)為組織提供一個(gè)稱(chēng)心如意的敏捷開(kāi)發(fā)平臺(tái)。
隨取隨用RIA開(kāi)發(fā)平臺(tái)
這包括提供一套預(yù)構(gòu)建的組件(可視的和非可視的),以及一套預(yù)構(gòu)建的應(yīng)用程序組件(比方說(shuō),用于數(shù)據(jù)訪問(wèn)/導(dǎo)航的dVersion)。
【編輯推薦】
- 探秘Flex與JavaScript交互
- 常用FlexBuilder快捷鍵用法指導(dǎo)
- Flex框架Riawave的定制應(yīng)用
- 技術(shù)前沿 Flex2.0 從零開(kāi)始實(shí)現(xiàn)文件上傳
- FlexBuilder開(kāi)發(fā)方法及特點(diǎn)解析
分享標(biāo)題:技術(shù)分享Flex和Java如何快速開(kāi)發(fā)的Flamingo項(xiàng)目
網(wǎng)址分享:http://m.fisionsoft.com.cn/article/cdsjeed.html


咨詢(xún)
建站咨詢(xún)
