Java Web Start:公司数据库

时间:2013-08-07 06:06:53

标签: java jdbc java-web-start jnlp

我开发了一个Java数据库应用程序,该应用程序已通过Web服务器部署到用户。现在,一切都很好,但已要求我们的一些外部客户也希望访问该软件。有什么方法可以让应用程序为这些客户端工作吗?该应用程序已被放置在外部用户可访问的另一个Web服务器上,并且还可以看到我们的SQL服务器,但应用程序无法正常工作,它将在浏览器中加载,但用户无法登录到通过数据库身份验证工作的系统。我在这里遗漏了一些简单的东西,或者这是一件无法完成的事情。我想象后者,因为我认为Web启动应用程序下载到用户机器,这可以解释为什么只能在VPN连接处于活动状态时登录。

非常感谢任何有关此事的帮助。

1 个答案:

答案 0 :(得分:0)

绝大多数情况下,当您从外部启动数据库时,您的防火墙会阻止与数据库的连接。这是一件好事,因为您通常不希望将数据库暴露给Internet。

一种hacky方法是实现某种 JDBC over HTTP 来隧道化数据库请求。基本上,您使用JDBC驱动程序将SQL请求重定向到Web服务器。

更好的方法是重构你的代码(我认为这将是很多工作......) 如果您设法抽象数据访问层,则可以使用更适合Web访问的内容替换它,例如Web服务。

最后一个激进的选择是将您的客户端/数据库应用程序转换为Web应用程序。