2014-01-10 83 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或类似的东西并玩一玩。

希望这会有所帮助。