今年九月份刚刚过去的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. BackgroundWorkerHelper

    public static class BackgroundWorkerHelper { public static void Run(DoWorkEventHandler doWork, RunWo ...

  2. 图像处理软件ImageJ

    ImageJ是一个基于java的公共的图像处理软件,它是由National Institutes of Health开发的.可运行于Microsoft Windows,Mac OS,Mac OS X, ...

  3. tensorflow2.0手写数字识别

    import tensorflow as tf import matplotlib.pyplot as plt import numpy as np datapath = r'D:\data\ml\m ...

  4. [LeetCode] 81. Search in Rotated Sorted Array II 在旋转有序数组中搜索 II

    Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...

  5. [LeetCode] 126. Word Ladder II 词语阶梯 II

    Given two words (beginWord and endWord), and a dictionary's word list, find all shortest transformat ...

  6. 【嵌入式硬件Esp32】安装MQTT服务器(Windows) 并连接测试

    对于不知道MQTT的肯定会问MQTT是干什么的....... 现在我有一个项目需求, 看到这个项目第一想法肯定需要一个服务器,所有的wifi设备和手机都去连接这个服务器,然后服务器进行信息的中转,类似 ...

  7. String初解

    String 类型是不可变的对象,因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后有一次看到一个代码段,如下: 这段代码返回的是ture,当时以为是f ...

  8. KAFA 监测| Kafka监测的方法和工具

    1.目标 在我们上一篇Kafka教程中,我们讨论了Kafka Tools.今天,我们将看到Kafka Monitoring.在此,我们将学习如何监控Apache Kafka的概念.此外,我们将涵盖在故 ...

  9. python实战项目 — 使用bs4 爬取猫眼电影热榜(存入本地txt、以及存储数据库列表)

    案例一: 重点: 1. 使用bs4 爬取 2. 数据写入本地 txt from bs4 import BeautifulSoup import requests url = "http:// ...

  10. day30——socket套接字(完全版)

    day30 基于TCP协议的socket循环通信 server import socket phone = socket.socket() phone.bind(("127.0.0.1&qu ...