SAP 云平台上一种 Low Code Development(低代码开发) 解决方案
本文笔者将会向大家介绍 SAP 云平台上一款快速应用开发(Rapid Application Development,简称 RAD)解决方案。聊到这款解决方案,就得提到 Mendix,西门子旗下重要一员,在 Low Code Development(低代码开发)领域处于领导者地位,其代表作 Mendix Studio Pro.
所谓低代码开发平台/工具,是指无需编码或仅需很少代码(No Code or Low Code)就可以快速生成应用程序的平台/工具,通常提供可视化的交互界面来快速搭建应用界面,设计数据模型,创建应用业务逻辑和工作流等。
低代码开发平台对使用者的技术要求大大低于传统软件开发项目中的程序员。随着企业数字化转型浪潮的深入进行,特别是中小型企业信息数字化的呼声越来越高,使用低代码开发平台能够在短时间内快速构建出应用程序的框架,交付给客户使用,并根据客户反馈进行快速迭代,因此在企业数字化转型特别是中小企业信息化建设项目的开发方式中占有重要的一席之地。
正由于低代码开发平台在企业应用开发中能发挥其独特的优势,使得许多软件供应商纷纷涉足于这一领域,比如 SAP 智能机器人流程自动化解决方案之一的 SAP Intelligent Robotic Process Automation Desktop Studio 这个开发工具, 也能被看作是低代码开发工具之一。
笔者之前的文章 如何使用 SAP Intelligent Robotic Process Automation 自动操作 Excel 里曾经介绍过其用法。
而 SAP 云平台上的 RAD 解决方案,也集成了低代码开发领域的领导者,来自 Mendix 提供的开发工具 Mendix Studio Pro. 从 Gartner 发布的 2019 年企业级低代码开发平台的评测报告,我们可以看到 Mendix 处于魔力象限中的 Leaders(领导者)区域。
下面我们就来尝试一下,使用 SAP Cloud Platform 上的 Rapid Application Development,结合 Mendix Studio Pro 来开发一个 Fiori 应用,以只读的方式显示 OData 服务提供的数据,从中了解所谓的低代码开发同使用 SAP WebIDE 的开发体验有何不同。
登录 SAP Cloud Platform:https://account.hana.ondemand.com/#/home/serviceCatalog
找到 RAD by Mendix 服务:
进入服务页面,点击 Sign in with SAP, 使用 SAP 云平台的 credential 信息登录。
登录之后点击 Create App:
选择创建应用基于的模板。用过 SAP WebIDE 创建 Fiori 的朋友们可能会发现,这个模板选择和 WebIDE 里的 Create from Template 功能非常相似。
选择上图高亮的具有 SAP Fiori 设计风格的应用模板,创建一个新应用:
同 WebIDE 里创建 Fiori 应用一样,选择好模板之后,工具会自动创建很多应用相关的资源文件。
接下来选择一个 SAP Cloud Platform 的 Region, 在本文最后我们将使用 Mendix Studio Pro 直接将一个开发好的应用部署到 SAP 云平台。
我创建好了一个空的应用 JerryHelloWorldProject,在 Edit App 里提示,可以使用 Mendix Studio Pro 进行应用开发。
从 Mendix 的官网下载这个开发工具:
安装之后,点击 Edit in Mendix Studio Pro:
回忆一下,用 SAP WebIDE 创建 Fiori 应用,我们得指定一个 OData 服务作为数据源,要么是把 OData 元数据下载成本地文件,导入到 WebIDE 里;要么直接把 OData 服务的元数据 url 设置到 WebIDE 的创建向导里。
Mendix Studio Pro 里的创建步骤也类似。先把 OData 服务的元数据下载到本地,保存成一个 xml 文件。使用 Mendix 为 SAP 量身打造的 SAP OData Model Creator,将这个 xml 文件导入:
SAP OData Model Creator 是一个在线应用:https://sapodatamodelcreator.mendixcloud.com/
它会解析 xml 里包含的 OData 元数据,提取出 OData 服务的名称 GWSAMPLE_BASIC 和明细信息,并转换成 Mendix Studio Pro 能够识别和导入的 mpk 格式的文件:
SAP OData Model Creator 生成 mpk 文件之后,下载到本地,就可以导入到 Mendix Studio Pro 里了。
导入 mpk 之后,生成的 Mendix Studio Pro 能够识别的 OData 模型如下图。这个例子我选择显示 OData 服务返回的 Sales Order 数据。
笔者这个例子的业务逻辑很简单,发送 OData 服务请求,获取到数据后显示在 Fiori 页面。
像这种单线的顺序业务逻辑,可以封装在 Mendix Microflow 里。创建一个 Microflow,命名为 GetSalesOrder:
Microflow 创建好之后,呈现在编辑界面里是一根直线,绿色和红色端点分别代表业务流程起点和终点。
这个编辑界面和 SAP Cloud Platform 上的 iFlow 编辑页面很像。大家可以把这个 Microflow 类比成 SAP Cloud Integration 里的 iFlow.
从右键菜单里选择 Insert->Activity:
选择 SAP OData Connector 下面的 Create request params,代表这个 Microflow 的第一个步骤是发送 OData 服务请求。
将该请求命名为 JerryRequestParams:
访问 SAP OData 服务需要使用 Basic Authorization 进行认证,因此添加第二个 Activity,类型为 Add basic Authorization:
在工程里新建两个常量 ES5UserName 和 ES5Password,把访问 SAP OData 服务需要使用的用户名和密码维护在常量里:
然后在 basic Authorization activity 里使用这两个常量:
添加第三个 Activity,类型为 Get list. 这一步的含义当然就是发起实际的 OData 请求了:
指定 Microflow 结束事件所返回的类型为 List,Entity 为 OData 服务里的 SalesOrder 模型。
Microflow 开发完毕后,意味着这个应用的业务逻辑的设计已经告一段落了,剩下的是处理前台界面。新建一个页面,布局类型从下拉菜单里选择 Fiori_MasterDetail:
点击 OK 之后,我们得到一个 Master-Detail 布局的模板页面,剩下的事情就是对这个模板进行微调,比如调整字体,修改标题,决定哪些字段应该显示或者隐藏等等。
从开发面板右边的 SalesOrder 列表里挑选自己想展示的字段,拖拽到左边的页面编辑区域即可。数据绑定都是自动完成的,无需手动干预。
下图代表我选择在应用左边的 Master List 里显示三个字段:Customer ID,Customer Name 和 Created At.
右边的明细页面,我选择显示 Sales Order ID,Currency Code 和 Gross Amount 三个字段。
点击 Run Locally, 本地运行应用:
效果如下图所示:
如果选择 Run,因为之前最开始在 Mendix Studio Pro 里设置过 SAP Cloud Platform 的 Region 信息,因此会自动将该应用部署到 SAP 云平台运行:
从这个简单的例子能发现,Low Code Development 这种理念,在 SAP 开发领域里其实并不是一个新鲜事物,比如 SAP WebIDE 里创建 Fiori 应用提供的大量模板,以及 Fiori Elements 理念本身,背后都体现了对开发细节和复杂度的封装,从而降低工具的技术使用门槛。
另一方面,我个人认为,Low Code Development 的 Low 绝不应理解成“低等”,“低级”——这些精心设计过的低代码开发平台,能够把普通人觉得很深奥很难于理解的概念封装起来,转换成非专业编程人员通过简单的学习后也能接受的实体,从而扩大了工具的使用群体,这本身就是一件很了不起的事情。
从应用创建向导里可供选择的众多应用类型就可以看出,Mendix Studio Pro 的强大功能,远不止本文介绍的这一点点内容。特别是 Mendix 为 SAP“私人订制”了一系列富有 SAP 特色的应用模板,感兴趣的朋友们可以从 Mendix 官网下载,一探究竟。
希望本文能够让大家对 SAP Cloud Platform 上的 Low Code Development 解决方案有一个基本了解,感谢阅读。
总结
本文从 SAP 云平台上的 Low Code Development(低代码开发)解决方案的业务背景,历史由来,具体使用步骤和流程,以及将来的发展方向等几个方面进行了详细介绍。笔者希望对 SAP 低代码解决方案一无所知的朋友们,阅读完本文后,能够对这个解决方案有最基础的了解。
版权声明: 本文为 InfoQ 作者【Jerry Wang】的原创文章。
原文链接:【http://xie.infoq.cn/article/4ae24d0af3a0cd2cdba3dd956】。文章转载请联系作者。
评论