- 印刷する
Arasとの統合でPLMと製品ライフサイクル管理全体を効率化
コンテキスト
Aras Innovatorは完全なPLMソリューションです。自己記述型のデータモデルを持っており、ニーズに合わせてカスタマイズすることができます。この記事ではTulip経由で接続するための設定方法を説明します。Aras Innovatorの詳細については、弊社ウェブサイトをご覧ください。
背景
Aras InnovatorはIISベースのアプリケーションで、オンプレミスでもクラウドでも動作させることができます。Tulip経由でインスタンスに接続するための唯一の重要な条件は、あなたのサーバーがTulipのサーバーからのリクエストを受け付けることです。このデモでは、サーバーがオープン接続に設定されていると仮定します。
セットアップ
コネクタ
新しいコネクタを作成するときは、接続の詳細のホストセクションをホストマシンのBASE URLに指定します。通常、[BASE URL]/InnovatorAlias を介して Innovator URL にアクセスすることに注意することが重要です。
認証
Tulipアプリケーションを認証するには、すべてのConnector Functionと一緒に送信するトークンを取得する必要があります。これを行うには、レスポンストークンを他のすべてのConnector FunctionにフィードするConnector Functionを1つ用意します。認証Functionの例を示します:
ここで行っているのは、トークンを受け取るためにユーザ名とハッシュ化されたパスワードを使用するリクエストを送信することです。リクエストボディに必要な情報をすべて入力します。Aras Innovatorからのトークン取得については、Arasの関連ブログを参照してください:
この関数の出力はaccess_tokenという変数です。他の全てのファンクションはこの変数にインプットします。通常、このGet Token関数はアプリケーションの実行の最初に呼び出します。こうすることで、残りのすべての呼び出しに対してトークンを持つことができます。
アプリケーションでのコネクタ関数の使用
アプリの最初に実行されるトリガの例を示します:
最初の関数の出力を変数に保存しているので、その出力は、今後の全てのステップや関数からアクセス可能です。ここから、我々のAPIから好きなことをすることができます。一般的には、Innovatorからデータを取得してTulipに表示することが推奨されますが、私たちのAPIでは、REST CallからInnovatorにデータを作成することもできます。
ここでは、私たちのシステム内ですべての部品を取得する方法の簡単な例を示します。私たちはOdataベースのAPIを持っており、URLに基づいた柔軟なクエリーを可能にしています。
ご覧の通り、access_token変数を利用したリクエストヘッダは1つだけです。このクエリでは複数のパートを収集するので、出力を配列として保存し、以下にパートのさまざまなプロパティを定義します。Odata API を使用すると、探しているアイテムを特定するのに役立つ追加入力を渡すことで、特定のアイテムをリクエストすることができます。
この例では、フィルタを設定するクエリパラメータを追加しています。この例では、Aras内の特定のパーツのアイテム番号をフィルターに入力しています。Aras内のどのプロパティでもフィルターをかけることができます。
Aras内の異なるリレーションシップをトラバースするために、クエリーは少し複雑になります。例えば、デフォルトのInnovatorコンフィギュレーションでは、パーツとドキュメントの間に1対多のリレーションシップがあります。全てのパーツは多くのドキュメントを持つ可能性があり、与えられたパーツに関連する全てのドキュメントを見たい。クエリは以下のようになります:
ここで行っているのは、特定のパートを指定し、関連するパートドキュメント(パートとドキュメントの間のリンクアイテム)のすべてのインスタンスを探すことです。そして、Part Documentのrelated_idを展開して、Document Itemそのものにアクセスしています。Outputsを見ると、related_idから関連情報を取得していることがわかります。
このメソッドはAras Innovator内のあらゆるリレーションシップをトラバースするために使うことができます。Rest APIを最大限に活用する方法については公式ドキュメントを参照してください。
結論
Aras InnovatorとTulipの間にはまだまだ強力なコネクションがあります。私たちのOdata APIは全て利用可能です。APIを使えば、データをフェッチするだけではありません。Innovatorにデータをプッシュしたり、Methodsを使ってカスタムロジックを実行したり、クエリー定義を使って複雑なクエリーを実行することもできます!Innovatorとの接続を最大限に活用できる可能性がたくさんあります。Aras Innovatorについてご質問があれば、Arasコミュニティフォーラムまでご連絡下さい。APIに関する詳細はこちらのドキュメントをご覧下さい。