平台架构总览
Aras Innovator 是一款企业级 PLM(Product Lifecycle Management)平台,基于微软 .NET 技术栈构建,采用 模型驱动的服务化架构(Model-Driven SOA)。绝大多数业务对象(零件、文档、变更单等)的定义和行为都通过平台元数据进行声明,而非硬编码在服务里。
系统组成
整个 Innovator 平台由以下几部分构成:
| 组件 | 职责 |
|---|---|
| 浏览器客户端 | 通过 Edge / Chrome / Firefox 访问 Innovator 前端,支持动态表单渲染,无需安装插件 |
| Innovator Server Core | 运行在 IIS 上的 .NET 应用,承载元数据引擎、事务处理器、权限校验、生命周期引擎等核心服务 |
| MS SQL Server | 存储全部元数据配置与业务数据,包括 Item 表、Relationship 表、系统表及存储过程 |
| Vault Server | 独立的文件存储服务,管理 CAD 文件、PDF、Office 文档等非结构化附件数据,通过 Vault 映射写入物理目录 |
| OData REST 端点 | Aras v12+ 内置的 OData v4 标准 REST API,可供 Java / Python / Node.js 等非 .NET 系统直接调用 |
核心设计理念
模型驱动
Innovator 不同于传统写死对象模型的系统。它把"数据结构"和"业务逻辑服务"分开:
- 元数据模板(Metadata Templates) 描述业务对象的属性、关系、表单、权限、生命周期等
- 平台服务(Platform Services) 如检索、权限控制、工作流、版本管理、文件保险库等,由元数据对象按需订阅
这个设计带来的好处是:配置出来的业务方案天然具备升级能力,即使做了大量定制化,仍然可以平滑迁移到新版本。
Item / ItemType 模型
Innovator 中几乎一切都是 ItemType(类似面向对象里的类定义)。
- ItemType:对象类型的定义,保存在数据库
ItemType表中,同时在数据库里生成一张物理表 - Item:ItemType 的一条实例记录,每条记录拥有全企业唯一的 32 位 GUID(
id属性) - RelationshipType:定义 ItemType 之间的关联关系(一对多、多对多),关系本身也是一个 ItemType,可携带附加属性
开发者能力边界
Aras 提供了三个层次的扩展机制,开发者可以根据需求复杂度选择合适的方式:
| 扩展层次 | 技术 | 典型场景 |
|---|---|---|
| 低代码配置 | ItemType / Form / TOC / Permission / Lifecycle | 建立数据模型、定义表单视图、配置权限策略、设置生命周期流转 |
| Method 脚本 | 客户端 JS / 服务端 C# | 表单联动、业务校验、自动编码生成、外部系统同步 |
| 外部集成 | IOM SDK (.NET) / OData REST | 与 ERP / MES / CAD 等外部系统做数据双向集成 |
各层次的具体用法将在后续章节详细展开。
典型业务方案示例
下面以一个简化的设计变更请求(Design Request)流程为例,说明上述各部分如何协同工作:
这个序列涵盖了表单交互、AML 数据操作、Method 事件、Vault 文件操作以及生命周期权限流转,是 Aras 方案开发中的典型交互模式。
学习路线建议
- 如果你负责系统部署和运维,先看 环境部署
- 如果你负责业务建模配置,从 ItemType 对象类 开始,逐步阅读 Property 属性、RelationshipType 关系类、Form 表单、Permission 权限、Lifecycle 生命周期、Workflow 工作流
- 如果你需要写 Method 或做外部集成,直接跳到 Method 开发 和 AML 查询
