通过与 Aras 集成,优化 PLM 及整体产品生命周期管理
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 服务器的请求。在本演示中,我们将假设您的服务器已配置为允许开放连接。
设置
连接器
创建新连接器时,请在“连接详细信息”的“主机”部分中指定您主机设备的 BASE URL。请务必注意,您通常通过 [BASE URL]/InnovatorAlias 访问 Innovator URL。

身份验证
为了对我们的 Tulip 应用程序进行身份验证,我们需要获取一个令牌,以便将其与所有连接器函数一同提交。为此,我们将创建一个连接器函数,该函数会将响应令牌传递给所有其他函数。以下是该身份验证函数的示例:

此处我们正在提交请求,使用用户名和哈希密码来获取令牌。我们将所有必要信息填入请求正文中。有关从 Aras Innovator 获取令牌的更多信息,请参阅 Aras 的相关博客:
该函数的输出是一个名为 access_token 的变量。我们所有的其他函数都将以此变量作为输入。通常,我们在应用程序每次运行的开始时调用此“获取令牌”函数。这样,后续的所有调用都能使用该令牌。
在应用程序中使用连接器函数
以下是一个在应用程序开始时运行的触发器的示例:
由于我们将第一个函数的输出保存到了变量中,因此后续的所有步骤和函数均可访问该变量。 在此基础上,您可以在我们的 API 中执行任何操作。通常建议从 Innovator 获取数据并在 Tulip 中显示,但我们的 API 也支持通过 REST 调用在 Innovator 中创建数据。
以下是一个简短示例,演示如何获取系统中的所有零件。我们提供了一个基于 OData 的 API,支持根据 URL 进行灵活查询。

如您所见,我们仅有一个请求头,其中使用了 access_token 变量。由于本次查询将获取多个部件,我们将输出结果保存为数组,并在下方定义部件的各项属性。 使用 OData API 时,您可以通过传递额外参数来请求任何特定项,这有助于识别您要查找的项。

在此示例中,您可以看到我们添加了一个用于设置筛选条件的额外查询参数。本例中,我们提取了 Aras 中特定零件的“项编号”,并将其作为筛选条件。您可以根据 Aras 中的任何属性进行筛选,甚至包括您在系统中定义的自定义属性。
若要在 Aras 内部遍历不同的关系,查询可能会稍显复杂。例如,在默认的 Innovator 配置中,零件与文档之间存在一对多的关系。每个零件可能拥有多个文档,而我们希望查看与给定零件相关的所有文档。查询将如下所示:

此处的操作是指定一个特定的“零件”,并查找所有与其相关的“零件文档”(作为“零件”与“文档”之间链接项)的实例。 随后,我们通过展开“零件文档”的 related_id 字段,从而访问“文档”项本身。查看输出结果即可发现,我们正是通过 related_id 获取了相关信息。
此方法可用于遍历 Aras Innovator 中的任何关系。有关如何充分利用我们的 REST API 的更多信息,请参阅官方文档
结论
您还可以在 Aras Innovator 和 Tulip 之间建立更多强大的连接。我们的 OData API 已全面开放。借助该 API,您不仅可以获取数据,还能将数据推送至 Innovator,甚至可以通过方法执行自定义逻辑,或通过查询定义执行复杂查询! 您可利用这些丰富的可能性,最大限度地发挥该连接的潜力。如果您对 Aras Innovator 有任何疑问,请在Aras 社区论坛中提出。如果您希望了解有关我们 API 的更多具体信息,请在此处查阅相关文档。
