云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

网站建设_服务器拒绝了您发送离线文件_精选特惠

小七 141 0

这是我关于SAP云平台上云架构的博客系列的第4部分。您可以在这里找到概述页。

现在您已经了解了如何通过不同的身份提供者为SAP CP应用程序提供身份,我想重点介绍一下本博客的应用程序体系结构。在开始实施一个应用程序(应该不仅仅是一个PoC)之前,你应该花一些时间考虑应用程序层、服务,以及这些组件如何以可管理和安全的方式彼此交互。

我将重点介绍HTML5/Fiori前端和HANA后端,因为这是一个非常常见的组合。对于Java,企业管理软件公司,已经有足够的可用资源,但特别是对于更松散耦合的前端-后端体系结构,我认为很难找到最佳实践。

首先,您可能从初学者教程(例如"personlist"应用程序,下面提供的链接)使用XS引擎及其web调度器的HANA数据库也可以充当简单的web服务器。因此,从技术上讲,您可以在HANA数据库的同一存储库中开发HTML5前端和HANA对象,并在XS引擎中运行所有内容(这是personlist教程和其他许多教程中所做的)。而对于非常快速和非常脏的原型,这可能是一种构造应用程序的方法,每日返利,我强烈建议不要构建任何这样的高效应用程序。尤其不是在公共云环境中,比如sapcp。在这个博客中,我将向您展示我对这类应用程序的方法,并建议您在项目中也这样做!

然后,我发现HANA存储库的版本控制机制没有git存储库那么复杂。因此,一旦您拆分了前端和后端,您至少可以借助SAP CP中的git服务来开发前端。据我所知,大多数开发(最多的更改和提交次数)都是针对前端进行的。因此,通过拆分,您可以利用git来完成大部分更改。

当您在后台查看时,XS引擎的web调度器也没有针对web服务器的典型任务进行优化。当你在云驾驶舱中创建一个新的HTML5应用程序时,数据中国,你会在高负载下有更好的性能,就像你让你的数据库运行前端一样。

那么,当然,你的应用程序会有更好的分离和结构。当两个部分松散耦合时,您可以更轻松地交换前端或后端。我甚至见过客户将所有应用程序文件都放在HANA存储库的一个包中…这不是一个好主意!另外,稍后您将看到您可以拥有包/文件夹级别的权限(在应用程序描述符文件中声明)。如果您没有以合理的方式构建应用程序,祝您操作干净的安全概念好运。

如果您正确声明了对HTML5应用程序的权限,SAP CP Cloud Cockpit将自动导入这些权限,您可以简单地将它们与Cockpit中的应用程序角色相匹配:

如果您只使用HANA层,你不会有这个在所有。此外,您的整个用户管理将很难操作,因为您必须将您的HANA数据库与您的身份提供商连接起来……对于初学者来说,这不是一项容易的任务。

您在云计算舱中的HTML5应用程序还配备了用于版本控制和激活的整洁功能。此功能支持您使用简单的UI管理您的版本,并从单个git提交创建版本。

如果您发布新版本或通过您的环境(未来的教程)传输您的应用程序,这些功能非常有用,大数据学习,例如,首先传输应用程序,创建新版本,配置版本并准备上线,然后激活新版本。根据我的经验,尽管这个发布机制仍然包含一些手动步骤,但它会导致新版本的运行非常轻松。如果失败了,你可以再次激活以前的版本,并在以前的版本再次运行时修复错误。现在的问题是前端和后端如何通信:这里,我建议使用sapcp连接服务。您应该创建一个新的目标并将其指向您的数据库。此目标还可以指向单独SAP CP子帐户中的HANA数据库。这样,您可以在不同子帐户中的应用程序之间共享数据库以节省成本(当然,这会导致更复杂的权限概念)。

对于目的地,您可以在不同的身份验证机制之间进行选择,因为很自然,您的web应用程序必须通过目的地对数据库进行身份验证。我的建议是:如果可以的话——从安全的角度来看——可以尝试使用基本身份验证来保持简单。您的应用程序将有一个(或多个)具有技术用户的目的地(=基本身份验证),并通过技术用户连接到数据库。这意味着您的完整权限概念将在前端处理,并通过SAP CP Cloud Cockpit配置,使用来自身份提供商的映射角色/组。可能的架构如下:

突出显示的组件包含与用户相关的权限检查。通过角色限制对应用程序和数据库连接的访问。在HANA数据库本身上,只有技术用户执行服务或过程。但是,这意味着,一旦用户拥有有效的会话并且能够调用HANA提供的服务,原则上他也可以在没有应用程序前端的情况下访问该服务。假设您在前端进行了所有验证,而用户通过绕过您的所有前端检查来访问服务…对数据库的写访问是灾难性的,对数据库的读访问是非常关键的,这取决于您数据库中的数据类型!!