Windows Server上的简单Java应用程序......我应该使用Java EE吗?

时间:2012-07-27 19:11:13

标签: java java-ee windows-server

我将为我的公司创建一个相当简单的Java应用程序,它将每晚处理一个csv文件。它将在我们现有的Small Business Server 2011盒子上运行,因此它肯定需要作为服务运行(因为无论是否有人登录到服务器都必须运行)。最后我想添加一个Web组件,这样我就可以通过浏览器从这个应用程序中查看日志文件,而不必手动将它们从服务器上取下来。

我正在寻找有关这个项目最佳方法的反馈。我应该使用Jave SE并在创建的应用程序周围使用服务包装器将其转换为服务。或者我应该使用Jave EE(我假设已经作为服务运行)?我从来没有使用或开发过Java EE,所以我不确定这是否是最好的方法,或者它是否有点矫枉过正。如果Jave EE是最好的方法,那么您可以分享任何有关如何开始使用它的所有信息。

谢谢, 哈利

6 个答案:

答案 0 :(得分:2)

Java EE是一组API,包括JMS,servlet,JNDI,JDBC,EJB等。因此,通过使用这些API中的任何一个,您几乎可以声称您正在使用Java EE,因为它的价值。< / p>

关于您的特定问题,我可能会将您的程序开发为simple servlet based app并在Jetty之类的小容器下运行。这样你就有了一个轻量级容器(Jetty)和一个相当简单的程序来编写,它可以有一个简单的前端用于管理/监控。请注意,Servlet API构成了Java EE规范的一部分,因此您符合Java EE标准,尽管是次要的。

另一种方法是(取决于Web界面的重要性)将程序编写为独立程序,并使用Java Service Wrapper将其作为服务运行。稍后您可以embed Jetty进入您的程序并编写基于servlet的简单API以在嵌入式Web服务器下运行。我在很多项目中使用过这种方法,效果很好。

答案 1 :(得分:2)

从短期来看,您是否正在寻找某人上传的网络界面(网络界面)或某些流程推送(网络服务)您随后处理的csv文件?如果是,那么请考虑Java EE:servlets,RESTful Web服务等,正如其他人所提到的那样。

否则,您是否只是按计划处理现有的“在某个文件系统上”的csv文件?如果是,请考虑timer based Java EE service

您的生产环境管理团队可能会对他们喜欢的内容有所了解。如果它们围绕Windows管理方案,他们可能更熟悉部署,启动,停止,重新启动,调度等的“本机窗口”方法(即服务包装的Java程序)。仅针对一个流程的另一层“服务管理”可能是不必要的复杂性。

记录您的设置/配置/期望。

从长期来看,正如其他人所指出的,您对基于Java的Web监控界面的需求将需要一个app服务器。考虑您的短期/长期优先级,要满足的时间表等。您需要什么时候?

答案 2 :(得分:1)

任何需要企业级功能的东西都应该使用Java EE来完成:

  

Java EE平台构建于Java SE平台之上。 Java EE平台提供API和运行时环境,用于开发和运行大规模,多层,可伸缩,可靠和安全的网络应用程序。

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

答案 3 :(得分:0)

除非您已准备好自己从Java SE实施Web服务器,否则您没有太多选择:您需要一些Web应用程序框架。例如,它可以是Java EE Web容器,也可以是Play等其他实现。但是Java SE还不够。

答案 4 :(得分:0)

其他人已经解释了什么是JavaEE。

既然你说“简单”,我猜JSP和Servlets可以完成这项工作。您将需要一个像tomcat这样的Web容器,这就是全部(比拥有ejb容器+ Web更容易!)。实际上servlet和JSP可以做一些不简单的事情。

如果你愿意使用像Servlet会话那样设计好的会话,那么你可能想要处理EJB等等。

答案 5 :(得分:-2)

您可以使用Web服务作为例子axis2