2014-01-10 46 views
1

我很困惑在開發Web應用程序時使用什麼。如果您可以使用Java se restlet開發Web服務,那麼您爲什麼要麻煩使用Java EE。這個比另一個有什麼優勢?何時和爲什麼我應該使用每個?Java SE RESTful VS java EE

+1

這很大程度上取決於您的應用程序的性質,您尚未解釋。 – 9000

+0

截至目前我沒有申請。你能給我雙方的場景嗎? – Someone

+0

沒有任何一方;它的所有Java。 – Gimby

回答

2

使用像Restlet這樣的東西並不需要排除JavaEE(您可以在JavaEE平臺中使用RestLet)。

傳統上,JavaEE容器爲應用程序提供標準化服務。如果你想有辦法以事務方式存儲你的數據,你會編寫一些EJB,因爲你不必提出事務模型。容器提供了。您只關注特定於您的域的實體和會話bean。 Spring提出並在其自己的實現中提供了許多相同的功能(共享某些規範並提供自己的功能)。但是在一天結束的時候,你正在使用一種通用的模型來做事。 Java EE(或Spring)不限於事務模型。 JavaEE整合了Servlet,它支持大量的Web應用程序框架。但是,再次,像tomcat這樣的許多應用程序都支持servlet,而不支持JavaEE的全部規範。如果您的應用程序需要異步消息傳遞,JavaEE容器可以提供JMS服務器,以及定義JDBC DataSources的標準方法。

如果你想擁有很多企業級功能,而不必自己設置它們,你通常會使用Glassfish/JBoss這樣的JavaEE容器。你可以在Spring/etc中完成所有相同的事情,這只是一個JVM,但你自己也設置了所有這些服務(例如從你自己的JMS服務器開始)。

從歷史上看,JavaEE容器被認爲是大型資源密集型應用程序,它驅使世界上許多泉城將您想要或需要的東西拼合在一起。儘管JavaEE容器的更現代版本正在開始逆轉這一趨勢。

你真的需要知道你的應用程序想要做什麼,並看看那裏有什麼工具會爲你提供你想要的。除此之外,只需抓住Glassfish或類似的東西並玩一玩。

希望這會有所幫助。