易维通圆桌智能制造系列:智能工厂信息化系统数据集成与共享

话题思考

1、我们接触过哪些信息化系统?

2、信息化系统数据集成最大的困难在哪里?

3、当前企业信息化软件部署存在哪些问题?

4、本地部署和云部署各有什么优缺点?

5、你所了解的本地部署、IaaS、PaaS、SaaS是什么?

信息化系统是智能制造的关键,那么,基于数据的信息化系统的功能是什么?如何运作?之间存在什么样的关系?

现在很多企业发现,信息化系统更新换代太快,以至于似乎刚刚上了一个管理系统软件,还没有用熟,好像马上就要落伍了,有些赶不上行业发展的步伐。这种现象很大的一部分原因在于对工厂信息化的架构和关系不够了解造成的,缺乏战略布局和规划。

一个企业需要涉及的管理系统软件很多,如常见的ERP、SAP、MES、PLM等。接下来对这些常见软件技术进行分析。

一、关于PLM、ERP、APS、MES几种信息系统的数据集成

技术的发展日新月异,企业要增强竞争力,在市场竞争中立于不败之地,采用先进技术武装自己是必由之路。近30年,对社会影响最大的技术进步当属信息技术,信息技术的进步改变着我们的日常生活,也改变着企业的方式。

现在我们在企业内办公,主要的工作都是通过电脑完成的,当然现在智能手机也能完成某些原来需要通过电脑完成的工作,但信息的主要功能还是通过电脑端完成的。电脑只是硬件,具体的功能还必须通过软件来实现,例如Word, Excel等都是常用软件。稍有规模的企业都是由多个部门组成的,部门之间的信息交流就需要更复杂的信息来实现,PLM(产品生命周期) ERP(企业资源计划) APS(高级计划与排程) MES(制造执行)是不同的信息,它们功能不同,但使用数据存在交叉重叠。如果这些之间没有集成,各自的所需数据需要多次录入,增加了信息维护工作量和出错机会,每个都是一座信息孤岛。如果是成立多年的企业,他们的信息化路径一般是,从财务和CAD画图开始,又过渡到进销存,之后进行生产环节的信息化。除非新成立的企业,信息化工作可以全盘展开考虑。已经存在的企业,面临的局面都是已经有些信息,如果继续提升信息化水平,必须结合当前的状况。必须考虑未来信息与现在信息的集成。

中国制造2025计划,加深了中国制造企业对信息系统的认知度,企业开始认识到产品创新的重要性以及信息在产品创新中的地位。比如企业通过PLM对产品的生命周期进行管理,可以加速产品的创新迭代,让产品发挥并提升价值,这个技术是为了适应企业的发展而产生的——需求促进技术要求。

凡事预则立,不预则废。对信息规划也是一样,信息规划者既要看当前企业需求,也要考虑未来增加信息时,不同信息之间的衔接和信息通信。

对信息的理解,我们可以分为概念上的信息和实际中的信息。概念上的信息指PLM, ERP, APS和MES按照他们的概念各有各的功能,但一套实际的信息,可能涵盖理论上多个功能,例如一套MES,可能也涵盖了ERP中的进销存功能。就像防火墙和路由器是两个不同的概念,可是现实中,实际的路由器除了路由功能外,都有简单的防火墙功能,而实际的防火墙都包括了路由器的功能。我们这里介绍各功能,以理论上的功能为定义,这样表述起来更明确。(本文我们只讲理论上的功能)

1、云计算

近些年来,国家大力提倡设备上云,所谓的云计算,就是将原本工厂本地的数据中心运行的软件、系统部署到远程的数据中心。这些数据中心有专业的运营服务商(腾讯云、阿里云)来负责,这样的好处是企业可以免去数据中心建设、通信建设和管理相关的任务,将这些基础服务外包给了专业的云计算服务提供商,对于工业信息化系统,这将是以后非常常见的运行方式,这里先谈谈信息化系统的部署。

(1)信息化系统的部署

通常由三种云服务模型:SaaS(软件即服务)、PaaS(平台即服务)、IaaS(基础架构即服务)

用户通过Internet 可以从完善的计算机基础设施获得服务。这类服务可以称为基础设施即服务,这就是通常所说的IAAS。而相应的另外两种服务就是平台即服务和软件即服务。平台及服务提供了用户可以访问的完整或部分的应用程序开发,我们通常称之为PAAS。软件及服务则提供了完整的可直接使用的应用程序,我们通常称之为SAAS。如果把他们看作层次结构,那么第一层自然叫做IAAS,第二层就是PAAS,第三层也就是SAAS。

区别是什么呢?

打个比方,如果我们要吃饺子,我们有三种方式:

——自己做——那么你就需要准备很多东西

——买速冻饺子然后自己做

——叫外卖

——上饺子馆直接吃,吃完走人

而这几种方式有什么区别呢?看下图:

对于企业来说,假设你是一个非常强大的公司,拥有基础设施以及其他一切的应用手段,那么,就可以把云计算分成三层:基础设施、平台、软件

这其实就是云计算的三个分层,基础设施在最下端,平台在中间,软件在顶端,分别是Infrastructure-as-a-Service(IAAS),Platform-as-a-Service(PAAS),Software-as-a-Service(SAAS),别的一些“软”的层可以在这些层上面添加。

而你的公司什么都有,现在所处的状态叫本地部署(On-Premises),就像在自己家做饺子一样。如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来,这就叫本地部署。

假如你突然有一天想明白了,只是为了吃上饺子,为什么非要自己做呢?于是,准备考虑一家云服务供应商,这个云服务供应商能提供哪些服务呢?其所能提供的云服务也就是云计算的三个分层:PAAS、IAAS和SAAS,就像饺子店提供三种服务:买成品回家做、外卖和到店吃。

IAAS: Infrastructure-as-a-Service(基础设施即服务),由高度可扩展和自动化的计算机资源组成,是完全自主服务,用于访问和监控计算,网络、存储和其他服务等内容。它允许企业按需求和需要购买资源,而不必购买全部的硬件。有了IAAS,你可以将硬件外包到别的地方去。IAAS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。一些大的IAAS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat.不过这些公司又都有自己的专长,比如Amazon和微软给你提供的不只是IAAS,他们还会将其计算能力出租给你来构建你的网站。

PAAS: Platform-as-a-Service(平台即服务),第二层就是所谓的PAAS,某些时候也叫做中间件。公司所有的开发都可以在这一层进行,节省了时间和资源。云平台服务或平台即服务为某些软件提供了一些云组件,这些组件主要是用于应用程序。PAAS开发中提供了一些框架,可以基于它创建很多自定义的应用程序,所有服务器、存储、网络都可以由企业或者第三方提供商来进行管理,而开发人员负责应用程序的管理。

PAAS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。

SAAS: Software-as-a-Service(软件即服务),第三层也就是所谓SAAS,云应用程序服务,代表了云计算市场中企业最常用的选项。SaaS利用互联网,向其他用户提供应用程序,这些应用程序由第三方供应商管理。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。不需要任何下载和安装,任何一个远程服务器上的应用都可以通过网络来运行,就是SAAS了。

2、智能工厂信息化软件——PLM、ERP、APS、MES信息功能介绍

2.1 ERP

企业资源计划即 ERP (Enterprise Resource Planning)它是由美国 Gartner Group 公司于1990年提出。企业资源计划用于制造业,是一种资源计划软件。理论上的ERP可以包括业务流程,产品数据,存货、分销与运输,人力资源和定期报告。现实中的ERP主要是财务和进销存,其它模块相对应用少,ERP的生产模块普遍功能弱,难以满足企业生产计划排程的需要。如果将企业比作一个人,那么ERP相当于你手中的电脑、手机等设备,而人通过这些硬件和安装在这些设备中的各种软件,获取足够多的信息以做出更合适的选择。比如天气预报可以提供给我们天气的信息,以便准备出行。

ERP就是一个数据功能应用的集合,存储了各种企业生产、业务、技术、运营等数据,然后通过各种应用功能使用这些数据,经过运算输出便于我们管理企业的内容。

ERP的发展的过程可以分为下面五个阶段:

第一阶段: MIS 系统阶段 (Management Information System)信息管理系统

企业的信息管理系统主要是记录大量原始数据、支持查询、汇总等方面的工作。

第二阶段: MRP阶段 (Material Require Planning)物料需求计划

企业的信息管理系统对产品构成进行管理,借助计算机的运算能力及系统对客户订单,在库物料,产品构成的管理能力,实现依据客户订单,按照产品结构清单展开并计算物料需求计划。实现减少库存,优化库存的管理目标。

第三阶段:MRP II 阶段 (Manufacture Resource Planning)制造资源计划

在 MRP 管理系统的基础上,系统增加了对企业生产中心、加工工时、生产能力等方面的管理,以实现计算机进行生产排程的功能,同时也将财务的功能囊括进来,在企业中形成以计算机为核心的闭环管理系统,这种管理系统已能动态监察到产、供、销的全部生产过程。

第四阶段:ERP 阶段 (Enterprise Resource Planning)企业资源计划

进入 ERP 阶段后,以计算机为核心的企业级的管理系统更为成熟,系统增加了包括财务预测、生产能力、调整资源调度等方面的功能。配合企业实现JIT管理全面、质量管理和生产资源调度管理及辅助决策的功能。成为企业进行生产管理及决策的平台工具。

ERP系统的本质就是通过网络技术,将企业的硬件、软件资源的信息整合在一起,以便公司采取更加合理的决策。

MIS是信息管理系统,关键词是“记录”。

MRP是物料需求计划,以拉动式生产的角度展开。

MRPⅡ是制造企业资源计划,加入财务模块。

ERP是企业资源计划,范围更大,严格意义上,各种企业资源都纳入进行管理,如加入人力资源等模块。

2.2 APS——实现ERP生产计划的一些功能,可以视为ERP的一种

APS,又名高级计划与排程,它的英文全称是 Advanced Planning and Scheduling,企业软件。是对所有资源具有同步的,实时的,具有约束能力的模拟能力,不论是物料,机器设备,人员,供应,客户需求等影响计划因素。主要对短期的计划优化,对比,可执行性。其将要采用基于内存的计算结构,这种计算处理可以持续的进行计算。解决复杂的生产计划排程问题必须借助于APS。

2.3MES——制造企业生产过程执行系统

MES制造执行系统是一套面向制造企业车间执行层的生产信息化管理系统。MES制造执行系统可以为企业提供包括制造数据管理、计划排程管理、生产调度管理、库存管理、质量管理、人力资源管理、工作中心/设备管理、工具工装管理、采购管理、成本管理、项目看板管理、生产过程控制、底层数据集成分析、上层数据集成分解等管理模块,为企业打造一个扎实、可靠、全面、可行的制造协同管理平台。

现实中的mes系统主要着眼于利用各种技术手段实现数据采集,为企业的数据分析提供一些数据的支持。

制造执行管理系统是美国在90年代初提出来的,其目的是为了加强ERP的计划执行功能,将计划执行功能同车间的现场控制进行系统联系,然后通过控制层设备(PLC程控器、数据采集器、条形码、各种计量及检测仪器、机械手等)来进行控制。

MES系统的特点。

1)数据采集引擎、整合数据采集渠道(RFID、条码设备、PLC、Sensor、IPC、PC等)覆盖整个工厂制造现场,保证现场数据的实时、准确、全面的采集;

2)打造工厂生产管理系统数据采集基础平台,具备良好的扩展性;

3)采用先进的RFID、条码与移动计算技术,打造从原材料供应、生产、销售物流闭环的条码系统;

4)全面完整的产品追踪追溯功能;

5)生产状况监视;

6)库存管理与看板管理;

7)实时、全面、准确的性能与品质分析SPC。

这些与工业化4.0所提倡的很多点是一致的。

这些年很多公司都在热衷于上线MES系统,很大原因在于其“实在憨厚”的本性。我们看看MES可以帮我们解决哪些“实在”的问题,提供哪些“实在”的便利呢?

MES提供的便利:

1)不下车间掌控生产现场状况工艺参数监测、实录、受控

2)制程品质管理,问题追溯分析

3)物料损耗、配给跟踪、库存管理

4)生产排程管理,合理安排工单

5)客户订单跟踪管理,如期出货

6)生产异常,及时报警提示

7)设备维护管理,自动提示保养

8)OEE指标分析,提升设备效率

9)自动数据采集,实时准确客观

10)报表自动及时生成,无纸化

11)员工生产跟踪,考核依据客观

12)成本快速核算,订单报价决策

13)细化成本管理,预算执行分析

对比mes的功能来看,其实施前后的变化如下:

这些便利可以细分成11大核心模块,我们来看看。

1、生产调度:通过对有限资源能力的排序和调度为作业计划进行优化与排序;

2、资源分配和状态:管理生产所需资源,协调劳动者、生产设备、工具和物料的分配使之最优化,并且跟踪其当前工作状态以及完工情况;

3、生产过程管理:通过生产指令将物料或加工命令送到某一加工单元开始工序或工步的操作;

4、文档管理:管理和分发与产品、工艺规程、设计或工作令有关的记录和单据,以及对生产历史数据的保存与维护;

5、产品跟踪和产品清单管理:通过监视工件在任意时刻的位置和状态信息来获取每一个产品的历史记录,此记录可向上追踪至材料组件,或追踪至终端成品;

6、性能分析:提供实际制造过程的结果报告,并与历史记录及所期望的目标进行比较;

7、劳力资源管理:提供按分钟级更新的员工状态信息数据(包括工时、参与率、成果确认等)便于指导人员的工作;

8、维护管理:追踪设备和工具的保养情况,指导维护工作,保证机器和其他资产设备的正常运转以实现工厂的执行目标;

9、过程管理:监控生产过程,指导工厂的工作流程,提高加工效率和质量;

10、质量管理:实时分析从制造现场采集到的信息,跟踪和分析加工过程的质量,确保产品品质;

11、数据采集:采集并组织来自人员,机器和底层控制操作数据以及工序物料信息,从而获得内部生产作业所需的表格、记录或参数资料。

2.4 PLM产品生命周期

PLM,是一个英文缩写,翻译过来产品生命周期(Product Lifecycle Management,PLM)根据业界权威CIMDATA定义,PLM为一种应用于在单一地点的企业内部、分散在多个地点企业内部,在产品研发领域具有协作关系的企业之间的,支持产品全生命周期的信息的创建、分发和应用的应用解决方案。现实中的PLM一般是用于对图纸和文档进行。

它实施一整套的业务解决方案,把人、过程和信息有效地集成在一起,作用于整个企业,覆盖产品从概念到销售的全生命周期,支持产品全生命周期的信息的创建、管理、分发和应用的一系列应用解决方案,它能够集成与产品相关的人力资源、流程、应用系统和信息。

对比来说,ERP、MES主要是解决企业内部的问题,而PLM的侧重点是产品的市场调研与产品销售后的服务。

PLM 解决方案的初衷是满足汽车和航天产业的需求。虽然此类系统功能多样且操作复杂,但能够有效管理生命周期长达数年的产品。对于产品生命周期极短或发展飞快的行业来说,此类 PLM 解决方案通常无法奏效。

相反,新一代的现代 PLM 解决方案已经推出,专为管理历时极短(通常为几个月甚至几周)且节奏超快的产品生命周期而设计。尤其是,能够满足服装、箱包、制鞋等市场中企业特定需求的 PLM 系统已经出现—— DNASOFT PLM。

2.4.1、PLM产品模块

PLM总控台:分季节、主题、系列等对项目进行规划,根据产品设计过程中数据回流,快速准确地审阅和对比计划,并有实时调整和同步功能,实现对产品周期的管控

设计CAD:承接企划的任务数据,利用设计CAD专业设计功能快速自由/组合设计,还可以将线下设计稿,用手机APP快速上传至系统中。款式图片及自动配色、配料、搭配方案等数字设计结果自动分解形成各类产品数据BOM。设计图稿一旦上传,设计师无法删除,即使人员流失,设计稿依然保存在系统中。资料全部数据化方便,新晋设计师查找设计稿熟悉公司的设计风格,快速度过“新手期”

版型CAD:设计数据流向CAD作为参考,CAD工作后的尺寸表、单用量数据回流工作数据台,形成产品数据。减少不同部门的人员,一些简单的沟通,提高设计师的工作效率,节省设计资源。

工艺CAPP:基于款式效果图一键褪色,进行各类工艺标识,可视化图形设计自动分解形成各类产品工艺BOM数据,改变传统制单模式。从设计CAD流入的数据,自动生成的工艺表单,解决数据不流通,影响生产进度的问题。同时,软件上还可以显示工艺的进行情况,让高层把握工作进度,从而制定方向。

样品管家:唯一二维码管理模式,结合APP扫码对样衣的完整属性信息查阅、借用、流向追踪等精细化管理。

BOM中心:清晰了解开发进度,按物料、颜色尺码等统计开发情况,版单与设计文件、版型文件、物料等互相关联,后期基于完整数据可快速返单。

板料供应链:能应对常变多维度的数据来源(企划、设计、头版、齐色、大货),进行物料需求分析,快速完成采购单汇总,以及简便规范的物料仓储操作流程,实现无纸化办公。

成本预算:自动关联的核价细节,相关核价表单展示,并定制报表打印。

发外工艺:清晰了解工艺发外加工情况,并有时间预警,及时跟踪工艺按时回收。

2.4.2、PLM与PDM的区别

PDM

PDM作为产品创新数字化的重要概念,是Production Data Management的缩写,顾名思义,关注点在于产品数据的信息管理,并且在传统的理解中,更确切的是指产品研发过程的数据管理,即Engineering Process Management,内容一般会包括如下常规部分:

1) 文档管理

文档是产品数据中不可缺少的部分,如各类行业设计标准及规范、产品的市场需求、产品研发过程产生的的需求分析、详细设计等技术文件,甚至包括这些文档的模板,都需要进行良好的管理和标准化。当然,为了更顺畅进行文档的内容更改记录和结果管理,往往需要在此环节涉及PDM系统与Office办公工具软件的集成。

2) 图纸管理

图纸是产品设计的重要结果数据文件,是PDM关注的核心,而在PDM逐渐成熟的过程中的早期,国内市场上大量存在的是图文档管理系统。直到现在,很多国产PDM系统依然以图文档管理作为核心功能。

3) CAD集成

产品在我们的生活中无处不在,用于进行产品设计的工具软件也种类繁多,为了更好的进行图纸管理,将图纸信息(甚至包括图面信息的提取)如何顺畅的从CAD环境传递到PDM系统并保持同步性和关联性,则带来了CAD集成这样一个重要的实施部分。常见的CAD软件如AutoCAD、基于AutoCAD的二次开发软件、NX、Pro/E,以及Protel、Cadence等。

4) 可视化管理

由于图文档均被纳入到PDM的管理数据,然而由于相应的图文档编辑软件种类极为繁多,PDM中的使用者(包括各级领导)面临大量不同格式的图文档浏览需要,如果人人都安装各种编辑软件是不可想象的。提供统一的公共的可视化管理成为必需。

5) 物料管理与产品结构管理

在PDM系统中仅仅管理图文档的管理是远远不够的。按照PDM的传统理念,是以产品结构为中心组织各类数据,产品结构由各种类型的物料所构成,也成为每份图文档文件所依附的节点。物料管理作为一个独立的话题,还面对很多内容,如物料的编码系统,物料的创建申请,物料的可用状态的变化等等。

6) 产品配置管理

越来越多的产品需要在标准配置或功能基础上,为客户进行不同程度的个性化定制,这带来了设计环节思路上的重要变化,即产品配置管理。可以为客户提供大量的丰富的可选功能部件,满足不同的客户需求。如针对功能的标准型、高级型、豪华型,如针对不同地区的型号,针对不同性别年龄的型号等很多角度的产品设计资料的配置。

7) 工作流管理

正如上面所提及的,不论是图纸还是文档、物料以及产品结构,都需要从草稿状态到最终发布生效(甚至是多次的阶段性发布生效),相应的大量签审过程都属于工作流管理的范畴。可以这样讲,工作流驱动机制使得PDM能够管理数据状态的不断变化。

8) 其余基础部分(组织管理、权限管理等)

理所当然的,为了能够在PDM中创建和访问数据,相应的要管理必要的人员组织以及权限等基础性架,以上提及的,是PDM的常规涉及范围,而PLM,则代表了更全面的视角。

PLM
PLM的观点认为,一个标准完整的产品生命周期应该起源于需求。这种需求可能来自于市场的调查、分析或者反馈,也可能来自于企业自身不断创新推出新产品引领市场的需要。由于成本原因、技术风险原因或者市场条件变化等原因,最终有多少需求能够真正反映到企业的新产品中是一个值得探讨和管理的话题。因此在PLM系统中第一个关注的就是需求管理,跟踪有多少需求是最终有效的,以及这些需求的实现结果,并为后续新品的开发积累基础。

当相应的需求不断细化后,接下来会展开概念设计的工作,此阶段产生大量的技术尝试方案和原型系统以支持可行性论证等工作,虽然此时并非正式的产品研发,但作为企业的宝贵知识资产必须进行合理的管理和总结分析。

当企业真正确定了产品将采用的技术方案后,则进入了Production Engineer环节,即以往PDM的管理范畴,在此不再赘述。

从工作环节划分上,在完成产品的基本设计后,为了支持后续的生产,还必须要经过工艺设计。在不同产品类型和生产类型的企业中,工艺可能是指设计工艺,也可能是指生产工艺。这部分工作涉及到了工艺路线、工艺规程、工艺卡片等,也就是以往在中国广泛存在的CAPP系统的范畴。在PLM的大概念下,将工艺环节纳入并作为一个不可缺少的实施环节。

产品经过工艺设计后,会安排小批量的试制或者试验,试验数据也将对产品量产或交付上市前的完善产生重要参考支持,即TDM(Test Data Management)所关注的业务环节。

产品最终交付给客户后,通常还需要进行售后维护,那么该何时定期维护、如何管理和跟踪产品的实际状态以决定预防性维修,如何制定产品出现问题后的维护策略(如就地维护还是返厂维护等),则是一个目前新兴的重要业务领域,即MRO,同时MRO的大量信息也需要来自于最初的设计部门的产品设计资料以及产品出库和交付过程的大量记录信息。

最终随着市场的发展和更新换代的需要,一些型号的产品不再安排生产和售后维护从而真正的退出市场,意味着这类产品生命周期的结束。

这样的一个完整过程是产品生命周期理念的精髓和管理价值所在,同时在此过程中,必须要解决项目管理视角的数据组织、质量管理体系的建设、与周边ERP系统以及MES系统的信息交互,各种类型BOM数据的转换交付文档的动态内容出版解决方案,以及需要集成更多种类的工具软件(CAE/CAM)等大量细节问题。

总结

通过上面的表述,相信很多人已经对PDM和PLM的概念能够做出相应的区分判断。大致的差异有两点总结:

1) 关注范围不同

PDM关注的是研发数据的管理,虽然也会涉及其余部门,一般会重点集中于设计部门进行实施,而PLM关注整个产品生命周期,实施范围可能涉及市场、销售、研发、工艺、制造、工程和售后维护等大量环节,每个环节都有可能成为实施的关注点。可以说,在业务范围和功能深度上,PLM做了大量的延伸。

2) 实施难度不同

PLM的实施相比PDM显然难度更大,业务领域更多,对实施顾问、技术顾问的经验和技能要求更多,从业压力更大。在国内,由于两者的混淆,经常会见到以PLM为名的项目只是在做PDM范围的工作,并没有覆盖到应有的整体业务,企业的管理效率只能在局部取得改善。

相信随着实施服务商水平的不断进步,国内客户知识的不断增长,PLM产品整体功能和行业解决方案的不断成熟,真正的PLM解决方案一定会逐渐发挥和展现它应有的意义和价值。

3、各系统的协作关系

(1)工厂的物流与信息流

物流:原料采购,原料入库,原料出库、加工组装、测试、验收、出厂交付客户。

信息流:

一个产品的生产如下:

市场调查(获取市场需求)——核心数据录入PLM系统(形成初步需求规格书)——需求下发设计部门——细化需求,开展设计——产生方案并论证可行性测试——确认方案——PDM环节,完成基本设计,工艺设计——小批量生产,获取是生产数据——市场化(销售)——合同、文件录入ERP系统——按照需求获取物料清单——ERP生产计划系统开始规划生产——MES接受生产计划指挥控制层开始工作(在生产过程中MES实时向ERP和PLM反馈数据)——合同满足,交付客户——PLM继续监控产品售后数据

————有些企业将售后维保系统部署到了客户的生产系统中,跟自己的企业系统进行了对接,为用户提供设备的运行状况检测、生命周期预测、维护保养建议等服务。当企业数据云服务化之后,可以选择将软件部署在云端。这些数据还可以和客户的mes系统对接,厂家实时获取设备的状态数据,用户则除了状态数据还可以获得生产数据,真正实现社会化大生产的数据共享,为柔性生产提供数据支持。

PLM系统包含了PDM系统,同时兼顾了需求调研和售后维保两个环节。如果说ERP和MES是企业内部的管理系统,那么毫无疑问PLM为跨企业数据共享提供可通道。

总结

制造企业关心三个问题:生产什么,生产多少以及如何生产。如何生产又包括可以生产什么,在什么时间生产什么,在什么时间已生产什么,质量如何效率如何等问题,ERP回答的就是前两个问题,根据合同,确定生产目标和生产计划。MES协调解决如何生产问题。

MES管理都是在ERP的框架下运行的,是ERP的子集或交集。主要功能是对ERP的计划的一种监控和反馈,是ERP业务管理在生产现场的细化。ERP是业务管理级的系统,而MES是现场作业级的系统。所以,很多MES管理软件都会与工业设备,通过工控技术进行实时数据采集,再上传给ERP系统进行业务状态改变和业务指令处理。

而随着企业精细化管理的提升和市场为导向的生产运营需求提高,需要一整套可以覆盖需求、设计、产品运行状态监督检测、障碍跟踪,这时候PLM系统就很好地解决了这个问题。PLM包含了全部PDM的功能,成为了企业ERP系统向市场向用户两段延伸的手,进一步强化了企业生产管理的效率。

4、PLC、ERP、MES信息系统地交叉共同数据分析

制造业企业的核心数据为销售数据、技术数据、生产数据和采购数据。PLM、ERP、APS、 MES 信息系统数据存在交叉关系,有部分数据对多个系统都需要,这部分数据如果在多个系统中共享,就能提高系统维护效率,也减少维护数据出错概率,改进了信息系统的功能。要分析如何数据集成,先要知道哪些数据属于多个系统使用,这些数据就是我们的集成对象。

(1)销售数据

销售数据和ERP、APS都相关。基本的销售数据重要字段是客户、商品、数量、交货期。ERP系统可以用该数据形成销售发票,统计销售额。对APS系统来说,销售数据是生产计划排程的源头,在销售数据基础上形成组装计划,加工计划和外协计划。

(2)技术数据

接到销售订单后,技术部门要进行设计,设计产品结构,也就是BOM表,设计零件加工工艺。PLM是管理图纸的系统,它的核心应用领域是在设计领域,BOM表就是在设计阶段产生的,BOM在PLM系统中有存储。ERP系统中也要用到BOM数据,ERP中MRP分解计算,就是在BOM数据基础上,利用销售订单形成公司内部加工零件数量和对外协采购数量。APS排产系统也用到BOM,它比ERP系统计算的更细。当然了如果公司已经有了APS系统,就不需要ERP系统的MRP计算功能了。

BOM数据表可以有下面的表示方式,最基本的BOM表,仅仅包含3个字段,母件,子件和数量。这种BOM表结构只能表示简单的组装关系,即零件都完成后再一起组装。如果零件加工过程和组装过程伴随在一起,这种BOM无法表示出。

比如,一种原材料C0,经过一步加工到C1,这时候需要装配上A, 然后继续加工成C2, 再装配上B,然后加工成C3, 下一步变成C。

在实际的生产过程中,这种流程也很常见,简单的母件和子件表是无法表示出零件的前后流程关系。在生产计划排程APS系统中,必须将装配关系和零件生产前后顺序流程都表示出来才能进行正确的还有指导性的排程。该例子可以用下面表格样式表示出其流程关系。

从C0到C为零件生产流程主线路,我们定义为5个工序:

例如C1工序既涉及到加工,又涉及到组装。如果该工序号后面写的是零件,则该步骤为装配,后面是装配使用的数量。如果工序号后面是设备,则后面是具体设备编号,和在该设备上加工使用的时间。通过该表就可以表示出流程中既有装配,又有组装的复杂流程。

PLM的核心应用领域是设计领域,在产品设计时,需要设计零件总装图和各个零件的图纸。零件的总装图上体现出了产品结构信息,也就是BOM。PLM产品可以直接从总装图上提取出BOM信息,并将该信息存储在数据库中。笔者单位使用的是国内知名PLM厂商CAXA公司的产品,现将CAXA从图纸中提取BOM信息做一介绍。

CAXA PLM提供产品结构管理,以结构树的方式显示产品的装配组成关系。产品结构树为用户提供关于产品组成的直观视图,在产品结构树的基础上,可以进一步实现产品结构对应的BOM输出。可以绘制总装图,也可以通过批量入库把总装图中的结构提取出来,生成产品的结构树。生成的结构树样式如下:

结构树对应的BOM信息会保存在CAXA PLM对应的数据库中,如何通过技术手段将BOM信息导入其它信息系统中呢?后面讲。

(3)生产库存数据

可以使用MES系统实时采集库存数据,库存数据会为ERP系统和APS系统提供数据支持。ERP系统一般采用键盘输入数据,而MES系统一般是通过条形码,二维码,RFID等技术采集数据,效率大大高于键盘输入,并且便于在生产现场现采集,保证数据的实时性。实时性的库存是最有意义的。MES是车间和ERP和APS系统之间的协调信息系统,它提供了通常ERP系统所不能提供的生产车间信息的透明性,提供了ERP和APS与底层车间(操作终端与设备)的可靠数据界面等。

(4) 采购数据

采购数据和销售数据是相反的对应关系,销售是卖给客户,采购是供应商卖给本企业。在ERP中采购单据和销售单据格式基本一样。ERP和APS都需要采购数据。

5、信息系统的数据集成和共享的技术分析

(1)公共部分使用同样数据库表格

使用同样数据库表格,指的是使用同样的数据库,例如PLM、ERP、APS、MES数据库都是Sql server, 里面不同系统涉及到的BOM表都是Sql server中同一张表。这无疑是集成最彻底的方式,但经常每个公司侧重点不同,例如提供ERP的公司,没有PLM产品,或者不擅长PLM,其PLM系统功能不强。如果是大公司的产品,产品线更丰富,相互融合性更好些。例如用友公司既有ERP 产品,也有PLM产品。如果想要这种方式集成,需要购买时,考虑大公司的信息系统产品。

(2)使用中间文件

该方法是在一个信息系统将需要共享数据导出,导出到一个中间文件,然后再通过这个中间文件将共享数据导入到另外一个信息系统中。

例如:Excel文件是最常用的表格程序。一般的PLM、ERP、APS、MES都有数据导出到Excel和从Excel导入的功能。可以从PLM系统中导出BOM数据到Excel表格中,然后再从Excel表格将BOM数据导入到ERP和APS系统中。

(3)使用数据自动传递方式

数据自动传递,是指利用程序软件在不同的信息系统之间自动传递共享数据,这样传递数据效率高。自动传递数据的手段之中,通过数据库触发器传递数据是开发便利,成本低廉的手段。下面对数据库触发器传递数据做一介绍。

PLM、ERP、APS、MES信息系统常用的数据中,可能Sql server是使用最多的。SQL Server 是 Microsoft推出一套产品,它具有使用方便、与相关软件集成程度高等优点,成为了Windows平台下进行数据库应用开发理想的选择。SQL Server广泛应用于金融、保险、电力、行政管理等与数据库有关的行业。SQL Server与其它数据库,如Access、FoxPro、Excel等有良好的ODBC接口,可以把上述数据库 转成SQL Server的数据库。

Sql server数据库带有触发器的功能,利用触发器功能编写代码,代码是自动触发的。当对表中的数据做了任何修改之后立即被激活,然后程序运行,对其它数据表进行修改。

基本的触发器包括一下3种类型:

A insert触发器:向表中插入数据时被触发;

B update触发器:修改表中数据时被触发;

C delete触发器:从表中删除数据时被触发。

以知名ERP厂商用友的ERP为例,它的零件基础数据都是存在于Inventory表格中。零件基础数据是PLM, ERP, APS和MES的共同数据,需要共享。可以只维护一个系统,然后设置触发器,当一个信息系统零件基础数据更新后,利用触发器自动修改其它信息系统零件基础数据。

这三个方式如何使用,这就需要根据企业的需求来做,这也是工控人的一个很有前景的方向。

后记

随着企业信息化应用的逐步发展,企业的信息化环境逐渐复杂。在企业使用PLM产品用于管理图纸之后,PLM就需要关注与其它管理信息系统的集成,实现与各种CAD系统集成,提取的规范化、标准化的信息,并与ERP/APS/MES等系统进行快速的数据交换,避免数据的重复定义导致的问题,从而提升企业的整体运营效率。

PLM最新的趋势会用到大数据和虚拟化技术,但只有解决了PLM与ERP、APS和MES系统的集成问题,不同系统数据实现共享,大数据和智能化技术才能更好从企业的海量数据中进行深度挖掘,提取出有价值的信息,为企业经营决策提供支撑。



作者:漠漠彡
链接:https://www.jianshu.com/p/6c395b04e481
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


目前国内主流的低代码开发平台有:宜搭、简道云、明道云、云程、氚云、伙伴云、道一云、JEPaaS、华炎魔方、搭搭云、JeecgBoot 、RuoYi等。这些平台各有优劣势,定位也不同,用户可以根据自己需求选择。


一、宜搭

宜搭是阿里巴巴集团在2019年3月公测的面向业务开发者的零代码业务应用搭建平台。开发者可以通过可视化开发单据页面、流程页面、报表页面、展示页面、外部链接页面,将这些页面组合在一起形成轻应用,一键发布到PC和手机端。宜搭在2018年在阿里巴巴集团内部发布,阿里作为首个种子用户,到目前为止已有上万个应用在上面使用。 在2019年9月宜搭也发布了升级版宜搭Plus,在单据、流程、报表等方面都进行了全面升级,成为一款面向ISV开发者的低代码开发平台,能够满足企业复杂业务管理系统开发所需的数据建模、逻辑&服务编排、专业UI页面设计等需求。

优势:大厂产品,用户体验较好,开发简单应用较为便捷,定位阿里生态,发展较快。

劣势:只能线上用,不能私有化部署,不交付源代码,价格较高。


二、简道云

简道云发布至今快五年了,已经算是市面上发展比较久的产品了,它由国内专业的大数据BI和分析平台厂商——南京帆软软件有限公司(以下简称“帆软”)孵化而来,在数据分析方面具有天然的优势。 简道云与帆软旗下报表、BI等其他产品定位有所不同,简道云致力于帮助非技术人员快速搭建企业应用,无需使用编码,即可搭建销售、OA办公、生产等管理应用,帮助企业规范业务流程、促进团队协作、实现数据追踪!

简道云的核心功能包括表单、流程表单、仪表盘以及其他一些高级功能,通过这些功能的组合,搭建出各种不同的应用。

优势:强大数据分析功能、快速移动化、界面交互体验优。

劣势:缺乏低代码开发功能,模型无法代码化扩展,复杂应用无法支撑;仅支持云端部署,无法私有化部署,费用较高。


三、明道云

明道云的发展历史很长,从最开始的梅花网到协作SaaS产品明道,最后在2018年转型成为零代码业务应用构建平台。在行业中,还属于比较新的产品,明道云给自己的定位是一个APaaS平台,让企业用户不需要代码开发就能够搭建出用户体验上佳的销售、运营、人事、采购等核心业务应用。从整体功能上看,明道云对标的是国外应用搭建平台Airtable,主要通过搭建数据管理以及流程管理应用,帮助企业高效管理业务。

优势:移动化能力强,支持与钉钉和企业微信集成,视图功能较为强大,可扩展性好。

劣势:报表功能较弱,审批流偏弱,有一定上手门槛,费用高。


四、云程

云程平台是一款基于SpringBoot+VUE的低代码开发框架。采用微服务、前后端分离架构,基于可视化流程建模、表单建模、报表建模工具,零代码快速构建云端业务应用 ,平台即可本地化部署,也可基于K8S云原生部署。云程平台也是一款专业的BPM软件,即可独立部署,支撑企业级端到端流程落地,也可嵌入到您的OA、ERP等系统中,作为流程引擎组件使用。云程平台主要目的让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量,为企业信息化建设降本增效。

云程研发团队核心成员有10年以上的软件研发经验,聚焦于低代码平台、流程引擎等中间件产品研发,我们即可输出云程平台源代码,也可提供专业咨询和定制服务。

官方网站: http://www.yunchengxc.com/

在线演示:http://www.yunbangong100.com:31110/

官方文档:http://www.yunchengxc.com/category/help/doc

优势:云原生架构,流程引擎功能强大,对复杂应用支撑较好,云化和私有化均可,可交付源码,商业模式灵活。

劣势:缺乏市场宣传,缺乏生态化发展,用户界面美观方面稍有欠缺。


五、氚云

氚云是深圳奥哲网络科技有限公司(奥哲网络)三大主推产品之一,跟简道云是同时期的选手,已经发展近5年,是一款面向管理者或业务人员的以场景为中心的零(低)代码平台。2018年成为阿里战略投资的低代码应用搭建工具,与钉钉实现了深度融合。 氚云的定位与以流程为中心的H3 BPM和以业务为中心的云枢不同,氚云是以明确的场景为中心,通过可视化表单、流程设计、智能报表和模板化应用,帮助管理者或业务人员快速搭建流程与应用,透明呈现业务进度,实时展现精准数据,完整沉淀管理信息。

优势:表单流程配置灵活,应用模板丰富,交互设计体验较好,对钉钉支持较好。

劣势:功能较基础,复杂功能需使用低代码,需绑定钉钉提供服务,对于非钉钉类应用,局限性较大。


六、JEPaaS

JEPaaS是一款优秀的软件平台产品,可视化开发环境,低代码拖拽式配置开发,操作极其简单,可以帮助解决Java项目80%的重复工作,让开发更多关注业务逻辑,大大提高开发效率,能帮助公司大幅节省人力成本和时间成本,同时又不失灵活性。适用于搭建 OA、ERP、CRM、HR、HIS等所有的企业信息管理系统。


七、伙伴云

伙伴云,是由有着10年以上论坛软件开发及中小企业服务经验的前Discuz!团队打造的,历经“伙伴云表格”、“伙伴办公”,逐步升级为一个为企业经营服务的数据可视化平台,为企业的全流程运营管理与经营核算提供整体解决方案。通过强大的数据库引擎及权限架构,搭配可灵活定制的流程引擎与大数据分析引擎,配合专家级经营顾问与服务,打造全流程、实时可视化的经营核算体系,为企业构建起上下同心的经营伙伴关系,实现员工持续成长、组织持续变革、业绩持续提高。


八、道一云

道一云|七巧Plus(下面简称“七巧Plus”)是道一云旗下的一款低代码开发平台,去年7月左右上线,算是一款比较新的产品了。七巧Plus给自己的定位是一个高生产力的aPaaS平台,帮助企业快速搭建个性化应用,规范流程管理、数据追踪,提高团队协作效率。 道一云从2004年成立至今,近几年已经陆续发布了基于企业微信的协同应用套件——OA、HR、CRM等应用,在应用平台方面还发布了中台、七巧Plus,从布局上来看,是典型的“PaaS+SaaS”发展模式。


九、JeecgBoot

JeecgBoot 是一款基于代码生成器的低代码开发平台,零代码开发!采用前后端分离架构:SpringBoot2.x,Ant Design&Vue,Mybatis-plus,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码! JeecgBoot引领新的开发模式(Online Coding模式-> 代码生成器模式-> 手工MERGE智能开发), 帮助解决Java项目70%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省成本,同时又不失灵活性!JeecgBoot还独创在线开发模式(No代码概念):在线表单配置(表单设计器)、移动配置能力、工作流配置(在线设计流程)、报表配置能力、在线图表配置、插件能力(可插拔)等等!

JeecgBoot开源版本功能有限,只有系统管理功能,低代码开发和流程引擎均需要购买商业版本。


十、RuoYi

RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。

RuoYi开源版本功能有限,只有系统管理功能,流程引擎等高级组件均需要购买商业版本。

————————————————

版权声明:本文为CSDN博主「大龄码农有梦想」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/wxz258/article/details/114488658


上个月,钉钉在6.0发布会就曾暗示:

“低代码开发是云计算之后的下一场IT革命。”

发布会所提到的应用开发平台,就是低代码开发。

那什么是低代码开发?:

所谓低代码开发,即无需编码或只需少量代码就可以快速生成应用程序。也就是说,企业的应用开发通过“拖拉拽”的方式即可完成。

过去3年,阿里巴巴集团通过低代码开发平台,构建了12700个应用,其中绝大部分是由HR、财务等不具备开发经验的岗位员工搭建。

事实上,这些平台默默发展近20年,2015年才渐渐形成赛道,暗潮汹涌。入局选手很多,但有一点是明确的:

低代码赛道尚未形成明确的市场格局,入局者都有翻盘的机会,也有可能被翻盘。

 

纵观低代码开发的发展,有这几个关键时间点:

  • 2015年微软、谷歌等巨头入局。

  • 2018年西门子收购Mendix,OutSystems获得融资,低代码在海外走红。

  • 2015-2018年期间,国内低代码厂商像简道云、氚云等也斩露头角。

  • 2018年起,互联网巨头阿里、腾讯、百度纷纷入局。

  • 2019年起,低代码成为我国ICT产业中最明显的增量市场。

  • 2021钉钉6.0发布会再次引燃低代码市场。

一、国内低代码平台

简道云、明道云、IVX这几家目前是无代码赛道的明星选手,在市场综合表现上排列前茅。宜创、红圈营销虽也极具潜力,但在市场表现力上稍逊色。黑帕云、易水云、雀书等平台尚处于孵化阶段。——《2021 年中国低代码/无代码市场研究报告》

国内低代码平台一览表

1、简道云

2015年就入局的零代码开发厂商,在数据管理与数据可视化分析上有出色表现。流程性应用配置需求,现也在挖掘核心应用需求的应用开发。作为无代码赛道的明星产品,在功能满足及使用体验上都较好。

帆软软件出品,国内第一家在线零代码应用搭建平台,主打表单、流程表单、数据管理与数据分析,为企业流程性业务管理与配置赋能,无需代码、全程拖拽,即可完成应用搭建。

功能点:

  • 流程性业务配置应用轻松搭建,赋能业务人员,二次开发成本低。

  • 数据工厂、聚合表、仪表盘等功能助力数据管理与数据分析。

  • 提供OA/人事/绩效/ERP/CRM/进销存等解决方案。

  • 提供BPA(业务流程分析)工具,为企业优化、调整业务流程提供科学的统计方法和开箱即用的分析工具。

  • 可集成于钉钉,飞书;提供API & Webhook功能,可自主开发。

  • 提供知识库功能,可与工作流结合。

产品版本:免费版;标准版¥4950起/年;私有云版询价。

2、氚云

获阿里战投,背靠阿里强势发展,钉钉四星级定制服务商,功能良好,报表美观度上略差。

奥哲旗下产品,2016年上线钉钉应用市场,是面向业务部门管理者或企业决策者的业务管理工具,以拖拽式的积木搭建的方式搭建应用。

功能点:

  • 提供表单、流程引擎,报表等功能。

  • 积木式应用搭建,同时具备代码开发和外部系统集成能力。

  • 与钉钉集成,支持PC端与移动端使用。

产品版本:分标准版和专业版,按使用人数核定价格,标准版¥2980起/年,专业版¥4980起/年。专业版提供开发者功能,标准版不提供。

3、炎黄盈动AWS PaaS

基于长期BPM PaaS项目管理和实践经验,总结提炼形成AWS PaaS平台项目实施方法论,专注于企业业务流程管理和运维。更适用于大中型企业,有更高的扩展性与继承性。2019年发布的易鲸云版本,支持对复杂业务应用的可视化构建,提供基于Java标准的开放编程框架,灵活满足复杂场景的扩展。

炎黄盈动推出的第六代平台产品,于2017年正式发布,完全自主研发并拥有核心技术,致力于为用户提供低代码和BPM结合的PaaS平台。

功能点:

  • 专注BPM和PaaS开发研究,是面向大中型企业的PaaS平台。

  • 打通从流程管理到流程执行的轻量级低代码平台。

  • 涵盖了流程应用、移动应用、数据应用、集成应用、协同应用、API应用六大应用场景。

产品版本:易鲸云¥9600起/年,适用于100-2000人的组织用户;云服务版¥28908起/年,适用于50-100万用户规模的组织或SaaS提供商;企业安装版需询价。

 

4、明道云

提供内部沟通、任务等功能,类似简化版的钉钉。内置功能性模块不多,要依赖API接口。有些功能设计冗余,有的入口路径设置太深,体验欠佳。

简介:APaaS平台,帮助企业快速搭建个性化业务应用,2018年正式发布明道乐高版,顾名思义,像搭乐高一样搭应用,强调应用的简易性。

功能点:

  • 提供工作表、视图、权限配置、统计图表、工作流五个功能组件。

  • 可实现跨云部署和系统集成。

  • 建立了自己的应用开放平台。

产品版本:团队版¥9900/年;企业版¥19900/年;旗舰版39900/年。

5、宜搭

由于上线时间不长,功能尚不完善,应用模板较少,对新手不够友好,从一些用户评价来看,整体体验还有待优化。

2019年3月宜搭上线,9月发布宜搭Plus低代码开发平台,2020年6月,宜搭上线专有云版。

功能点:

  • 以表单模型驱动的应用可视化搭建,可根据业务灵活定制应用。

  • 集成钉钉,默认使用钉钉通讯录,搭建好的应用可接入企业工作台,可实现高效协同办公。

  • 提供DDoS攻击防御,WEB应用防火墙,接口安全检测等安全服务。

产品版本:标准版¥1988起/年;尊享版¥3988起/年;专有云版本。尊享版提供高级页面设计、高级流程设计、报表设计离线大数据、服务端逻辑编排、前端代码开放功能。

6、IVX

可以说是零代码应用平台中的清流,与国内现有零代码平台发展路径不同,采用完全的"0代码开发语言",力图提供一种全新的开发手段和体系。

深圳世云新媒体有限公司旗下产品,前身是iH5,经过多次迭代更新,于2019年上线的完全采用"0代码开发语言"的零代码可视化开发应用平台。

功能点:

  • 提供一种全新的编程方式和语言IVX。

  • 适用于企业、个人应用、游戏等多种场景,针对群体主要是程序员,而非业务人员。

  • 有自己专门的IDE和编译器,同时后台集成了“云计算”的核心能力(AWS为主)。

  • 商业投放与运营前的注册、开发、发布、测试均免费。

产品版本:标准版¥18880/年;高级版¥48880/年;白金版¥118880/年。

二、国外低代码平台

国外低代码平台一览表

1、Power Apps

微软团队开发的一款SaaS产品,提供应用程序开发环境,协助无代码快速自定义应用开发;同时提供开发扩展功能,专业的技术开发人员可创建数据和元数据,实现自主开发,扩展应用逻辑、创建自定义连接器或实现数据集成。

功能点:

  • 利用Power Apps可创建画布、模型驱动应用和门户设计三类应用。

  • 存储于Dataverse的数据类型和关系可以直接在Power Apps中使用,无需集成即可构建应用程序。

  • 兼容性强,内置丰富数据接口,可与Microsoft365、Dynamics CRM等平台相连。

  • 可在Web或移动端运行。

Microsoft已形成了良好的应用开发生态,跨平台应用及联动性能强,但虚拟机用起来较缓慢,使用感欠佳。界面配置逻辑主要遵循excel的公式,前端代码可视化,实现UI交互还是需要懂一些代码。

2、App Maker

谷歌旗下的一款低代码应用平台,开发的初衷是为解决通用软件开发无法解决的应用程序开发问题,2018年正式上线,对外开放。

功能点:

  • 网页端即可创建应用

  • 拖拽UI完成界面开发,通过组件设定数据源完成后端数据连接

  • 提供定制开发服务

  • 提供API接口

  • 提供扩展功能,可与项目管理Asana、进销存管理Zoho Invoice等第三方应用集成。

无代码应用开发、应用集成扩展,基于Google云环境,国内开发者适用性较弱。

3、Mendix

简介:美国原生代低代码应用开发厂商,2018年被西门子收购,被Gartner评为低代码应用开发平台的全球领导者之一。

功能点:

  • 提供“所见即所得”的界面和适用于所有人员的无代码应用开发环境,赋能业务人员开发;

  • 同时向专业开发人员提供高级应用处理的低代码开发服务。

  • 提供数据库及核心系统的连接组件,可以实现CRM、ERP等独立应用数据的联通。

  • 以Mendix为核心,可搭建各种开放性生态系统,2019年西门子将低代码Mendix与工业互联网MindSphere平台结合,推出了Xcelerator软件产品,试图用低代码赋能,利用Mendix实现个性化应用的配置,加速工业互联网的落地,实现数据的互联互通。

不只专注于工业领域,可赋能各种个性化应用场景。落地腾讯云,目前正在向中国市场进发,上汽、富士康旗下的云智汇科技服务有限公司均运用Mendix平台开发了应用。

4、OutSystems

OutSystems2015年开始转型,专注提供云服务;2017年发布低代码新版本,引入新DevOps功能;2018年获KKR和高盛融资,发展势头强劲。Gartner曾评价:OutSystems是将低代码功能与高级移动功能相结合的唯一解决方案。估值超10亿美元,OutSystems或许有望跑赢Mendix,成为低代码界的独角兽。

功能点:

  • 打破传统代码编写方式,提供图形化控件,实现应用程序的可视化开发。

  • 同时支持编写代码,可轻松实现系统集成。

  • 提供云、本地部署和混合部署模式,部署可以基于容器。

  • AWS和Azure版本均支持接入IoT、AI等基础云服务。

  • 提供CRM/ERP等应用场景的解决方案及各类移动应用程序的搭建服务。

面向专业的开发者,代码能力要求高,工具控件不够丰富;IDE界面古老,操作不友好。

总结一下

毫无疑问,低代码是企业数字化发展的强大助力,特别是对中小企业用户而言,能为这些企业降本增效、发展加成。

但国外低代码平台发展路径整体不同于国内零/低代码产品的发展,我国低代码产商虽涌入了诸多玩家,但仍然处于市场增量环节。

从目前的发展看,低代码平台在功能上,也有望从边缘的、流程性业务向核心功能开发转变。未来可期啊。


Docker 客户端

docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。

runoob@runoob:~# docker

可以通过命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。

例如我们要查看 docker stats 指令的具体使用方法:

runoob@runoob:~# docker stats --help


容器使用

获取镜像

如果我们本地没有 ubuntu 镜像,我们可以使用 docker pull 命令来载入 ubuntu 镜像:

$ docker pull ubuntu

启动容器

以下命令使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器:

$ docker run -it ubuntu /bin/bash

参数说明:

  • -i: 交互式操作。

  • -t: 终端。

  • ubuntu: ubuntu 镜像。

  • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

要退出终端,直接输入 exit:

root@ed09e4490c57:/# exit

启动已停止运行的容器

查看所有的容器命令如下:

$ docker ps -a

点击图片查看大图:

使用 docker start 启动一个已停止的容器:

$ docker start b750bbbcfd88

后台运行

在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。

$ docker run -itd --name ubuntu-test ubuntu /bin/bash

点击图片查看大图:

注:加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec(下面会介绍到)。

停止一个容器

停止容器的命令如下:

$ docker stop <容器 ID>

停止的容器可以通过 docker restart 重启:

$ docker restart <容器 ID>

进入容器

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

  • docker attach

  • docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。

attach 命令

下面演示了使用 docker attach 命令。

$ docker attach 1e560fca3906

注意: 如果从这个容器退出,会导致容器的停止。

exec 命令

下面演示了使用 docker exec 命令。

docker exec -it 243c32535da7 /bin/bash

注意: 如果从这个容器退出,容器不会停止,这就是为什么推荐大家使用 docker exec 的原因。

更多参数说明请使用 docker exec --help 命令查看。

导出和导入容器

导出容器

如果要导出本地某个容器,可以使用 docker export 命令。

$ docker export 1e560fca3906 > ubuntu.tar

导出容器 1e560fca3906 快照到本地文件 ubuntu.tar。

这样将导出容器快照到本地文件。

导入容器快照

可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:

$ cat docker/ubuntu.tar | docker import - test/ubuntu:v1

此外,也可以通过指定 URL 或者某个目录来导入,例如:

$ docker import http://example.com/exampleimage.tgz example/imagerepo

删除容器

删除容器使用 docker rm 命令:

$ docker rm -f 1e560fca3906

下面的命令可以清理掉所有处于终止状态的容器。

$ docker container prune


运行一个 web 应用

前面我们运行的容器并没有一些什么特别的用处。

接下来让我们尝试使用 docker 构建一个 web 应用程序。

我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。

runoob@runoob:~# docker pull training/webapp  # 载入镜像runoob@runoob:~# docker run -d -P training/webapp python app.py

参数说明:

  • -d:让容器在后台运行。

  • -P:将容器内部使用的网络端口随机映射到我们使用的主机上。


查看 WEB 应用容器

使用 docker ps 来查看我们正在运行的容器:

runoob@runoob:~#  docker ps
CONTAINER ID        IMAGE               COMMAND             ...        PORTS                 
d3d5e39ed9d3        training/webapp     "python app.py"     ...        0.0.0.0:32769->5000/tcp

这里多了端口信息。

PORTS0.0.0.0:32769->5000/tcp

Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32769 上。

这时我们可以通过浏览器访问WEB应用

我们也可以通过 -p 参数来设置不一样的端口:

runoob@runoob:~$ docker run -d -p 5000:5000 training/webapp python app.py

docker ps查看正在运行的容器

runoob@runoob:~#  docker ps
CONTAINER ID        IMAGE                             PORTS                     NAMES
bf08b7f2cd89        training/webapp     ...        0.0.0.0:5000->5000/tcp    wizardly_chandrasekhar
d3d5e39ed9d3        training/webapp     ...        0.0.0.0:32769->5000/tcp   xenodochial_hoov

容器内部的 5000 端口映射到我们本地主机的 5000 端口上。


网络端口的快捷方式

通过 docker ps 命令可以查看到容器的端口映射,docker 还提供了另一个快捷方式 docker port,使用 docker port 可以查看指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号。

上面我们创建的 web 应用容器 ID 为 bf08b7f2cd89 名字为 wizardly_chandrasekhar

我可以使用 docker port bf08b7f2cd89 或 docker port wizardly_chandrasekhar 来查看容器端口的映射情况。

runoob@runoob:~$ docker port bf08b7f2cd895000/tcp -> 0.0.0.0:5000
runoob@runoob:~$ docker port wizardly_chandrasekhar5000/tcp -> 0.0.0.0:5000


查看 WEB 应用程序日志

docker logs [ID或者名字] 可以查看容器内部的标准输出。

runoob@runoob:~$ docker logs -f bf08b7f2cd89 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)192.168.239.1 - - [09/May/2016 16:30:37] "GET / HTTP/1.1" 200 -192.168.239.1 - - [09/May/2016 16:30:37] "GET /favicon.ico HTTP/1.1" 404 -

-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。

从上面,我们可以看到应用程序使用的是 5000 端口并且能够查看到应用程序的访问日志。


查看WEB应用程序容器的进程

我们还可以使用 docker top 来查看容器内部运行的进程

runoob@runoob:~$ docker top wizardly_chandrasekhar
UID     PID         PPID          ...       TIME                CMD
root    23245       23228         ...       00:00:00            python app.py


检查 WEB 应用程序

使用 docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。

runoob@runoob:~$ docker inspect wizardly_chandrasekhar[
    {
        "Id": "bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85",
        "Created": "2018-09-17T01:41:26.174228707Z",
        "Path": "python",
        "Args": [
            "app.py"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 23245,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2018-09-17T01:41:26.494185806Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },......


停止 WEB 应用容器

runoob@runoob:~$ docker stop wizardly_chandrasekhar   
wizardly_chandrasekhar


重启WEB应用容器

已经停止的容器,我们可以使用命令 docker start 来启动。

runoob@runoob:~$ docker start wizardly_chandrasekhar
wizardly_chandrasekhar

docker ps -l 查询最后一次创建的容器:

#  docker ps -l CONTAINER ID        IMAGE                             PORTS                     NAMES
bf08b7f2cd89        training/webapp     ...        0.0.0.0:5000->5000/tcp    wizardly_chandrasekhar

正在运行的容器,我们可以使用 docker restart 命令来重启。


移除WEB应用容器

我们可以使用 docker rm 命令来删除不需要的容器

runoob@runoob:~$ docker rm wizardly_chandrasekhar  
wizardly_chandrasekhar

删除容器时,容器必须是停止状态,否则会报如下错误

runoob@runoob:~$ docker rm wizardly_chandrasekharError response from daemon: You cannot remove a running container bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85. Stop the container before attempting removal or force remove

 Docker Hello World

Docker 镜像使用 

1 篇笔记 写笔记

  1.    vfxZhen

      orp***010@qq.com

       参考地址

    1660940

    问题描述

    安装完docker后,执行docker相关命令,出现:

    ”Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied“

    原因

    摘自docker mannual上的一段话:

    Manage Docker as a non-root userThe docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can only access it using sudo. The docker daemon always runs as the root user.If you don’t want to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it makes the ownership of the Unix socket read/writable by the docker group

    大概的意思就是:docker进程使用Unix Socket而不是TCP端口。而默认情况下,Unix socket属于root用户,需要root权限才能访问。

    解决方法1

    使用sudo获取管理员权限,运行docker命令

    解决方法2

    docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令

    sudo groupadd docker     #添加docker用户组sudo gpasswd -a $USER docker     #将登陆用户加入到docker用户组中newgrp docker     #更新用户组docker ps    #测试docker命令是否可以使用sudo正常使用


前言:有时自己的做好的docker镜像,想将这个docker容器弄到其他服务器上去运行;或者已经运行的容器,将其弄导出,运行到其他地方进行测试

 

1.查看要要保存的镜像的ID

docker  images


 

2.保存镜像为tar包

docker save  -o   gitlab.tar    docker.io/twang2218/gitlab-ce-zh:latest

 


 

3.用scp,xftp等等将已经压缩好的gitlab.tar包弄到服务器,虚拟机(你想弄到的地方)

4.将gitlab.tar包导出到本地来(一定要有docker的运行环境,docker安装:https://www.jianshu.com/p/9c96ea8e6f41)

docker   load  -i  gitlab.tar

 


 

5.运行docker容器

docker  run -------- (因地制宜)

=================================================

还有一种export的导出,这个就运用范围比较小了,比如拉个centos的虚拟机,更改下ip,设置下ssh key等等,做的一个镜像,部署到服务器/虚拟机上,运行做测试用。就是多个人需要相同类似的初始环境,可以考虑这个

 

1.保存镜像命令为

docker export  -o gitlab-export.tar  18da462b5ff5

2.导出镜像命令为

docker import gitlab-export.tar

3.查看镜像

docker images

4.运行容器

docker  run -------- (因地制宜)