简介:对于正在选型或实施达索Enovia的制造业信息化从业者,这份PDF文档是一份系统化的架构总览。文档共1个PDF文件,大小约993KB,将达索产品全生命周期管理系统的架构浓缩成六个维度:业务逻辑架构、系统安装部署架构、应用架构、技术管理架构、数据仓库架构与业界标准支持。业务逻辑部分覆盖新产品立项、设计、工艺、成本、质量与知识管理;部署部分说明应用服务器、数据库服务器、文件服务器和许可证服务器的配合方式;应用架构围绕产品数据管理、BOM管理、流程管理、配置管理以及CAD集成展开;技术管理部分则介绍三层架构、TomEE中间件、数据建模和Vault多仓库物理隔离等关键机制。目前已有529人浏览学习,阅读后可快速建立从业务到服务器再到数据存储的完整映射,为后续深入掌握Enovia功能打下清晰基础。
1. Enovia系统架构:先看懂架构,再谈PLM实施
做过PLM选型或者实施的人都有体会:功能清单翻得再细,上线阶段真正决定成败的往往是架构。达索Enovia从1993年的MatrixOne一路迭代到今天,架构上已经形成一套成熟的分层体系——业务逻辑、应用、部署、技术、数据仓库,每一层都有自己的职责边界。这篇笔记把Enovia的系统架构拆开讲清楚,重点说明每个架构层次解决什么问题、服务器怎么分工、数据怎么隔离、实施时容易踩哪些坑。适合PLM实施顾问、企业IT架构师,以及准备上PLM的制造企业信息化负责人,看完能对这套系统建立一张完整的架构地图。
2. 业务逻辑与应用架构:从业务维度到功能映射
2.1 业务逻辑的五个维度与管理主线
Enovia定位为产品全生命周期管理系统,不是简单的图文档管理工具。原资料把业务逻辑拆成了五个维度。第一个是项目全生命周期管理,对应新产品概念提出、产品规划、设计开发、生产、上市、售后服务、退出市场,这是时间轴上的主流程,几乎覆盖了产品从生到死的全部阶段。第二个是研发环节的管理,包括产品数据管理、工艺管理、配置管理和成本管理,这是研发端每天要用的核心业务。第三个是研制战略层面,包括市场战略分析、配套零部件厂商管理和采购过程管理,这一步把PLM延伸到了供应链侧。第四个是质量控制,强调把质量与合规控制融入研发全过程,而不是单独搞一个质检系统挂在边上。第五个是知识管理与重用,要求既能应用已有的研发知识,又能在新项目结束时把经验沉淀为新的知识资产。
这五个维度加上贯穿其中的工具链集成,就构成了实施调研时的完整业务蓝图。我一般做需求调研时,会把这张蓝图列成大纲,先让业务部门按维度把现状讲一遍,再对照Enovia的功能去填充。很多项目前期需求梳理不完整,就是因为只盯着"产品数据管理"这一块,结果工艺、采购、质量的需求到上线前才冒出来,导致设计变更不断。
2.2 工具链与系统集成:从CATIA到ERP
业务逻辑要落地,离不开工具链的支撑。原文档列举得很清楚:产品结构设计用CATIA、SolidWorks等MCAD工具,电路设计用ECAD工具,工艺和工厂布局用Delmia,仿真分析用Simulia,最后还要和SAP等ERP系统集成。这里要强调一个认知:Enovia不是要替代这些工具,而是做整个研发链条的数据中枢。工具负责产生数据,Enovia负责管理数据的版本、状态、权限和流向。
实施时最花时间的工作之一,就是梳理每个工具产生的数据对象在Enovia里对应什么类型。比如CATIA的Part和Product在Enovia里映射成什么业务对象,ECAD的原理图和PCB文件挂到哪个对象下面,仿真的分析结果能不能和设计BOM绑定。这些映射关系如果不细化,后面做签审流程、做BOM汇总都会出问题。
2.3 应用架构的四条主线
Enovia的核心功能包括产品数据管理、项目管理、BOM管理、流程管理、配置管理、CAD集成。原文档把这套核心功能在具体应用上收拢成四条主线,我认为这也是实施团队划分工作包的依据。
第一条是项目过程管理。把工作任务分解成可控的颗粒度,每个任务节点对应明确的交付物,这些交付物就是后续数据管理的对象。常见做法是在系统里建项目模板,把WBS节点、负责角色、交付物类型固化下来,新项目一键套用。第二条是数据有效管理。以PDM为数据管理核心,对业务有效数据做单一数据源管理,通过签审流程控制数据有效性。通俗讲,设计数据在个人电脑里可以随便折腾,但发布出去的数据必须唯一。单一数据源的意思是,下游拿到的永远是经过审批的权威版本,而不是设计人员本地那一份。第三条是数据完整性管理。通过构建DBOM和EBOM进行项目研制数据的完整性管理。DBOM侧重设计视角,EBOM侧重工程视角,两者配合,才能让"设计出来的东西"和"能造出来的东西"对得上。第四条是加工生产维度。确定工艺路线,把工序细分成工步,明确每个工序的加工环节,直到构建整个工厂生产线的工艺控制行为。这一条和生产现场绑定得紧,通常要配合Delmia的工艺资源数据一起规划。
这里有个常见误用值得提醒:很多人把EBOM和MBOM混为一谈。EBOM是从工程设计角度生成的BOM,反映的是产品"设计成什么样";MBOM是从制造角度重构的BOM,反映"怎么造出来"。原文档在完整性管理里只提了DBOM和EBOM,但实际项目实施时,MBOM在工艺管理里同样重要。上线前建议把BOM视图的生成规则、发布流程和权限边界三条链一起设计好,否则后面BOM维护就是一笔糊涂账。
3. 系统部署架构:四大服务器的分工与规划边界
3.1 应用服务器:主应用与客户端通讯
应用服务器是整套Enovia系统的主应用服务器,客户端通过它完成产品数据管理操作。用户在浏览器或富客户端里发起的登录、查询、签审、检出检入,最终都汇聚到应用服务器,由它去协调数据库和文件存储。实施时应用服务器最常见的瓶颈是会话数和线程池,很多人只关注CPU核数,忽略了应用服务器和数据库服务器之间的网络延迟,结果跨机房部署时,一次简单的数据查询要等上一两秒。
3.2 数据库服务器:Oracle与DB2的选型逻辑
数据库服务器安装Oracle或者DB2。选哪个,通常看企业现有的数据库生态和IT团队的运维能力。如果企业已经有标准的Oracle RAC环境,顺势用Oracle;如果团队更熟DB2,用DB2也能支撑同样规模的部署。这里想提醒的是,数据库版本和字符集要在实施初期就定下来,后面再改是最痛苦的事,涉及数据迁移和所有连接串的修改。PLM的元数据操作非常频繁,数据库服务器的内存和磁盘IO是核心指标,磁盘建议走SSD或者高性能存储阵列。
3.3 文件服务器:加密存储的实体文件
Enovia把实体文件以加密方式保存在文件服务器上。这么设计的原因很直接:三维模型、图纸、Office文档这类大文件不适合全部塞进数据库,把实体文件和元数据分开,数据库只存对象和关系,文件按规则存放在文件服务器,容量扩展和备份都更灵活。实施时文件服务器要考虑三件事:存储容量要按历史数据增长预估,文件系统的挂载方式要稳定,加密密钥要单独管理并且纳入容灾范围。很多企业把加密密钥放在运维人员个人电脑里,恢复演练时找不到,这就是隐患。
3.4 License服务器:许可证认证的并发模型
用户使用Enovia应用,首先要经过License服务器上的许可证认证。许可证一般是按并发数或命名用户数授权的。实际使用中,License不足是出现频率最高的用户投诉之一。常见情况是,企业买的并发数是50,设计部门习惯性长时间占着会话不退出,到下午高峰期新用户就登录不上。实施时除了按班组倒班和峰值习惯估算并发量,还建议配置License池监控,设置80%水位告警,让IT部门在完全耗尽之前就能收到通知。
3.5 部署规划参考表
这里给一个中小规模部署的参考,具体按实际项目调整:
| 服务器角色 | 核心职责 | 参考配置思路 | 关键监控指标 |
|---|---|---|---|
| 应用服务器 | 业务逻辑、会话管理、对象服务 | CPU 8核以上,内存16GB起,优先保证网络带宽和低延迟 | 线程池使用率、会话数、GC频率 |
| 数据库服务器 | 数据对象、业务模型存储 | 内存32GB起,SSD存储,建议独立物理机或专用VM | 连接数、慢查询、IO等待 |
| 文件服务器 | 加密实体文件的存储与访问 | 大容量存储,千兆/万兆网络,建议RAID配置 | 磁盘容量、读写延迟、备份成功率 |
| License服务器 | 许可证认证与发放 | 配置要求不高,但需要高可用和监控 | 并发用户数、License池水位 |
部署架构的另一个重点是服务器之间的网络边界。应用服务器要能同时访问数据库和文件服务器,客户端只需要访问应用服务器和License服务器。这张拓扑在售前阶段就可以画给客户看,比讲一页功能清单直观得多。
4. 技术管理架构与数据仓库:三层架构和多Vault隔离
4.1 存储层:实体文件与数据对象分离
Enovia的技术管理架构是经典的三层架构:存储层、应用层、使用层。存储层做的是实体文件管理和数据对象管理两件事。实体文件放在文件服务器,数据对象和业务模型放在数据库服务器。这两类数据的生命周期和访问频率完全不同:实体文件体积大、写多读少,适合流式存取;数据对象和业务模型是高频访问的结构化数据,需要数据库的索引和事务能力。把两者分开,是PLM系统能支撑大规模研发团队并发访问的基础。实施时不要去动这一层的物理边界,比如把实体文件也塞进数据库,短期看着省事,后面容量和性能都会出问题。
4.2 应用层:TomEE中间件与数据建模
应用层为最终应用提供应用服务。原资料提到,在V6较新的几个版本里,常见的是使用TomEE作为中间件。TomEE是Java EE应用服务器,和传统商用中间件相比部署更轻量,License成本也更低。应用层还依赖几项关键技术:数据建模技术用来构建各个对象的数据关系,缓存技术加快数据存储和读写速度,适配器技术用来实现与其他业务系统的关联应用。
这里有两个实施要点。缓存和适配器都是容易被低估的。缓存配置不当,比如把全局缓存设得过大,反而会导致GC频繁,系统表现为周期性卡顿。适配器则决定了Enovia和ERP、MES等系统之间的集成方式,常见做法是走REST/SOAP接口或者消息队列。集成点要在实施前期就定好接口协议和数据映射,否则后期联调阶段会出现双方数据对不上、反复改映射的翻车现场。
4.3 使用层:浏览器与富客户端
使用层是最终用户直接接触的一层。用户通过IE/火狐等浏览器实现数据的结构化管理,比如属性编辑、BOM查询、流程审批这些操作在浏览器里完成;同时也可以通过达索的富客户端进行产品三维模型的构建和编辑,富客户端和CATIA深度集成,支持模型检入检出、构件装配等重操作。实施时要把使用层的兼容性写进验收标准,尤其是浏览器版本、插件和证书配置,很多用户环境里证书过期导致客户端连不上,排查起来非常耗时。
4.4 多数据仓库(Vault)管理:Oracle实例物理隔离
Enovia支持多数据仓库(Vault)管理。原资料强调,每个Vault之间的数据是物理隔离的,因为每个Vault对应数据库不同的实例,而在Oracle里,实例之间物理隔绝,不能相互访问。这一设计带来的直接好处是:不同Vault可以单独管理,互不影响。比如一个Vault做生产数据,一个Vault做归档,归档Vault的备份策略和恢复演练都不会干扰生产Vault。
这个机制的适用场景我梳理一下:集团下有多个产品线、多个法人主体、或者有数据隔离需求时,多Vault能很干净地切分数据边界。但要注意,Vault的划分要在系统初始化阶段就规划好,后期再拆Vault涉及大量数据迁移,成本很高。也别把Vault理解成简单的文件夹,它是数据库实例级的隔离,不是目录级的隔离。
4.5 业界标准支持:MatrixOne三十年遗产
原资料特别提到,MatrixOne系统自1993年发布以来,历经市场三十多年洗礼,对国际化、操作系统、开发语言、数据库、中间件、数据安全管理、浏览器等层面都有非常好的兼容性。Enovia作为升级产品完全继承了这些特点。
这段历史带来的直接价值就是选择余地大。企业可以在Oracle和DB2之间选,中间件有TomEE方案,客户端浏览器兼容主流产品。这对甲方意味着既有信息化投资能得到保护,对乙方意味着实施团队好招聘、经验可复用。选型时如果遇到供应商把Enovia描述成"必须配套某一种数据库才能跑",基本可以判断对方不熟悉产品。
5. Enovia架构避坑指南:五个高频问题与排查思路
5.1 Vault与数据库实例的关系被忽视
现象:上线半年后新事业部要接入,想开一个独立Vault做数据隔离,结果实施方说原来的数据库实例已经承载了多个Vault,没法做到物理隔离,只能逻辑隔离。
原因:初始化规划时没有理解"一个Vault对应一个数据库实例"这个约束,为了省数据库资源把多个Vault塞进了同一个实例。
解决:在系统初始化阶段按数据隔离需求倒推实例数量,每个独立Vault绑定独立实例。宁可前期多规划一个实例,也不要后期做数据搬迁。
5.2 TomEE中间件线程池与连接池不匹配
现象:并发用户数上到一定规模后,系统响应变慢,日志里大量出现数据库连接等待和请求超时。
原因:TomEE的线程池大小和数据库连接池大小没按并发模型匹配,线程池放大了请求,连接池却供不上,形成排队堆积。
解决:上线前用压力测试工具模拟峰值并发,把线程池、连接池、超时时间三者联合调优,监控JVM GC和数据库连接数。参数调整一定要记录基线,方便后续对比。
提示:线程池、连接池、超时这三个参数要一起调,只调一个往往按下葫芦浮起瓢。
5.3 License服务器单点故障
现象:License服务器宕机,所有客户端无法登录,整个研发团队停摆。
原因:部署时只规划了一台License服务器,没有高可用方案,也没有监控告警,故障发生后全靠用户反馈才知道。
解决:License服务器加虚拟机高可用或冗余部署,配置进程级监控,同时盯着License池水位,接近上限时提前告警。对研发团队来说,License服务器的重要性不亚于应用服务器。
5.4 文件服务器加密密钥未纳入备份体系
现象:数据恢复演练时,从备份里恢复出来的加密文件无法读取。
原因:文件服务器做了备份,但加密密钥放在本机目录或者运维个人手里,没有和备份体系一起管理。备份数据本身没问题,问题是恢复环境里没有密钥。
解决:密钥单独备份并纳入容灾方案,恢复演练要按完整流程跑一遍,确认"备份+密钥+恢复环境"三者对齐。别嫌这个演练麻烦,真到丢数据那天就知道值不值了。
5.5 DBOM与EBOM的边界不清
现象:工艺部门说BOM内容不对,设计部门说工艺改了设计数据,两边扯皮,最后发现所有BOM都在同一个视图里改。
原因:没有在系统层面区分DBOM(设计BOM)和EBOM(工程BOM)的视图边界,也没有定义"设计修改→签审→发布→工程生效"的状态流。
解决:在实施阶段就把BOM视图和发布规则配置清楚,DBOM归设计管理,EBOM归工程或工艺管理,跨视图的关联通过流程驱动。BOM这块理顺了,后面MBOM和工艺路线才有基础。
6. 架构验证三板斧:配置核查、连通性测试与压力验证
做完架构规划不等于万事大吉,我习惯在上线前用三个手段把架构"验"一遍,每一条都能在实施现场落地。
第一板斧是配置核查。把部署文档里的服务器角色、数据库实例、文件服务器挂载点全部拉出来,和实际环境逐项比对。下面是我常用的检查命令,思路是"先看进程、再看端口、最后看数据":
# 检查数据库实例是否在跑(Oracle后台进程pmon) ps -ef | grep pmon # 查看应用服务器监听的端口(以实际配置为准) ss -tlnp | grep java # 验证客户端到License服务器的网络连通性(端口替换为实际配置) telnet license_host 4084命令里的端口是示意,实际以项目配置为准,重点是确认各层之间的链路是通的。
第二板斧是Vault隔离验证。在规划好的A实例里创建一个测试对象,然后去B实例对应的数据库查同一条记录,确认查不到。这一步看着简单,却能最快暴露"Vault和实例映射配错了"的问题。
第三板斧是压力验证。按峰值并发数的1.2倍做一次持续压测,观察应用服务器线程池、数据库连接池和JVM GC曲线。常见问题在压测里都会现形:线程池拒绝、连接池耗尽、License池见底。这些都是血泪经验换来的检查项,别跳过。
说一个我的习惯:从那以后,我每次接手PLM项目,第一件事就是让客户IT负责人拉出服务器清单和实例清单,先看架构再看功能。功能再好,架构底子乱了,后面每一步都是翻车现场。希望帮到你。
本文还有配套的精品资源,点击获取