スクリプティング
Version 24.2.9039
Version 24.2.9039
スクリプティング
CData Arc は、フローページで設定されたコネクタを通じて、複雑なデータ統合ユースケースを処理するようにデザインされています。ただし、一部のエッジケースでは、アプリケーションに含まれるXML ベースのスクリプト言語であるArcScript を使用してArc 機能セットを拡張する必要がある場合があります。
スクリプティングを使用して、ファイルの編集(コンテンツ、ヘッダー、ファイル名など)、外部メッセージフローのトリガー、標準形式に容易にフィットしないカスタムデータのモデル化、外部スクリプトやプロセスの実行などを行うことができます。このセクションでは、言語としてのArcScript の概要と、サポートされている値フォーマッタ、キーワード、オペレーションについて、例を挙げて詳しく説明します。
スクリプティングフック
Arc は3つの主要なフックをスクリプト言語に公開しています。すべてのコネクタのイベント、専用のScript コネクタ、およびXML Map コネクタのカスタムスクリプトオプションです。
イベントスクリプティング
各コネクタは、ファイルの処理中に特定のタイミングでカスタムスクリプトを実行する機会を提供します。これらはイベントと呼ばれます。
-
送信前
イベントは、コネクタがファイルを送信 / 処理するための準備を完全に整えた後で、送信 / 処理が実際に行われる前に発生します。 -
送信後
イベントは、コネクタがファイルを送信した後に発生します。このイベントは、アプリケーションの外部にファイルを送信するコネクタ(リモートサーバーにファイルをアップロードするなど)にのみ適用されます。 -
受信後
イベントは、コネクタが新しいファイルを作成した後に発生します。この新しく作成されたファイルは、外部ソースからファイルを受信した結果(AS2 経由でメッセージを受信するなど)、またはすでにArc フロー内にあるファイルを変更または変換した結果(例えば、EDI ファイルをXML に変換すると新しいXML ファイルが作成されます)である可能性があります。
例えば、AS2 経由で受信したファイルにカスタムヘッダーを追加する必要がある場合があります。ヘッダーの値を決定してファイルにヘッダーを追加するロジックをArcScript に記述し、このスクリプトをファイルの受信を担うAS2 コネクタの受信後
イベントに設定できます。
Note:イベントスクリプトを使用して、フローに直接ファイルを作成したり、フローを通じてファイルの内容を変更したりすることはできません。
イベントでのエラーハンドリング
イベントスクリプトの実行は、ファイルの送受信が成功したときにトリガーされるため、スクリプトでスローされたエラーは送受信操作のステータスに影響しません。このため、イベントでのスクリプティングは、成功が保証されているか、全体のフローに影響を与えずに失敗できるスクリプトに制限する必要があります。
スクリプトの例外によってファイルの処理が停止するようにするには、次のセクションで説明する専用のScript コネクタにスクリプトを移動します。Script コネクタを使用すると、エラーをアクティビティページに記録したり、失敗したオペレーションに対してArc の再試行機能を使用したりすることも可能です。
Script コネクタ
Arc には、カスタムスクリプトを実行するための専用コネクタが含まれています。ファイルをコネクタに渡すことで(他のコネクタと同じ方法で)フロー内のScript コネクタをトリガーしたり、受信オートメーション設定を使用して、指定した間隔に従って自動的に実行させることができます。
Script コネクタは、ArcScript でカスタムロジックを実行するための最も柔軟な方法です。さらに、スクリプトの実行が別のコネクタのイベントで設定されるのではなく、専用のコネクタを使用して視覚的に表わされると、Arc フローを理解および保守しやすくなります。
Script コネクタは、push
キーワードを使用してアウトプットファイルを生成したり、アウトプットを生成せずにロジックを実行したりできます。
XML Map コネクタ
XML Map コネクタは、XML をある構造から別の構造に変換するビジュアルデザイナーを提供します。XML Map デザイナーの主な使い方は、要素をソースツリーから宛先ツリーにドラッグ&ドロップする方法です。このシンプルなアプローチは、マッピング中に拡張可能なカスタム処理をサポートするためのスクリプティングの概念で強化されています。
XML Map コネクタの式エディタは、ArcScript のフォーマッタを使用して、マッピング中にデータを動的に変更およびフォーマットします。これらの式には、変数の設定やオペレーションの呼び出しなど、スクリプティングの他のアスペクトは必要ありません。
XML Map コネクタには、特定の要素をマッピングするためのカスタムスクリプトエディタもあります。すべてのArcScript 機能はカスタムスクリプトで利用可能で、マッピング中の任意のビジネスロジックをサポートします。これらのスクリプトには、スクリプトの実行終了までに result.text 属性が出力値(マップされたXML 要素に設定される値)に設定されるという独自の要件があります。
ArcScript の使用
このセクションは、ArcScript の機能を詳しく説明するトピックへのリンクを含んでいます。
ArcScript 入門
ArcScript 入門は、ArcScript 言語のコアとなる概念について説明し、参考としていくつかのスクリプト例が含まれています。CData では、ArcScript を初めて使用する場合はこのセクションから始めることを強くお勧めします。
キーワード
ArcScript の各行はキーワードで始まります。例えば、arc:set
は属性(変数)を設定するキーワードで、arc:if
は条件付きロジックを導入し、arc:call
はArcScript のオペレーションを呼び出します。
キーワードでは、利用可能なすべてのキーワードについて説明します。
オペレーション
ArcScript の高度な処理は、オペレーションを使用して実行されます。各オペレーションは、データベースクエリ、HTTP リクエスト、ファイルの読み出しなど特定のタスクを実行します。
オペレーションには、利用可能なすべての操作がリストされており、インプットおよびアウトプットパラメータについての説明や使用例が示されています。
Note:一部のオペレーションは、特定のコネクタに固有です。それらは、コネクタのドキュメントに記載されています。例えば、Notify コネクタのドキュメントには、notifySendEmail オペレーションの記載があります。
フォーマッタ
ArcScript は、フォーマッタを使用してスクリプト内の値を変更します。これらのフォーマッタは、算術演算、文字列操作、日付フォーマットなどを実行できます。
フォーマッタには、利用可能な各フォーマッタとそのパラメータがリストされています。