Оптимизация PLM и управления жизненным циклом продукта в целом с помощью интеграции с Aras
This connector is a good starting point that implements a core set of the service's most common functions. You should expect to extend it by adding functions for the specific endpoints your workflow requires. Additionally, some configuration may be required in Aras to establish a connection with Tulip. Please review our [connectors](/r230/docs/<span translate=)">connector framework to learn more about how to build and modify connectors in Tulip.
Контекст
Aras Innovator — это комплексное решение для PLM. Оно обладает самоописываемой моделью данных, которая позволяет осуществлять масштабную настройку в соответствии с вашими потребностями. В этой статье будет рассмотрено, как настроить ваш экземпляр для подключения через Tulip. Если вам нужна дополнительная информация об Aras Innovator, посетите наш веб-сайт.
Общие сведения
Aras Innovator — это приложение на базе IIS, которое можно запускать локально или в облаке. Единственное важное требование для подключения к вашему экземпляру через Tulip — это то, что ваш сервер должен принимать запросы от серверов Tulip. Для этой демонстрации мы будем исходить из того, что ваш сервер настроен на открытое подключение.
Настройка
Коннектор
При создании нового коннектора в разделе «Хост» (Host) параметров подключения (Connection Details) необходимо указать базовый URL (BASE URL) вашего хост-компьютера. Важно отметить, что доступ к URL Innovator обычно осуществляется по адресу [BASE URL]/InnovatorAlias.

Аутентификация
Для аутентификации нашего приложения Tulip нам необходимо получить токен, который будет передаваться вместе со всеми нашими функциями коннектора. Для этого мы создадим одну функцию коннектора, которая будет передавать токен ответа всем остальным функциям. Вот пример того, как может выглядеть такая функция аутентификации:

Здесь мы отправляем запрос с использованием нашего имени пользователя и хешированного пароля для получения токена. В тело запроса мы вносим всю необходимую информацию. Для получения дополнительной информации о получении токена из Aras Innovator ознакомьтесь с соответствующим блогом от Aras:
Результатом работы этой функции является переменная с именем access_token. Все остальные наши функции будут иметь входной параметр для этой переменной. Обычно мы вызываем эту функцию получения токена в начале каждого запуска нашего приложения. Таким образом, у нас будет токен для всех последующих вызовов.
Использование функций коннектора в приложениях
Вот пример того, как может выглядеть триггер, запускаемый в начале вашего приложения:
Поскольку мы сохраняем результат работы нашей первой функции в переменной, она будет доступна во всех наших последующих шагах и функциях. Отсюда вы можете выполнять любые действия с помощью нашего API. Обычно рекомендуется извлекать данные из Innovator и отображать их в Tulip, но наш API также позволяет создавать данные в Innovator с помощью REST-вызова.
Вот краткий пример того, как мы можем получить все детали в нашей системе. У нас есть API на основе OData, который позволяет выполнять гибкие запросы на основе вашего URL-адреса.

Как видите, у нас есть только один заголовок запроса, в котором используется переменная access_token. Поскольку в этом запросе мы собираемся получить несколько деталей, мы сохраним результат в виде массива и определим различные свойства нашей детали ниже. Используя API OData, вы можете запросить любой конкретный элемент, передавая дополнительный параметр, который помогает идентифицировать искомый элемент.

В этом примере видно, что мы добавляем дополнительный параметр запроса, который устанавливает фильтр. В данном случае мы берем номер элемента конкретной детали в системе Aras и передаем его в наш фильтр. В системе Aras можно фильтровать по любому свойству, даже по пользовательским свойствам, которые вы определили в своей системе.
Запросы могут быть немного сложнее, если требуется пройти по различным связям внутри Aras. Например, в стандартной конфигурации Innovator между деталями и документами существует связь «один ко многим». Каждая деталь может иметь множество документов, и нам нужно увидеть все документы, связанные с данной деталью. Запрос будет выглядеть следующим образом:

Здесь мы указываем конкретную деталь и ищем все экземпляры «Деталь-документ» (связующий элемент между деталью и документом), которые с ней связаны. Затем мы расширяем поле related_id элемента «Part Document», чтобы получить доступ к самому элементу «Document». Если вы посмотрите на результаты, то увидите, что мы получаем нужную информацию из related_id.
Этот метод можно использовать для обхода любых связей в Aras Innovator. Для получения более подробной информации о том, как использовать наш REST API в полной мере, ознакомьтесь с официальной документацией
Заключение
Существует множество других мощных возможностей для интеграции Aras Innovator и Tulip. Доступен полный набор нашего OData API. С помощью этого API вы можете делать гораздо больше, чем просто извлекать данные. Вы можете отправлять данные в Innovator или даже выполнять такие действия, как реализация пользовательской логики с помощью методов или выполнение сложных запросов через определения запросов! Существует масса возможностей, которые вы можете использовать, чтобы извлечь максимальную пользу из этой интеграции. Если у вас есть вопросы по поводу Aras Innovator, обращайтесь на форумы сообщества Aras. Если вы ищете более подробную информацию конкретно о нашем API, ознакомьтесь с соответствующей документацией здесь.
