在后端用于基于 java 客户端的客户端/服务器设置的最佳体系结构是什么?


What is the best architecture to use at the back end for a java client based client/server setup?

我对编程相当陌生,最近几个月一直在关注Java。我想编写一个带有 Java 小程序前端的应用程序,该应用程序将捕获有关我的用户的信息,并允许他们组织参加体育赛事。这似乎非常适合面向对象的方法(例如,每个用户都是一个对象,每个事件都是一个对象,每个教练都是一个对象,等等(。

但是,我的用户都需要访问和更改存储为对象的数据。似乎需要某种数据库,但我只有RDBMS的真正经验,我看不出它如何映射到基于对象的前端。我可以只使用 PHP 驱动的 HTTP 调用,但这意味着将对象转换为表,这感觉就像远离纯粹的 OO 方法 - 我真的很努力不陷入程序化思维方式,这更像是我的背景。

隐约知道JSON和NOSQL数据库,但不足以知道它们是否是我问题的解决方案。因此,鉴于所有这些,我非常感谢关于保持OO的最佳方式的任何意见,同时拥有一个允许共享访问应用程序数据的客户端/服务器模型。我相信有一个简单的解决方案 - 我只是在努力找到它!

有什么提示/想法吗?

首先,你似乎认为OO和RDBMS不能很好地匹配。如果您正确设置架构,它们可能是一个很好的匹配。 这里的信息很少,但通常单个 Java 类到单个数据库表可能是一个好的开始。这是Java到RDBMS的部分。

从应用程序服务器到客户端的通信与这部分无关(我说是因为您似乎在暗示它有?

话虽如此,NOSQL可以成为限制较少的模式的好方法,并且(您就在这里(通常更直观地映射到对象,就像您在oo世界中设想的那样。至于建议,我正在使用MongoDB,它很棒..同样在这一点上,JSON作为与MongoDB通信的数据格式即将出现。

如果你刚开始,所有这些技术可能会相当压倒性,所以与其我建议你选择A或B,也许最好看看一些好的java Web框架,这些框架从持久性实现中抽象出来,这样你以后就可以把它们换掉没有太大问题?(比如 Mysql for MongoDB 等(

我强烈推荐Play框架(http://www.playframework.org/(,它可以让你快速直观地开始。按照示例(它们逐步加码博客,包括持久性等(,您将很好地了解这些概念。

也许稍后你可以查看插件来使用MongoDb而不是Pplay附带的默认RDBMS之一,看看你喜欢什么。

呵,吉尔特-扬

首先要明确您的要求,然后尝试确定哪些技术适合您的需求。您可以查看每个数据存储(MySQL,PostgreSQL等(的功能,并查看哪一个符合您的要求。接下来查看 JDBC 以查询/操作数据库中的数据。