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

SAPAPI开发方法大全

6月14日 托天庙投稿
  这是Jerry2020年的第40篇文章,也是汪子熙公众号总共第223篇原创文章。
  Jerry之前的文章:从SAPLeonardo到SAPDataIntelligence曾经提到,SAPLeonardoMachineLearningFoundation的机器学习API已经被标注为deprecated状态,将由SAP新的AI产品,SAPDataIntelligence所替代。
  在学习SAPDataIntelligence的过程中,Jerry算是了解到了一种新的API开发方式。本文首先简单回顾一下我从事SAP开发工作13年以来,接触过的各种SAPAPI的开发方式,然后再介绍SAPDataIntelligence里遵循LowCodeDevelopment(低代码开发)理念的API开发方式。
  文章目录
  (1)ABAPfunctionmoduleSOAMANAGER
  (2)基于事务码SEGW的SAPCRMOData服务手动实现
  (3)基于CDSview的OData服务自动生成
  (4)SAPCloudforCustomer里基于BusinessObject的自定义ODataAPI创建
  (5)基于JavaSpringBoot,NodeExpress等Web应用框架的API开发
  (6)Serverless架构
  (7)SAPDataIntelligenceGraph
  本文提到的API,指的是通过HTTP协议暴露出来,能直接通过浏览器,Postman,curl等各种工具,以及各种编程语言消费的API。在SAP生态圈内,最常遇到的是基于SOAP的WebService和串联SAPS4HANA前后台的OData服务。
  (1)ABAPfunctionmoduleSOAMANAGER
  最古老的技术,把ABAP系统里的函数通过SOAMANAGER发布成WebService。虽然古老,但至今S4HANA里的Service模块的新功能开发还在使用。
  https:blogs。sap。com20140520stepbysteptocreateconsumeandtracewebserviceinabapsystem
  我2014年的时候也写过一篇介绍SOAMANAGER使用步骤的文章,虽然到现在为止,这个工具已经更新换代多次了。
  (2)基于事务码SEGW的SAPCRMOData服务手动实现
  这是我最熟悉的SAPOData服务实现方式,因为我就是SAPCRMOData服务的开发者之一。SAP成都研究院CRM开发团队在2014和2015年开发这些OData服务时,SAPFioriElements的前身,当时的名称是SmartTemplate,还处于发展初期,所以那时候我们没有选择这项基于元数据驱动的开发方式。
  Jerry在2018年写过一篇文章SAPOData编程指南,里面详细介绍了这种方法。
  (3)基于CDSview的OData服务自动生成
  再后来,随着CDSview和FioriElements的成熟,我们可以基于加上了OData。publish注解的CDSview,直接生成OData服务了,具体工作原理在我的这篇文章里有介绍:
  揭开SAPFiori编程模型规范里注解的神秘面纱OData。publish工作原理解析
  在S4HANA里,除了在ABAPDevelopmentTool里手动给CDSview加上OData。publish注解之外,还可以采取另一种方式,纯粹在浏览器里完成操作。
  使用S4HANA里的CustomCDSViews这个应用,
  可以选择S4HANA里多个标准的CDSview来创建新的复合视图,
  并能根据自己的需求,来挑选哪些标准视图的字段需要包含到新的复合视图里:
  最后也是一键实现复合视图的OData服务发布。
  到了SAP云平台ABAP环境上,基于CDSview创建的ServiceDefinition和ServiceBinding,把OData服务和FioriUI界面的创建全部包办了。
  更多关于这种基于RestfulABAPProgramming模型的开发方式,请参考我的文章30分钟用RestfulABAPProgramming模型开发一个支持增删改查的Fiori应用。
  (4)SAPCloudforCustomer里基于BusinessObject的自定义ODataAPI创建
  前面在SAPS4HANAFioriLaunchpad里看到的CustomCDSView这个应用,即使不太懂技术的KeyUser,也能在浏览器里完成字段的搭配和OData服务的发布。
  SAPCloudforCustomer也有类似的设计,只不过供KeyUser选择的不是CDSview,而是C4C里标准的BusinessObject。
  KeyUser在浏览器的CustomODataService应用里能选择将BusinessObject节点里的哪些字段发布到OData服务里,此操作同SAPS4HANA里选择标准CDSview字段的思路是一样的。
  在C4C的CloudApplicationStudio里,还能基于标准BusinessObject创建WebService。
  总结:基于ABAP技术栈的SAP产品,运行于其上的OData或者WebService这些API,本质都是通过ABAPNetweaver的ICF(InternetCommunicationFramework)被外界消费的。我们观察其调用Url路径,就能找到SICF事务码里的对应的处理节点。
  以SAPCRMOData服务Url末尾的CRMOPPORTUNITY为例:
  在SICF事务码里能找到对应的同名节点。我们只需要在SICF里给这个节点绑定一个ABAP类,该节点对应的Url通过浏览器或者Postman,或者其他编程语言访问时,ABAPICF框架就会自动调用绑定的ABAP类。
  也就是说,应用开发人员只需要在ABAP类里实现业务逻辑,至于这个类运行时的实例如何被ICF调用,如何初始化和销毁等生命周期管理,ABAP开发人员完全不用操心。
  关于更多ABAPICF的介绍,请参考我的文章:一个13年ABAP老兵的建议:了解这些基础知识,对ABAP开发有百利而无一害。
  (5)基于JavaSpringBoot,NodeExpress等Web应用框架的API开发
  采用此类开发方式的生态圈是全球最庞大最活跃的群体,技术成熟稳定,相关文档和教材非常丰富。更新更先进的开发框架也在不断演化。开发人员通常在本地完成开发,再将应用部署到服务器上运行。也可以将应用打包成容器镜像,再以容器的方法运行在物理服务器或者SAP云平台,AWS,GoogleCloudPlatform,Azure等各种云上。容器数量到达一定规模之后,可以采用Kubernetes进行编排管理。
  Jerry这篇文章介绍了一个例子:在SAP云平台上部署和运行Docker应用。
  Jerry之前的项目里也消费过SAPCommerce的WebService:如何使用API的方式消费SAPCommerceCloud的订单服务。
  (6)Serverless架构
  云计算行业里的一个热门词汇,Serverless架构,并不意味着采用这个架构后就再也不需要服务器了,而是指应用开发人员不用关心开发好的应用如何部署到服务器,不需要考虑服务器的运行状态等运营和维护问题。传统Web应用的开发思路,如Jerry之前介绍的那样,通常在本地完成开发和单元测试,然后需要考虑采用何种方式,部署到何种服务器或者云上。
  而基于Serverless架构的API服务开发,根本就没有API部署的这个步骤。以Jerry之前介绍过的SAPKyma上的LambdaFunction为例,API函数本身的代码编写就是在云上完成。一旦保存,只要API维护的触发条件满足(事件触发或者Url触发),该API立即被调用。
  下图是我在SAPKyma里使用nodejs编写的一个LambdaFunction:
  我设置其通过HTTPS的方式被调用:
  在浏览器里访问这个HTTPSendpoint,LambdaFunction立即执行。
  从这个角度讲,Jerry觉得ABAP开发人员,在开发API的时候,一直就在享受着Serverless架构带来的便利。因为ABAP领域的开发,无论是通过SAPGUI,ABAPDevelopmentTool,还是通过各种KeyUser工具,本质上都是连接到ABAPNetweaver这个集应用开发和运行为一体的服务器上进行的,因而根本没有传统Javanodejs开发里的应用部署这一环节。
  关于更多如何使用LambdaFunction实现API的介绍,请参考Jerry的文章:
  从ABAPNetweaver的SICF到SAPKyma的LambdaFunction
  周伯通的空明拳,米诺斯的星尘傀儡线,SAPKyma的Serverless
  (7)SAPDataIntelligenceGraph
  这种方式严格来讲也算基于Serverless,使用者通过浏览器登录SAPDataIntelligence控制台,进行Graph建模。完成后启动,Graph就直接运行在SAPCloudPlatform的Kubernetes基础设施上了。
  之所以把这种方式单独拿出来介绍,是因为其又具有LowCodeDevelopment(低代码开发)的特质。
  看一个具体的例子。
  假设我想实现一个支持CRUD的API,消费者通过HTTPGET,POST和DELETE请求,能够在数据库里分别读取,插入和删除一条记录。
  低代码开发平台,通常都提供了图形化的用户界面,给使用者提供了通过拖拽组件和模型驱动开发的方式,结合少量的编码来快速创建应用或者API。
  访问SAPDataIntelligenceLaunchpad,进入Modeler:
  我们像小朋友搭积木一样,从左边的工具箱里,拖拽HTTPServer和若干个JavaScriptHandler到编辑页面里。
  这些积木一样的组件搭配在一起,如何就实现了支持增删改查的API功能的呢?由于篇幅原因,Jerry后续的文章会介绍,敬请继续关注。
  更多阅读
  SAPOData编程指南
  30分钟用RestfulABAPProgramming模型开发一个支持增删改查的Fiori应用
  一个13年ABAP老兵的建议:了解这些基础知识,对ABAP开发有百利而无一害
  在SAP云平台上部署和运行Docker应用
  如何使用API的方式消费SAPCommerceCloud的订单服务
  从ABAPNetweaver的SICF到SAPKyma的LambdaFunction
  周伯通的空明拳,米诺斯的星尘傀儡线,SAPKyma的Serverless
  从SAPLeonardo到SAPDataIntelligence
投诉 评论 转载

【linux系列】echon和echoe比较讲解对象:【linux系列】echon和echoe比较作者:融水公子rsgz文章出处:360doc个人图书馆〔其他平台均为盗版〕命令:echon……SAPAPI开发方法大全这是Jerry2020年的第40篇文章,也是汪子熙公众号总共第223篇原创文章。Jerry之前的文章:从SAPLeonardo到SAPDataIntelligence曾经……〔AHK〕报无效类字符串的问题在autohotkey里,我们会遇到错误提示框,显示无效的类字符串的错误。这是什么原因造成的呢?如果出现了这个错误,说明系统的注册表信息缺少或者……【Colab系列】系统命令大全讲解对象:【Colab系列】系统命令大全作者:融水公子rsgz文章出处:360doc个人图书馆〔其他平台均为盗版〕前言:在Colab中也是可以使用系……【Colab系列】怎么修改colab文件名称讲解对象:【Colab系列】怎么修改colab文件名称作者:融水公子rsgz文章出处:360doc个人图书馆〔其他平台均为盗版〕1点击新建nb……【Colab系列】使用python讲解对象:【Colab系列】使用python作者:融水公子rsgz文章出处:360doc个人图书馆〔其他平台均为盗版〕注意:1如果我们直接输入……抖音封面怎么设置能吸引人呢?抖音增加点击量。。。为什么我的抖音视频没人点进来看?抖音视频如何用封面吸引用户?你本人,就是你的封面这类封面的操作成本低,直接用视频里的某个截图,但需要你的内容有一定的深度。……第10章节:让我们来深入了解一下WMNCCALCSI。。。WMNCCALCSIZE的妙用当窗口的大小发生变化的时候,Windows会使用WMNCCALCSIZE这个消息来判断窗口客户区在整个窗口中的所处的位置。关于这个WMNCC……6000万牵手抖音,罗永浩,IP与红人成直播电。。。手机中国新闻】自从前锤子科技CEO罗永浩宣布进军电商直播后,收到的合作邮件高达上千封,可见很多商家都很期待和看好罗永浩的直播之路。罗永浩已经官宣将于4月1日晚间8点进行直播首秀……抖音运营有什么方法和技巧,三年实战经验运。。。抖音作为目前最庞大的一个短视频流量池,不管是商家还是企业都不愿意放过这个展示自己和宣传品牌的机会,作为公司或者企业的自媒体运营人员更加需要了解。1:在我看来,抖音的算法是……抖音全攻略:抖音新手0基础打造爆款账号,轻。。。你一定要非常清楚,抖音的红利是巨大的抖音有5个亿的用户,月活跃用户3个亿,3个亿的人在刷,但很少人在做。有意识去开抖音号的,很少,开了后每天都发,并且有团队运营互动的,更……抖音干货分享,从零基础小白到网红大咖教程抖音火,我们都知道,推荐机制也是说到烂大街,但是为什么你还是玩不起来?那么建议你好好看看这一篇文。抖音算法可以精准的计算出你的稀缺感,你缺少什么,你的注意力就在哪里!正因……
微信被盗了怎么办全球八大国际社交软件排行榜400电话怎么办理申请开通?如何通过网络赚钱?有哪些网上赚钱的好方法?163邮箱如何注册登陆腾讯视频怎样开启弹幕以及如何进行弹幕设置如何微信110视频报警word文档不小心被删除怎么恢复呢怎么隐藏qq等级让别人看不见台式电脑如何关机U盘分区之后如何恢复qq昵称怎么弄成空白,qq网名怎么弄成空白
喜欢夏天的那一抹绿摸鱼儿莼聪明是最让人上瘾的毒品补肾吃什么九种食物让你肾气十足你能不能转运全看家中这玩意摩羯男人与巨蟹坐女人其实绝配(双子座和巨蟹座配吗)婴儿感冒爸妈如何处理?益寿延年晒抖功哪里招模特(哪些淘宝店铺招模特)三国中法正是怎么死的法正结局介绍银行工作总结红米Note11系是一部非常完美的手机,红外NFC大电池,9

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