怎么用SpringWebFlow和Terracotta搭建Web應(yīng)用

小編給大家分享一下怎么用Spring Web Flow和Terracotta搭建Web應(yīng)用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)建站作為成都網(wǎng)站建設(shè)公司,專注網(wǎng)站建設(shè)、網(wǎng)站設(shè)計,有關(guān)企業(yè)網(wǎng)站制作方案、改版、費用等問題,行業(yè)涉及成都報廢汽車回收等多個領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。

什么是Spring Web Flow?

Spring Web Flow是Spring Framework中的web應(yīng)用組件,它提供了一種編寫有狀態(tài)和基于會話的web應(yīng)用的簡便手段。Spring Web Flow 使得邏輯流程成為web應(yīng)用中的一等公民,它能讓你定義為自包含模塊,以獨立于應(yīng)用的其它部分來配置和重用。它不依賴于框架從而能夠方便的與可選的web應(yīng)用框架一同使用,比如Spring MVC、Struts或者JSF等。

頁面流轉(zhuǎn)使用一種領(lǐng)域定義語言(DSL)來配置,這個語言專門開發(fā)用來定義和組合頁面流轉(zhuǎn)。目前的實現(xiàn)方式是XML和Java.

Spring Web Flow引入了能滿足多種用戶案例和需求的幾種有狀態(tài)數(shù)據(jù)域:request、flash、flow和conversation,這給你開發(fā)有狀態(tài)web應(yīng)用提供了很大的靈活性和能力。

這里是1.0 release中最有趣特性的快速概要:

  • 在一個地方而不是把邏輯分散在很多地方來定義應(yīng)用任務(wù)的所有控制邏輯,比如一個搜索流程。

  • 把簡單的流轉(zhuǎn)組合在一起來創(chuàng)建富控制模塊。

  • 使用自然和面向?qū)ο蟮木€性編程模型,而不是冗長的的if/else塊來定義嚴(yán)格的用戶導(dǎo)航規(guī)則。

  • 但流轉(zhuǎn)結(jié)束或過期時自動清除你在流轉(zhuǎn)執(zhí)行中分配的內(nèi)存。

  • 在使用你選擇的基礎(chǔ)web框架的Servlet環(huán)境中Deploy一個可執(zhí)行的流轉(zhuǎn)。

  • 改變web框架(比如Struts、Spring MVC、JSF及其它)而不用修改流轉(zhuǎn)定義。

  • 和環(huán)境一起改變而不需要修改你的流轉(zhuǎn)定義, 比如從JUnit測試到Portlet。

  • 開發(fā)時在不重啟容器的情況下不斷完善你的應(yīng)用導(dǎo)航規(guī)則。

  • 自動正確響應(yīng)瀏覽器按鈕(后退、前進、刷新)而不需要定制編程。

  • 在4個受管理域中存儲任務(wù)數(shù)據(jù):request、flash、flow、和、conversation等,每個都有自己的獨特語義。

  • 脫離容器單獨測試流轉(zhuǎn)。能在部署前確保應(yīng)用控制邏輯能正常運作。

  • 使用Spring IDE 2.0進行可視化編輯你的流轉(zhuǎn)導(dǎo)航邏輯圖

 什么是Terracotta for Spring?

Terracotta for Spring是基于Spring應(yīng)用的運行時,它為Spring 應(yīng)用提供了透明的高性能集群支持,對應(yīng)用代碼和部署及配置流程影響都很小。它通過在應(yīng)用下面的堆級別進行集群而不是直接集群應(yīng)用。

這讓開發(fā)者能夠開發(fā)與無狀態(tài)方式不同的單節(jié)點有狀態(tài)Spring應(yīng)用。這使得在需要擴展的應(yīng)用開始設(shè)計時不考慮集群。而在應(yīng)用需要擴展或者要保證搞可用性和故障恢復(fù)時,他們只需要在Terracotta 配置文件中定義哪些Spring應(yīng)用上下文中的beans需要進行集群。Terracotta for Spring 使得應(yīng)用能夠被自動和透明的集群,還保證在集群間的語義和單節(jié)點一樣。

對于Spring Web Flow來說,這實際上更簡單。用戶為了獲得web應(yīng)用的狀態(tài)和持續(xù)倉庫的集群能力, 只需要在Terracotta配置文件中把特定的web應(yīng)用聲明為啟用“session-support”。(詳細(xì)內(nèi)容見下面的章節(jié)“聲明式配置”)

從宏觀上看,Terracotta for Spring提供了:

·         HTTP session狀態(tài)的集群。保證Spring Web Flow中的用戶狀態(tài)和擴展倉庫或放入HTTP session的其它狀態(tài)的高可用性和故障恢復(fù)能力。

·         Spring bean的集群Springbean的生命周期語義和域在集群間被保存,它們在“邏輯”上相同的ApplicationContext中。目前能被集群的bean類型是singletonsession scoped. 用戶可以聲明式配置哪個application contexts中的哪個bean需要被集群。

·         透明集群POJO。 不需要修改已有的代碼,甚至不需要源代碼。應(yīng)用基于很少的聲明式XML 配置文件,在載入期透明的生效。Terracotta for Spring不需要實現(xiàn)Serializable, Externalizable或其它接口的類。能這樣實現(xiàn)的原因它并沒有使用序列化,而只是將實際的差量和已經(jīng)改變了的數(shù)據(jù)傳輸給當(dāng)前需要的節(jié)點 (lazily)。

虛擬內(nèi)存管理。它也提供分布式垃圾收集和虛擬堆功能。比如,由于物理內(nèi)存在需要時被換入換出,它能在一個4G RAM的機器上運行需要200G堆的Web應(yīng)用。 這也意味著你不需要關(guān)心Spring Web Flow 會話數(shù)據(jù)的大小是否超過了物理堆大小。

看完了這篇文章,相信你對“怎么用Spring Web Flow和Terracotta搭建Web應(yīng)用”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)頁名稱:怎么用SpringWebFlow和Terracotta搭建Web應(yīng)用
標(biāo)題URL:http://bm7419.com/article16/pscegg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、品牌網(wǎng)站制作定制開發(fā)、外貿(mào)網(wǎng)站建設(shè)、商城網(wǎng)站、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營