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

在这里插入图片描述

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

摘要

这篇文章介绍了作者所在公司如何利用明道云进行集成开发,并分享了四个实际案例。在第一个数字化实验室项目中,该公司使用明道云取代现有的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编写的脚本,都可以很好地与明道云集成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是的,你可以使用Python的pandas库来读取Excel表格,并使用的API来上传数据到数据库。以下是一个示例代码,展示了如何实现定时上传Excel表格到平台数据库: ```python import pandas as pd import requests import schedule import time # 读取Excel表格数据 def read_excel(file_path): df = pd.read_excel(file_path) return df # 上传数据到 def upload_to_mingdao(data): # 在这里编写上传数据到的逻辑 # 使用requests库发送POST请求,将data作为请求体发送到的API接口 # 示例代码: url = "https://api.mingdao.com/v1/data/{database_id}/{table_id}/records" headers = {"Authorization": "Bearer your_access_token"} response = requests.post(url, json=data, headers=headers) if response.status_code == 200: print("数据上传成功") else: print("数据上传失败") # 定时任务函数 def upload_excel(): file_path = "path_to_your_excel_file" # 替换为你的Excel文件路径 data = read_excel(file_path) upload_to_mingdao(data) # 设置定时任务 schedule.every().day.at("08:00").do(upload_excel) # 每天08:00执行上传任务 # 执行定时任务 while True: schedule.run_pending() time.sleep(1) ``` 在这个示例代码中,`read_excel`函数使用pandas库读取Excel表格数据,并返回一个DataFrame对象。`upload_to_mingdao`函数是用来将数据上传到的函数,你需要根据的API文档来编写相应的逻辑。 然后,通过使用`schedule`库,你可以设置定时任务,在指定的时间点执行上传Excel表格的操作。在示例中,我们使用`schedule.every().day.at("08:00")`来设置每天08:00执行上传任务。你可以根据需要调整定时任务的时间。 请确保你已经安装了pandas、requests和schedule库,并将代码中的`file_path`、`url`和`headers`等部分替换为你的实际信息。同时,你还需要获取的访问令牌(access token)并进行授权,以便可以访问的API接口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值