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

_阿里云客服兼职怎么报名_新用户

小七 141 0

数据库_关于_什么是物联网应用

嗨,

我一直在玩CAP for NodeJS,为客户开发业务应用程序以及一些有趣的项目。在这些应用程序中,我必须添加一个UI5应用程序来与CAP的服务层进行交互框架。一些在这些UI5应用程序中,不是fiori元素,而是自由风格的UI5应用程序。CAP的文档更侧重于Fiori元素,而不是真正的自由风格应用程序:https://cap.cloud.sap/docs/guides/fiori/

即使在OpenSAP课程中,他们也使用了Fiori元素:https://open.sap.com/courses/cp7/overview

添加自由式UI5应用程序可能与Fiori元素非常相似。不过,我认为值得一提的是,在sapwebide和sapbusinessapplicationstudio中,学生云服务器,您可以使用向导将UI生成到CAP项目中。在VS代码中,使用Marius Obert的Yeoman生成器:https://blogs.sap.com/2019/02/05/introducting-the-easy-ui5-generator/

尽管如此,知道如何自己做,知道自己的选择,知道正在产生什么总是好的。这就是我所做的,我将在接下来的步骤中分享:

让我们开始

按照以下步骤开始项目:

https://cap.cloud.sap/docs/get-started/in-a-nutshell简介

数据库层添加模式光盘为服务层添加cat服务CD添加用于生成模拟数据的csv文件添加sqlite并运行deploy命令

刚才删除认证:

在添加UI5应用之前,我们需要实现OData v2代理适配器:https://blogs.sap.com/2020/06/30/how-to-add-odata-v2-adapter-proxy-to-your-cap-project/

代理是必需的,因为大多数UI5模板都是设计用于ODataV2的。UI5应用程序可以与OData v4一起工作,但您仍然可能遇到问题。

进入应用程序文件夹,让我们根据模板生成UI5应用程序。这里列出了启动UI5项目的所有可能模板:https://ui5.sap.com/#/topic/a460a7348a6c431a8bd967ab9fb8d918

为了生成UI5项目,我使用官方的yeoman生成器创建了一个项目,更多信息:

https://blogs.sap.com/2020/04/07/ui5-tooling-a-modern-development-experience-for-ui5/

首先用以下命令安装yeoman for rui5:

转到app文件夹:cd app(使用文件夹"app"很重要,因为"cds"命令正在使用它来搜索UI层)

使用yeoman创建UI5使用其中一个模板的项目:

填写yeomand wizard的所有字段:

yeoman wizard完成后,您将在app文件夹中看到以下文件:

模板生成后,您可以运行npm install并使用UI5工具开始测试应用程序:

这将只运行UI5应用程序,企业大数据分析,而不运行CAP服务。因此,您需要打开第二个终端并运行cap项目。

在本地主机端口8080上打开浏览器时,您将能够使用cap项目的数据测试应用程序:

不幸的是UI5 serve命令在Cloud Foundry上不起作用:

除此之外,它不能与身份验证一起工作,例如,当我们使服务只对经过身份验证的用户可用时:

但是它可以处理模拟身份验证:https://cap.cloud.sap/docs/node.js/authentication#mocked

它可用于测试目的,但在对SAP IAS或SAP默认IDP进行身份验证时,不能发挥作用,这还不够……

我们需要实现Approver,以便能够对SAP IAS或SAP默认IDP进行身份验证。这是在生产模式下运行所必需的,并且可以用于本地测试,尽管您可以在本地不使用它来运行。

添加批准者:https://cap.cloud.sap/docs/node.js/authentication

安装以下NPM包:

更改包.json在应用程序文件夹如下使用它时,在SCP运行CF:

我改变了名称原来的开始脚本是"serve",所以这仍然可以使用,我添加了一个新的"start"脚本来运行approuter。在它旁边,我添加了approver作为一个依赖项包.json在UI5应用程序中:https://github.com/lemaiwo/CAP-UI5-APP/blob/master/APP/package.json

批准人需要额外的文件"xs"-应用程序.json"能够工作。可以配置到UI5应用程序和服务的所有路由,包括身份验证。如果"authenticationMethod"为"none",则approver将在没有身份验证的情况下运行。如果它有值"route",比如在我的示例中,它将运行身份验证:

xs的完整代码-应用程序.json: https://github.com/lemaiwo/CAP-UI5-APP/blob/master/APP/xs-APP.json

在这个文件中,您注意到我添加了一个到dist文件夹的路由和一个到webapp文件夹的路由。dist文件夹用于生产使用,webapp用于调试。我知道你可以在UI5中打开debuggin,但是它给了我另一个访问调试文件的选项清单.json. 在uri前面添加"/":

几乎准备好测试approuter,但首先我们必须添加配置,让approuter知道SCP中的xsuaa服务和OData服务的目标,以便在本地进行测试。

添加另一个文件"默认值-环境.json在"app"文件夹中:

像这样为目的地添加一个部分。审批者需要这个来查找本地运行的CAP服务。在SCP CF上,这将由MTA配置解决:

并添加VCAP\U服务,其中包含您在SCP帐户中使用的xsuaa服务的详细信息:

完整代码:https://github.com/lemaiwo/CAP-UI5-APP/blob/master/APP/default-env.json

同一个文件需要添加到根项目中,只有xsuaa部分:https://github.com/lemaiwo/CAP-UI5-APP/blob/master/default-env.json

现在我们准备启动approuter.

进入app文件夹:

cd app

运行npm Install命令安装approuter。我已经将依赖项添加到包.json:

npm安装