2012-07-27 144 views
1

我會被創建爲我公司一個相當簡單的Java應用程序,將夜間處理CSV文件。它將在我們現有的Small Business Server 2011框中運行,因此它肯定需要作爲服務運行(因爲無論是否有人登錄到服務器,它都必須運行)。最後,我想添加一個Web組件,以便我可以通過瀏覽器從此應用程序查看日誌文件,而不必手動將它們從服務器上卸下。簡單的Java應用程序......我應該使用Java EE

我在尋找反饋這將是這個項目的最好的辦法。我應該使用Jave SE並在創建的應用程序周圍使用服務包裝器將其變成服務。或者我應該使用Jave EE(我認爲它已經作爲服務運行)?我從來沒有使用或開發Java EE,所以我不確定這是否是最好的方法,或者如果它會過度。如果Jave EE是最好的方法,任何和所有你可以分享如何開始使用它的信息將不勝感激。

感謝, 哈利

回答

2

在短期內,你在找一個Web界面有人上傳,通過它(網絡接口)或者某個進程推(網絡服務)的CSV文件,你再處理?如果是,那麼考慮Java EE:servlet,RESTful Web服務等,正如其他人所提到的那樣。

否則,你只是要處理現有的CSV文件,該文件是「出地方在文件系統」計劃的基礎上?如果是,則考慮timer based Java EE service

生產環境的管理團隊可能對他們更喜歡什麼樣的一些見解。如果他們面向Windows管理方案,他們可能更習慣於使用「本機窗口」方法來部署,啓動,停止,重新啓動,調度等(即服務包裝的Java程序)。另一層「服務管理」只是一個過程,可能是不必要的複雜性。

記錄您的設置/配置/預期不管你做什麼。

長期來看,隨着其他人指出的那樣,你的一個基於Java的Web監控界面願望將需要應用服務器。考慮你的短期/長期優先事項,要滿足的時間表等。當你需要什麼時,你需要什麼?

2

的Java EE是一組API,包括JMS,servlet中,JNDI,JDBC和EJB等。因此,通過使用你幾乎可以要求您使用這些API中的任何一個Java EE,它的價值。

至於你的問題,我可能會開發你的程序爲simple servlet based app並在一個小容器如Jetty下運行它。這樣你就可以擁有一個輕量級的容器(Jetty)和一個相當簡單的程序來編寫管理/監控的簡單前端。請注意,Servlet API構成了Java EE規範的一部分,因此您符合Java EE標準,但方式較爲輕微。

另一種方法是(取決於Web界面的重要性)是將程序作爲獨立程序編寫並使用Java Service Wrapper作爲服務運行。在以後的日期,您可以將embed Jetty加入到您的程序中,然後編寫您的簡單的基於servlet的API在嵌入式Web服務器下運行。我在許多項目中使用了這種方法,並且效果很好。

1

凡是需要企業級的功能應該使用Java EE來完成:

Java EE平臺是建立在Java SE平臺之上。 Java EE平臺爲開發和運行大規模,多層次,可擴展,可靠和安全的網絡應用程序提供了API和運行時環境。

http://docs.oracle.com/javaee/6/firstcup/doc/gkhoy.html

+0

在報價沒有提到的性能,我或許會建議什麼特別高的性能要求看實現這一目標,而不是基本EE容器面向框架。 – 2012-07-27 19:17:00

0

除非你準備好自己實現從Java SE的web服務器,你沒有太多的選擇:你需要一些Web應用程序框架。例如,它可以包含Java EE Web容器或其他實現,例如Play。但是Java SE是不夠的。

-2

您可以使用web服務,例如axis2

0

其他人已經解釋了什麼是JavaEE。

既然你說「簡單」,我想JSP和Servlet可以做的工作。你將需要一個像tomcat這樣的web容器,這就是所有的東西(比使用ejb容器+ web更簡單!)。實際上servlets和JSP可以做的東西也不簡單。

如果你願意使用類似的會議,這有很大的設計比Servlet的會話,那麼你可能要應對EJB和所有。