- Print
Streamline PLM and overall Product Lifecycle Management with Aras Integration
Context
Aras Innovator is a complete PLM Solution. It has a self-describing data-model which allows for massive customizations to meet your needs. This article will go over how to configure your instance to connect via Tulip. If you're looking for more information regarding Aras Innovator, please visit our website.
Background
Aras Innovator is an IIS based application that can be run on premise or in the cloud. The only important requirement to connect to your instance via Tulip is that your server is accepting requests from Tulip's servers. For this demonstration we'll assume that your server is configured for open connection.
Setup
Connector
When you create a new connector you'll point the Host section of the Connection Details to your host machines BASE URL. It's important to note that you generally access your Innovator URL via [BASE URL]/InnovatorAlias.
Authentication
To authenticate our Tulip Application we need to get a token to submit along with all of our Connector Functions. To do this, we'll have one Connector Function which feeds a response token into all of the others. Here's an example of what that authentication Function looks like:
What we're doing here is submitting a request to use our username and hashed password to receive a token. We fill the request body with all necessary information. For more information about getting a token from Aras Innovator, check the related blog from Aras:
The output of this function is a variable called access_token. All of our other Functions will have an input for this variable. Generally we call this Get Token Function at the beginning of every run of our Application. This way we have the token for all remaining calls.
Using Connector Functions in Applications
Here's an example of what a trigger could look like that runs at the beginning of your app:
Since we're saving the output of our first function into a variable, it will be accessible from all of our future steps and functions. From here you can do whatever you'd like from within our API. Generally fetching data from Innovator and displaying it within Tulip is recommended, but our API allows for data to be created in Innovator from a REST Call too.
Here's a quick example of how we'd get all Parts within our system. We have an Odata based API which allows for flexible queries based on your URL.
As you can see, we only have one request header which utilizes our access_token variable. Since we're going to be gathering multiple parts in this query, we'll save the output as an Array, and define the different properties of our Part below. Using the Odata API you could request any specific Item by passing in an additional input, which helps identify the Item you're looking for.
In this example you can see we add an additional Query Parameter which sets a filter. In this example we're taking the Item Number of a specific Part within Aras, and feeding it into our filter. You can filter on any Property within Aras, even custom properties which you've defined within your system.
The queries can be slightly more complicated to traverse different relationships from within Aras. For example, in a default Innovator configuration, we have a one to many relationship between Parts and Documents. Every Part could have many documents, and we want to see all the documents which are related to a given part. The query would look like this:
What we're doing here is specifying a specific Part, and looking for all instances of Part Document (a linking Item between Part and Document) which are related. Then we're expanding the related_id of Part Document to get access to the Document Item Itself. If you look at the Outputs, you can see that we're getting the relevant information from the related_id.
This method can be used to traverse any relationships within Aras Innovator. For more information about how to utilize our Rest API to its fullest potential please take a look at the official documentation
Conclusion
There are many more powerful connections you can make between Aras Innovator and Tulip. The entirety of our Odata API is available. With the API you can do much more than fetch data. You can push data to Innovator or even do things like executing custom logic via Methods, or performing complex queries via query definitions! There are tons of possibilities that you can utilize to make the most of the connection. If you have questions about Aras Innovator, please reach out on the Aras Community Forums. If you're looking for more information regarding our API specifically, check out the documentation for that here.