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

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

相关文章

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

SpringBoot集成WebService(wsdl)实践

《SpringBoot集成WebService(wsdl)实践》文章介绍了SpringBoot项目中通过缓存IWebService接口实现类的泛型入参类型,减少反射调用提升性能的实现方案,包含依赖配置... 目录pom.XML创建入口ApplicationContextUtils.JavaJacksonUt

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同