今年九月份刚刚过去的SAP TechEd Las Vegas会议上,SAP CTO Juergen Mueller向外界宣布了SAP一些持续进行的技术创新和改进,其中之一就是SAP Graph,大家可以访问网址https://graph.sap了解详情。

https://www.citrix.com/blogs/2019/09/26/citrix-workspace-and-sap-graph-enhancing-the-employee-experience/


今年九月份的SAP Las Vegas TechEd上,SAP CTO Juergen Mueller向外界宣布了SAP一些持续进行的技术创新和改进,其中之一就是SAP Graph,大家可以访问网址https://graph.sap访问,Citrix是这个技术的早期使用者之一。

SAP Graph并不是一门新的编程语言或者新的SAP产品,而是一种新的API消费方式,SAP期望通过引入SAP Graph,将来自异构云产品的API进行聚合,简化应用数据模型,让partners开发云原生扩展应用的道路成为一条坦途。

SAP Graph对于Jerry目前工作的C/4HANA生态圈更加至关重要。Thomas Hertz在他的博客SAP C/4HANA Foundation: This is where we take it from here里提到,C/4HANA foundation层将提供一个统一,可伸缩可扩展的开放API层以方便partners做扩展,即SAP Graph。

TechEd上SAP CTO的讲话在这个链接可以听到,
https://events.sap.com/teched/en/session/48210
讲话总共1小时40分钟,关于SAP Graph的介绍在第34分钟开始。

SAP Graph和business API hub的区别和联系

API business hub提供的是一个个细粒度具有业务含义的API,而SAP Graph是比API business hub更上一层的概念,它将底层细粒度的API聚合起来,使用者可以根据自己的需要进行灵活搭配。比如一个客户购买了C/4HANA套件的Marketing Cloud和Commerce Cloud,客户想自己开发一个Fiori UI,显示来自Marketing Cloud的联系人数据和Commerce Cloud的产品数据。最直接的做法当然是使用两次HTTP调用,分别消费两个cloud定义在api.sap.com上的API;另一种方式则是用SAP Graph建模好的复合API(composite API), 开发人员只需要调用一次API即可取出UI需要显示的数据,至于这些API背后的取数逻辑,API的消费者是不知道也不需要知道的;只有SAP Graph的建模人员才清楚。

Jerry个人觉得SAP Graph的工作原理很像设计模式里的外观模式(Facade pattern), 定义了一个高层、统一的接口,消费者通过这个统一的接口对子系统中的一群接口进行访问。我们可以把SAP Graph类比成外观模式里高层统一的接口,而通过外观模式被隐藏掉细节的子系统类比成C/4HANA里各个云细粒度的API.

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

什么是SAP Graph的更多相关文章

  1. SAP ECC PP 配置文档

    SAP ECC 6.0 Configuration Document Production Planning & Control (PP) 1. General Settings 1.1 Ma ...

  2. CF1082G:G. Petya and Graph(裸的最大闭合权图)

    Petya has a simple graph (that is, a graph without loops or multiple edges) consisting of n n vertic ...

  3. Finding Memory Leaks with SAP Memory Analyzer

    Introduction There is a common understanding that a single snapshot of the java heap is not enough f ...

  4. 如何使用Prometheus采集SAP ABAP Netweaver的应用日志数据

    Prometheus是一套开源的系统监控报警框架.它启发于Google的borgmon 监控系统,由工作在 SoundCloud 的 google 前员工在 2012 年创建,作为社区开源项目进行开发 ...

  5. [开发笔记] Graph Databases on developing

    TimeWall is a graph databases github It be used to apply mathematic model and social network with gr ...

  6. SAP CRM 性能小技巧

    导言 本页面打算收集SAP CRM实施中可以用于避免性能问题的注意事项,重要的事项会由图标标识. 如果你有其他的技巧想要说出来,别犹豫! 性能注意事项 通用 缓存读取类访问,特别是在性能关键的地方,比 ...

  7. SAP CRM 树视图(TREE VIEW)

    树视图可以用于表示数据的层次. 例如:SAP CRM中的组织结构数据可以表示为树视图. 在SAP CRM Web UI的术语当中,没有像表视图(table view)或者表单视图(form view) ...

  8. SAP CRM 显示消息/在消息中进行导航

    向用户展示消息,在任何软件中都是十分重要的. 在SAP CRM WEB UI中展示消息,不是一项很难的任务,只需要创建消息并在之后调用方法来显示它 消息类和消息号: 我在SE91中创建了如下的消息类和 ...

  9. BPM与 SAP & Oracle EBS集成解决方案分享

    一.需求分析 SAP和Oracle EBS都是作为全球顶级的的ERP产 品,得到了众多客户的青睐.然而由于系统庞大.价格昂贵以及定位不同,客户在实施过程中经常会面临以下困惑: 1.SAP如何实现&qu ...

随机推荐

  1. java.sql.SQLException: Data truncated for column 'seat_number' at row 1

    项目中try catch 出现这种情况,就去检查下数据库列类型和项目中实体类的id类型是否一致.数据库id是int类型的,项目实体类是String类型的,项目save功能无法保存,导致了我的这个异常.

  2. A3C 算法资料收集

    A3C 算法资料收集 2019-07-26 21:37:55 Paper: https://arxiv.org/pdf/1602.01783.pdf Code: 1. 超级马里奥:https://gi ...

  3. Android 加密之文件级加密(CE/DE)

    https://blog.csdn.net/myfriend0/article/details/77094890/   Android加密之文件级加密

  4. Node.js+Express框架+Mongo学习(一)第一个node.js实例

    1.在桌面新建一个空的文件夹,比如叫node,当然也可以在其它地方新建. 2.命令行进入到所新建的文件夹的目录,下载Express框架,再在这个文件夹里新建一个叫final的项目 3.在项目(fina ...

  5. 编写max(list) 返回列表最大元素

    defmodule MyList do def max(list), do: _max(list, 0) defp _max([], max), do: max defp _max([head | t ...

  6. centos 安装 swoole_framework 框架

    composer require "matyhtf/swoole_framework" 运行以上命令 Using version ^1.20 for matyhtf/swoole_ ...

  7. 本地dev环境,运行时用node模块自动读取并整合文件

    const http = require('http'); const fs = require('fs'); const path = require('path'); const glob = r ...

  8. Java环境配置-jdk和jre的安装

    java 是直接在 jdk 下就可以运行 jdk会自带jre 所以只需要下载jdk配置一下环境就可以了 一般编辑java是需要 myeclipse 也可以用 记事本TXT文档 或者用 notepad+ ...

  9. LeetCode 686. 重复叠加字符串匹配(Repeated String Match)

    686. 重复叠加字符串匹配 686. Repeated String Match 题目描述 给定两个字符串 A 和 B,寻找重复叠加字符串 A 的最小次数,使得字符串 B 成为叠加后的字符串 A 的 ...

  10. Java 8 Optional 的用法

    认识Optional   Optionals是用于防止 NullPointerException 的漂亮工具.让我们快速了解一下Optionals的工作原理. Optional 是一个简单的容器,其值 ...