我必须用几个表编写小型java数据库应用程序。 有了这些我有一些经验,可以做到这一点。 那将在一台机器上。
从网络的某个地方,从其他机器,它必须能够连接并检查SWING GUI中的一些数据库查询。 那个网络部分是我没有经验的。什么是完成这项任务的最佳方法? 我需要一些一般的指示,也许还有一些很好的链接,可以用来研究。 问题是我有点时间在这里。
从我的浏览中我看到最简单的解决方案是使用ip:port方式直接从远程计算机直接连接JDBC。喜欢111.111.111.111:55 但这让DB真的不安全。
我读过关于套接字的内容,但我不知道这有多大帮助。
现在,我已经看到人们提到Hibernate和VPN,但我认为这是很多工作。 还有其他人提到了网络服务器,但我绝对不知道它是如何工作的。
那么,你的意见中最佳解决方案是什么? 想法,建议,指导方针?
先谢谢,马丁。
答案 0 :(得分:2)
JDBC驱动程序的数据源可能有不同的参数,具体取决于您是否对连接使用加密。
例如,MySQL允许您使用SSL连接,甚至在其手册中也有section。其他数据库可能会有所不同。
据推测,您的应用程序也将拥有自己的用户名和密码,以便发送到远程数据库服务器。
答案 1 :(得分:2)
使用数据库登录名和密码将提供某种程度的安全性。如果您的时间不够,那么Web服务或套接字将无法快速获取。除非你真的需要安全性,否则现在就使用JDBC。
答案 2 :(得分:1)
您可能希望编写Web服务来公开数据,而不是让用户通过Internet直接连接到数据库。理想情况下,Web服务位于数据库的物理分离机器上,因此数据库不会直接暴露给Internet。
人< - >互联网< - >网络服务< - >数据库
这实际上取决于您认为最佳的内容。
您对安全性没有任何顾虑吗?
如果您将数据库直接暴露在互联网上,您将不得不在防火墙/等上打开端口并保护您的数据库,并祈祷您没有其他不安全的服务暴露在互联网上。
答案 3 :(得分:1)
您有几种选择。
由于您没有太多时间我会丢弃RMI和CORBA,并专注于套接字或http服务器解决方案。
由于您写道,您没有使用Web应用程序的经验,我会使用套接字。