エンタープライズ機能
モジュール単位のプロパティ保存–クラウドとエージェントの両方のレベルで設定データを保存できます。
ウィジェットのサポート–クラウド環境とエージェント環境の両方で、ウィジェットを使用してクライアント固有の設定を収集できます。
タスクのメタデータと検証–ペイロードの構造を定義し、実行前にタスクの入力パラメーターを検証できます。
Javaクラスのサンプルについては、カスタムモジュールの種類のセクションを参照してください。
カスタムモジュールの実装で使用するメインクラスは、カスタムモジュールの種類(JAR、REST APIサービス、SOAPサービス)に応じたインターフェースを拡張する必要があります。
カスタムモジュールから応答を返す場合は、JSONオブジェクトで返す必要があります。
モジュールは、[Bridge]ページの[関連付けられたモジュール]セクションに、作成時に[メインクラス名]とJAR ZIPファイルの両方を指定した場合にのみ表示されます。
モジュールのページには、主に次の3つのセクションがあります。
タスクメタセクションは、モジュールの種類がJARに設定されている場合にのみ、カスタムモジュールのページに表示されます。
選択したモジュールの[モジュールの概要]セクションをクリックします。選択したカスタムモジュールの詳細がこちらに表示され、プロパティを設定、管理できます。
このセクションには、作成したモジュールの詳細とデプロイ済みのバージョンが表示されます。バージョンは必要に応じて更新できます。
該当する場合は、SDKから生成したJARファイルをアップロードします。
アップロードしたJARは自動的に有効になります。
制限事項
添付できるのは最大3件のZIPファイルです。
一度に有効にできるのは1件のJARファイルのみです。
新しいJARを有効にすると、それまで有効だったファイルは無効になり、新しいファイルが自動的にデプロイされます。
カスタムフォームを使用して、モジュール固有のプロパティを収集するウィジェットを作成します。これらのウィジェットは、Bridge AgentまたはQntrl Cloudの画面に設定可能なメニューとして表示されます。
新しいメニューウィジェットを作成するには、次の手順を実行します。
[新しい設定メニュー]をクリックします。
次の詳細を入力します。
[名前]:メニューの名前を入力します。
[場所]:メニューを表示する場所を選択します。
[Bridge Agent]– Bridge Agentの[設定]セクションに表示されます。
[Bridge Cloud] – カスタムモジュールの[設定]タブに表示されます。
[保存]をクリックしてウィジェットを作成します。
[公開]ボタンは、未公開の変更がある場合に緑色になります。
ウィジェットを管理するには、ウィジェット名にカーソルを合わせ、操作メニュー(⋮)をクリックし、[無効にする]または[削除]を選択します。
このモジュールに関連付けられているBridgeが表示されます。
新しいJARを有効にすると、関連付けられているBridgeに自動的にデプロイされます。
自動的にデプロイされない場合は、[デプロイ]をクリックして、Bridgeを手動でデプロイ、更新します。
任意のタスクメタをクリックして、詳細を開きます。
次の操作を実行できます。
以下は、SSHタスクのペイロードを定義するタスクメタのサンプルスキーマです。
{'$schema': 'https://json-schema.org/draft/2020-12/schema#','type': 'object','properties': {'task_name': {'type': 'string','default' : 'ssh_task'},'credential': {'type': 'object','properties': {'name': {'type': 'string'}}},'task_details': {'type': 'object','properties': {'host': {'type': 'string'},'command': {'type': 'string'}}}}}
カスタムモジュールを実行する前に、対象のBridgeに関連付ける必要があります。関連付けると、カスタムモジュールのJARファイルが対象のBridgeに自動的にアップロードされます。
カスタムモジュールのタスクを実行するには
//$Id$
package zylker;
import org.json.JSONObject;
import com.zoho.qntrl.bridge.sdk.taskprocessors.TaskInterface;
import com.zoho.qntrl.bridge.service_sdk.util.ModuleInfo;
import com.zoho.qntrl.bridge.service_sdk.util.TaskInfo;
public class SupplyMonitor implements TaskInterface {
@Override
public void executeTask(ModuleInfo moduleInfo, TaskInfo taskInfo) throws Exception {
JSONObject payload = taskInfo.getPayLoad();
int units = payload.getInt('units'), byteCount = payload.getInt('byteCount');
JSONObject result = new JSONObject();
result.put('load', byteCount * units);
taskInfo.setResponse(result);
}
@Override
public void clear() {
}
}
カスタムモジュールのREST APIサービス機能を使用すると、任意の形式で独自のREST APIモジュールを開発できます。展開すると、REST APIエンドポイントがBridgeサーバーで公開されます。
ZIPファイルを生成するには、次の手順を実行します。
グローバル情報
次のエンドポイントを使用して、モジュールとコントローラーのグローバル情報を取得できます。
エンドポイントURLは/soapで始まる必要があります。
SOAPモジュールの設定ファイル。
SOAPモジュールの設定情報はsoap_modules.xmlファイルに保存され、サーバーの起動時に読み込まれます。
Qntrlで新しいバージョンに更新すると、設定ファイル内にあるモジュール関連の既存URLが削除され、新しいバージョンから取得したエンドポイントに置き換えられます。
Qntrlでモジュールを削除すると、対応するモジュールの詳細が設定ファイルから削除されます。
SOAPサービスモジュールを作成するには、メインクラスにSoapServiceModuleインターフェースを実装する必要があります。以下は、メインクラスとSOAPエンドポイントの例です。
SampleSoapServiceModule.java
import com.zoho.qntrl.bridge.sdk.module.soap.Endpoint;
import com.zoho.qntrl.bridge.sdk.module.soap.SoapServiceModule;
import java.util.Arrays;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
public class SampleSoapServiceModule implements SoapServiceModule {
private static final Logger LOGGER = Logger.getLogger(SampleSoapServiceModule.class.getName());
@Override
public void serviceStarted(Endpoint endpoint) {
LOGGER.log(
Level.INFO,
'service {0} - {1} is started',
new Object[]{endpoint.getName(), endpoint.getUrlPattern()}
);
}
@Override
public List<Endpoint> getEndpoints() {
return Arrays.asList(
new Endpoint(
'SampleSoapService',
SampleSoapService.class.getName(),
'/soap/sample'
)
);
}
@Override
public void serviceStopped(Endpoint endpoint) {
LOGGER.log(
Level.INFO,
'service {0} - {1} is stopped',
new Object[]{endpoint.getName(), endpoint.getUrlPattern()}
);
}
@Override
public void moduleUnregistered() {
LOGGER.log(Level.INFO, 'sample soap service module got removed');
}
}
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public class SampleSoapService {
@WebMethod(operationName = 'SayHello')
public String sayHello(String name) {
return 'Hello ' + name + '..!';
}
}
タスクの実行時に、Bridgeは認証情報モジュールを呼び出し、次の情報を渡します。
認証情報ID– 外部システムから取得するシークレット/レコードの識別子
認証情報の種類– 必要な認証情報の種類(APIキー、SSH、JDBCなど)
モジュールが外部の保管庫に接続してシークレットを取得し、認証情報の詳細をBridgeに返します。その後、Bridgeは取得した認証情報を実行時に使用してタスクを実行します。
オーバーライドするメソッド。
デプロイ用のZIPファイルを生成するには。
コンパイル済みのクラスファイルから、モジュールのJARファイルをビルドします。
次のような必要な設定情報を含めます。
サービス名
モジュール名
リンク名
メインクラス
JAR形式のカスタムモジュールのパッケージ化と同様に、ZIPパッケージを作成します。
外部ボールトから取得した認証情報の値は実行時にのみ使用され、Qntrlには保存されません。
複数の認証情報で同じ認証情報モジュールを参照できます(例:同じボールトコネクターにある複数のボールトシークレット)。
ログから漏えいする可能性があるため、モジュールのコード内に機密情報(パスワードやトークン)を記録しないでください。
カスタムモジュールのプロパティを表示または更新するには。
[設定](⚙)→[詳細設定]→[Bridge]に移動し、[カスタムモジュール]を選択します。
モジュールの一覧ページで、編集するモジュールの名前をクリックします。
モジュールの詳細ページが開き、プロパティを表示または変更できます。
必要な変更を行った後、変更内容を適用するには、[保存]をクリックします。
新しく追加したJARファイルが初期設定でBridgeにデプロイされない場合は、[デプロイ]ボタンをクリックすると、強制的にデプロイして更新できます。
Bridgeからカスタムモジュールを削除するには、
[設定](⚙)→[詳細設定]→[Bridge]に移動し、[カスタムモジュール]を選択します。
削除するモジュールの名前にカーソルを合わせ、操作メニューをクリックして、[削除]を選択します。
削除操作を確定します。