アプリケーションの動作モードにはプロセスモードとスレッドモードがあります。アプリケーションの動作モードの違いにより、コンパイルおよびリンク時に指定するオプションやライブラリが異なります。コンパイルおよびリンク方法の詳細については、各データベースのマニュアルを参照してください。各動作モードとアプリケーション作成方法で留意する点について以下に示します。
動作モード | プロセスモード | スレッドモード | |
---|---|---|---|
Symfoware | COBOL | - | プロセスモードと同じです。 マルチスレッドの操作に関するインタフェースを意識する必要はありません。 |
C言語 | - | プロセスモードと同じです。 マルチスレッドの操作に関するインタフェースを意識する必要はありません。 | |
Oracle | COBOL | - | プロセスモードと同じです。 マルチスレッドの操作に関するインタフェースを意識する必要はありません。 ただし、スレッド多重度は“1”となります。 |
C言語 | - | プロセスモードと異なります。 マルチスレッドの操作に関するインタフェース(実行時コンテキスト)の使用を宣言する必要があります。なお、実行時コンテキストはアプリケーション連携実行基盤より取得します。 |
-:留意点はありません。
注意
データベースアクセス管理機能を利用しない場合でも、非同期アプリケーション連携実行基盤の業務処理実行アプリケーションでは、以下の注意が必要です。
フロー定義DBおよびメッセージトラッキングDBをOracleで構築している場合、かつ、COBOLで開発したアプリケーションでOracleデータベースを操作する場合は、実行時コンテキストを使用した業務アプリケーションを作成することはできません。
データベースにSymfowareを使用している場合、業務処理開始アプリケーションで、フロー開始APIや結果取得APIを実行するとトランザクションはコミットされます。フロー開始APIや結果取得APIは、業務用データベースのトランザクションが開始されていない状態で実行してください。
注意
実行環境のOSがWindowsかつアプリケーション開発言語がC言語の場合、プロセスモードは使用できません。