主页 > 云服务器 > > 正文

美国服务器_网站建设供应商_高性价比

来源:胜利云 发布时间:2021-08-26 14:48 标签:服务器美国网站建设供应商性价比
浏览:

美国服务器_网站建设供应商_高性价比

不久前,Christian Drumm、Fred Verheul和我有一个"tweetscussion",Christian已经在昨天的博客问题中总结了这个问题:用于附加组件开发的系统设置是什么?。在试图找到一个适合这篇文章的答案的同时,我想到了越来越多的细节,所以我决定用一两个自己的博客来继续讨论。现在,我想谈谈ABAP中"缺少分支支持"的主题

分支支持可能会非常棘手,即使您只考虑源代码和相关文件。实际上,分支并不难,它是合并和相关的清理操作,但是大多数相关的问题要么已经解决,要么至少已经自动化到大多数开发人员可以使用的程度。好吧,算是吧

(Randall Munroe的xkcd#1597,在Creative Commons Attribution non-Commercial 2.5许可证下出版)

对于一般的非ABAP项目,移动大数据,实际上并不直接从VCS/RCS的任何分支运行代码。至少,您必须签出代码,也许将其编译成二进制文件,然后在本地运行和/或将其部署到服务器安装。即使对于运行该软件的开发人员来说也是如此—即使您不考虑将.war/.ear文件部署到生产环境中,您也需要一个在本地运行的应用程序服务器实例来尝试该应用程序。显然,更经常的情况是,这个过程可能是一个痛苦的解剖过程。

ABAP环境在几个方面是根本不同的:

让我们暂时想象一下,实际上有一种方法可以创建一个ABAP类的替代版本,一个分支,并且可以同时使用原始版本和分支版本同一时间。显然,您需要以某种方式引用不同的版本。在非ABAP项目中,签出工作副本时通过选择不同的分支来实现。既然你没有在ABAP中签出任何东西,淘客佣金,我们就需要一个不同的方法。首先想到的可能是在代码中引用类时指定版本。这将是一个坏主意——不仅会给代码增加很多混乱,而且会使切换到新版本的"库"成为搜索和替换代码中引用的艰巨任务。那么更高级的分组如何,例如"Package ABC Version 2 requires Package DEF Version 3"?虽然这种方法会使处理关系的操作更容易一些,但它不会改变另一个根本问题。假设您的包当前需要版本1中的两个框架A和B,而版本1中的框架B又需要版本1中的框架A。现在让我们假设框架A有一个改进的版本2,框架B的开发人员出于某种原因决定切换到该版本。并非由于您自己的过错,出现了一个冲突:您需要同时使用一个版本1和版本2的框架—这实际上是不可行的。欢迎来到地狱。有很多方法可以解决这个问题(毕竟,世界上其他地方确实可以应付),但这又增加了另一个层次的复杂性。不幸的是,我们只触及了表面。

在讨论ABAP的分支支持时,我经常重复的一句话就是记住"ABAP远不止是代码"。让我们举一个简单的例子:一个类有一个getter方法,它返回一些描述,并且没有特别的原因,这个描述是一个60个字符的文本字段,它是使用数据元素和域键入的。出于某种原因,决定说明需要支持长度超过60个字符的文本,并且由于关于新的最大值结尾的讨论在不久的将来似乎不会收敛,因此决定通过更改或替换域将返回类型更改为字符串。如果您在一个版本中这样做,您可能会中断一些调用类,因为您现在返回一个字符串,其中它们只需要一个固定长度的字符字段—因此您创建了一个新版本的包,并确保涵盖了刚刚修改的getter的所有使用情况。但是,您可能没有注意到该特定数据元素也被用于数据结构中。即使您没有触及该数据结构,也可以通过更改其中一个包含的数据元素来隐式地更改它。因此,通过一些复杂的机制,系统必须检测到这种情况,并创建新版本的数据结构。可能,但很复杂,大数据能做什么,而且可能相当昂贵。

现在让我们更进一步,假设该结构包含在一个透明的数据库表中—您可以立即看到它的发展方向。您需要两个不同的模式版本的数据库表,它们可以同时访问,并且可以互换使用。实现这一目标并非易事,即便是对简单的领域变革,更不用说更复杂的结构变革了。即使您成功地为数据库表实现了这一点,您也需要支持不同版本的授权对象、屏幕以及几乎任何其他可以从编码中引用或引用编码的对象类型,ABAP系统内的分支是不会发生的——至少在短期内不会。在设计系统时,没有考虑到对并发分支的支持,因此必须将整个系统拆分并自下而上对其进行重新设计,可能会破坏几个地方的向后兼容性,并引入大量可能的错误。留给我们的唯一选择是使用多个系统——事实上,由于这种选择从一开始就几乎存在(尽管最近才变得可以负担得起),因此有许多方法可以构建开发系统的景观。然而,由于这堵文字墙已经达到了相当高的高度,这个话题将不得不等待另一篇文章。

嗨,沃尔克,

我不确定我是否对开头的段落感到不满……"对于一般的非ABAP项目,"你指的是哪些非ABAP值?如果你提到耳朵和战争,你一定是指java。

我现在大部分项目都是在本地或通过虚拟机完成的。这对我很有效。那么我的非ABAP值==['PHP'、'Python'、'JavaScript'、'NodeJS']

关于你的主要观点,ABAP系统中的版本控制是一个严重的"瓶颈"。

快乐的日子,

奈杰尔

嗨奈杰尔,

我不太明白你的论点。你写道,

而我说

据我所知,多少是相同的-或者是?

发表评论
验证码: 点击我更换图片

注:网友评论仅供其表达个人看法,并不代表本站立场。

热门文章

  • 云存储_企业邮箱是怎么申请_便宜的
    <strong>云存储_企业邮箱是怎么申请_便宜的</strong>

    云存储_企业邮箱是怎么申请_便宜的

    雪花数据仓库中的端到端加密2016年4月13日作者:马丁·亨切尔彼得·波维尼克云数据安全,工程作者:马丁·亨切尔和彼得·波维尼克。保护客户数据是雪花...

  • 分布式数据库_八度网络云主机_便宜的
    <strong>分布式数据库_八度网络云主机_便宜的</strong>

    分布式数据库_八度网络云主机_便宜的

    在云数据库服务的世界里,对客户来说,没有什么比不间断地访问他们的数据更重要的了。在在线游戏和金融服务等交易率较高的行业,即使是最小的中断...

  • 数据库服务器_服务器带宽_哪家好
    <strong>数据库服务器_服务器带宽_哪家好</strong>

    数据库服务器_服务器带宽_哪家好

    图1。派特法是一家领先的油田服务公司派特法为能源客户锁定价值派特法设计、建造、运营和维护石油、天然气和可再生能源资产。公司致力于数字化转型...

  • MySQL数据库_不能用邮箱注册企业邮箱吗
    <strong>MySQL数据库_不能用邮箱注册企业邮箱吗</strong>

    MySQL数据库_不能用邮箱注册企业邮箱吗

    如今,企业被迫维护两种类型的分析系统:数据仓库和数据湖。数据仓库提供了有关业务健康状况的重要见解。数据湖可以发现客户、产品、员工和流程的...

  • 微软云_服务器售后_年度促销
    <strong>微软云_服务器售后_年度促销</strong>

    微软云_服务器售后_年度促销

    使用Azure的客户管理密钥进行数据加密2019年9月6日|3分钟读取作者:保卢斯雪花新闻,雪花科技2017年,雪花宣布使用AWS密钥管理服务(KMS)支持客户管理密...

云储存

更多 >
  • <strong>天翼云_格来云游戏服务器未连接_便宜的</strong>
    天翼云_格来云游戏服务器未连接_便宜的

    此设置对所有用户都是全局设置! 在工作中心URL末尾添加"sap language=DE&sap config mode=X 或 ags\U workcenter?sap配置模式=X 3。点击"Tabstrip控件" 4。点击"重新排序...

  • 京东云_网站建设新闻动态_哪家好
    京东云_网站建设新闻动态_哪家好

    90%的首席执行官认为,他们必须实现业务数字化,但数字化转型真的会对化工等成熟行业产生巨大影响吗?数字化转型也将改变化学工业。你能想到的最极...

云储存云主机_流媒体服务器搭建_代金券
云储存分布式数据库_分布式数据库系统第二版课
云储存金山云_mysql附加数据库_12月免费
云储存分布式数据库_如何下载百度云盘里的文件
云储存云服务器_服务器位于美国_免费6个月