Create a Sample Application on SCP Neo Using SAP Cloud SDK

本文目录

  • How to generate a project stub using a Maven Archetype
  • How to understand the project structure and its artifacts
  • How to implement and understand the Hello World Servlet
  • How to implement and understand the integration test
  • How to deploy the project

按照本文介绍的步骤,最后得到的应用:

Generate project from archetype

由于您已经安装了 Maven,您可以使用它从 SAP Cloud SDK Maven 原型生成项目存根。 只需使用您的控制台(IDE 或操作系统),导航到您项目的父目录并运行以下命令。

mvn archetype:generate -DarchetypeGroupId=com.sap.cloud.sdk.archetypes -DarchetypeArtifactId=scp-neo-javaee7 -DarchetypeVersion=RELEASE

生成过程开始后,Maven 会询问您通常的模块参数。 本文选择 firstapp 作为 artifactId / 项目名称。

  • groupId - 代表您的组、公司或组织的标识符(例如 com.mycompany.cloud)
  • artifactId - 您的应用程序的标识符(例如 firstapp)
  • version - 您的应用程序版本(例如 1.0-SNAPSHOT)
  • package - 您的源代码所在的顶级包的名称(通常等于您的 groupId,例如 com.mycompany.cloud)

提供所需的值后,Maven 将从 Cloud SDK 原型生成新项目:

生成 Maven 项目后,您可以打开您喜欢的 IDE 并将该项目加载为 Maven 项目。 将项目导入您的 IDE 后,整体结构将如下所示:

Multiple-modules project

一旦软件复杂性增加,为您的应用程序运行多模块项目的优势就变得显而易见。 这样就可以方便地将代码分发和责任分配给应用程序或测试环境的开发人员。 在可靠性和连续性方面,您将看到前端测试和测试自动化与项目的经典后端测试一样重要。 这些专业领域需要不同的编程范式,因此需要不同种类的开发生命周期。 为了确保整体软件的稳定性和可靠性,多模块设置是最佳实践解决方案。

为了让您开始,让我们来看看传统的应用程序项目,以及经典的单元测试。 然后是集成测试,用于与外部服务器和资源的代码测试。 一旦涵盖了软件测试,您将简要介绍 Cx 服务器以进行持续集成和交付。

Application module 包含您的实际 Web 应用程序的源代码和配置。

cx-server 包含用于管理最佳实践持续集成和交付软件环境 (Cx) 的脚本和配置文件。 包含的文件允许 Linux 用户简单地创建他们自己的 Cx 服务器作为 Docker 部署的一部分。

Jenkins 是将要运行的服务器。 该自动化服务器有助于管理软件开发过程的所有技术步骤。

  • cx-server - 这个 Unix bash 脚本允许你在本地机器上启动和停止 Jenkins 服务器,作为 Docker 容器的一部分。
  • server.cfg - 这是服务器参数的配置文件。

一旦根据您的个人需求配置了 Jenkins 服务器,项目根目录中的文件就会变得有用:

  • Jenkinsfile - 此文本文件包含 Jenkins 管道的定义,并且是项目源代码的一部分。 它定义了专门为您的应用程序运行的步骤。
  • pipeline_config.yml - 这是您的特定应用程序的配置文件。

更多Jerry的原创文章,尽在:“汪子熙”:

在 SAP BTP 平台 Neo 环境里使用 SAP Cloud SDK 创建应用相关推荐

  1. 如何在SAP云平台Neo环境里进行workflow(工作流)的开发

  2. SAP云平台CloudFoundry环境里新建SAP UI5应用后,自动生成了哪些组件

    新建一个SAP UI5应用, 自动生成了一个MTA项目,包含一个html5 module,一个app router和一个UI deployer: 生成的完整yaml文件如下: ID: mta_app ...

  3. 如何在 SAP BTP ABAP 编程环境里直接调用 ABAP On-Premises 系统的 RFC 函数

    首先登录 ABAP On-Premises 系统,运行事物码:aco_proxy,为 RFC 函数 RFC_SYSTEM_INFO 和 RFC_READ_TABLE, 生成代理类元数据,格式为 xml ...

  4. 如何将SAP云平台Neo环境的Subaccount注册到IAS服务里

    IAS的全称是Identity Authentication Service. 登录SAP云平台的Neo环境,点击trust: configuration type选择成custom,然后点击Gene ...

  5. SAP BTP 平台 CloudFoundry 环境下编程概述

    SAP BTP,Cloud Foundry 环境是一个面向微服务开发和编排的开放平台即服务 (PaaS). 开发多语言应用程序 使用 SAP Java.Node.js 和 Python 构建包构建开放 ...

  6. SAP BTP 平台 CloudFoundry 环境入门级别的介绍

    原文链接 让我们首先解释 Cloud Foundry 的名称. 它是什么? Cloud Foundry(或 CF)是 Cloud Foundry 基金会(之前是 Linux 基金会)的规范和软件工具集 ...

  7. SAP云平台Neo环境支持nodejs module吗

    关于这个问题,请看SAP官方答复:https://launchpad.support.sap.com/#/notes/0002704141 不支持,neo环境只支持XSJS,Java和HTML5 mo ...

  8. 将Java应用部署到SAP云平台neo环境的两种方式

    方法1 - 使用Eclipse Eclipse里新建一个服务器: 服务器类型选择SAP Cloud Platform: 点Finish,成功创建了一个Server: Eclipse里选择要部署的项目, ...

  9. SAP云平台CloudFoundry环境里route 超过quota的错误处理

    试图往SAP Cloud Platform CloudFoundry用命令行CLI部署应用时,遇到如下错误: 原因是因为这个新建的名为Haytham的subaccount没有分配application ...

最新文章

  1. 45个优秀的国外电子商务网站设计实例
  2. Unable to instantiate Action, MenuAction, defined for 'QueryMenuAll' in namespace '/'MenuAction
  3. Python中的异常(Exception)处理
  4. Word2013中制作按钮控件
  5. php连接数据库配置优化,小蚂蚁学习mysql性能优化(9)--操作系统配置优化--mysql配置文件优化...
  6. SQLServer create schema
  7. 更改自身web项目的图标(默认为tomcat的小喵咪)
  8. python 调用 .netcore api_浅谈Python调用XBee的API来进行通讯
  9. nvcc fatal : '--ptxas-options=-v': expected a number
  10. ai人工智能_相信AI?
  11. python可以在手机上学吗_Python 读书
  12. linux gitlab安装教程,linux安装gitlab(官方)
  13. 伟大的父亲|顶级富豪写给儿子的一封信,点醒无数人!
  14. NBA球队中英文名对照大全附带各个球队的LOGO手机壁纸
  15. 腾讯2022校招薪资首发,白菜总包近40w!网友宣布:宇宙的终点是腾讯
  16. java 计算圆的面积_java使用对象计算圆的面积
  17. modelsim se 10.1a 下载与破解
  18. 云计算大数据时代所面临的机遇和挑战
  19. 微店怎么引流量?微店如何引流客户?微店引流方式有哪些?
  20. win7c盘空间越来越小_C盘空间越来越小,罪魁祸首原来是“它”,难怪100G也不够用!...

热门文章

  1. Map 的 key、value 是否允许为null
  2. iOS 仿支付宝刮刮乐效果
  3. Chipmunk僵尸物理对象的出现和解决(七)
  4. 在Excel中实现查询功能
  5. 比较第一与第二个字符串,是否有连续的5个字符相同.sql
  6. PHP5魔术函数与魔术常量
  7. 智能DNS及其工作原理: CDN实现原理
  8. Dynamips和Vmware完成CCVP试验(2)
  9. 如何获得select被选中option的value和text
  10. 深刻理解Websocket原理