是否应该对客户端应用程序进行编码,以便它们连接到远程 SQL 数据库并从中检索数据?
据我所知,这是非常糟糕的做法,您应该有一个服务器应用程序来处理所有客户端并充当检索数据的中央单元 - 对吗?
业务信息系统是否曾经在没有服务器应用程序来处理客户端的情况下构建过?
最佳答案
取决于“客户端应用程序”的含义。企业内部的客户端应用程序通常可以通过直接与中央数据库交互来很好地工作。当然,除非他们明确需要写入,否则一定要让他们使用只读凭据。
外部客户端应用程序可能是另一个问题。例如,如果您要分发 iPhone 应用程序,我肯定会编写一个 API 服务器来包装常见请求。
额外的抽象层通常不仅仅对安全有帮助——考虑可伸缩性。如果突然间您的客户请求增加了几个数量级怎么办?向 API 服务添加缓存或其他性能增强功能比更新每个客户端要容易得多。构建一个可以更改的架构比绑定(bind)到直接实现要好得多。
关于database - 客户应该直接访问数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17295106/