1

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

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

谢谢,哈利

4

6 回答 6

2

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

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

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

于 2012-07-27T19:14:24.853 回答
2

在短期内,您是否正在寻找一个 Web 界面,某人通过该 Web 界面上传(Web 界面)或某个进程推送(Web 服务)您然后处理的 csv 文件?如果是,那么请考虑 Java EE:servlet、RESTful Web 服务等,正如其他人提到的那样。

否则,您是否只是要按计划处理“在文件系统某处”的现有 csv 文件?如果是,则考虑基于计时器的 Java EE 服务

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

无论您做什么,都要记录您的设置/配置/期望。

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

于 2012-07-27T22:25:24.983 回答
1

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

Java EE 平台构建在 Java SE 平台之上。Java EE 平台为开发和运行大规模、多层、可扩展、可靠和安全的网络应用程序提供了 API 和运行时环境。

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

于 2012-07-27T19:15:39.670 回答
0

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

于 2012-07-27T19:15:45.473 回答
0

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

既然你说“简单”,我想 JSP 和 Servlet 可以完成这项工作。您将需要一个像 tomcat 这样的 web 容器,仅此而已(这比拥有 ejb 容器 + web 更容易!)。实际上 servlet 和 JSP 也可以做一些不简单的事情。

如果您愿意使用像会话这样的东西,它的设计比 Servlet 会话更好,那么您可能想要处理 EJB 等。

于 2012-07-27T19:34:45.437 回答
-2

您可以使用 webservices 例如axis2

于 2012-07-27T19:33:25.267 回答