SAP云平台里的三叉戟应用

时间:2022-12-07 20:49:30

大家第一次看到SAP MTA这个词组,会联想到什么?

SAP云平台里的三叉戟应用

Jerry第一次看到的时候,联想到的是那一个个足坛著名的三叉戟攻击组合。

SAP云平台里的三叉戟应用

海皇波塞冬(Poseidon),奥林匹斯十二神中地位仅次于宙斯的大神,海界的统治者,他的威严与大地无穷无尽的生命力及洪水相匹敌。三叉戟是海皇波塞冬的武器,外型似鱼叉,中间刺较长而边缘两根刺较短。这把武器因《圣斗士星矢》在国内的热播而被广大八零后九零后熟知。

SAP云平台里的三叉戟应用

由于三叉戟极富攻击力的视觉外观,国内外很多球迷喜欢将很多成为无数后卫噩梦的足坛攻击性组合称为“三叉戟”组合,并使用构成这些组合的球星名字首字母的组合命名,比如巴塞罗那队曾经的南美三叉戟MSN,以及死敌皇家马德里的欧洲三叉戟BBC.

当然,咱国内足坛也有自己的三叉戟,比如令无数老球迷津津乐道的“金玉圣”三叉戟:李金羽,张玉宁,曲圣卿。

SAP云平台里的三叉戟应用

刮起青春风暴的辽小虎们凭借无坚不摧的金玉圣三叉戟,在1999年甲A联赛里差点创造了德甲凯泽斯劳滕般的奇迹,最后仅以1分之差,位于山东鲁能泰山队之后,屈居亚军。

(Jerry:我大四川全兴队这一年高开低走,不过还是创造了四川队的历史最佳名次)

SAP云平台里的三叉戟应用

所以Jerry第一次看到SAP MTA这个组合时,虽然视觉上看到的是Multi Target Application,然而脑子里却习惯性地把给我留下深刻印象的球星名字和MTA进行匹配:

M:Makélélé

马克莱莱,法国著名球星,司职防守型后腰,在Jerry心中他是最被低估的巨星之一。绿茵场上总有一些默默无闻干着脏活的“蓝领”球员,当球队进球时镁光灯的焦点从来不会落在他们身上,然而一旦缺少他们,所有人才发现整只球队都玩不转了。马克莱莱就是这样的低调实力派球员,实力远大于名气。重心低,下盘稳,一对一缠斗能力极强,防守动作成功率极高,以其惊人的横向覆盖能力,使得他在球队里踢的位置被称为“马克莱莱位置”。

SAP云平台里的三叉戟应用

T: Totti

托蒂,意甲罗马队狼王,随着意甲在国内的直播而吸引了无数球迷。2017年8月14日,《天下足球》栏目推出的托蒂退役特别节目《狼图腾》,以天下足球栏目特有的催泪风格,送别了托蒂离开绿茵场。一个人,一座城,一袭红衣,一生传奇, 他早已是红狼之王, 永恒之城的图腾, 纵横28年屹立不倒。他的告别结束了一段童话,带走了一段光阴,也让国内无数八零后九零后球迷,送别了自己的青春。

SAP云平台里的三叉戟应用

A:Adriano

阿德里亚诺,巴西历史上继罗纳尔多之后又一位极有希望成为新球王的球星,他拥有成为球王的一切条件,巅峰期的阿德里亚诺无论是在真实的绿茵场上还是各式足球电脑游戏里都是bug一般的存在,有球迷称阿德里亚诺是现役球员莱万多夫斯基和C罗的综合体。

SAP云平台里的三叉戟应用

可惜造化弄人,阿德里亚诺像一颗流星一样迅速陨落了,坠入凡间的速度比罗纳尔迪尼奥更快。尽管阿德里亚诺远远没有达到专业人士和球迷期望他达到的高度,但他在国际米兰03到05年的巅峰表现,如今仍然是无数球迷津津乐道的话题。

SAP云平台里的三叉戟应用

Jerry排出的这个MTA组合虽然不是一个锋线三叉戟,但应该能算一个攻防俱佳,相当有竞争力的一个中前场铁三角吧?

扯淡完毕,进入正题。

SAP MTA: Multi Target Application

Jerry前一篇文章 学而不思则罔 - SAP云平台ABAP编程环境的由来和适用场景 里介绍过,随着SAP云平台的出现,SAP云平台开发生态圈告别了过去单凭ABAP打天下的局面。

SAP云平台里的三叉戟应用

伴随着SAP云转型的步伐,越来越多的编程语言,技术栈,工具纷纷加入SAP开发生态圈。现代企业级应用,越来越不青睐过去传统的单体式架构,取而代之的是采用微服务的思想,将复杂的单体应用根据业务拆分成一个个细粒度的分散的松耦合模块,这些模块可以由不同的编程语言和技术栈实现。

凡事有利就有弊,这种拆分除了让我们享受微服务架构带来的收益外,也引入了新的挑战,比如这些模块群的生命周期管理,统一部署和配置等等。SAP MTA的引入就是为了解决这些挑战,Multi Target Application里包裹的所有模块,不管它们采用何种异构的技术栈实现,都共享同一套生命周期管理。通过MTA管理的应用模块,所有运行时的依赖问题都能得到妥善处理。

本文只是对SAP云平台上的MTA模型进行Hello world级别的介绍,更多SAP MTA高级用法,请参考SAP官方文档

在SAP WebIDE里根据向导可以很容易地创建一个MTA项目:

SAP云平台里的三叉戟应用

创建模板选择Multi Target Application:

SAP云平台里的三叉戟应用

随便命个名:

SAP云平台里的三叉戟应用

从MTA右键菜单里,我们能看到支持许多不同类型的模块创建,大家体会到了Multi的含义了吗?这里简单起见,我先创建一个nodejs模块:

SAP云平台里的三叉戟应用

nodejs模块取名为hello:

SAP云平台里的三叉戟应用

这里维护的信息会写入最后生成nodejs模块的package.json文件里:

SAP云平台里的三叉戟应用

生成的package.json如下,做过nodejs开发的朋友都很熟悉了:

SAP云平台里的三叉戟应用

通过命令行cf login和cf buildpacks能看到当前登录的SAP Cloud Platform CloudFoundry环境里支持的buildpack列表,我们创建的nodejs模块需要的buildpack也在里面。这些buildpack可以用于对相应的模块进行编译,处理依赖,打包,确保它们能够顺利运行在CloudFoundry上。

SAP云平台里的三叉戟应用

我在这个hello world级别的nodejs模块里,实现了一个简单的打印当前运行环境所有的环境变量的功能。代码编辑完后,点击Run菜单运行,会自动触发依赖分析,打包和部署的动作:

SAP云平台里的三叉戟应用

部署完毕后,会生成一个应用的url,点击:

SAP云平台里的三叉戟应用

成功打印出了当前CloudFoundry运行实例上的环境变量:

SAP云平台里的三叉戟应用

依法炮制,创建一个MTA三叉戟的第二根尖刺,类型为Java模块:

SAP云平台里的三叉戟应用

模板选择Spring Boot Application:

SAP云平台里的三叉戟应用

换个名字:hellojava

SAP云平台里的三叉戟应用

这次就打印一个Hello World就完了:

SAP云平台里的三叉戟应用

同样点击Run菜单,触发build和部署,最后自动启动模块:

SAP云平台里的三叉戟应用
SAP云平台里的三叉戟应用

每个MTA项目都有一个描述文件,格式为yaml,里面记录了MTA包含的每个模块的技术明细。SAP官方文档里定义的很多高级用法,都在这个yaml文件里做文章。

SAP云平台里的三叉戟应用

在真实场景中,开发人员完成MTA的开发后,需要对MTA项目进行build,生成一个Archive文件,交给管理员由后者进行部署:

SAP云平台里的三叉戟应用

在MTA项目右键菜单里选择Build,生成这个Archive文件:

SAP云平台里的三叉戟应用

管理员可以用命令行或者SAP WebIDE里的菜单进行部署:

SAP云平台里的三叉戟应用

一旦管理员触发部署动作后,MTA项目里包含的所有模块都会被部署到SAP Cloud Platform上并处于运行状态。

SAP云平台里的三叉戟应用

希望这篇文章能让大家对SAP云平台提供的MTA模型有一个最基本的认识,感谢阅读。国庆黄金周的第二天,祝大家国庆愉快。

SAP云平台里的三叉戟应用

SAP云平台里的三叉戟应用
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
SAP云平台里的三叉戟应用

SAP云平台里的三叉戟应用的更多相关文章

  1. SAP云平台里Global Account和Sub Account的关系

    在Cloud Foundry环境里,一个Global Account或者Trial Account能够创建多个SubAccount,如图: 创建好的新的subaccount: 一旦subaccount ...

  2. 使用SAP云平台 + JNDI访问Internet Service

    以Internet Service http://maps.googleapis.com/maps/api/distancematrix/xml?origins=Walldorf&destin ...

  3. 使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数

    最近Jerry接到一个原型开发的任务,需要在微信里调用ABAP On Premise系统(SAP CRM On-Premise)里的某些函数.具体场景和我之前的公众号文章 Cloud for Cust ...

  4. 如何在SAP云平台ABAP编程环境里把CDS view暴露成OData服务

    Jerry 2016年在学习SAP CDS view时,曾经写过一个CDS view的自学系列,其中有一篇提到了一个很方便的注解: @OData.publish: true 加上这个注解的CDS vi ...

  5. 使用SAP云平台的destination消费Internet上的OData service

    通过SAP云平台上的destination我们可以消费Internet上的OData service或者其他通过HTTP方式暴露出来的服务. 创建一个新的destination: 维护如下属性: 点击 ...

  6. 如何在SAP云平台上使用MongoDB服务

    首先按照我这篇文章在SAP云平台上给您的账号分配MongboDB服务:如何在SAP云平台的Cloud Foundry环境下添加新的Service 然后从这个链接下载SAP提供的例子程序. 1. 使用命 ...

  7. 在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务

    我的前一篇文章 使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数介绍了在SAP云平台的Neo环境下如何通过SAP Cloud Conne ...

  8. 如何在Java代码中使用SAP云平台CloudFoundry环境的环境变量

    本文使用的例子源代码在我的github上. 在我的公众号文章在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务介绍了如何通过Cloud Connector ...

  9. ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证

    ABAP Netweaver 在事务码SICF里选择一个服务,在明细页面对Procedure字段点击F1,查看Logon Procedure的帮助文档. 通过这个链接打开对应的帮助文档,可以看到下列七 ...

随机推荐

  1. HTML在IE中的条件注释

    HTML在IE中的条件注释 HTML的条件注释在IE5中被首次引入,直到IE9.一直都是简单地判定用户浏览器(IE,非IE,IE版本)的一种手段,而在IE10的标准模式下,条件注释功能被停止支持(兼容 ...

  2. 2016中国APP分类排行榜参选入围产品公示

    2016中国APP分类排行榜参选入围产品公示   由中国科学院<互联网周刊>.中国社会科学院信息化研究中心.eNet硅谷动力共同主办的2016中国APP分类排行榜发布暨颁奖晚宴即将举行.此 ...

  3. java-Spring-1

    1.@Autowired 自动寻找合适的类型注入,byType2.@Qualifier("userDAOImpl") 存在多个相同类型时,指定固定的一个bean,和上面1配合使用3 ...

  4. Android四大图片缓存(Imageloader&comma;Picasso&comma;Glide&comma;Fresco)原理、特性对比

    四大图片缓存基本信息 Universal ImageLoader 是很早开源的图片缓存,在早期被很多应用使用. Picasso 是 Square 开源的项目,且他的主导者是 JakeWharton,所 ...

  5. hdu 4627 水数学题

    最小公倍数最大,也就是尽量让2个数互质,所以把n除以2 从中间向两边找就够了,自己写几组数据就能发现规律. 注意longlong存 #include<cstdio> #include&lt ...

  6. 软件快速开发平台 WebBuilder 6&period;8

    WebBuilder是一款开源的跨平台.数据库和浏览器的可视化Web应用快速开发平台.WebBuilder使用了多项最新的技术,使Web应用的开发更快捷和简单. 作为一款高效的Web开发工具,WebB ...

  7. LeetCode 538&period; Convert BST to Greater Tree (把二叉搜索树转换成较大树)

    Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original B ...

  8. 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)

    在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...

  9. 面试简单整理之IO

    1.字节流,字符流 整个Java IO体系都是基于字节流(InputStream/OutputStream) 和 字符流(Reader/Writer)作为基类,根据不同的数据载体或功能派生出来的. 2 ...

  10. redis学习-散列表常用命令(hash)

    redis学习-散列表常用命令(hash)   hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...