JavaFX RIA企業應用簡要
JavaFX結合Hessian可以訪問伺服器端Web應用,JavaFX等RIA和Struts等是同一個層面的,都屬於表現層,架構應該是這樣:JavaFX + Hessian + Servlet + Spring/Seam/Jdon。
Hessian主要是一個Proxy開源專案,可以讓遠端富客戶端RIA可以象呼叫本地Java程式碼一樣呼叫,類似RMI,不過是基於Http的RMI。
這裡關鍵是要自己做一個Servlet,也就是Hessian通訊的伺服器端,Servlet是一個業務層服務的代理,Flamingo開源專案已經提供Seam/Spring的現成Servlet(http://exadel.com/web/portal/flamingo),而Jdon框架的Servlet需要參考Flamingo做一個,我會擴充到下一個版本釋出。
首先看看步驟:
一. 客戶端程式碼分兩個,一個JavaFX 相當於MVC模式中的View,與B/S架構中的html類似;一個是Java客戶端程式碼,相當於MVC的Controller,主要用來和伺服器通訊呼叫(透過Hessian)。
下面是Java客戶端控制器程式碼:
下面是JavaFX程式碼:
二. 伺服器端主要是配置Servlet,在Web.xml中配置如下Servlet:
<servlet>
<servlet-name>Exadel Flamingo Hessian2Spring Remote Servlet</servlet-name>
<servlet-class>com.exadel.flamingo.service.spring.HessianToSpringServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Exadel Flamingo Hessian2Spring Remote Servlet</servlet-name>
<url-pattern>/flamingo/hessian/*</url-pattern>
</servlet-mapping>
以上Servlet是針對Spring框架的,Flamingo 也有Seam框架,當然,Flamingo不會提供Jdon框架的Servlet,不過參考Spring的Servlet實現起來應該很方便,我會加入Jdon框架下一個版本。
這樣,使用JavaFX我們就可以方便實現一個富客戶端的新型多層C/S架構應用,JavaFX當然不會替代AJAX,但是擁有一些自己的獨特特點,對於一些領域應用還是有市場的,加上簡潔的類似JavaScrpt的表達方式,無縫和java結合,真的是Swing或Applet的替代物。
Hessian主要是一個Proxy開源專案,可以讓遠端富客戶端RIA可以象呼叫本地Java程式碼一樣呼叫,類似RMI,不過是基於Http的RMI。
這裡關鍵是要自己做一個Servlet,也就是Hessian通訊的伺服器端,Servlet是一個業務層服務的代理,Flamingo開源專案已經提供Seam/Spring的現成Servlet(http://exadel.com/web/portal/flamingo),而Jdon框架的Servlet需要參考Flamingo做一個,我會擴充到下一個版本釋出。
首先看看步驟:
一. 客戶端程式碼分兩個,一個JavaFX 相當於MVC模式中的View,與B/S架構中的html類似;一個是Java客戶端程式碼,相當於MVC的Controller,主要用來和伺服器通訊呼叫(透過Hessian)。
下面是Java客戶端控制器程式碼:
public class HelloworldClient { public static HelloworldClient CLIENT; private String _url; private HelloworldClient(String string) { _url = string; } private HelloService _service; public static void setServerUrl(String url) { CLIENT = new HelloworldClient(url); } private HelloService getService() { if (_service == null) { try { //透過Hessian呼叫伺服器端服務 HessianProxyFactory factory = new HessianProxyFactory(); _service = (HelloService) factory.create(HelloService.class, _url); } catch (MalformedURLException ex) { System.out.println(ex); } } return _service; } //供JavaFX呼叫 public String hello(String s) { return getService().hello(s); } } <p class="indent"> |
下面是JavaFX程式碼:
class Hello { attribute name:String; attribute str:String; } var helloModel = new Hello(); HelloworldClient.setServerUrl(ARGUMENTS:String); Frame { width: 300 height: 200 title: "Exadel Flamingo Helloworld Spring Sample" centerOnScreen: true onClose: operation(){ System.exit(0);} content: GridPanel { border: EmptyBorder { top: 30 left: 30 bottom: 30 right: 30 } rows: 3 columns: 1 vgap: 10 cells: [TextField { value: bind helloModel.name }, Button { text: "Say Hello!" action: operation() { //呼叫Controller控制器HelloworldClient的hello方法 //將返回結果賦值給JavaFX的資料物件helloModel helloModel.str = HelloworldClient.CLIENT.hello(helloModel.name); } }, Label { text: bind "Server says: {helloModel.str}" }] } visible: true }; <p class="indent"> |
二. 伺服器端主要是配置Servlet,在Web.xml中配置如下Servlet:
<servlet>
<servlet-name>Exadel Flamingo Hessian2Spring Remote Servlet</servlet-name>
<servlet-class>com.exadel.flamingo.service.spring.HessianToSpringServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Exadel Flamingo Hessian2Spring Remote Servlet</servlet-name>
<url-pattern>/flamingo/hessian/*</url-pattern>
</servlet-mapping>
以上Servlet是針對Spring框架的,Flamingo 也有Seam框架,當然,Flamingo不會提供Jdon框架的Servlet,不過參考Spring的Servlet實現起來應該很方便,我會加入Jdon框架下一個版本。
這樣,使用JavaFX我們就可以方便實現一個富客戶端的新型多層C/S架構應用,JavaFX當然不會替代AJAX,但是擁有一些自己的獨特特點,對於一些領域應用還是有市場的,加上簡潔的類似JavaScrpt的表達方式,無縫和java結合,真的是Swing或Applet的替代物。
[該貼被banq於2009-06-29 10:02修改過]
[該貼被banq於2009-06-29 10:02修改過]
相關文章
- 企業應用程式為什麼要定製開發
- JavaFX桌面應用-版本升級Java
- 用JavaFX構建部署Android應用JavaAndroid
- 大資料時代企業要如何應對大資料
- SOA與企業應用
- JavaFX: IntelliJ 開發 Window 應用JavaIntelliJ
- JavaFX桌面應用-構建程式框架Java框架
- 關乎企業成敗:軟體應用系統選擇要慎重
- Websphere安裝、企業部署應用 【應用案例】Web
- nginx服務企業應用Nginx
- 企業WIFI安全應用方案WiFi
- 企業IT應用的風險管理
- 企業應用整合之BizTalk
- 理解企業應用框架 (轉)框架
- 利用JavaFX功能豐富Swing應用程式Java
- 企業應用平臺架構架構
- 軟體中國_企業級應用
- SOA助企業啟用傳統應用
- 《企業級ios應用開發實戰》一第1章企業應用的話題iOS
- 有了這個平臺,企業開發應用更簡單了!
- JavaFX基礎:1: 簡介Java
- Java的Swing應用中使用JavaFX的功能Java
- 企業雲盤適用哪些應用場景
- 企業IT可以真正應用AI的地方AI
- 明確MangoDB在企業中應用Go
- 蘋果在企業中的應用提升蘋果
- LAMMP架構的企業級應用架構
- 企業只有兩個應用系統
- 企業應用架構研究系列三:應用系統整合應用架構
- tk礦粉壓球機裝置應用企業要密切關注以下幾個方面
- 簡訊動態密碼與KEY是在企業安全中的應用密碼
- 健身服務企業Peloton上市IPO招股書及簡要資料
- 企業資料為何要選擇企業雲盤
- 企業商業智慧應用投資需求逐步增強
- JavaFX 整合 Sqlite 和 Hibernate 開發爬蟲應用JavaSQLite爬蟲
- 傢俱製造企業管理軟體應用要重視整體而非區域性(轉)
- 兩種Oracle應用程式開發介面之簡要分析Oracle
- CRM系統在電商企業的應用