项目概述
1. 项目简介
本项目基于西门子 Mendix 的POC,包含私有化环境部署、Mendix 产品特性体验、基于客户IT&DT 部门的业务 POC 验证。
采用客户的私有化环境部署,使用 Mendix Studio Pro 8.5 开发工具。
其主要内容有:
- 基于 Mendix 的Demo 验证
- Mendix 扩展性验证
- POC 场景 1:营销系统-在线订单管理
- POC 场景 2:供应链系统-合同管理
- POC 场景 3:SUC 集成、异常零件审批工作流和数仓API 调用
2. 使用者需求
- 目标用户:
本项目目标用户为公司内部所有开发人员,包含后端(Java、PHP)、前端(React、VUE)、移动端(Android、IOS)开发人员,基于 Mendix 平台进行快速开发,使用统一组件库与实现方式。
- 需求描述:
目前公司内部开发方式存在开发周期长、技术选型复杂、组件重复开发、组件标准不统一等特点,在一定程度上造成了人力物力的资源浪费。西门子 Mendix 平台提供了低代码的开发方式,使得业务人员和开发人员可以一起参与进产品的构建工作,产品方面,可以快速构建 WEB 端、移动端应用;组件方面,提供通用组件库 APP Store, 开发人员可以选择适合的组件快速引用到项目中。
功能描述
1. 基于 Mendix 的 Demo 验证
部署环境搭建
客户的Mendix POC 环境采用私有化部署方式,设置两台 Linux 服务器,Server(2)部署 Mendix APP,WEB Server, Serve(3)部署 Database,Server(1)和 Server(4)为代理服务器和文件服务器,按照基础团队资源,不再另行分配。
Server 如无特殊说明,均采用基础团队提供的基线版本,私有化部署参照Mendix App On-premises Deployment 部署手册。
部署内容 | 功能 | 说明 |
M2ee 工具 | 用于管理 Mendix 安装的命令行工具 | |
JDK | JDK11 | |
Mendix Runtime | Mendix 运行时环境 | Admin Port:8080 Runtime port:8090 |
Web 服务器 | 安装 Mendix 软件 | |
数据库 | Oracle 数据库 | |
Nginx 反向代理 | 映射 Server(2) |
Mendix 产品特性体验
01、下载 Mendix Studio Pro IDE,并使用公司邮箱注册账号登录;
02、Microflow 特性体验;
03、Domain Model 特性体验;
04、团队协作及 Story、task 功能验证;
05、简单页面 CRUD 验证;
06、复杂页面 CRUD 关联验证;
07、异常处理功能验证;
08、CI/CD 功能验证;
09、多线程;
10、过滤器、监听器、定时器;
11、事务处理;
12、数据库表读写分离、分库分表;
调用 REST 服务
使用 Mendix 平台,调用外部提供的REST API。
提供 REST 服务
使用 Mendix 平台,以REST 方式提供 REST API。
2. MENDIX 扩展性验证
Mendix Java Extension 验证
1、 使用第三方类库Guava,guava 包含 collections、caching、string processing 等 API;
2、 验证 guava 类库功能
- 验证 guava 的工具包实现 String 的非空、长度验证等校验:
- 非空验证:验证输入的字符串“abcdefg”、“abcd efg”是否为非空。
- 长度验证:验证输入的字符串“wang”、“wangd”、“wangding”是否为长度 5-7 的字符串。
2. 验证 guava 实现集合的交集、差集、并集:
- 验证 hashset“1,2,3,4,5,6”和“3,4,5,6,7,8,9”的交集、差集、并集是否正确。
Mendix Javascript Extension 验证
基于 Echarts 提供图表服务; 将提供数据作图表化展示。
3. POC 场景 1:营销系统-在线订单管理
需求说明
1、 开发 APP 应用。
如图 一、图 二 所示,页面分两个 TAB 页,分别为“线上订单”,“线下订单”,数据从 tm_poc_order 表获取数据,根据 order_source 字段区分。页面布局请参考图 一、图 二。
权限隔离:不同经销商的人,进入 APP 后只能查看自己经销商下的数据。
2、点击右上角“漏斗”ICON,进入图三的筛选页面,筛选条件参考图三。
3、兼容性验证:a)请在一端配置后,提供 APP 和 IPAD 两种展示形式;b)基于客户现有测试机,进行多操作系统、多机型的兼容性验证。
4、增加一个“下单功能”,要求有预约时间,下午 4 点后只能约后天的,4 点前可以预约明天的。下单前要判断,判断有没有“完成、取消”的订单,如果有给出提示,并且不允许再次下单。
数据库表结构
4. POC 场景 2:供应链系统-合同管理
需求说明:因涉及客户业务机密,此处不做详解,请谅解。
图一:
图二:
图三:
图四:
1、 工装合同管理页面;单击一条数据,如上图一状态栏跟随“任务状态“字段的取值而变化。
2、 双击一条数据,进入详情页面,如图二,默认进入合同汇总表 sheet 页,点击不同 sheet 页可以切换标签,合同汇总表 sheet 提供“添加“、“编辑“、”删除“、”导入“、”导出“、”分页查询“功能。
3、 点击“编辑“按钮,弹出图四弹出框,提供一条数据的编辑功能。
4、 合同报价单 sheet 页如图三所示,提供“导入“、”分页查询“功能。
数据库表结构
5. POC 场景 3: SUC 集成、工作流与数仓 API 调用
鉴权
SUC 集成模块的 POC 工作,因涉及客户业务机密,SUC 接入部分不做详解,请谅解。
异常零件处理工作流
(1) 业务逻辑
- 发起人选择零件状态为异常的零件,点击发起审批,发起审批界面有零件信息及申请内容输入框。
- 业务流转到经理审批,经理审批界面有“同意”、“退回”两个按钮。
- 如果经理审批通过,业务流转到高级经理审批;如果经理审批不通过,业务流转回发起人,发起人界面看到流程被退回,及退回操作人,可选择“重新提交审批”。
- 如果高级经理审批通过,则审批流程结束;如果高级经理审批不通过,则业务流转回发起人,发起人界面看到流程被退回,及退回操作人,可选择“重新提交审批”。
(2)数据库表结构
数仓 API 报表数据展现
1、请求及响应格式详见附件数仓 API 接口调用说明:因涉及客户业务机密,此处不做详解,请谅解。
2、 需求说明:
通过手动维护方式,在数仓测试环境建立新表:tm_poc_mendix,将工装合同主数据维护到表中。 通过 Mendix 开发新页面:提供“调用数仓“按钮,通过调用REST API,以表格方式展现数仓数据。
3、表结构:以 4. POC 场景 2:供应链系统-合同管理为准。
更多信息,请访问以下链接:
Mendix官网:https://www.mendix.com/zh/
Mendix中国论坛:https://forum.mendix.tencent-cloud.com/
Mendix行业解决方案:https://solutions.mendix.com/
Mendix平台指南:https://www.mendix.com/evaluation-guide/
Mendix动画展示:https://www.mendix.com/demos/
感谢阅读!