一文盘点Mendix在SAP之上的那些事儿

news2024/12/29 9:09:32

前言

近来接手了2个与SAP有关的低代码案子,客户都会问Mendix和SAP之间怎么回事。

2017年开始Mendix 成为SAP Endorsed APP级别合作伙伴,并再度升级为Solution Extension最高级别。

两家公司风雨同舟七载,服务的全球大客户不胜枚举。

商业世界没那么多儿女情长,向来都是互相需要,大家能走到一起,必然是看上了对方一些东西的。

Mendix 作为一个开发技术平台,需要SAP的客户群和业务场景。

SAP作为核心商业系统提供者,持续向云,需要Mendix 这样成熟领先的低代码平台帮助客户上云。

具体点讲,SAP 到2027年将停售on premise ERP产品,上云过程提倡Clean core。

围绕如何clean core,SAP深知Mendix能帮上大忙。这也是为啥这2个案子都来自SAP原厂推荐。

imagePartnership.png

有人说,西门子和SAP同为德国公司总有些先天信赖,这个暂且不论。

今天单从技术和方案角度,我们做个全面盘点。

Bottom up!先从最底层开始讲。

SAP开发,大体可以分为ERP之内开发和外挂式开发,技术路线也不尽相同。

ERP之内开发涉及RICEF几种类别,有表单、报表、接口、转换、增强,有时会加一个工作流。

这种开发用的主要是SAP ERP原生开发语言ABAP,表单和报表开发通常也是基于ERP原生界面SAP GUI。

这套方法运转了三四十年,倒也没啥问题,懂ABAP开发一度也是非常拿得出手的简历亮点。

随着商业竞争(内卷)加剧,各大企业不断尝试业务创新,基于传统核心系统之上的个性化二开需求陡增。

互联网时代到来,也让业务用户和客户对于用户体验要求水涨船高,SAP原生GUI开始饱受诟病。

外挂式开发在SAP项目中向来有之,以上趋势只是增加了其存在的必要性。

当客户希望在SAP GUI之外运行业务流程,同时和核心系统有紧密数据和服务交互时,就会有外挂开发。

迎合这一需要,SAP一方面提供基于ABAP原生语言的WebDynpro for ABAP,以及freestyle的BSP。

另一方面,鉴于主流的开发语言并非ABAP,SAP也提供开发SDK,比如面向Java的JCo和面向.net的NCo.

到这,从技术角度讲,SAP原厂算是十分良心了。

然而,开发从来不只是开发,尤其面向ERP这种业务密集型系统,理解业务流程和对象举足轻重。

具体来讲,开发人员可以对SAP SDK很熟悉,但要理解并运用 ERP中诸如MKPF(物料凭证抬头)、MSEG(物料凭证行项目)、MAKT(物料描述)、MATNR(物料编号)等表格和字段,没有几天钻研或是业务顾问一旁辅助是不可能的。德文为基础的表格字段命名让这一问题雪上加霜。

如果说这个问题还可以通过堆时间堆人应对了,来自SAP自身的变革则让这一问题需要一个彻底清晰的解决方案。

七八年前开始SAP提出全面云转型,并为ERP的全面云化设置了硬性时间线——即2027年停售本地版ERP。

如何确保Installed base客户不为旧的in App开发牵绊丝滑上云?

又确保新客户的个性化业务诉求不为云上标准核心所限?

SAP为此推出一系列云时代云技术平台BTP上的开发工具和技术栈,比如SAP CAP、SAP Fiori、SAP MDK、SAP Business Process Automation、SAP Cloud Foundry environment CLI等。

这些工具的好处是给予新老客户更多的处理二开或外挂场景的手段,与之相随的是基于SAP的开发技术选型更复杂了。并且,工具的增加并没有很好解决上面提到的开发在业务密集型场景下的理解困难。

出路在哪?成熟可靠经过验证的低代码平台!

EndorsedPage.png

Mendix 集成层面提供2套SAP系统连接器,分别是BAPI Connector of SAP Solutions 和OData Connector for SAP solutions,完整覆盖了ECC时代和云时代的SAP系统接口类型。与此同时,Mendix提供 Model Creator For SAP Integrations,可以基于BAPI接口和OData service自动抓取SAP系统之内业务对象及关联关系。这样数据和服务打通问题得到解决,并且能在完整的业务颗粒度(BAPI服务或OData服务)下将全部对象抓取到低代码环境,大大减轻了开发人员业务理解负担。

再往上走。进入Mendix平台后,实体扩展、个性化逻辑、工作流和表单构建可以十倍速提效,开发者在低代码统一技术栈上就能完成SAP 系统之上的各种扩展和外挂开发。其中原理在于平台本身能力,本文不加赘述。BAPI和OData连接器提供了系列SAP系统集成服务组件,可以完成对SAP系统表的增删改查基本操作,以及RFC调用。

OdataConn.png

故事到此,还没结束。我们再往上走。

SAP前端除了旧的SAP GUI,还有SAP大力推崇的SAP Fiori,并且大量的核心transaction code已有Fiori的翻新版。Mendix 二开的应用如何与此有机融合保持体验一致性呢?

Mendix主打成熟,为这一点早就有所准备。Mendix提供SAP Fiori风格的前端模板,开发者只需从应用市场下载并套用该页面主题即可得到与SAP Fiori主风格完全一致的UX。如果是移动原生应用开发,Mendix还提供SAP最新Horizon Native UI模板,原生应用风格也可以完全兼容。大大减轻开发者前端的工作量。

Fiori.png

如何加入Fiori Launchpad?这个点就没啥Mendix特异性了。Fiori Launchpad本身接受URL注册,Mendix应用输出所需URL地址即可配置实现。

当然了,如果企业想采用Fiori之外的前端设计系统,Mendix完全支持自由发挥,实现企业自主风格UX。

Experience.png

往上走还有。想法周全的小伙伴可能要问了,如何实现与SAP云平台的单点登录?

不急,Mendix在SAP之上主打成熟,这个点也考虑到了。

如果企业接受的是SAP BTP统一登录控制,可以将Mendix应用直接部署到SAP BTP平台之上,并通过Mendix官方提供的BTP XSUAA连接器绑定BTP之上的IDP,实现BTP统一控制的应用单点登录。

XSUAA.png

如果企业用的是BTP之外管控的统一登录机制,比如OAuth、LDAP、SAML、OIDC等,Mendix则提供另外的SSO 模块,同样可以实现二开或外挂应用与SAP应用之间的单点登录。

Bottom up!还要往上,就是Mendix基于SAP的应用案例和行业模板了。

Mendix从SAP全球合作项目中抽取部分形成了应用模板或应用Demo,供开发人员下载体验,甚至作为快速启动包。

Resources.png

将以上关键字输入Mendix Marketplace就可获取对应App链接,比如:

DemoApp.png

好了,差不多到了最上面了。最后 Bottom up 🍻!欢迎SAP新老客户联系我们,尝试Mendix打开新的SAP世界!

参考:

  • 实现SAP BTP单点登录:https://marketplace.mendix.com/link/component/78091 XSUAA Connector for SAP Business Technology Platform | Mendix Documentation
  • SAP官方认定推荐Mendix:SAP Help Portal
  • SAP OData连接器实操:通过OData Connector连接SAP S/4HANA系统消费OData服务_sap dataservices连接s/4 odp-CSDN博客

关于Mendix

作为西门子Xcelerator平台的低代码引擎,Mendix正在迅速成为推动企业数字化发展的首选应用程序开发平台。Mendix让企业能够以前所未有的速度构建应用程序、促进IT团队与业务专家之间开展有意义的协作,并帮助IT团队保持对整个应用程序环境的控制。作为一直被领先的行业分析师视为“领军者和远见者”的低代码平台,Mendix是云原生的、开放的、可扩展的、敏捷的,并且经过实践验证。从人工智能和增强现实,到智能自动化和原生移动,Mendix和西门子Xcelerator已成为“数字优先”企业的中坚力量。Mendix已被46个国家的4,000多家企业采用,并建立了由30多万名开发人员组成的活跃社区,这些开发人员使用该平台创建了20多万款应用程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1563985.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【嵌入式智能产品开发实战】(十四)—— 政安晨:通过ARM-Linux掌握基本技能【链接静态库与动态库】

目录 链接静态库 动态链接 与地址无关的代码 全局偏移表 延迟绑定 共享库 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: 嵌入式智能产品开发实战 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论…

穿什么有这么重要?--装饰模式

1.1 穿什么有这么重要? 约会穿什么? "那要看你想给人家什么印象?是比较年轻,还是比较干练;是比较颓废,还是要比较阳光;也有可能你想给人家一种极其难忘的印象,那穿法又大不一样…

算法错题本

这里写目录标题 错题本注意数据的耦合性对于无解情况的处理思路一组数据以0为结束标记,如何输入到数组中,并计数多个数据进行比较链表删除重复元素的启发循环体里谨慎写类型定义并初始化(一般写上就是错)队列中读取队尾元素数组当…

基于ssm的三省学堂-学习辅助系统(java项目+文档+源码)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的三省学堂-学习辅助系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 三省学堂-学习辅助系统的…

深入理解数据结构第二弹——二叉树(2)——堆排序及其时间复杂度

看这篇前请先把我上一篇了解一下:深入理解数据结构第一弹——二叉树(1)——堆-CSDN博客 前言: 相信很多学习数据结构的人,都会遇到一种情况,就是明明最一开始学习就学习了时间复杂度,但是在后期…

回顾快速排序

快速排序 快速排序的核心: 找到一个key 通常左边的数比key小,右边的数比key大。 找key通常有三种方法: 1. 挖坑法: 代码实现: // int _pivot(int* a, int left, int right) {int begin left, end right;int in…

开源AGV调度系统OpenTCS中的任务分派器(dispatcher)详解

OpenTCS中的任务分派器dispatcher详解 1. 引言2. 任务分派器(dispatcher)2.1 默认的停车位置选择2.2 可选停车位置属性2.3 默认的充电位置选择2.4 即时运输订单分配 3. 默认任务分派器的配置项4. 参考资料与源码 1. 引言 openTCS是一项著名的开源运输控制系统,我在…

Go 源码之 Chan

Go 源码之 chan go源码之chan - Jxy 博客 目录 Go 源码之 chan一、总结二、源码(一)hchan(二)创建(三)发送(四)接收(五)关闭 三、常见问题1.为什么要使用环形…

[Linux] 排查问题指令top/ps/netstat

在Linux下查看某个端口运行的指令 1. 首先通过netstat来查看端口对应的进程号 比如抓取端口53这个DNS服务的进程 netstat -tulnp | grep 53 可以看到53这个端口号对应的pid是720 2. 通过ps指令来对进程号执行的命令查询 ps aux | grep 720 可以看到pid为720这个进程对应的执…

Android APP代码混淆技术解析与实战指南

Android APP 加固是优化 APK 安全性的一种方法,常见的加固方式有混淆代码、加壳、数据加密、动态加载等。下面介绍一下 Android APP 加固的具体实现方式。 混淆代码 使用 ipaguard工具可以对代码进行混淆,使得反编译出来的代码很难阅读和理解&#xff…

【中文视觉语言模型+本地部署 】23.08 阿里Qwen-VL:能对图片理解、定位物体、读取文字的视觉语言模型 (推理最低12G显存+)

项目主页:https://github.com/QwenLM/Qwen-VL 通义前问网页在线使用——(文本问答,图片理解,文档解析):https://tongyi.aliyun.com/qianwen/ 论文v3. : 一个全能的视觉语言模型 23.10 Qwen-VL: A Versatile…

CentOS7安装Flink1.17伪分布式

前提条件 拥有1台CentOS7 CentOS7安装好jdk,官方文档要求java 11,使用java 8也可以。可参考 CentOS7安装jdk8 下载安装包 下载安装包 [hadoopnode1 ~]$ cd installfile/ [hadoopnode1 installfile]$ wget https://archive.apache.org/dist/flink/flin…

Stream流,线程

文章目录 Stream流思想作用三类方法获取方法单列集合(Collection[List,Set双列集合Map(不能直接获取)数组同一类型元素(Stream中的静态方法) 常见的中间方法终结方法收集方法 Optional类 线程相关概念多线程概念实现方式继承Thread类实现Runnable接口比较 常用方法线程安全产生…

【现代控制】倒立摆模型

基础公式 转动惯量: 欧拉拉格朗日等式 倒立摆模型建立 由拉格朗日等式推导出微分方程: 也就是 将zdot移到等式左边,化简得到 展开就是: 系统线性化 法一:雅可比矩阵 法二:小角度假设 化简最终得…

nslookup查询网站是否支持IPV6

nslookup是一种网络管理命令行工具,可用于查询DNS域名和IP地址输入指令nslookup默认服务器和Address是当前上网所用的DNS服务器域名和地址A记录A(Address)记录指的是用来指定主机名或域名对应的IP记录。

OpenHarmony实战:轻量级系统之子系统移植概述

OpenHarmony系统功能按照“系统 > 子系统 > 部件”逐级展开,支持根据实际需求裁剪某些非必要的部件,本文以部分子系统、部件为例进行介绍。若想使用OpenHarmony系统的能力,需要对相应子系统进行适配。 OpenHarmony芯片适配常见子系统列…

2024春招冲刺题单 ONT68 最接近的三数之和【中等 数组,递归 Java,Go,PHP】

题目 题目链接: https://www.nowcoder.com/practice/f889497fd1134af5af9de60b4d13af23 相同题目: https://www.lintcode.com/problem/59 思路 本题答案是n数之和相关问题的模板。参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法…

【C语言】“vid”Microsoft Visual Studio安装及应用(检验内存泄露)

文章目录 前言安装包获取配置VLD完成 前言 我们在写代码时往往容易存在内存泄漏的情况,所以存在这样一个名为VLD的工具用来检验内存泄漏,现在我来教大家安装一下 安装包获取 vld下载网址:https://github.com/KindDragon/vld/releases/tag/…

【GPT5进展】GPT-5将于今年年中发布

OpenAI即将发布的GPT-5代表了人工智能技术的一个重大进步,这一新一代模型预计将进一步扩大OpenAI在AI应用领域的影响力。以下是关于GPT-5的几个关键点,旨在清晰、简洁地向读者传达这一重要更新: 1. 性能和功能的实质性提升 GPT-5在性能上做…

读取信息boot.bin和xclbin命令

bootgen读Boot.bin命令 johnjohn-virtual-machine:~/project_zynq/kv260_image_ubuntu22.04$ bootgen -read BOOT-k26-starter-kit-202305_2022.2.bin xclbinutil读xclbin命令 johnjohn-virtual-machine:~/project_zynq/kv260_image_ubuntu22.04$ xclbinutil -i kv260-smartca…