纠纷奇闻作文社交美文家庭
聚热点
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

使用类似搭积木的低代码开发方式进行SAPAPI。。。

9月13日 终离去投稿
  这是Jerry2020年的第41篇文章,也是汪子熙公众号总共第224篇原创文章。
  Jerry之前的文章SAPAPI开发方法大全介绍的第七种SAPAPI开发方式,SAPDataIntelligenceGraph,实际上是LowCodeDevelopment(低代码开发)的一种体现。
  本文通过一个具体的例子来介绍,如何在SAPDataIntelligenceModeler的图形化界面里,通过类似小朋友玩积木的方式,将各种SAP发布的标准Operator搭配在一起,再通过少量的编码,得到一个支持增删改查的API。
  打开Modeler的Operators标签页,看到位于不同Categories下面总共存在超过300个Operator。
  每个Operator可以实现某领域的一个功能,比如连接ABAP系统并读取数据,生成随机数据,将数据写入某持久化存储,调用API等等。我们通过把这些Operators组合起来,最后实现一个端到端的场景。
  在动手使用这些Operator组建API之前,让我们先试试一些最简单的Operator。拖拽一个拥有《星际争霸》里人族雷达站图标的DataGenerator到编辑页面里。
  这个Operator定义了一个OutputPort,类型为String,意思是它生成的随机数,以String的类型,通过该OutputPort传递给其他Operator。
  上图DataGenerator的OutputPort指向了另一个TerminalOperator的InputPort,这代表了数据流的传递方向,从DataGenerator输出到Terminal。
  这些作为节点的Operators以及连接节点的有向线段组合在一起,构成了SAPDataIntelligence里的Graph(图)。
  SAPDataIntelligence官网上提到了其“拥抱开放技术”的一个特质:
  比如SAPDataIntelligence提供的KafkaConsumer和ProducerOperator,给其维护一个KafkaBroker的地址,就能无需编程,轻松实现生产者消费者场景:
  现在回到本文开头提到的增删改查API的需求。这个API可以让消费者通过HTTP的方式调用,通过API进行增删改查的操作对象仅仅维护在Graph运行时的内存里,实际就是JavaScript简单实现的对象键值对,为简单起见,省略了持久化操作。
  这个由Graph实现的API最后如下图所示,总共由6个Operator组成,其中一个HTTPServer,四个JavaScriptOperator和一个Multiplexer。
  根据帮助文档,HTTPServer这个Operator封装了最简单的HTTP服务器的功能,能够在用户配置的endpoints上接收HTTP请求。
  如何配置Operator?右键菜单里选择“OpenConfiguration”,点击Routes的编辑图标:
  根据SAP帮助文档,HTTPServerOperator只负责接收HTTP请求,并不负责收到这些请求后的业务处理,而是通过OutputPort交由Graph下游的其他Operator完成。Route配置信息一目了然,在路径objects上接收到带参数id的HTTP请求后,按照HTTP请求类型,分别将请求通过get,post和delete三个OutputPort转发给其他Operators。
  接下来我们实现HTTPGET操作的响应逻辑。从Operators标签页里拖拽一个JavaScriptOperator到编辑页面里,重命名为GETHandler,创建一个名叫request的InputPort,将其连接到HTTPServer的getOutputPort。
  右键单击GETHandler,选择OpenScript菜单项:
  由于预见到HTTPServer接收到GET,POST和DELET请求后,都有一些通用的逻辑要处理,比如从URL里解析出消费者传入的对象ID参数值,并交由下游Operator进一步处理。因此这里的设计是这三个Handler在收到请求后,仅仅构造一个命令对象,该对象包含这次HTTP请求所对应的内存中JavaScript对象键值对的操作类型(GET请求对应select,POST请求对应insert,DELETE请求对应delete)和传入的参数ID值:
  从上图看出这三个Handler的实现代码,除了通过commandOutputport传给下游节点的操作类型(objectStore。command)存在差异之外,并无其他区别。
  任意一个HTTP请求被HTTPServer接收后,只会触发这三个Handler其中一个。三种Handler产生三种可能的输出操作,通过名为command的OutputPort传递给上图中图标为三叉戟的三路复用器。这个复用器确保最后一个JavaScriptHandler能够同时处理这三种可能性,执行完对应的键值对操作后,将处理结果经过上图橙色虚线标注的数据流,传递给HTTPServer的InputPort。
  在名为ObjectStore的JavaScriptHandler内部,用变量objects定义一个空的JavaScript对象,作为键值对的存储实体。针对select,insert和delete三种操作,分别这个对象来实现增删改查。
  这样该Graph从接收到HTTP请求,到处理完请求将结果写入HTTPServer名为Response的InputPort,形成了一个完整的闭环。
  Graph开发完毕后,点击运行按钮,待其处于运行状态后,就可以使用Postman等工具或编程语言消费了。在控制台将其RuntimeHandle抄下来:
  首先测试API读取功能,试图读取一个ID为1的实例:
  https:apppipelinemodelerservicev1graphsoperatorhttpserver1objects1
  看到返回的提示信息“noobectwithID”就是我们在ObjectStoreJavaScriptHandler里硬编码的错误处理。
  接着调用HTTPPost插入一条key为1的JavaScript对象:
  然后用HTTPGET读取,这次读取成功:
  使用HTTPDELETE请求删除这个ID为1的对象:
  希望本文能帮助大家对SAPDataIntelligence里这种低代码开发方式有一个最直观的了解,感谢阅读。
  更多阅读
  SAPOData编程指南
  30分钟用RestfulABAPProgramming模型开发一个支持增删改查的Fiori应用
  一个13年ABAP老兵的建议:了解这些基础知识,对ABAP开发有百利而无一害
  在SAP云平台上部署和运行Docker应用
  如何使用API的方式消费SAPCommerceCloud的订单服务
  从ABAPNetweaver的SICF到SAPKyma的LambdaFunction
  周伯通的空明拳,米诺斯的星尘傀儡线,SAPKyma的Serverless
  从SAPLeonardo到SAPDataIntelligence
  SAPAPI开发方法大全
投诉 评论 转载

【阿里云系列】您的对象存储OSS预售资源包套。。。讲解对象:【阿里云系列】您的对象存储OSS预售资源包套餐OSSBAG,将在7天内到期作者:融水公子rsgz文章出处:360doc个人图书馆〔其他平台均为盗版〕nbs……在抖音上做广告有用吗?抖音上广告效果怎么。。。抖音是头条主打出品的一款短视频app,如同刷抖音已变成了老老少少的一种生涯情趣了,无比是每一次复旧都是为用户展现新的海报內容,这一点让用户的感想感觉很好。那麼,在抖音上做海报有……抖音打广告怎么收费?抖音官方广告怎么收费?抖音现在差错常火的一个APP服务平台,无所不在没人不明晰它的存有。因为,抖音是一款以歌曲为背景图,有艺术创意、有闪亮点的短视频服务平台,它占有强劲的散播度和微妙的转换率,抖音里……大数据技术,mapreduce版的wordcount,对文。java。io。IOEorg。apache。hadoop。conf。Cimpo……使用类似搭积木的低代码开发方式进行SAPAPI。。。这是Jerry2020年的第41篇文章,也是汪子熙公众号总共第224篇原创文章。Jerry之前的文章SAPAPI开发方法大全介绍的第七种SAPAPI开……这个简单的操作,能让你拥有最高级的享受。你所期待的,定会如期而至。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。哈喽,大家晚上好呀,进入今晚主题,对于电脑这个工具,很多……抖音作品数量与实际数量不符,抖音显示7个作。。。抖音是一款很流行的短视频APP,基本上很多人都在玩。但很多小伙伴说自己创作了作品数量上显示和自己看的的数量不一样,这是怎么一回事呢?还有小伙伴说自己作品上显示了7个,但自……【ai换脸系列】ai换脸的历史讲解对象:【ai换脸系列】ai换脸的历史作者:融水公子rsgz文章出处:360doc个人图书馆〔其他平台均为盗版〕提醒:建议大家电脑浏览我的网页,因……什么类型的抖音号好变现,抖音做什么领域更。。。很多小伙伴刚开始做抖音往往对于领域的选择特别的苦恼,不知道选什么比较好,觉得自己既没什么擅长的技能可以分享,对于做视频也没什么经验,就随便选择一个领域,导致后面很难涨粉和变现。……【Anaconda系列】如何安装Anaconda讲解对象:【Anaconda系列】如何安装Anaconda作者:融水公子rsgz文章出处:360doc个人图书馆〔其他平台均为盗版〕提醒:建议大家电……抖音作品数量与动态量不一样,抖音里动态比。。。抖音作品数量与动态量不一样,抖音里动态比作品多怎么回事日常生活、办公中,有时候会用到抖音,但有些小伙伴说自己的抖音动态和作品不同步?这是为什么呢?首先作品是自己发布……【Colab系列】colab可以与多个人共享作者:融水公子rsgz文章出处:360doc个人图书馆〔其他平台均为盗版〕提醒:建议大家电脑浏览我的网页,因为手机浏览网页代码会自动缩成一行,很不方便……
如何在iPhone、iPod和iPad上编辑和裁剪照片如何使用光影魔术手批量编辑如何安装MinecraftForge如何清洗键盘如何升级到SnowLeopard如何提高网络下载速度如何查看浏览历史如何删掉Windows中的用户历史记录如何给iPhone制作铃声如何重置PS3如何注册一个微信官方账号如何锁定被盗的手机
新鲜未必好这些水果放一放吃着更健康探寻中国古代科学的发展路径关于我的生命的一点思考脸上过敏是什么原因讲解最详细的脸上过敏原因【歌词】梨园后梦歌手:宋子楚热博聚热点网 比人类强大,聪明的外星人会吃人类吗?刘慈欣认为会鸡爪价格今日价广州明星被丈夫连刺13刀惨死,嫁入豪门三年,为何遭枕边人痛下杀手脸部卸妆可以用来卸眼妆吗?跑步前需要卸妆吗?小米生态链新品“防沉迷”手机:孩子用手机,家长说了算热博聚热 盘点十大国产优秀动漫,国产的动漫其实也有好作品谷歌母公司Alphabet第三季净利润189亿美元,同比增长

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形