Jerry之前曾经陆续写过一些文章,介绍SAP各种开发工具和开发平台: 那些年我用过的SAPIDE SAP智能机器人流程自动化解决方案 如何使用SAPIntelligentRoboticProcessAutomation自动操作Excel SAP新一代全栈开发工具:SAPBusinessApplicationStudio 罗列了这么多开发工具和平台之后,Jerry突然有点怀念自己十多年前刚加入SAP的日子。那个时候,笔记本电脑上安装一个SAPGUI,几乎就能完成日常工作的所有开发任务了。 今天我们来简单了解SAP云平台上的快速应用开发(RapidApplicationDevelopment,简称RAD)解决方案,以及Mendix,西门子旗下重要一员,在LowCodeDevelopment(低代码开发)领域处于领导者地位,其代表作MendixStudioPro。 所谓低代码开发平台工具,是指无需编码或仅需很少代码(NoCodeorLowCode)就可以快速生成应用程序的平台工具,通常提供可视化的交互界面来快速搭建应用界面,设计数据模型,创建应用业务逻辑和工作流等。 低代码开发平台对使用者的技术要求大大低于传统软件开发项目中的程序员。随着企业数字化转型浪潮的深入进行,特别是中小型企业信息数字化的呼声越来越高,使用低代码开发平台能够在短时间内快速构建出应用程序的框架,交付给客户使用,并根据客户反馈进行快速迭代,因此在企业数字化转型特别是中小企业信息化建设项目的开发方式中占有重要的一席之地。 正由于低代码开发平台在企业应用开发中能发挥其独特的优势,使得许多软件供应商纷纷涉足于这一领域,比如SAP智能机器人流程自动化解决方案之一的SAPIntelligentRoboticProcessAutomationDesktopStudio这个开发工具,也能被看作是低代码开发工具之一。 Jerry在之前的文章如何使用SAPIntelligentRoboticProcessAutomation自动操作Excel里曾经介绍过其用法。 而SAP云平台上的RAD解决方案,也集成了低代码开发领域的领导者,来自Mendix提供的开发工具MendixStudioPro。从Gartner发布的2019年企业级低代码开发平台的评测报告,我们可以看到Mendix处于魔力象限中的Leaders(领导者)区域。 下面我们就来尝试一下,使用SAPCloudPlatform上的RapidApplicationDevelopment,结合MendixStudioPro来开发一个Fiori应用,以只读的方式显示OData服务提供的数据,从中了解所谓的低代码开发同使用SAPWebIDE的开发体验有何不同。 登录SAPCloudPlatform: https:account。hana。ondemand。comhomeserviceCatalog 找到RADbyMendix服务: 进入服务页面,点击SigninwithSAP,使用SAP云平台的credential信息登录。 登录之后点击CreateApp: 选择创建应用基于的模板。用过SAPWebIDE创建Fiori的朋友们可能会发现,这个模板选择和WebIDE里的CreatefromTemplate功能非常相似。 选择上图高亮的具有SAPFiori设计风格的应用模板,创建一个新应用: 同WebIDE里创建Fiori应用一样,选择好模板之后,工具会自动创建很多应用相关的资源文件。 接下来选择一个SAPCloudPlatform的Region,在本文最后我们将使用MendixStudioPro直接将一个开发好的应用部署到SAP云平台。 我创建好了一个空的应用JerryHelloWorldProject,在EditApp里提示,可以使用MendixStudioPro进行应用开发。 从Mendix的官网免费下载这个开发工具: https:appstore。home。mendix。comindex。html 安装之后,点击EditinMendixStudioPro: 回忆一下,用SAPWebIDE创建Fiori应用,我们得指定一个OData服务作为数据源,要么是把OData元数据下载成本地文件,导入到WebIDE里;要么直接把OData服务的元数据url设置到WebIDE的创建向导里。 MendixStudioPro里的创建步骤也类似。先把OData服务的元数据下载到本地,保存成一个xml文件。使用Mendix为SAP量身打造的SAPODataModelCreator,将这个xml文件导入: SAPODataModelCreator是一个在线应用: https:sapodatamodelcreator。mendixcloud。com 它会解析xml里包含的OData元数据,提取出OData服务的名称GWSAMPLEBASIC和明细信息,并转换成MendixStudioPro能够识别和导入的mpk格式的文件: SAPODataModelCreator生成mpk文件之后,下载到本地,就可以导入到MendixStudioPro里了。 导入mpk之后,生成的MendixStudioPro能够识别的OData模型如下图。这个例子我选择显示OData服务返回的SalesOrder数据。 Jerry这个例子的业务逻辑很简单,发送OData服务请求,获取到数据后显示在Fiori页面。 像这种单线的顺序业务逻辑,可以封装在MendixMicroflow里。创建一个Microflow,命名为GetSalesOrder: Microflow创建好之后,呈现在编辑界面里是一根直线,绿色和红色端点分别代表业务流程起点和终点。 这个编辑界面和SAPCloudPlatform上的iFlow编辑页面很像。大家可以把这个Microflow类比成SAPCloudIntegration里的iFlow。 从右键菜单里选择IActivity: 选择SAPODataConnector下面的Createrequestparams,代表这个Microflow的第一个步骤是发送OData服务请求。 将该请求命名为JerryRequestParams: 访问SAPOData服务需要使用BasicAuthorization进行认证,因此添加第二个Activity,类型为AddbasicAuthorization: 在工程里新建两个常量ES5UserName和ES5Password,把访问SAPOData服务需要使用的用户名和密码维护在常量里: 然后在basicAuthorizationactivity里使用这两个常量: 添加第三个Activity,类型为Getlist。这一步的含义当然就是发起实际的OData请求了: 指定Microflow结束事件所返回的类型为List,Entity为OData服务里的SalesOrder模型。 Microflow开发完毕后,意味着这个应用的业务逻辑的设计已经告一段落了,剩下的是处理前台界面。新建一个页面,布局类型从下拉菜单里选择FioriMasterDetail: 点击OK之后,我们得到一个MasterDetail布局的模板页面,剩下的事情就是对这个模板进行微调,比如调整字体,修改标题,决定哪些字段应该显示或者隐藏等等。 从开发面板右边的SalesOrder列表里挑选自己想展示的字段,拖拽到左边的页面编辑区域即可。数据绑定都是自动完成的,无需手动干预。 下图代表我选择在应用左边的MasterList里显示三个字段:CustomerID,CustomerName和CreatedAt。 右边的明细页面,我选择显示SalesOrderID,CurrencyCode和GrossAmount三个字段。 点击RunLocally,本地运行应用: 效果如下图所示: 如果选择Run,因为之前最开始在MendixStudioPro里设置过SAPCloudPlatform的Region信息,因此会自动将该应用部署到SAP云平台运行: 从这个简单的例子能发现,LowCodeDevelopment这种理念,在SAP开发领域里其实并不是一个新鲜事物,比如SAPWebIDE里创建Fiori应用提供的大量模板,以及FioriElements理念本身,背后都体现了对开发细节和复杂度的封装,从而降低工具的技术使用门槛。 另一方面,我个人认为,LowCodeDevelopment的Low绝不应理解成低等,低级这些精心设计过的低代码开发平台,能够把普通人觉得很深奥很难于理解的概念封装起来,转换成非专业编程人员通过简单的学习后也能接受的实体,从而扩大了工具的使用群体,这本身就是一件很了不起的事情。 从应用创建向导里可供选择的众多应用类型就可以看出,MendixStudioPro的强大功能,远不止本文介绍的这一点点内容。特别是Mendix为SAP私人订制了一系列富有SAP特色的应用模板,感兴趣的朋友们可以从Mendix官网下载,一探究竟。 希望本文能够让大家对SAPCloudPlatform上的LowCodeDevelopment解决方案有一个基本了解,感谢阅读。 更多阅读 那些年我用过的SAPIDE SAP智能机器人流程自动化解决方案 如何使用SAPIntelligentRoboticProcessAutomation自动操作Excel SAP新一代全栈开发工具:SAPBusinessApplicationStudio