`
JerryWang_SAP
  • 浏览: 1025364 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

金庸和古龙,Netweaver和微服务,以及SAP Hybris Revenue Cloud

阅读更多

如果要找金庸小说里帮助Jerry提高编程水平最有用的一句话,无疑是:重剑无锋,大巧不工

杨过被郭芙斩断一臂后,以前掌握的编程语言,哦不,以前掌握的武功均无从施展。后来杨过无意发现一本编程秘籍,上书:重剑无锋,大巧不工。


杨过喃喃念着“重剑无锋,大巧不工”八字,心中似有所悟,但想世间剑术,不论哪一门哪一派的变化如何不同,总以轻灵迅疾为尚,这柄重剑不知怎生使法,想怀昔贤,不禁神驰久之。

春去秋来,岁月如流,杨过日日在海潮之中练剑,日夕如是,寒暑不间。木剑击刺之声越练越响,到后来竟有轰轰之声,响了数月,剑声却渐渐轻了,终于寂然无声。又练数月,剑声复又渐响,自此从轻而响,从晌转轻,反复七次,终于欲轻则轻,欲响则响,练到这地步时,屈指算来在海边已有六年了。

这时候杨过手仗木剑,在海潮中迎波击刺,剑上所发劲风己可与扑面巨浪相拒,神雕纵然力道惊人,也已挡不住他木剑的三招两式,这时他方体会到剑魔独孤求败暮年的心境:“以此剑术,天下复有谁能与抗手?无怪独孤前辈自伤寂寞,埋剑穷谷。”


杨过的重剑研习之路对Jerry编程有什么启发?

 

当今IT圈子里,新技术新名词,甚至新的编程语言层出不穷。一个程序猿,可以选择不停地学习,追逐这些新事物,就像杨过先后学了蛤蟆功,天罗地网式,玉女剑法,全真剑法,打狗棒法,玉箫剑法,弹指神通等。也可以选择静下心来,好好打磨程序员需要掌握的最基本技能。

杨过花了六年的时间在海潮中提升自己的内功,再重出江湖后面对以前同一级别的对手都能做到秒杀。Jerry也幻想有一天能像杨过那样,秒杀自己遇到的bug,而不是像现在这样,一个bug苦苦debug几小时。Jerry还在修炼的路上:Jerry的ABAP, Java和JavaScript乱炖

金庸对玄铁重剑的描写:“那剑黑黝黝的毫无异状,却是沉重之极,三尺多长的一把剑,重量竟自不下七八十斤,比之战阵上最沉重的金刀大就尤重数倍。两边剑锋都是钝口,剑尖更圆圆的似是个半球。杨过看剑下的石刻时,见两行小字道:重剑无锋,大巧不工。四十岁前恃之横行天下。”

重剑无锋,大巧不工 这八个字的字面含义:表面上看来越愚笨越平凡的东西,越可能蕴涵着精巧的极致。这难道不是在说SAP基于Netweaver开发的那些传统产品?

拿S/4HANA为例,里面包含数以万计的数据库表,任何一张单独拿出来都貌似平平无奇。这一张张不起眼的表,就像一部德国战车上一个个精巧的零件,将SAP三十多年企业管理领域深耕的功力体现到了极致。

并不是每个剑客都能运用杨过的玄铁重剑。同样的,基于Netweaver的应用开发也需要一些门槛。SAP传统的产品本质上是一个monolithic系统,底层数据库的内容通过API暴露出来后,并不能够直接给UI消费。UI和API层之间往往还有其他的中间层存在,换言之,应用开发人员无法真正做到“专注于应用逻辑本身的编写”,仍需花费精力掌握一些和业务不太相关的技术。

例如CRM应用开发人员需要熟悉如何将API返回的数据进行格式转换并存储到Genil容器中。S/4HANA开发人员在BOPF里实现应用逻辑,得需要知道如何使用/BOBF/IF_FRW_READ和/BOBF/IF_FRW_MODIFY。SRM开发人员除了会ABAP Webdynpro之外,还得掌握FPM的用法。不过好消息是,如果您的内功深厚,那么只要掌握其中一门,再接触其他的也能很快融会贯通。

另一位大师古龙,其武学设定和金庸截然不同。翻开任何一篇古龙的作品,使用关键字”内功”搜索,几乎都不会得到结果。在古龙的武侠世界里,“快”就是王道。比如作品《小李飞刀》里,对李寻欢的武功招式没有任何正面描写,而是用侧面描写的方式突出其飞刀之快:


伊哭瞪着李寻欢,狞笑道:“你还有什么话说?”

李寻欢望着他青光闪闪的青魔手,缓缓道:“只有一句话。”

伊哭道:“什么话?你说!”

李寻欢叹了口气,道:“你何必来送死?”

他的手忽然挥出!

刀光一闪,伊哭已凌空侧翻了出去。

雪地上已多了串鲜血!

再看伊哭的身影已远在数丈外,嘶声道:“李寻欢,你记着,我……”

说到这里,他声音突然停顿。

寒风如刀,天地肃杀雪地上变得死一般静寂。

 

SAP很多云产品,例如SAP Hybris Revenue Cloud,基于微服务架构开发而成。同SAP传统的基于Netweaver的产品相比,这些云产品的应用逻辑开发一大特点就是:开发速度快。借助SpringBoot和CloudFoundry的命令行工具CLI,开发人员可以真正专注于微服务应用逻辑的编写,然后将微服务快速部署到云平台上。UI可以用轻量级的AJAX调用来消费这些微服务。

比如Revenue Cloud的客户主数据列表,就是通过部署在revcloud.XXX.eu10.revenue.cloud.sap上的一个微服务返回的。该微服务在UI5的代码里通过轻量级的AJAX调用进行消费。

基于Netweaver和基于微服务架构的两种开发方式,很难评价哪种更好,就像无法评价金庸和古龙谁的作品更优秀一样。Netweaver作为SAP传统应用的开发和运行平台,通过30多年岁月洗礼被证明是适合S/4HANA这种超大规模的复杂系统开发。而像SAP Hybris Revenue Cloud这种基于微服务架构的新一代云产品,体现了SAP在云时代紧跟行业发展步伐的决心。

下面邀请我的同事,SAP成都研究院Revenue Cloud开发团队的陈文心(Chen Vicky)给大家简单介绍Revenue Cloud目前已经发布的一些功能。

Vicky 2016年毕业后加入SAP成都研究院,90后青春靓丽程序媛一枚。我从她的朋友圈盗了一张图:

 

SAP Hybris Revenue Cloud功能概述

大家好,我是陈文心,现在工作于SAP成都研究院Revenue Cloud开发团队。大学实习时做的是SAP ERP ABAP开发,进入SAP后与Hybris Renenue Cloud 一起发展,走过了两个春夏秋冬。目前工作使用的技术栈是Java,JavaScript和SAP UI5。作为一名程序员,追求质量是永恒不变的真理。从代码的正确性,可扩展性到交付流程的完整性,我还需要向SAP成都研究院其他资深开发人员学习。

生活中喜欢读书,听歌和弹古筝。 最爱的一本书是罗曼罗兰的《约翰克里斯多夫》,听着歌写代码,灵感更能迸发。十年磨一剑,弹琴如此,写代码依然如此,有追求和付出才会有更好的结果。

下面是Revenue Cloud已经发布的功能概述,如果有朋友对这个云产品一无所知,希望看了这篇文章能有一些基本的了解。

SAP Hybris Revenue Cloud 是一种新的基于微服务的云解决方案,能够帮助企业在敏捷和可扩展的环境中快速部署高效的销售流程,从而充分利用其他SAP On-Premise和云产品。

SAP Hybris Revenue Cloud由三个主要功能组成:

  • 订阅式订单生成

  • 订阅式订单管理

  • 订阅式订单计费(包括使用费和一次性费用)

登陆SAP Hybris Revenue Cloud 进入主页面可以看到业务流和主数据的配置:

 

设想这个场景:使用Revenue Cloud的企业A有一个客户SUNNY,该客户需要订阅A公司的Email service用于自身产品发送邮件的需求。A公司的Email service属于订阅型产品,按使用收费。那么A公司从创建客户到客户账单生成这一端对端的流程,在SAP Hybris Revenue Cloud中便可通过上图界面完成。

Business Configuration 业务相关基础配置

首先进入Business Configuration配置产品流程需要的基础元素,创建一个ID 为A1的market:

 

创建一个单位,用于定义产品价格:EA

 

用已创建的单位EA来定义一个类型为基于客户使用的计费元素,ID为APICall。以及一次性和按月收费元素ONETIME,RECURRING:

 

在计费元素定义好之后,接下来便可配置在创建和编辑报价单时可以编辑哪些价格元素,以及在产品包含的数量使用费用中编辑和隐藏哪些价格元素。

 

接下来还可在Business Configuration中配置用户授权以批准报价,触发报价中审批流程的参数,计费的延迟(计算的结算日期会延迟指定的天数,从而产生新的结算日期)等其他与业务流程相关的参数。

 
 

上图表示在US East Market下的报价单,若价格折扣大于等于20%则该报价单需要审批。

Customers 维护客户主数据

基础配置完成后,便可以创建主数据。首先到Customers Tile里维护客户信息。可以创建个人客户或者企业客户。下图创建一个企业客户,维护客户的地址、联系人信息,并且指定到之前创建的Market A1-US East:

 
 
 

Products 维护产品主数据

客户创建完成后,接着维护产品信息,可以创建订阅型产品或者组合式产品。如图创建一个订阅式产品Mail_service,指定Market到US East,并创建对应的价格信息RatePlans。指定产品的账单生成日期于每月订阅日期,订阅该产品一次性费用为988美元,按月费用为50美元,同时产品包含1000次APICall,每超过100次收费20美元。

 
 
 

Quotes 创建报价单

主数据创建成功后,便可以在US East Market中对客户SUNNY创建Mail_Service的报价单,并给产品的一次性费用25%的折扣,同时指定报价单的有效日期以及产品的订阅有效起始日期。

 
 
 

点击Release发布报价单,由于之前在Business Configuration中对US East Market设置的最大折扣为20%,所以该报价单需要审批。点击“Send for Approval”将报价单送去请求审批。

 

在Business Configuration中对US East Market 创建的approval list中的员工便可同意或拒绝等待审批的订单。

 

待报价单审批通过后,便可发送给客户,待客户接受报价单后便可转到Order生成订阅订单:

 

Orders 查看订单处理状态

接着便可到Orders Tile查看订单状态,是否生成了对应的订阅订单(Subscription)。图中可看到Subscription创建完成。

 

Subscriptions 查看订阅订单

在Subscriptions Tile中查看生成的订单:

 
 

Billing Data 查看账单数据

在创建报价单时,由于把订阅开始日期定在过去,接下来便可以去查看生成的账单包含了一次性以及按月费用:

 
 

Usage Data 维护客户使用数据

客户对该产品的使用数据可在Usage Data中维护,倘若客户SUNNY使用了1200次APICall, 维护使用数据如下图:

 
 

再次查看账单数据,可以看到新的账单项生成。产品Mail_service定义的包含APICall为1000次,每额外的100次收费20美元,客户的usage为1200次,收费40美元:

 
 

由此,一个完整的由报价单到根据产品使用的账单生成的流程便完成了。

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

 
 
0
0
分享到:
评论

相关推荐

    SAP NetWeaver RFC SDK

    - 文档中详细列举了多个商标和注册商标的信息,包括SAP自身的产品如R/3、mySAP、SAP NetWeaver等,以及众多其他公司的产品和服务名称,如微软、IBM、Oracle、Adobe、Citrix、W3C、Sun Microsystems等。这反映了SAP...

    .NET SAP RFC API based on SAP Netweaver RFC SDK.zip

    .NET SAP RFC API是基于SAP NetWeaver RFC SDK构建的,用于在.NET环境中与SAP系统进行集成和通信。SAP Remote Function Call (RFC) 是一个接口技术,它允许外部系统(如.NET应用程序)调用SAP系统中的函数模块,执行...

    python连接sap需要的 sdk(SAP netweaver rfc)

    Python连接SAP NetWeaver RFC(Remote Function Call)主要依赖于SAP提供的NetWeaver RFC SDK,这是一个允许外部系统与SAP系统进行交互的开发工具包。本文将深入探讨如何利用Python通过SAP NetWeaver RFC SDK进行...

    SAP NetWeaver BPM流程配置手册.pdf

    SAP NetWeaver BPM(Business Process Management)是一种基于SAP NetWeaver平台的业务流程管理解决方案,旨在帮助企业自动化和优化其业务流程。该手册旨在指导用户如何使用SAP NetWeaver BPM配置流程,以实现业务...

    SAP NetWeaver 750_7 RFC SDK.zip

    SAP NetWeaver是SAP公司推出的企业应用服务器平台,用于构建、运行和集成各种企业应用程序。SAP NetWeaver 750_7版本是一个更新的发行版,旨在提供更高效、更灵活的IT环境。RFC(Remote Function Call)SDK是SAP ...

    SAP NetWeaver.zip_SAP_zip

    SAP NetWeaver的核心特性包括应用服务器、集成框架、门户服务、知识管理、流程集成以及开发和测试环境。以下是对SAP NetWeaver的详细解释: 1. **应用服务器**:SAP NetWeaver应用服务器是平台的基础,它提供了运行...

    SAP+NetWeaver集成应用平台

    ### SAP NetWeaver集成应用平台的关键知识点 #### 一、SAP企业服务架构(Enterprise ...通过采用SAP NetWeaver,企业不仅能够实现业务流程的快速重构和优化,还能提高整体效率和创新能力,最终实现可持续的增长和发展。

    在SAP_NetWeaver_业务仓库和SAP_ERP中运用水晶报表(Crystal_Reports_)XI_3.1

    在SAP NetWeaver业务仓库和SAP ERP中运用水晶报表(Crystal Reports)XI 3.1,是一项深入融合了商务智能与企业资源规划的强大技术应用。水晶报表,作为业界广泛认可的标准报表工具,其在SAP环境下的集成与应用,不仅极...

    SAP NetWeaver RFC SDK 7.5.0

    SapNwRfc 的依赖 包含windows和linux 操作系统

    SAP Netweaver Developer studio.pdf

    SAP NetWeaver Developer Studio 基于Eclipse平台构建,利用Eclipse的强大功能以及SAP的定制化扩展来实现其目标。该IDE的核心组成部分包括: 1. **本地文件系统**:支持在本地进行开发和编辑,使得开发者可以灵活地...

    SAP.NetWeaver.7.01

    在深入探讨SAP NetWeaver 7.01这一主题之前,我们首先需要理解SAP NetWeaver本身是什么。SAP NetWeaver是SAP公司推出的一个集成平台,旨在为企业的业务流程提供一个统一的技术基础。它包含了多种技术组件,如应用...

    Sap NetWeaver 架构分析

    随着技术的发展,SAP NetWeaver也在不断更新,引入了新技术如HANA(High-Performance Analytic Appliance)内存数据库和SAP Cloud Platform,以适应云计算和大数据的需求。 总结来说,SAP NetWeaver是一个强大的...

    SAP NetWeaver

    SAP NetWeaver的核心目标是实现企业信息系统的高效协同,通过提供统一的数据模型、业务流程和用户接口,它能够将不同的SAP应用以及非SAP应用无缝连接起来。这个平台支持多种标准和技术,如Java、ABAP、Web服务、SOA...

    SAP Netweaver开发指导

    对于SAP NetWeaver的开发,官方文档、SAP Learning Hub、社区论坛(如SAP Community Network)以及在线课程都是宝贵的资源,可以帮助开发者深入理解和掌握NetWeaver的各种功能。 **7. 持续集成与部署** 在...

    SAP NETWEAVER

    SAP NetWeaver 7.4是该平台的一个版本,提供了一个面向服务架构(SOA)的基础,支持各种不同的业务应用程序的集成和扩展。 根据提供的文件内容,我们可以了解到SAP NetWeaver 7.4的安装指南主要针对基于Linux系统上的...

    sapnetweaver快速向导培训文件

    1. SAP NetWeaver 称为 SAP 软件堆栈的中心基础,为其他 NetWeaver 组件(如 Process Integrator,商业智能,企业门户以及 ABAP 和 Java 应用程序)提供了一个灵活的平台。 2. SAP NetWeaver Application Server ...

    SAP NetWeaver 安装

    SAP NetWeaver是一款由SAP公司开发的企业级应用平台,它提供了集成的业务流程、数据管理和信息技术服务。在本文中,我们将深入探讨SAP NetWeaver的安装过程,了解如何配置环境,以及安装过程中可能遇到的关键问题...

Global site tag (gtag.js) - Google Analytics