在web gui中运行独立的java应用程序

时间:2012-10-22 09:03:17

标签: java architecture

我有一个在Linux上运行的大型Java应用程序。这是一个长期运行的服务器端应用程序。我希望能够使用Web GUI运行此应用程序。

建筑应该是什么?

  • java应用程序应该是Web GUI项目(服务器端)的一部分吗? OR
  • 它是否应作为外部项目保留,我将以其他方式运行(可能通过命令行java -jarant

我很快就会编写REST访问权限,以允许其他客户端访问该应用程序。

编辑: 该应用程序是nutch - 一个apache web爬行/索引应用程序,我自己的扩展。 我需要一个用作管理GUI的Web GUI。

此外,我不会问关于构建Web GUI的方法,而是关于在客户端 - 服务器应用程序中集成已完成的Java应用程序的体系结构,该应用程序将用作原始程序的管理应用程序。 现有应用程序应该是新客户端 - 服务器应用程序中服务器的一部分吗? 或者它应该作为一个非依赖单位在外面,我会以其他方式与它沟通?

1 个答案:

答案 0 :(得分:1)

我有一次类似的情况。该应用程序是一个自定义数据传输协议代理,它在一个端口上进行侦听,并根据数据包前缀将收到的数据包转发到另一个用该前缀绑定的地址。它需要始终处于活动状态,并且所有提到的参数都是使用Web UI配置的。

为了使应用程序可通过Web UI进行配置,我执行了以下操作:

我在应用程序中添加了一个控制端口,它监听START,STOP和STATUS命令,并为每个命令返回一个足够的响应。此端口仅可在本地访问。在同一台机器上有一个Apache Tomcat,它为Web UI提供服务。

登录后,具有足够角色/权限的用户可以加载START / STOP / STATUS页面,该页面通过套接字将足够的命令发送到代理控制端口。使用servlet中的套接字需要设置Java安全权限。

我想你也可以通过REST做类似的事情,但这种方法的敏感点是向控制端口发出命令 - 用户需要经过身份验证并获得授权才能执行此类操作。