プロセス・フロー
拡張モジュールは多数のサービスおよびコールバック関数を呼び出して、その処理を実行します。呼び出される実際の関数は、モジュールが実行するために必要とする処理によって異なります。
例
一般的なモジュール実行のシーケンス・ダイアグラムを次の図に示します。

ピアとノードの相互作用のブロックを以下の図に示します。

一般的な実行ブロックを以下の図に示します。

注:
- モジュールは、サーバー開始時に IBM® SPSS® Modeler サーバー・プロセスにロード、またはそのサービスが最初に要求されるときはオンデマンドで後にロードされる場合があります。
- モジュールがロードされると、ホストは サービス関数
clemext_initialiseを一度起動します。 - モジュールが起動および初期化されると、ホストはサービス関数
clemext_getModuleInformationを使用してモジュールをクエリーする場合があります。 - モジュールがロードされた後、そのサービスはモジュールが提供するピア・オブジェクトによって起動されます。モジュール内で、ピア・オブジェクトは、ホストのノード・オブジェクトの対としてサービス関数
clemext_create_peerによって作成され、ホスト・アプリケーションによる指示に従ってタスクの実行を管理します。同じタイプの複数ピア・オブジェクトが存在し、それを一度のプロセスで同時に実行することが可能です。 - ピア・オブジェクトが作成されると、サービス関数
clemext_peer_configureで設定できます。 - この時点で、
clemext_node_getDataModelやclemext_node_getParametersなど、クライアントから情報を得るためにコールバック関数を実行することがあります。 -
IBM SPSS Modelerは
clemext_peer_getDataModelサービス関数を用いて、ピア・インスタンスから出力データ・モデルを取得します。 - ピア・インスタンスの実行は
clemext_peer_beginExecutionサービス関数で開始します。 clemext_peer_nextRecordサービス関数は、ピアの結果セットにおいてフォーカスを次のレコードに移動します(あるいは関数が初めて呼び出される場合は、最初のレコードに移動)。この後に現在のレコード内で特定フィールドの値を返すclemext_peer_getRecordValueサービス関数が続きます。- 反復コールバック関数
clemext_iterator_nextRecordおよびclemext_iterator_getRecordValueは CLEF モジュールで呼び出し、入力レコードで並べて特定のフィールド値を返すことができます。 - ピア・インスタンスの実行は
clemext_peer_endExecutionサービス関数で終了します。 - ピア・インスタンスは
clemext_destroy_peerを呼び出すと削除されます。 - モジュールがアンロードされる前に、ホストはサービス関数
clemext_cleanupを起動します。 - モジュールはサーバー・プロセスがシャットダウンするとき、またはそれより早くサービスがもう必要なくなったときにアンロードされる場合があります。