当前位置:主页 > 云主机 > 正文

分布式存储_欧菲光企业邮箱_免费领

时间:2021-07-08 01:19 来源:埃里克云 编辑:埃里克云

核心提示

大家好, 在T.CON(一家德国SAP咨询公司)实习期间,我为亚马逊语音服务Alexa建立了一项技能,该服务通过SAP云平台与SAP HR集成。通过这项技能,Alexa应该能够回答您的问题,例如关于...

大家好,

在T.CON(一家德国SAP咨询公司)实习期间,我为亚马逊语音服务Alexa建立了一项技能,该服务通过SAP云平台与SAP HR集成。通过这项技能,Alexa应该能够回答您的问题,例如关于您的休假、团队成员的休假以及创建休假请求。

T.CON已经创建了一个名为"T.CON HR Portal"的SAP云平台解决方案,它为最重要的HR流程提供了一个简单直观的界面。此解决方案还提供restful web服务,为了使事情简单化,Alexa skill的后端服务重用这些服务并在同一实例中运行。

最终,用户可以坐在沙发上预订假期,正如您在以下视频(语言为德语)中看到的那样:

在我想要的博客文章中简要介绍必要的步骤和一些问题:

架构和通信流程概述

在Amazon Echo识别出关键字(如Alexa)后,它会将音频数据发送给Alexa。Alexa服务将通过"自动语音识别"(ASR)引擎将音频转换成文本。文本将由"自然语言理解"(NLU)模块接收。从本文中,它将从用户那里读取相应的意图。该模块还查找日期等值/变量。为了让Alexa工作,需要开发人员提供一些信息,比如在带有插槽的intent模式中定义的可能意图和值。为了分配意图,他必须输入一些用户可以说的示例语句。Alexa将结果(如intent和slot)传递给开发人员构建的后端。之后Alexa应该给用户一个答案。这个答案来自后端,由一个字符串和一些所谓的"ssmltag"(语音合成标记语言)组成,如果需要的话,可以听起来更好,比如中断。后端会将此响应发送给Alexa。现在Alexa可以使用"文本到语音"(TTS)引擎生成语音输出,并将其转发到回音设备。

进入Alexa技能发展视图。

首先我必须选择技能的[第一]语言。然后我插入了一个名称(技能目录的标题)和一个调用名称(用于调用技能)。

交互模型页面是最有趣的页面。通过intent模式,我定义了对话框的结构。我创建了一个自定义槽类型,用于捕捉无法分配的语句。这个页面上的最后一件事是指定一些示例语句/语句。

由于我的后端在sapcp上运行,所以我必须选择一个HTTPS端点。我还使用帐户链接将Amazon帐户分配给HR门户帐户。这些信息来自sapcp:

首先,您必须在CP实例中为您的应用程序创建一个身份验证客户机。您可以在Amazon的skill developer视图的configuration页上找到重定向链接。

OAuth端点的链接在OAuth->Branding视图中定义。

您还需要一个范围(您可以使用这些范围在后端代码中定义权限)

在SSL certification视图上,我必须使用第二个证书选项。因为SAP CP应用程序/后端没有直接认证。

现在您的Alexa skill可以与后端通信。

后台和技能工具包(Java)(Eclipse)

打开您的Eclipse。我使用eclipseneon.2(4.6.2)。接下来创建一个新的动态Web项目(不要忘记更改JRE系统库并添加sapweb概要文件)。对于技能,您还需要以下lib(将它们放入WebContent\WEB-INF\lib文件夹):

应该出现在Libraries/WEB App Libraries中。

这将像servlet一样处理。它调用请求验证器和内容解析器。所以Speechlet对象只获取有效的java对象。SpeechletServlet对象还必须获得Speechlet对象,该对象应该获得意图。

您将需要一个重写Speechlet接口的类来对意图做出反应。该类需要重写下面的方法:

SpeechletResponse包含您的答案。

首先创建一个扩展SpeechletServlet的Servlet。

如果您想获得发送响应的请求的一些信息,请重写SpeechletServlet中的doPost方法。但是别忘了从Speechlet类调用doPost方法。

SAP CP将身份验证后的用户名写入响应。所以我必须读取并保存在doPost方法中。

接下来创建一个实现SpeechletV2接口的类。

并用您要执行的代码重写这些方法。

sapsdk提供了一些函数来连接到同一个云实例上的web服务。(仅Java EE Web 6 SDK)

发送oauth令牌的问题/在标头中找不到令牌

在我激活帐户链接(oauth)之后,Alexa无法连接到我的后端,并且在检查了许多小时的配置之后,我激活了com.sap.cloud网站.安全.oauth2记录器。他说他找不到代币。所以我寻找一个解决方案,我发现有人有同样的问题(https://forums.developer.amazon.com/questions/46982/can-alexa-return-the-access-token-in-the-header-in.html)

他发现Alexa并没有把代币放在头上(按照标准的要求),而是放在身体里。好在我没有引起,但我怎么能解决呢?我决定创建一个没有身份验证的网关,从主体读取令牌,将其写入头并将请求转发给受保护的技能。我知道这是一个解决方法,但它的好处是,如果发生通信错误,我可以记录来自Alexa的请求和来自我的技能的响应。

对于该解决方法,我创建了第二个servlet,它将请求(带有身份验证头)转发到SpeechletServlet。

并使用该servlet的响应进行回复。至少我得换衣服了网站.xml. 为了使只有SpeechletServlet在认证区域中。

Alexa Skills教程

https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/getting-started-guide

https://speakerdeck.com/wolfpaulus/building-alexa-skills-with-the-java-alexaskillskit-sdk

我希望这个小描述能帮助你完成第一个任务SAP CP上的Alexa Skill–享受Alexa带来的乐趣!

干杯,弗洛里安

  • <strong>香港带宽_以岭药业企业邮箱_免费</strong> 香港带宽_以岭药业企业邮箱_免费

    由于SAP HANA(云)平台智能数据集成的大力推广,我看到市场上多数据源的轻松集成和云数据的利用率在不断增长,因此有足够的理由越来越多地支持这一趋势,查看 SAP HANA智能数据集...

  • <strong>对象存储_网站建设1_促销</strong> 对象存储_网站建设1_促销

    Hybris的营销项目是不同的。您可能已经有过实施和运行SAP Hybris前台解决方案的经验,但即使您的资产包括Hybris Commerce、Sales Cloud或Service Cloud,在开始您的Hybris营销项目之前,您需要考...

  • <strong>专属服务器_购物车数据库_好用</strong> 专属服务器_购物车数据库_好用

    作为一名集成开发人员,在创建工件时寻找快捷方式是非常常见的:)。如果SAP CPI中涉及到大量定制集成,我们将寻找更简单的方法来配置这些步骤或重用来自其他集成项目的一些配...

  • <strong>香港带宽_木乃伊百度云_好用</strong> 香港带宽_木乃伊百度云_好用

    在实施阶段和上线后,为您和您的客户提供一套专门的专家服务,我们希望通过我们的SAP Hybris专家服务团队提供的多项深入服务来支持您的实施。 SAP Hybris Cloud for Customer–Partner Coac...

  • <strong>专属服务器_华为荣耀8支持云闪付吗_高性</strong> 专属服务器_华为荣耀8支持云闪付吗_高性

    互操作性的定义是 计算机系统或软件交换和利用信息的能力" 公共安全和安保方面的互操作性多年来一直是首要议题,涵盖了安全界各个层面的巨大需求。从根本上讲,有一个主要挑...

  • <strong>全站加速_我的世界服务器优化_高性价比</strong> 全站加速_我的世界服务器优化_高性价比

    在过去的几个月里,CodeTalk还涵盖了SAP云平台SDK for iOS的一些关键主题。查看CodeTalk播放列表或SAP Cloud Platform SDK for iOS开发者登录页上的"资源"选项卡和"视频"列表。 到目前为止,我已经...

  • <strong>云数据库_阿里云郭雪梅_精选特惠</strong> 云数据库_阿里云郭雪梅_精选特惠

    此博客的目的:列出使用SAP Gateway客户端时的小技巧。 谁应该阅读此博客:使用SAP Gateway客户端并希望从中提取更多信息的任何人。 相关SAP事务:/IWFND/GW\U客户端 此博客的格式:Q&A 开...

  • <strong>云服务器_阿里云服务器地址在哪里_新注</strong> 云服务器_阿里云服务器地址在哪里_新注

    我是Yubikeys的超级粉丝——用于身份验证和/或携带钥匙的小型不可摧毁USB钥匙。 Yubico有一个页面,这里有一个功能比较:https://www.yubico.com/yubikey-function-comparison/ 本博客展示了如何使用...

  • <strong>分布式数据库_域名注册中心_企业级</strong> 分布式数据库_域名注册中心_企业级

    亲爱的各位, 这是我的第一个博客,我想在其中分享我的经验和我与Oracle Exadata世界的"会面"。我在过去完成了许多异构系统拷贝,但从未在涉及Oracle Exadata的混合环境中完成过 我必须...