intra-mart Accel Platform / バーチャルテナントにおける変更点 第2版 2014-09-01

共通

アプリケーションロックはテナントを意識して利用する必要があります。

  • アプリケーションロックはシステム全体で管理されます。(テナントごとのロック管理は行われません)

    テナントごとにロックを管理したい場合は、複数のテナントが存在している場合でも ロックID が重複しないようにしてください。
    具体的には、ロックID に テナントID を含めるなどの対応が必要です。
    この対応を行わなかった場合、複数のテナントが存在している環境で 意図しないロック競合 や ロック解除が発生する可能性があります。

非同期処理の直列タスクキューはテナントを意識して利用する必要があります。

  • 非同期処理の直列タスクキューはシステム全体で管理されます。(テナントごとのキュー管理は行われません)

    テナントごとに異なる直列タスクキューを利用したい場合は、テナントごとに異なる キューID を割り当ててください。
    具体的には、キューID に テナントID を含めるなどの対応が必要です。

FileExchangeでアップロードしたファイルはテナント単位で管理されるようになりました。

  • FileExchangeでアップロードしたファイルはテナント単位で管理されるようになりました。
    そのため、アップロード先のテナント と 操作対象のテナントが異なる場合は、ファイルをダウンロードすることができません。

    例えば、デフォルトテナント「 default 」と 2つ目のテナント「 secondary 」が存在している環境で、
    default 」テナントにファイルをアップロードした場合、そのファイルをダウンロードできるユーザは以下の通りです。
    (◯:ダウンロード可能、×:ダウンロード不可)
    • ダウンロードユーザ制限を「ログインユーザのみ」に指定した場合
      • ◯:「 default 」 にログインしているユーザ
      • ×:「 secondary 」にログインしているユーザ
      • ×:ゲストユーザ(操作対象テナントが「 default 」 の場合)
      • ×:ゲストユーザ(操作対象テナントが「 secondary 」の場合)
    • ダウンロードユーザ制限を「制限なし」に指定した場合
      • ◯:「 default 」 にログインしているユーザ
      • ×:「 secondary 」にログインしているユーザ
      • ◯:ゲストユーザ(操作対象テナントが「 default 」 の場合)
      • ×:ゲストユーザ(操作対象テナントが「 secondary 」の場合)
    (ゲストユーザの操作対象テナントは、リクエスト情報を利用したテナント自動解決機能によって変わります。)

CacheManagerはテナント単位でキャッシュするようになりました。

  • CacheManagerは、これまでシステム単位でキャッシュしていましたが、テナント単位でキャッシュするようになりました。

ショートカットURLはテナント単位で管理されるようになりました。

  • ショートカットURLは、これまでシステム単位で管理されていましたが、テナント単位で管理されるようになりました。

imuiPictureが生成するURLはテナント単位で管理されるようになりました。

  • imuiPictureが生成するURLは、これまでシステム単位で管理されていましたが、テナント単位で管理されるようになりました。

アカウントコンテキストに「テナントID」プロパティが追加されました。

  • バーチャルテナント機能により、1つのWARファイル内で複数のテナントを構築できるようになりました。
    これに伴い、操作対象のテナントを特定するためのプロパティ「テナントID」がアカウントコンテキストに追加されました。

    テナントが複数存在する場合は、テナントIDを指定してログインする必要があります。
    なお、リクエスト情報を利用したテナント自動解決機能を利用すると、ログイン時にテナントを指定せずに、
    操作対象のテナントを自動的に解決することが可能です。

テナントのリソースにアクセスするためには、処理対象のテナントが特定されている必要があります。

  • 処理対象のテナントが特定されていない状態では、テナントデータベースやパブリックストレージにアクセスすることはできません。
    intra-mart Accel Platform では、以下のような場合にテナントが解決されていない状態となっています。
    • サーバ起動時
      • 共通ライブラリの初期化時などが該当します。
    • アカウントコンテキスト生成時
      • SSOユーザコードプロバイダの実行時などが該当します。

サーバ起動時はアカウントコンテキストのテナントIDに依存したAPIを利用することはできません。

  • サーバ起動時、アカウントコンテキスト の テナントID には null が設定されます。
    そのため、サーバ起動時はアカウントコンテキストのテナントIDに依存したAPIを利用することはできません。

    例えば、 AccountInfoManager はアカウントコンテキストのテナントIDを利用してテナントデータベースへアクセスするため、サーバ起動時に利用することはできません。

複数のテナントを跨った処理には対応していません。

  • バーチャルテナント機能は、複数のテナントを跨った処理には対応していません。
    例えば、テナントA で運用しているワークフローでは、テナントB のユーザを処理対象者として指定することはできません。

    複数のテナントを跨った処理は、IM-BIS for Accel Platformや Webサービス等によるサービス連携をご利用ください。

特定のテナントを対象とした画面のカスタマイズはできません。

  • バーチャルテナント機能は、特定のテナントを対象とした画面のカスタマイズはできません。
    テナントごとにカスタマイズが必要な場合は、WARファイルによる複数テナント をご利用ください。

パスワードリマインダ機能の有効・無効は画面から変更できません。

  • パスワードリマインダ機能の有効・無効は、これまでパスワードリマインダ設定画面から変更できましたが、システム単位で管理されるようになったため画面から変更することはできません。
    有効・無効を切り替える場合は、設定ファイルの内容を変更してください。
    詳しい設定内容は「設定ファイルリファレンス」 - 「パスワードリマインダ機能」を参照してください。