java - Web 服务前面的数据库级别的数据完整性

标签 java database web-services web-applications architecture

当涉及到通过将 Web 服务引入现有架构来扩展 Web 应用程序时,开发人员是否可以想到一种可能的架构,反之亦然。在这种情况下,主要关注的是数据完整性和安全性。

下图将建议开发人员可以想到的两种方法。

Scenario One

此架构表明所有请求都应由单独的服务层处理。因此,只有服务层才能与数据库通信,同时满足Web应用和网关的请求。

Scenario Two

第二种方法显示 Web 应用程序直接与数据库通信。例如,管理门户。同时,可以有一个外部网络服务也与数据库通信。这种方法可能会导致违反数据完整性的情况。但是,引入外部 Web 服务可能比重构现有 Web 应用程序以从开发人员端调用 Web 服务更容易。因此,我们是否仍然可以通过使用外部 Web 服务和单独的 Web 应用程序来为长期后果做出妥协,而不是使用单个 Web 服务层来满足 Web 应用程序和网关的需求。任何对此的合理评论将不胜感激。

最佳答案

您可以构建一个可以访问所有内容的 API。换句话说,Web 应用程序可以使用 Ajax/WebSockets 通过 rest/rpc api 工作。

由于一切都通过 API,因此不应在任何时候强制执行数据完整性。此外,您将清楚地区分客户端、API 和数据库。

这将允许您用其他任何东西替换数据库而不会破坏系统的其他部分。

关于java - Web 服务前面的数据库级别的数据完整性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16810404/

相关文章:

database - 通过BLOB在SQLite数据库中存储很小的音频/图像文件?

php - Laravel 5.2 迁移外键

objective-c - iPhone登录 session 的最佳做法/模式

java - 一个 Java Play 操作中的多个 WS 调用

java - 什么是最好的构造函数

java - 如何使用 Netbeans 构建这个 RMI 项目?

java - 如何循环下移字母

php - Mysql 添加简单排名表

java - 在java中使用Web服务时如何触发处理程序类

Java 语言断言错误