Aras Innovator Methodology
Copy
This section is a summary of the Aras Innovator Methodology. Following this methodology helps you build better quality Aras Innovator business logic more quickly; it is also easier to understand and maintain the code.
- The AML is the language that drives the Aras Innovator Server.
- AML documents contain Items, Structure, and Logic, so they are scripts.
- The Aras Innovator Server is a message-based system in that it accepts AML scripts as messages and returns AML messages. AML document, AML script, AML message all mean the same thing.
- The IOM is the Object API used to build and apply AML messages.
- Methods implement business logic using the IOM API.
- Methods extend the Item Class when used as “Item Action” relationships on the ItemType, which simulates Object Oriented programming, where the ItemType is the Class and “Item Action” relationships to Methods are the Class methods.
- Methods are also generic arbitrary business logic that can be called like a sub routine from other Methods using the IOM Innovator.applyMethod(…) method.
- Methods follow the Item Factories design pattern; they should return a new Item and not side effect the context Item.
- Server Events are the exception because the purpose is to intercept and operate on the AML before the server parses it, and before the AML is returned to the client after the server parses it. You can modify the context Item and return nothing.
- Implement changes/edits to the context Item in the OnBefore Event by altering the AML before the server parses it. Refrain from attempting to update the context Item after the server has already operated on it in the OnAfter Event. Use the OnAfter Events to update/include federated data in the response AML.
- Use the select, page, and pagesize attributes for the AML queries to optimize the performance for the request.
- Use the generic IOM methods to construct the AML queries rather than convenience methods like getItemBy_, getRelationships(), or use the levels attribute because the convenience methods typically return far more data than required imposing a performance hit.
- The context Item is the keyword this Object for JavaScript and C#, and the Me Object for VB.NET.
- The context Item for Generic Methods is any XML you want but it is highly recommended that you continue to use AML to represent your data. This provides the benefit of using the IOM to manage the input for the Generic Methods.
- Attributes are used to pass control switches to the Method. You can invent your own because they are a simple way to pass meta-data to the Method.