我目前正处于(非常)小型数据库应用程序的研究阶段。
这是一个本地慈善机构,它只有 3 或 4 台将运行系统的客户端机器 - 但是为了将一些无关逻辑从客户端移开,我倾向于使用三层架构(有数据是在适当的时候不断通读和更新,客户不需要知道)
即客户端<->服务器逻辑<->数据库
虽然我能够胜任 Java 本身和一些框架/库,但我并不特别熟悉哪些框架可以帮助我。显然我将使用 JDBC 作为数据库的一半,但客户端和服务器之间的通信是目前的绊脚石 - 例如,我真的不想去靠近原始套接字的任何地方(矫枉过正,或者至少是另一个解决方案必须存在)
我已经询问了一些我知道的开发人员对使用哪些 API 的看法,虽然他们非常有帮助,但我仍然不太确定该去哪里。到目前为止,我已经听说过 RESTful 的东西、SOAP、COBRA 和一大堆其他技术。SOAP 是引起我注意的主要问题(因为有一些很好的例子可以将它与普通应用程序一起使用,而不仅仅是在网络上),但我仍然不确定该去哪里——它似乎并不特别适合一般应用程序像这样的目的应用程序(EJB 也出现了,但我听到很多针对它的仇恨 - 这是应得的吗?)
感觉好像为了找到“工作的最佳工具”,我实际上需要完整地学习每一个工具以“获得”它们(这显然是不切实际的)
任何人都可以指导我如何选择这样的 API(当我以前没有使用过它们时)或者给我一些常见的信息,或者这真的只是一个试验大量它们以查看哪些适合的案例最好的?
或者也许我完全错过了标记并且有一个针对这种确切情况而没有明显缺点的框架?
非常感谢您的帮助。
编辑:
完全忘记提及它实际上做了什么:它并不是非常复杂——慈善机构运行一个运输计划,所以它保存了司机、客户、司机里程记录等的详细信息,以供查看和编辑。唯一真正复杂的是驱动器,因为可以将驱动程序分配给可以预见的“永远”持续的重复(持续)驱动器。但是正在进行的驱动器的每个实例都必须是唯一的,因为它们可以单独取消或编辑
我选择 3 层的主要原因是因为作为一个慈善机构(有许多不太“精明”的老年志愿计算机用户),我很可能会经常更新 UI 以消除错误和不“对新手用户来说非常清楚。所以我的计划是首先让服务器和数据库之间的后端绝对“防弹”,然后将我所有的注意力集中在 UI 上,这样我就可以继续开发和迭代它而不用担心后端(也是因为我将远程开发它的一部分,将更新集中在客户端稍微简单一些)
所有这些属性都可能大喊“做一个基于 Web 的系统”——这里的障碍是,它们与已经运行的一些应用程序进行了各种棘手的集成,我不相信我可以(正确地)完成网络应用程序。