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

CDN_山西网站建设_代金券

小七 141 0

SAPUI5和C4C。我的(un)预期行程。准备

旅程继续。读者可能还记得,我最初的任务是扩展c4cuis(HTML客户端和Fiori客户端)。扩展应该使用SAPUI5/OpenUI5完成。换句话说,它应该将自定义(最好是SAPUI5)控件嵌入到C4C中,并且它还应该与C4C对话。

这让我来到了这个(非)预期的旅程。从我的准备博客中得到了所有的工具,我开始进一步探索。我首先想到的显然是HTML mashup。关于这个主题,SAP社区平台上有一些非常有价值的博客。在这里,我想重点介绍一下这种方法的技术方面以及优缺点。

在上一次SAP TechEd 2017拉斯维加斯大会上,我参加了所有与C4C相关的会议,我得到的主要想法是,SAP目前建议的扩展C4C的方法是构建自己的应用程序,并使用HTML mashup将其嵌入到C4C中。例如,在会话CPL171"Building SAP Hybris Cloud for Customer Extension with SAP Cloud Platform"(由Vladimir Pavlov、Stanimir Ivanov和Jeff Gebo主持)中,java/sapui5组合应用程序在Service Request TI中查找重复票据。您可以在这里找到SAP Duplicate Tickets Finder示例应用程序

但是,这段旅程是在这个非常有趣的会话之前进行的。

有两种类型的HTML mashup可用。第一个是URL-HTML mashup。在这里,你提供了一个URL到你的应用程序托管在某处。并且您可以将创建时为HTML mashup选择的端口类型中可用的参数作为查询(例如URL)参数传递给已定义的URL。这种类型的HTML mashup可以用于将全新的应用程序嵌入到您的C4C租户中。

从技术上讲,我们在URL HTML mashup中使用的是iframe,轻淘客旗舰版,其中"src"指向创建时提供的URL。

在iframe中就像在笼子中一样。你不能直接和C4C对话。我们在另一个领域,被孤立。在这里,我学到了很多关于同源策略和COR的知识。

在这种情况下,通过C4C OData服务回复数据或获取附加数据以在应用程序中使用的唯一方法是

但是要与C4C OData服务对话,您需要从应用程序到C4C进行身份验证。从我的角度来看,这是这种方法的主要缺点。你需要获得板载身份提供者或其他东西传递当前用户到你的应用程序,然后回到C4C OData。这是一个相当痛苦的设置,有时这需要额外的成本,如果你想,例如,云服务器怎么用,SAP云身份管理的船上,以帮助你。值得庆幸的是,SAP TechEd中提到了一个非常好的消息,我们希望C4C管理中有一个"魔术"按钮,360大数据,只需单击一下即可设置SAP云身份管理。因此,设置主题将很容易涵盖。

作为总结,这种方法的缺点是:很明显,你只能用一种方式和你的应用说话。仅在加载应用程序时。要与C4C通信,人工智能书,您需要手动设置身份验证和身份管理(当前状态)。优点:您可以很容易地将接受查询参数的应用程序嵌入到C4C中,例如一些列表来显示查询结果。但不仅如此

第二种类型的HTML混搭是代码HTML混搭。这种类型的HTML mashup要求您在mashup创建期间提供页面的代码。在我看来,这里更有趣。这就是为什么。

当我探索这个选项,阅读帮助文档并研究其他关于这个主题的博客时,我发现你可以从C4C中获得预定义的数据到你的应用程序中。但问题来了——我们能写些什么吗?幸运的是,答案是肯定的。

让我解释一下。创建HTML mashup时,必须选择端口绑定。它实际上是一个输入和(!)通过端口类型包分配给Mashup端口绑定的输出端口。一些标准端口绑定是双向启用的。意味着他们有输入和输出参数。端口类型定义了可以在两个方向上使用的参数。这意味着您既可以将参数传递到应用程序中,也可以将参数从应用程序中写回。

这里列出了具有输出端口的当前标准端口类型:商业与金融–按公司名称或DUNS列出的公司财务和业务信息–Wirecard的信用卡令牌化–DNB360 Mashup集成–机会信息新闻与参考–知识库搜索生产力和工具–注册产品信息–反向查找–通过电话反向查找–票证信息

所有与HTML mashup主题相关的标准端口类型都可以在Port Types package:/SAP\u BYD\u TF/Mashups/g中找到lobalmashupporttypes.PTP.ui组件.在/SAP\u BYD\u TF/Mashups/PortBinding文件夹中,您可以找到所有标准端口绑定。

您可以自己探索每种情况下可用的参数。

但我的第一个问题是"为什么"?为什么要限制我只有端口类型参数可用于读/写数据?好。答案是一样的。你仍然在iframe的笼子里。下面是如何从技术角度呈现代码HTML mashup:

正如您所看到的,我们在一个双框架中,例如在两个iframe中。第一个来自专用服务器。在我看来,这是"混搭"-网址:aus.sapbydesignmashups.com". 第一个iframe是"Container"。同一服务器上的第二个iframe"html/render"。我们的代码在第二个。所以我们又被困住了。这就是为什么我们不能简单地写回C4C的原因。