一、ARAS基本理念
Everything in Aras Innovator is an Item.
1. 单元(Item),系统基本单元,某种类型(单元类型,ItemType,该类型也是Item)的实例。
2. 关系(Relationship),由关系类型(RelationType)定义.定义关系类型需要三个属性(Property):
- 源(父)单元source(parent)item
- 被关联(子)单元related(child)item
- 关系单元Relationship Item
Relationship Item有一个related_id项目类型的属性,它是关系的related item。 related_id属性是指向一个Item的链接。Relationship Item也有一个source_id类型为Item的属性,并且是source(parent) item。
例如,ItemType Item具有Property Relationship,并且此Item配置直接映射到关系数据库以持久存储Item实例。每个ItemType都有一个匹配的关系表TABLE,其中属性名称是COLUMN名称。
二、AML(Aras Markup Languange)
通过XML语言配置Item。一个AML文档包括数据(items)、结构(Relationship),和逻辑(Item可执行业务逻辑,即action)组成。AML文档中的每一个Item都有一个action属性,该属性是在该Item上可执行的业务逻辑的Aras Innovator Method的名称。Aras服务器已类似于脚本语言的方式解释AML文档,或称为AML脚本。
客户端通过HTTP协议将AML脚本提交给服务器,服务器解析AML,然后应用其中action描述的业务逻辑,并返回AML文档。
AML文档示例:
<Item type="Part" action="add">
<item_number>999-888</item_number>
<description>Some Assy</description>
<Relationships>
<Item type="Part BOM" action="add">
<quantity>10</quantity>
<related_id>
<Item type="Part" action="add">
<item_number>123-456</item_number>
<description>1/4w 10% 10K Resistor</description>
</Item>
</related_id>
</Item>
</Relationships>
</Item>
三、Methods 和 IOM
IOM即单元对象模型(Item Object Model)是建立在AML之上的对象模型。它使用简单的API提供了构建和向Innovator服务器提交AML文档的能力。
有一种单元类型——Method,用来实现用户定义的业务逻辑。方法可以用JavaScript、C#、VB.Net或IOM API来定义。
示例:
var innovator = new Innovator(); var partItem = innovator.newItem("Part","add"); partItem.setProperty("item_number", "999-888"); partItem.setProperty("description", "Some Assy"); var bomItem = innovator.newItem("Part BOM","add"); bomItem.setProperty("quantity", "10"); var relatedItem = new Item("Part","add"); relatedItem.setProperty("item_number", "123-456"); relatedItem.setProperty("description", "1/4w 10% 10K Resistor"); bomItem.setRelatedItem(relatedItem); partItem.addRelationship(bomItem) ; var resultItem = partItem.apply();