关于设置受 Oracle Blockchain Platform 保护的定制内容管理系统

通过使用 Oracle Blockchain Platform 作为文档完整性的认证者,您可以创建自定义内容管理系统 (CMS),并通过验证不篡改文档进行扩充。

作为预组装的 PaaS,Oracle Blockchain Platform 包含预配和管理区块链网络所需的所有依赖项:计算、存储、容器、身份服务、事件服务和管理服务。Oracle Blockchain Platform 还包含一个服务控制台,用于管理和监视构成区块链网络的每个区块链节点,以及部署到网络的智能合同。这有助于您在几分钟内开始开发应用程序。

体系结构

此解决方案手册介绍了如何利用 Oracle Cloud Infrastructure (OCI) 实施 CMS,从而创建分配给特定用户的文件夹。

在这些文件夹中,您可以添加将存储在 OCI 对象存储中的文档,识别、验证和认证文档不变性所需的所有文档元数据将存储在区块链网络中。访问系统的用户可以是所有者或审核者:
  • 作为文件夹所有者的用户将能够更新文档。
  • 其余用户(非所有者)仅允许查看或下载文档,而不进行任何更改。
  • 区块链中的文件夹表示为不可替代的令牌 (NFT),因此我们可以利用这些功能来管理文件夹的所有权及其整个生命周期(创建,薄荷操作,参与者之间的转移等)。
  • 可以创建 Oracle Visual Builder Cloud Service (VBCS) Web 应用程序,以所有者或审阅者身份执行所有相关操作。

下图说明了此体系结构。



oracle-blockchain-cms-arch-oracle.zip

我们使用两种不同的持久性解决方案:

  1. Oracle Blockchain Platform 是解决方案的核心部分,其中存储文档的元数据,例如名称、文件类型、用于查找文档的 URL,以及基于文档的二进制内容生成的散列。
  2. OCI 对象存储,用于存储实际文档。对于那些需要最便宜、最可靠的存储解决方案的人来说,这可能是最好的选择。OCI 对象存储允许您以可忽略不计的成本存储数千个文档。

Oracle Integration 具有集成功能,内置了 Oracle Visual Builder ,可轻松快速地开发 Web 或移动界面。

Oracle Visual Builder 不需要实例化。我们使用 Oracle Visual Builder 开发了 Web 应用程序,但开发后,您只需在任何可以执行 Node.js 的计算实例中部署自包含的 Web 应用程序即可。

Oracle Identity Cloud Service 在其中创建了需要访问解决方案的所有用户,并根据其角色以适当的权限授予访问权限。



oracle-blockchain-document-workflow-oracle.zip

注意:

在每个文档的区块链中存储的信息中,有一个基于文档的二进制内容生成的散列,在这里我们可以看到如何将此散列包含在要存储在区块链分类账中的每个文档的元数据信息中。
  • 如果有人从外部位置修改文档,在我们的情况下是 OCI 对象存储中的存储桶,下次有人尝试检索文档时,基于散列有效性的验证将失败,因此将通知用户文档被篡改。
  • 对于功能用例,我们将要开发的资产模拟金融机构的内容管理解决方案,其中每个文件夹代表客户的财务操作,并且该文件夹充当归档文件,其中与操作相关的文档作为一个整体进行管理。
  • 该文件夹被表示为 NFT,因为这种令牌非常适合一个关键方面是资产所有权的情况。这意味着我们可以根据访问文件夹的用户的角色定义可以对其执行的不同类型的操作,并且文档本身存储在归档 NFT 实体的子数组中。

使用须知

在开始设置受 Oracle Blockchain Platform 保护的定制内容管理系统之前,请确保您熟悉以下技术

关于必需的产品和角色

此解决方案需要以下产品。

  • Oracle Blockchain Platform
  • Oracle Blockchain AppBuilder
  • Oracle Visual Builder Studio
  • OCI 对象存储

这些是 Oracle Blockchain Platform 所需的角色。

角色 详细信息
文件夹管理器 如果访问文件夹的用户是其当前所有者(或保管人),则用户将能够更新文件夹中的文档,并且还将获得将文件夹转移到其他用户或部门的权限。
文档复查者 如果访问文件夹的用户不是其当前所有者或保管人,则用户只能查看文件夹中的现有文档。