2010-01-14 29 views
4

我是Java新手(但有一定的.NET經驗)。Java RAD組件/體系結構 - 對於.NET開發人員的建議?

我需要快速啓動並運行Java應用程序,所以我在這裏尋找的是對組件的建議,這些組件可以簡化或減少常見任務的痛苦,其回報將是立即的,或者至少會帶來最小的花時間學習如何使用組件。我沒有幾周的時間來掌握複雜或廣泛的框架 - 我正在尋找易於使用的插件,並刪除了使用原始API的一些術語。但是,如果原始API爲任何這些任務的最佳選擇,這很好,讓我知道...

數據層 我想寫的MySQL,MSSQL,Postgres的但在其他方面的數據訪問特定的供應商是非常簡單的東西。我可能需要交易。你有什麼建議?是否說Spring Data Access提供了一些值得擁有JDBC的東西?還有什麼我需要考慮的?我的猜測是類似於Hibernate將會過度殺傷並花費太長時間來啓動和運行 - 你認爲如何?

中間層 鬆耦合,基於接口的業務層。我需要能夠通過網絡應用程序和桌面應用程序與中間層進行交互 - 揭示此問題的最佳方式是什麼?網絡服務?

桌面應用程序 我知道關於Swing - 有沒有其他簡單的桌面UI組件?我將需要某種調度組件來運行後臺任務。

Web App 我需要某種緩存,我需要用戶會話,我需要動態頁面。從我可以告訴的是,JSP是Java的PHP或其他服務器端腳本語言(並且不支持狀態)。除非有一個非常直接的框架來處理MVC框架,否則MVC框架可能會過度殺傷。我聽說有一個與ASP.NET Web窗體相當的Java - 它有什麼好處?也許JSP在這裏就足夠了?

我在尋找切實可行的意見/您的組件的經驗,而不是網頁鏈接:)

感謝您的任何建議名單..

回答

2

我想看看Grails爲模型/控制器/視圖機制和Web前端。它可以讓你快速啓動並運行ORM,模型,動態頁面等(這是一個RoR - Ruby-on-Rails模型)。

從那裏,我會看看使用Java RMI與桌面前端進行通信。 RMI是Java的標準,非常適合Java到Java的通信需求。除非你有多語言/平臺的要求,否則我不會看Web服務。 RMI設置起來非常簡單,只需很少的配置。

您的啓用RMI的服務層將不得不攔截Grails提供的模型,但這應該是微不足道的。爲了減少可能的客戶端/服務器不匹配(由接口變化引起),您可以通過(比如說)Java Web Start(您將擁有一個Grails的Web服務器端)提供Java桌面,它可以來自相同的代碼庫服務器正在運行。在更新後端時保持最新的部署。

+0

謝謝布萊恩,一些很好的建議,就是我在找的東西。對於Web前端,Grails還有哪些其他替代方案? – MalcomTucker 2010-01-14 21:56:21

+0

那麼,這裏的其他答案建議視圖/控制器機制(例如Struts)的解決方案。然而,我建議Grails,因爲它通過一個簡單和集成的方式通過ORM完成了完整的MVC。如果你選擇其他的東西,那麼你將不得不混合和匹配各種不同的工具(這將工作,我不反對這一點,但它更努力) – 2010-01-14 21:58:51

2

AppFuse是一個工具,可以啓動和預配置各種java項目,使用最佳實踐。生成的代碼也可以用於通過示例進行學習。

AppFuse是一個開源項目和應用程序,它使用基於Java平臺的開源工具來幫助您快速高效地開發Web應用程序。它最初是爲消除爲客戶構建新的Web應用程序時發現的上升時間而開發的。 AppFuse的核心是一個項目框架,類似於當你點擊一個嚮導來創建一個新的Web項目時由IDE創建的項目框架。

  • 對於數據層:JPA(休眠,或其他JPA提供商)
  • 對於中間層:春天 - 這是非常強大的,並提供諸如事務支持,schedulling很多東西,等等。它可以很容易地與Apache CXF一起使用來公開Web服務。
  • 對於的Web應用程序 - JSF,Spring MVC的,Struts的
  • 對於桌面應用 - Swing是完全確定。它有能力處理後臺任務。 SwingX - 一些很好的組件。

AppFuse支持以上所有。

2

我會限制我對webapp部分的回答,因爲我想回答其他部分的內容已經被其他人回答了。

從我可以告訴JSP是一個Java相當於PHP

並非完全如此。 JSP可以做更多的事情。更甚者,(ab)使用JSP的PHP方式(內聯Java代碼爲scriptlets)被認爲是不好的做法。 JSP應該用作模板,您可以在其中使用標籤庫動態地控制頁面流,如JSTL,並使用Expression Language訪問後端數據。

我聽說有一種相當於Java中的ASP.NET網頁的形成

這就是所謂的JavaServer Faces (JSF)。然而,有競爭,例如Apache StrutsSpring MVC

- 它有什麼好處?也許JSP在這裏就足夠了?

JSF(其它任何像樣的MVC框架)抽象所有你需要在一個正常的MVC應用程序,使你最終只是一個XHTML(或JSP)文件和JavaBean類考慮用走的東西。這樣您就不需要控制請求(自定義Servlet等),處理請求參數(請求。getParameter()等),基本的驗證/轉換(requireness,字符串/數字/日期輸入類型轉換),更新模型值(在javabeans中設置處理/轉換/驗證參數)等.MVC框架將關心所有那些無聊的工作透明。

如果你需要開發每頁只有幾頁,JSP就足夠了。但是如果你想開發更多的頁面或者web應用程序,那麼你希望已經有一個框架,這樣你就不需要重複一遍又一遍的平常工作。

相關問題