当前位置:主页 > 云数据库 > 正文

企业网站_企业网站建设平台_速度快

时间:2021-05-04 07:18 来源:埃里克云 编辑:埃里克云

核心提示

面向对象编程和设计原则已经存在了50多年,所以很奇怪,显然没有人注意到从一开始就存在的面向对象设计中的巨大缺陷。相反,我们被告知面向对象(OO)设计原则赢得了这一天,...

企业网站_企业网站建设平台_速度快

面向对象编程和设计原则已经存在了50多年,所以很奇怪,显然没有人注意到从一开始就存在的面向对象设计中的巨大缺陷。相反,我们被告知面向对象(OO)设计原则赢得了这一天,因为它们提供了它们想要反映的真实世界场景的编程镜像。如果我们再深入一点看,OO设计实际上完全脱离了它要建模的世界。很明显,世界是由对象组成的——已知的和未知的,真实的和抽象的——OO设计基础中难以想象的缺陷直到今天还没有被发现,那就是调用对象永远不能完全掌握(接口)它们调用的对象:对象只能是它们的主人他们自己的界面;他们自己的界面。

让我们想象一下,在任何给定的IT环境中,客户对象与SalesContact对象进行协商。OO设计要求我们假装Customer对象完全掌握了SalesContact对象接口,因此确切地知道如何调用SalesContact对象的相关RequestQuote方法:奇迹般地猜到了该方法的名称,它的最新公开版本,基于错误的希望requestquote方法的定义不会随着时间的推移而改变。显而易见的现实是,Customer对象只能猜测SalesContact对象的接口,并希望该接口在短期内不会改变(例如,随着SalesContact提供的产品范围变得更加发达,因此也更加复杂)。除此之外,同一个客户对象可能需要与几个不同部门的几个不同SalesContact对象协商,而不是全部使用相同的接口版本,甚至是相同的接口(相同的API),我们必须考虑到,OO设计理念,就目前的情况而言,存在着巨大的缺陷。

什么考虑到这一点,尤其令人不安的是,SAP现在正致力于"SAP应用程序的API化……将智能套件转变为模块化套件"。言下之意,如果我们希望利用这一新一代的"模块化套件",SAP希望我们保持对其快速发展的每个模块的接口的完美掌握,并在这些对象接口随着时间的推移而发展时定期调整API调用。如果不同的SAP系统在同一个IT环境中并行运行(在大公司中经常是这样),会怎么样?没有问题,您只需将API调用调整到相应的对象接口n次(例如,4个不同的SAP后端=4个单独维护的API流):乘以调用方的数量。

如果我们在与SalesContact对象协商时考虑相同的客户对象示例,使用真实世界的主体,会怎么样事件驱动体系结构(EDA)的发展?在EDA理念下,Customer对象将使用其选择的事件负载格式和版本引发一个名为"QuotationRequested"的事件—因为Customer对象仅是其自身的主对象—以及选择订阅相应事件通道的任何SalesContact对象—无论其所在的内部或外部网络如何–将从事件代理接收此事件负载,并将按照其选择的方式(无论其所基于的技术或版本)执行操作:根据实际情况,SalesContact对象仅为其自身的主对象。

如果我们继续使用前面给出的4个不同SAP后端中的场景–最多4个不同的API版本–因此,我们可以想象,在刚刚给出的示例中,前3个SalesContact对象选择完全忽略最新的"QuotationRequested"事件,并决定不关心他们的部门(主机系统),第4个SalesContact对象可能相反地选择基于收到的'QuotationRequested'事件负载创建报价,并且一旦完成,触发包含所有相应数据的'QuotationCreated'事件。然后,同一事件代理将立即通知客户对象,此时,客户对象将按照其选择的方式处理此最新的"QuotationCreated"事件(可能在两次之间已经接受了另一个报价,因为根据真实世界)。

作为另一个对比点,如果第4个SalesContact对象触发的"QuotationCreated"事件负载可以在单个事件负载中以非常低的成本打包成多达10种不同的(JSON)负载格式/版本,该怎么办?好吧,假设触发SalesContact对象没有也不可能完全掌握所有订阅客户对象的接口,那么实际上每个客户对象都要决定它能够处理哪个嵌入版本的事件负载(只需忽略其他版本)。如果第4个SalesContact对象的底层主机系统由相关销售部门升级(例如,从SAP ECC6升级到SAP sales Cloud),对未更改的客户对象(主机系统)会有什么相应的影响?不会有任何影响!它将像以前一样处理它订阅的任何接收到的'QuotationCreated'事件,忽略最新的事件负载版本和格式。客户对象将不再被要求完全了解与之交互的每个SalesContact对象的接口,并将其演变与国外实体完全不相关的升级计划保持一致,而是只关注其自身内部工作的演变:这才是真正的问题世界。

SAP应该放弃其最近宣布的"API优先战略",转而开发其产品,模仿他们预期支持的世界。SAP不应采用API优先的策略,而应致力于构建真正反映现实世界的事件驱动体系结构,并纠正我们继承的1960年思维中的缺陷。

附录

  • 企业网站_新白娘子传奇百度云_折扣 企业网站_新白娘子传奇百度云_折扣

    你好,社区, BSI TaxFactory和TaxFactory SaaS发布版本11.0可用。 在我们的合作伙伴BSI将其产品/产品BSI TaxFactory 10.0的维护延长至2021年4月30日之后。SAP还决定在2021年4月30日之前为BSI TaxFactor...

  • 消息队列_华云服务器_限量秒杀 消息队列_华云服务器_限量秒杀

    啊。我已经很久没在这里写博客了-对不起? 但这是一个很好的机会让我重新上马,这是我与SAP TechEd Barcelona的SAP社区负责人Craig Cmehil的"无采访视图"(无采访视图就像一次真正的采访...

  • <strong>域名备案_查看数据库密码_怎么样</strong> 域名备案_查看数据库密码_怎么样

    在本文中,我们将看到如何在sapcloudfoundry环境中为Spring启动应用程序配置OAuth2授权。但是在这样做之前,让我们先熟悉一下这个实现中涉及的几个重要概念。 简介 OAuth2–是一个授权框...

  • <strong>MySQL数据库_网站cdn_多少钱</strong> MySQL数据库_网站cdn_多少钱

    您已经听说了SAP Graph在SAP TechEd Las Vegas 2019发布的消息。微软Graph也非常棒,非常相似(哲学上+技术上),它不仅非常有用,而且我会给你一个微软Graph的工作示例/教程,让你了解它,...

  • 京东云_网站建设中页面_学生机 京东云_网站建设中页面_学生机

    在可预见的未来,向S/4HANA过渡的公司特定规划已将每个SAP客户列入其议程。S/4HANA实施项目越来越近了,因此也有一个问题:在技术和开发层面必须做哪些准备?正是这个主题是"S/4H...

  • <strong>天翼云_网站服务器失去响应怎么回事_代</strong> 天翼云_网站服务器失去响应怎么回事_代

    大家好, 欢迎来到一个关于用户浏览器没有启用JavaScript的用户体验主题的简短博客。 考虑到1%的设计理念,如果我们考虑那些禁用或不可用JavaScript的浏览器的用户(出于"天知道为什...

  • <strong>对象存储_网站建设外贸_速度快</strong> 对象存储_网站建设外贸_速度快

    在本文中,我将展示如何通过负载平衡器为我们的生产数据库构建一个具有高可用性的HANA驾驶舱。我建议您开始阅读SAP指南HowTo:High Availability for SAP HANA cockpit using SAP HANA system replicat...

  • <strong>中间件_重庆网站建设策划_促销</strong> 中间件_重庆网站建设策划_促销

    SAP Customer Data Cloud在9月份推出了许多功能。如果你错过了这些,下面是我们9月份发布的几个亮点。 与苹果公司登录:苹果公司已经发布了使用苹果ID登录应用程序的选项。他们甚至规...

  • 消息队列_马云御任阿里巴巴_年度促销 消息队列_马云御任阿里巴巴_年度促销

    本周在拉斯维加斯TechEd看到的创新给我留下了非常深刻的印象。今年似乎出现了比过去更多的业务倾斜。主要的宣布是我们可以通过业务技术平台扩展SAP应用程序 HANA云服务(HCS)是业...