MTA或NEO环境中的单个项目

2020-08-18 01:02发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的SAP Cloud Platform社区,

我已经在NEO环境中开发应用程序一段时间了,但是仍然有一个问题需要我脑海中回答。 哪一个更适合NEO环境:具有不同模块或单独部署的单独模块的MTA项目?

我分别创建和部署项目:创建SAPUI5应用程序,进行开发然后单独部署。 Java应用程序也具有相同的生命周期。

然后我发现了有关MTA的信息,在我看来,它非常有用。 如果不同的模块/应用程序一起工作,请在一个MTA项目中创建它们,然后将它们整体部署。 它非常有条理和整洁。 为了创建MTA项目,必须使用Full-stack Web ide。 在内部创建MTA和模块后,我意识到了一些。 在部署选项上的项目上单击鼠标右键时,只有" Deploy to Cloud Foundry"使我想到了第一个问题:MTA仅适用于Cloud Foundry环境吗?

然后,我弄清楚了如何将MTA项目部署到NEO环境,但是这比应该的要困难得多。 经过许多问题和解决方案后,我终于进入了Java应用程序的hana(mdc)连接步骤。 我按照教程中的说明配置了xml并编写了Java类,但出现此错误:

ClassNotFoundException:com.sap.xs.jdbc.datasource.tomcat.TomcatDataSourceFactory

在我开发单个项目时,我很容易建立Hana连接,但是对于MTA项目,我已经在此问题上进行了两天的尝试,尝试了许多变通方法,但仍然遇到相同的错误。 我检查了NEO SDK,找不到此类。

因此,我正在考虑发展个人并放弃针对NEO环境的MTA。 但是我不知道此选项将来是否会对我造成限制。 MTA针对单个项目的优势是什么? 它们之间有区别吗?

任何答案都适用。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的SAP Cloud Platform社区,

我已经在NEO环境中开发应用程序一段时间了,但是仍然有一个问题需要我脑海中回答。 哪一个更适合NEO环境:具有不同模块或单独部署的单独模块的MTA项目?

我分别创建和部署项目:创建SAPUI5应用程序,进行开发然后单独部署。 Java应用程序也具有相同的生命周期。

然后我发现了有关MTA的信息,在我看来,它非常有用。 如果不同的模块/应用程序一起工作,请在一个MTA项目中创建它们,然后将它们整体部署。 它非常有条理和整洁。 为了创建MTA项目,必须使用Full-stack Web ide。 在内部创建MTA和模块后,我意识到了一些。 在部署选项上的项目上单击鼠标右键时,只有" Deploy to Cloud Foundry"使我想到了第一个问题:MTA仅适用于Cloud Foundry环境吗?

然后,我弄清楚了如何将MTA项目部署到NEO环境,但是这比应该的要困难得多。 经过许多问题和解决方案后,我终于进入了Java应用程序的hana(mdc)连接步骤。 我按照教程中的说明配置了xml并编写了Java类,但出现此错误:

ClassNotFoundException:com.sap.xs.jdbc.datasource.tomcat.TomcatDataSourceFactory

在我开发单个项目时,我很容易建立Hana连接,但是对于MTA项目,我已经在此问题上进行了两天的尝试,尝试了许多变通方法,但仍然遇到相同的错误。 我检查了NEO SDK,找不到此类。

因此,我正在考虑发展个人并放弃针对NEO环境的MTA。 但是我不知道此选项将来是否会对我造成限制。 MTA针对单个项目的优势是什么? 它们之间有区别吗?

任何答案都适用。

付费偷看设置
发送
4条回答
hongfeng1314
1楼-- · 2020-08-18 01:18

您好,尤努斯,

据我了解,在Neo或CF中构建和部署MTA会有所不同。 但从本质上讲,它始终与实现持续集成和自动化的应用程序生命周期管理有关。 在Neo中,您可以使用命令行工具直接部署Java应用程序,但是没有部署html5模块的选项。 因此,如果您计划使用CI并希望自动化html5的部署,则唯一的选择是使用MTA存档。 在CF中,建议使用MTA,但不建议使用MTA,因为始终可以使用application.yml描述符,并且cf CLI命令行界面支持两种方式。

Neo的MTA描述者语言具有较少的选择。 这更多是一种将应该作为解决方案一起工作的模块进行分组的方法。 而在CF中,此描述符允许更复杂的定义。 根据平台的不同,还可以自动使用描述符中包含的信息自动提供某些支持服务。 因此,CF描述符比Neo的强大得多。 也许这就是为什么您的基于WebIDE-FS的MTA无法在Neo上运行的原因之一,反之亦然。 例如,在CF中,您添加了HDB模块,而WebiDE在构建模块时已经为您创建了HANA数据库的实例。 但是,对于Neo而言并非如此。 在Neo中,您必须手动配置数据库(通过Neo命令行工具或通过座舱)。

是的,Neo必须使用MTA存档生成器。 如果为CF开发时选择使用本地IDE(例如Eclipse),则也是如此。 但是,当您使用WebIDE Full Stack时,目标平台是CF,而不是Neo。 该工具与CF完全集成。 因此,您可以定义所有内容,它负责构建过程,归档(mta)和部署。 如前所述,也可以通过Git,CF CLI和MTA Archive Builder来实现CI。

根据经验,我会坚持使用WebIDE进行Neo Developments,并开始将Full Stack版本用于CF部署。

关于,
伊万

哎,真难
2楼-- · 2020-08-18 01:29

嗨尤努斯,

不是。 单个项目部署始终是您的选择-无论是Neo还是CF。 MTA部署也是如此。

但是,在Neo中,如果计划多带带部署HTML5模块,则必须通过WebIDE进行。 含义:您无法对HTML5模块执行CI,因为Neo SDK命令行工具没有所需的功能。 如前所述,Neo确实支持MTA。

不是针对CF的部署工件。 CF仅针对WebIDE Full Stack。

希望这会清除一点。

关于,
伊万

ZJXianG
3楼-- · 2020-08-18 01:42

嗨尤努斯,

除了Ivan已经提供的信息之外,还为您提供了一个基准:我们正在生产Neo环境中处理数千个MTA,因此从这个角度来看,MTA是Neo环境中的推荐方法,以简化部署 并处理跨多个模块的应用程序的相互依赖性。

除上述论点外,MTA还将是通过变更管理方法处理SAP Cloud Platform应用程序的传输的先决条件,如增强的变更和传输(CTS +)和SAP解决方案管理器中的更高级别的变更管理产品所提供的( 质量门管理和Chane请求管理)。

Cloud Foundry和Neo的处理方式不同是正确的,并且我们知道目前对于Cloud Foundry环境而言,这要平滑得多。 因此,我们正在研究减轻Neo负担的方法-例如,我们计划很快为Neo提供一个MTA解决方案导出向导,该向导计划允许自动创建一个MTA文件(包含所有元文件)。 已经部署的应用程序。

对于您当前与SAP HANA连接有关的问题,我建议您在BC-NEO-LCM下打开一个事件,以便我们的开发同事看一下。 同事们真的很想了解他们的流程和工具的问题,因此,我们将不胜感激!

感谢+最好的问候,
鲍里斯

宇峰Kouji
4楼-- · 2020-08-18 01:26

Hello Yunus,

在重新部署解决方案期间,部署基础架构会尝试优化部署:因此,详细来说,对于Java模块,仅当服务在比较二进制文件时发现更改时才执行重新部署。 对于HTML5模块,该服务会比较名称和版本(并且只有在发现更改的情况下才重新部署)。 对于Portal和HCI内容,这不是由服务本身完成的,因此始终将相应的模块转发到具有自己的更改处理机制的相应目标运行时(这里,我缺少细节)。 对于配置,例如还会检查是否满足先决条件(只有在不满足前提条件的情况下,才会创建)。

因此,在您的示例中,如果在仅更新一个模块的情况下重新部署MTA,则在理想情况下,部署服务将仅重新部署该单个模块。

最诚挚的问候,
鲍里斯

一周热门 更多>