集成开发之如何用好明道云

2023-12-12 22:52
文章标签 开发 集成 明道

本文主要是介绍集成开发之如何用好明道云,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

内容来自演讲:张嵩 | 苏州睿能科技有限公司 | 公司负责人

摘要

这篇文章介绍了作者所在公司如何利用明道云进行集成开发,并分享了四个实际案例。在第一个数字化实验室项目中,该公司使用明道云取代现有的STARLIMS商业软件,并实现与实验仪器的集成。在第二个项目管理系统案例中,他们使用明道云作为协作套件,并与其他软件进行了集成。第三个案例是一个基于财务报表的新品报价核算系统,通过使用SpreadJS插件与明道云集成,满足了客户的复杂需求。最后一个案例是跨国公司工程师创新俱乐部App,该公司将明道云作为内网低代码工具,外网使用腾讯微搭。文章最后总结了一些做集成开发的建议和典型场景,强调了安全审核的重要性。

一、前言

我们是一家专注于制造业信息化的软件公司。过去,我们主要从事纯代码开发,并在制造信息化领域完成了众多项目。大约从21年开始,我们引入了明道云,用于实施真正为企业带来价值的项目。今天,我将用四个实际案例与大家分享作为软件公司如何进行集成开发,以及如何利用明道云实现其中复杂的业务逻辑。

二、案例1-数字化实验室项目

1.项目背景

客户是一家500强跨国公司的上海研发中心,想要打造一个数字化实验室系统(Lab Information Management System),简称LIMS系统。这个项目有三个主要目标:

  • 开发下单系统:允许全球各事业部的工程师向实验室下实验单。这个系统我们选择了自研,并没有使用明道云进行搭建。
  • 取代STARLIMS系统:用明道云系统取代现有的STARLIMS商业软件。
  • 集成实验室仪器:用明道云进行集成各种实验室仪器。

2.集成

下单系统与CoreLIMS(MingDao)的集成
关于下单系统,由于界面元素复杂性和用户基数大(超过1万),考虑到商业成本,我们决定不使用明道云进行搭建,而是开发一个独立的系统来与明道云集成。
在这里插入图片描述

我们首先开发了一个Web Application。这个Application与明道云处于同一级别,并部署到了相同的服务器上。同时,我们的下单系统需要与明道云的LIMS进行紧密集成。为实现这一点,我们的研发团队使用PHP语言开发了SDK,以提高集成效率。这个SDK已经放在明道云社区的分享中,大家可以去看一看。当然,随着明道云版本迭代和插件系统的更新,新的版本中可能已经包含了我们之前所做的部分集成工作。

从安全角度出发,在与明道云系统集成时,用户体系是必须考虑的。为了避免用户在两个系统之间进行两次登录验证,我们利用客户的IDP(身份验证服务器)来实现单点登录(Single Sign-On, SSO),。

CoreLIMS/MingDao 连接 实验室仪器
第三个集成部分是说如何使用明道云系统连接仪器或者工业物联网设备。在这个项目中,我们列出了四种常见的应用场景:

  1. 通过WiFi连接温湿度仪:使用MQTT协议定期采集数据。
  2. 连接环境箱:明道云能够向环境箱发送其专属指令,根据业务逻辑直接转化为环境箱的执行动作。
  3. 连接可编程电源:这是一个典型的网口设备,可以利用明道云抓取数据。
  4. 连接带有上位机软件的毫欧仪:有两种方法可以将上位机软件与明道云系统集成,一种是反编译上位机软件,然后和明道云API集成;另一种方法是利用RPA。
    在这里插入图片描述

在完成这个项目后,数字化实验室核心的人机料法环测以及实验流程和原始记录都可以存储在明道云系统中。同时,明道云系统还与实验仪器进行了连接,能够实时采集数据并将其添加到原始记录中。

三、案例2 - 项目管理系统

明道云作为一款优秀的协作套件,其前身是明道,非常适合用于项目管理。

1.项目背景

我们为一家500强汽车事业部开发了一款软件管理系统,用于管理新产品研发的全供应链流程,对标商业软件PPM(Project Portfolio Management)。该系统具有250多个表和500多个工作流,且遵循APQP(产品质量先期策划)理念。

2.集成

这个项目中涉及集成开发的包括以下几点:

  1. 我们创建了一个跨视图功能,即My Project,因为当时明道云还没有提供全局变量功能,我们通过集成实现了更复杂的功能。
  2. 明道云的甘特图无法满足这个客户的业务需求,我们使用了俄罗斯公司DHTMLX提供的前端插件,以实现更多功能。
  3. 我们进行了BI集成,选择了Tableau BI进行集成。
  4. 利用RPA技术与跨国公司的SAP ERP和Microsoft ProjectOnline等软件进行集成。
    在这里插入图片描述

我们这个客户他需要的甘特图功能相当复杂,其实明道云的甘特图在市面上来说已经相当不错了,而且他们还在持续迭代,我相信后面会做的越来越好。通过使用DHTMLX插件,我们可以满足用户提出的大部分有关甘特图的编辑开发场景需求。

四、案例3 - 基于财务报表的新品报价核算系统

1.项目背景

这个项目的客户是一家全球性的客户,系统的功能主要是计算投资回报,例如投资3000万美元,系统计算出可能在第一年和第二年不赚钱,但在第三年开始赚钱。客户希望借助此系统,让项目成本会计、销售以及管理层能对研发的新产品报价有更明确的认识。通过这个系统,他们可以知道怎么报价才能保证新产品能够为公司带来盈利。

2.集成
在这里插入图片描述

由于全球公司的会计部门是Excel的重度用户,许多工作流程、公式和业务逻辑都在Excel中。而明道云无法直接处理Excel中的函数和业务逻辑,因此,推荐使用SpreadJS的插件进行集成,这个插件可以通过API与明道云集成,并可以用于创建复杂的报表。

五、案例4 - 跨国公司工程师创新俱乐部App

在第四个案例中,我们提供了一个简单的思路。在这个案例中,我们将明道云作为内网的低代码工具,而外网则使用了腾讯微搭。这种选择主要是出于安全考虑,特别是对于那些涉及工程和专利等敏感信息的客户来说,使用内网的明道云进行流程管理是非常合适的。
在这里插入图片描述

关于应用场景,简单来说就是:当数据经过脱敏处理后,我们可以利用腾讯微搭来提高APP的触达率,使用户更容易上手使用。这种搭配方式有多种可能,如果有开发能力,也可以考虑使用一些公有云的Serverless功能与明道云相结合。

六、明道云集成开发的避坑体会

最后,我想与大家分享一些关于做集成开发的建议和典型场景。用户的需求推动着我们的进步,正如华为的任正非所说,用户提出的要求都是合理的。
在这里插入图片描述

首先,有些用户可能会觉得明道云的界面过于繁琐,需要点击多层才能找到所需信息。其次,有些用户可能认为界面元素太少,希望在一个页面中看到所有相关信息,例如采购订单的头、行以及shipments等。为满足这些需求,我们可以考虑进行集成开发。

明道云自身的迭代更新也在不断改进,我相信在插件的帮助下,可以轻松解决用户对界面操作繁琐或信息量不足的问题。

在做集成开发时,我们需要注意安全审核。有一次做项目,客户逼着我们去做安全审核,我们为客户做的项目成本甚至不及请欧洲的安全公司进行一次安全检测的费用,这是一次惨痛的教训。

此外,所有的集成,尤其是数据层面的RPA,无论是国内的UiPath还是自己用Python编写的脚本,都可以很好地与明道云集成。

这篇关于集成开发之如何用好明道云的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/486236

相关文章

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件