如何将SAP Multi Target应用部署到SAP云平台的Cloud Foundry环境去
SHINA是SAP HANA Interactive Education的缩写,是一个demo应用,用于演示如何开发SAP HANA原生应用。
这个应用包含了sample数据以及HANA数据库表,view,OData服务和UI,符合SAP HANA Extended Service Advanced Programming Model,由如下几个包组成:
core-db:核心数据模型
core-js: Data Generator, Purchase Order Worklist和Sales Dashboard的后端实现,基于nodejs
user-js: User的CRUD实现,也是基于nodejs和XSOData库。同时也演示了如何使用Cloud Foundry的job scheduling服务来创建和调度任务。
web: SHINE Launchpad 和其他应用的UI实现,基于SAP UI5。
site-content: SAP Fiori Launchpad必需的配置文件。

1. 我们需要将SAP提供的SHINA源文件clone到本地并且打包成mtar格式,因此需要下载MTAR builder。
从SAP Service Market上下载,其实就是一个.jar文件。

MTA是什么意思呢?Multi-Target Application, 由一系列software modules组成,每个module可以由不同的编程语言开发,以及使用不同的部署技术,但是这些module在开发和部署时共享相同的生命周期。
上文介绍的SHINE就是一个很好的MTA例子,数据库用HANA原生模型进行开发,前端页面用SAP UI5,而业务逻辑使用nodejs开发。这些module将会通过下文介绍的MTA builder打包成一个文件,然后统一部署到Cloud Foundry上。
在每个MTA应用文件夹的根目录下面都有个mta.yaml文件,维护了组成该MTA应用的各个module的类型,打包方式和其他信息。

2. 从github上将SHINA应用clone到本地:

执行命令 java -jar mta.jar -build-target=CF -mtar=shine-cf.mtar build


最后生成该150MB大小的mtar文件。现在可以把这个文件部署到cloud foundry上。

使用命令行cf deploy shine-cf.mtar将前一步打包生成的mtar文件部署到SAP云平台上。





成功部署之后,即可访问自动设置为Started状态的两个应用shine-web和site-web。


如果需要将部署的应用从Cloud Foundry上移除,执行命令行:cf undeploy com.sap.refapps.shine -f –delete-services

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


如何将SAP Multi Target应用部署到SAP云平台的Cloud Foundry环境去的更多相关文章
- 如何在SAP云平台的Cloud Foundry环境下添加新的Service(服务)
我想在SAP云平台的Cloud Foundry环境下使用MongoDB的服务,但是我在Service Marketplace上找不到这个服务. cf marketplace返回的结果也没有. 解决方案 ...
- 如何上传HTML5应用到SAP云平台的Cloud Foundry环境下
先使用WebIDE创建一个HTML5应用.New->Project from Template: 从可选模板里选择SAPUI5 Application: 创建一个HTML5 Module,取名为 ...
- OpenStack Newton:集虚拟化,裸金属和容器部署的统一云平台(转载)
2016-10-08木屐大数据在线 国庆长假第六天,OpenStack第十四版本Newton(牛顿?)发布,官方介绍中强调这是一个集虚拟化.裸金属和容器技术的一体化平台,可通过一套API来管理裸金属. ...
- 如何在SAP云平台上使用MongoDB服务
首先按照我这篇文章在SAP云平台上给您的账号分配MongboDB服务:如何在SAP云平台的Cloud Foundry环境下添加新的Service 然后从这个链接下载SAP提供的例子程序. 1. 使用命 ...
- 用JavaScript访问SAP云平台上的服务遇到跨域问题该怎么办
关于JavaScript的跨域问题(Cross Domain)的讨论, 网上有太多的资源了.国内的程序猿写了非常多的优秀文章,Jerry这里就不再重复了. 直入主题,最近我正在做一个原型开发:通过SA ...
- 使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数
最近Jerry接到一个原型开发的任务,需要在微信里调用ABAP On Premise系统(SAP CRM On-Premise)里的某些函数.具体场景和我之前的公众号文章 Cloud for Cust ...
- SAP云平台,区块链,超级账本和智能合约
前一篇文章<Hyperledger Fabric on SAP Cloud Platform>,我的同事Aviva已经给大家介绍了基于区块链技术的超级账本(Hyperledger)的一些概 ...
- OpenStack(二)——使用Kolla部署OpenStack-allinone云平台
(1).Kolla概述 Kolla是OpenStack下用于自动化部署的一个项目,它基于docker和ansible来实现,其中docker主要负责镜像制作和容器管理,ansible主要负责环境的部署 ...
- 学而不思则罔 - SAP云平台ABAP编程环境的由来和适用场景
最近Jerry写了一系列关于SAP云平台ABAP编程环境的技术文章,这些文章都是围绕着在云上的ABAP编程环境的具体知识点来分享,比如要完成一个具体的开发需求,所需要的编程步骤.这些文章陆续收到一些读 ...
随机推荐
- day1 java基础回顾-多线程
启动线程方式 方式一:继承Thread. 1. 自定义一个类继承Thread类. 2. 重写Thread的run方法,把自定义线程的任务代码定义在run方法上. 3. 创建Thread子类的对象,并且 ...
- 3、opencv 图像显示功能
#include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;i ...
- ]Linq to EF 增删改查
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...
- Netty入门系列(2) --使用Netty解决粘包和拆包问题
前言 上一篇我们介绍了如果使用Netty来开发一个简单的服务端和客户端,接下来我们来讨论如何使用解码器来解决TCP的粘包和拆包问题 TCP为什么会粘包/拆包 我们知道,TCP是以一种流的方式来进行网络 ...
- 数据可视化系列--svg入门基础(一)
一.前言 1.SVG(Scalable Vector Graphics)可伸缩矢量图形 特点: (1)使用xml格式来定义图形: (2)用来定义web上的使用的矢量图: (3)改变图像尺寸,图片质量不 ...
- js 实现发布订阅模式
/* Pubsub */ function Pubsub(){ //存放事件和对应的处理方法 this.handles = {}; } Pubsub.prototype = { //传入事件类型typ ...
- 如何使用Node.js搭建一个服务器
在node环境中运行下面的代码 "use strict"; const http = require("http"), path = require(" ...
- axios发送两次请求原因及解决方法
axios发送两次请求原因及解决方法 最近Vue项目中使用axios组件,在页面交互中发现axios会发送两次请求,一种请求方式为OPTIONS,另外一种为自己设置的. 如图: 什么是CORS通信? ...
- C 语言实例 - 阶乘
C 语言实例 - 阶乘 一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1.自然数n的阶乘写作n!. n!=×××...×n.阶乘亦可以递归方式定义:!=, ...
- [LOJ 2039] 「SHOI2015」激光发生器
[LOJ 2039] 「SHOI2015」激光发生器 链接 链接 题解 分为两个部分 第一个是求直线之间的交点找到第一个触碰到的镜面 第二个是求直线经过镜面反射之后的出射光线 第一个很好做,第二个就是 ...