<< 目次を表示 >> ページ位置: プロジェクトの作成と管理 > Proクラウドサーバ > 有料ライセンスで利用できる機能 > 外部ツールとの連携 > 独自のSBPIサービス |
独自のSBPIサービスは、Enterprise Architectのスクリプトやアドインが呼び出すことができるユーザー定義のプラグインで、その応答を利用してリポジトリのデータを操作できます。独自のSBPIプラグインは、Enterprise ArchitectからRepository.CallSBPIのメソッドを利用して呼び出せます。
サービスに要求できることや、Enterprise Architectに返せることの範囲は限定されません。例えば、作成するSBPIサービスで、サードパーティのサービスから情報を収集する要求に応答し、Enterprise Architectのスクリプトに返すことができます。他にも、OSLCの呼び出しによってモデルデータ自体に対して処理を実行したり、モデルデータに対して独自の処理を実行したりすることも考えられます。
メリット
概要
独自のSBPIサービスのプラグインを作成するには、ゼロから始めるか、Proクラウドサーバにインストールされているサンプルを元に変更できます。
Proクラウドサーバをインストールする際に、インストールする機能の選択としてSBPIサービスのサンプルをインストールするように選択してください。インストールディレクトリ内の「SBPI Examples\ExampleServicePlugins」にサンプルプログラムがインストールされます。既定のパスの場合は以下の位置になります。
C:\Program Files\SparxSystems Japan\Pro Cloud Server\SBPI Examples\ExampleServicePlugins
なお、SBPIのサンプルはデフォルトではインストールしない設定になっていることに注意してください。すでにProクラウドサーバを、SBPIのサンプルなしでインストールしている場合は、再インストールを行うか、インストーラの「変更」オプションを使用してSBPIのサンプルだけを追加できます。
(参考:Proクラウドサーバのインストール)
プラグインは、C++またはC#で記述できます。
サンプルはVisual Studio 2017を使用して書かれていますが、他のIDEを利用できます。
独自のSBPIサービスのプラグインは、ISBPIServicePlugin.h(C++の場合) またはISBPIServicePlugin.cs(C#の場合)に含まれるISBPIServicePluginで定義されたインターフェースを実装する必要があります。
プログラム作成時の基本的な処理の流れは以下の通りです:
インターフェース
関数/クラス |
説明 |
プラグインの作成(C#では不要) |
プラグインは次のexport関数を実装する必要があります。:
extern "C" SBPI_SERVICE_API SBPI_SERVICE_PLUGIN CreatePlugin();
戻り値として、ISBPIServicePluginインターフェースを実装するクラスへのポインタを戻す必要があります。実装の一例は次の通りです。
SBPI_SERVICE_PLUGIN CreatePlugin() { return new ExampleServicePlugin; }
新しく作成された ISBPIServicePlugin は、 ISBPIServicePlugin::Release メソッドが呼ばれた場合に解放してください。 |
ISBPIServicePlugin インターフェース |
プラグインのクラスは、 ISBPIServicePlugin インターフェースのすべてのメソッドを実装する必要があります。 |
参照: