通过互联网从java swing独立客户端应用程序连接到远程mysql服务器(数据库)的最佳架构是什么,而不使用中间服务器
答案 0 :(得分:2)
您通常不希望将数据库直接暴露给互联网。恕我直言,你应该考虑在其间放置一个(网络或应用程序)服务器。但是,如果您想要或必须,您应该付出实际努力来保护它:非常强大的密码,对所有内容的非常严格的权限,使用SSL与客户端证书或甚至可能设置VPN ...然后这就不再是一个问题编程而不是配置和serverfault是获取更多信息的好地方。
我在Serverfault上发现了两个有趣的相关问题来处理这个问题(不过MySQL):
从架构的角度来看,即使是胖客户端,我也希望在其间使用SOAP或REST为客户端应用程序提供数据库功能的Web服务器。
答案 1 :(得分:1)
如果您想从独立的应用程序波动连接,那么JDBC最适合。
答案 2 :(得分:0)
JDBC将是最好的
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://HOST/DATABASE";
conn = DriverManager.getConnection(url, "username", "password");
doTests();
conn.close();
}
以下是要在不同数据库上使用的connectionstring的集合
http://devdaily.com/java/jdbc-connection-string-mysql-postgresql-sqlserver
答案 3 :(得分:0)
您一定要熟悉concurrency issues in Swing,以及SwingWorker和SwingUtitlies.invokeLater等构造(请参阅下面的链接)。从EventDispatchThread中进行远程调用会挂起您的GUI并为您的用户提供非常糟糕的体验。