当前位置:主页 > 分布式数据库 > 云服务器 >

域名注册_百度云找资源_速度快

域名注册_百度云找资源_速度快

SAP在4.X环境中引入了RESTfulWebServiceSDK,以与BI平台及其组件进行交互。在以前的3.X版本中,您习惯于使用Java和.NET SDK,这对于为其设置和正确配置环境来说是非常乏味的。通过迁移到restfulweb服务,SAP已经释放了通过您选择的任何语言与BI平台通信的潜力,前提是它支持进行HTTP请求。SAP BusinessObjects RESTful Web Service SDK Web Intelligence用户指南和BI语义层在记录可访问的特定URL以及它们返回的响应方面做得非常出色。

尽管文档非常详尽,它不能帮助您弄清楚如何利用任何一种特定的语言与您的语义层进行交互。本文档将向您展示如何使用Python编程语言来实现这一点,同时提供一个理论上的web服务实现,不仅可以帮助您理解如何发出请求,还可以让您大致了解如何在服务器端实现这一点,我提供的web服务实现仅用于演示目的,并且(几乎可以肯定)在某些方面与您将在BOE平台上遇到的有所不同。如果有任何重大差异,请在GitHub存储库中留下评论或打开一个问题,我将尽我所能进行调整。

您需要在您的系统上安装最新版本的Python 3.X。您还需要安装瓶子、lxml和请求包,这可以使用pip完成:

pip预装在python3.4及更高版本上。如果您运行的是旧版本,则需要单独安装pip。

您还需要从我的BOESDKParser GitHub存储库下载代码示例。如果您安装了git,您可以克隆存储库:

否则只需转到链接并以HTML格式下载到本地系统。

如果您希望轻松导出到CSV和Excel等常见可报告文件格式,您也可以安装pandas库。请务必参考他们的安装说明以了解如何做到这一点。

使用示例Web框架

BOESDKParser提供了两个模块:

示例_框架.py软件开发包_分析器.py

示例框架模块是一个非常轻量级的web框架,使用Bottle包实现。下面是该模块的一些简短代码:

那么这到底是在做什么呢?加载模块后,它从瓶子包运行"run"方法,该方法负责用提供的主机和端口启动web服务器。在这种情况下,一旦加载此模块,它将在:8080/

我们还定义了一个带有"@route('/biprws/logon/long')"修饰符的登录函数。如果你来:8080/biprws/logon/long服务器运行时,大数据分析软件有哪些,瓶子将执行login方法,返回函数体中的XML。有关该框架如何运行的更多信息,请务必查看瓶子文档!

您会注意到有两种方法称为login,另一种方法如下:

区别在于decorator中指定了"POST"参数。默认情况下,decorator将"GET"方法映射到它下面的函数。通过在上面指定"POST",我们可以有两个请求:8080/biprws/logon/long映射到两个不同的函数,完全基于所使用的HTTP方法的类型。您将看到,这正是SAP BusinessObjects RESTful Web Service SDK Web Intelligence User Guide for Web Intelligence和BI Semantic Layer中的"登录到BI平台"部分要求您获取登录令牌所做的操作。

我们将在下一节回顾SDK\ U parser模块时进一步探讨这一点。现在,在您查看了示例Web框架模块之后,继续从命令行启动服务器,方法是导航到该模块并运行:

如果成功,您将看到以下内容:

与示例Web框架交互

随着Web服务器的运行,我们将把重点转移到sdk\U解析器模块。在其中,您将看到一个名为BOESDKParser的对象的类定义。

解析器初始化的默认参数与示例框架中指定的默认参数匹配。如果在启动之前修改了该模块中的任何内容,请确保在初始化BOESDKParser实例时考虑到这一点。您还将注意到,大数据精准,该类构建了BOE REST API的Default Base url部分中描述的url,其中一个用于BI平台,一个用于Web智能层,大数据的解决方案,另一个用于BI语义层。

假设您可以坚持默认设置,那么我们继续导入此模块并创建BOESDKParser的实例。在与此模块相同的目录中启动pythonshell并运行:

如果您已经阅读了SAP restfulapi文档,您将注意到使用服务需要做的第一步是从服务器获取登录令牌。BOESDKParser实现如下:

前两个方法前面的下划线表示这些方法是"私有"的,不应直接调用(尽管Python中没有阻止您这样做的内容)。这里的主要入口点是set\u logon\u token方法。当使用用户名和密码调用时(我们将使用"myUserName"和"myPassword"),它会将该信息传递给"send\u auth\u info",而"send\u auth\u info"本身会调用"get\u auth\u info"http://localhost:8080/biprws/logon/long(同样,假设您坚持使用默认主机/端口)。如果返回到示例\u framework模块,您会注意到,大数据使用,当使用GET调用时,该方法返回XML,如下所示:

将\u GET\u auth\u info的结果作为响应对象发送回\u send\u auth\u info中的第一行:

猜你喜欢

微信公众号