Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

Ensemble 2015.1

Ensemble 2015.1 の新機能

Ensemble 2015.1 では、次の新機能と拡張機能が導入されました。

  • モバイル・デバイスのプッシュ通知

  • ネームスペースのデータベース・ストレージの向上

  • REST サービスの機能強化

  • CSP ポートの使用が可能なパススルー呼び出し

  • Java へのステートレスな呼び出し

  • エンタープライズ・モニタとプロダクション・モニタの機能強化

Ensemble 2015.1 にアップグレードする際の互換性の問題

このリリースの以下の変更によって、既存のシステムの動作が影響を受ける可能性があります。Ensemble のインスタンスをアップグレードする前に、以下の問題を確認してください。

認証情報パスワードの格納に使用する新しいグローバルおよびデータベース

新規ネームスペースを作成すると、認証情報パスワードは、二次データベースに格納されます。このデータベースには、デフォルトで、ユーザ・アカウントからアクセスすることはできません。ほとんどのプロダクションで、これによって互換性の問題が発生することはありません。ビジネス・ホストが必要とするときに、Ensemble によってパスワードへのアクセスが提供されるからです。この変更によって、保管されているパスワードの保護が強化されています。ただし、認証情報パスワードが格納されているデータベースを暗号化することをお勧めします。

この変更によって互換性の問題が発生する状況があります。この節では、そのような状況について説明し、問題を回避する方法を提示します。

Note:

Ensemble のライセンスによっては、許可するデータベースの数を制限しています。 認証情報用のこの新しいデータベースはその制限に加算されます。

新規ネームスペースを作成すると、Ensemble によって二次データベースが作成され、グローバル用データベースの名前に SECONDARY を付加した名前が付けられます。例えば、グローバル用データベースが INVENTG、ルーチン用データベースが INVENTR である INVENT ネームスペースを作成した場合、Ensemble によって認証情報パスワード用に INVENTGSECONDARY データベースも作成されます。以前のリリースでは、Ensemble によって、認証情報パスワードは、^Ens.Conf.CredentialsD に格納されていましたが、このリリースでは、認証情報パスワードは、グローバル ^Ens.SecondaryData.Password に格納され、そのグローバルは二次データベースにマッピングされます。

既存のネームスペースの場合、Ensemble のアップグレードによって新しい二次データベースが作成されることはありませんが、初めて認証情報にアクセスしたときに、パスワードは新しいグローバルに移動されます。 %Library.EnsembleMgr:CreateNewDBForSecondary() メソッドを呼び出すと、Ensemble によって認証情報パスワード用の二次データベースが作成され、パスワードが新しい二次データベースに移行されて、^Ens.SecondaryData.Password が二次データベースにマッピングされます。プロダクションが停止しているときにのみ、CreateNewDBForSecondary() メソッドを呼び出す必要があります。

ほとんどの場合、これらの変更はプロダクション・コードや管理ポータルからの認証情報のアクセスには影響を与えませんが、次の互換性の問題が発生します。

  • 認証情報を読み取るためのコードを実行するジョブには、パスワード用二次データベースを保護するリソースが必要になりました。例えば、INVENTGSECONDARY はリソース %DB_INVENTGSECONDARY によって保護されているので、認証情報を読み取るにはプロセスに %DB_INVENTGSECONDARY リソースに対する読み取りアクセス権が必要です。ただし、プロダクションの一部として起動されたジョブは、ユーザ _ENSEMBLE の下で実行されるため、これらのジョブは認証情報を読み取ることができます。

  • 認証情報を書き込むためのコードを実行するジョブには、%Ens_Credentials:"W" リソースが必要になりました。認証情報の書き込み時には、管理ポータルによって権限が昇格されることに注意してください。このため、前のバージョンの Ensemble で認証情報を入力することができていたポータル・ユーザの権限を変更する必要はありません。

  • Web アプリケーションで認証情報を読み取るまたは書き込む場合は、InProc ビジネス・オペレーションの呼び出しによるものも含め、少なくとも認証情報の読み取りまたは書き込みの実行中には、その Web アプリケーションに、必要なリソースを付与する必要があります。

  • コードが別のコンテキストで実行されていて、認証情報パスワードへのアクセスが必要な場合、ユーザ・アカウントは、必要なリソースを有する必要があります。

  • Ens.DirectorOpens in a new tabCreateBusinessService() を呼び出して、認証情報パスワードへのアクセスが必要な InProc オペレーションに直接メッセージを送信するビジネス・サービスを作成する場合、ユーザ・アカウントは、必要なリソースを有する必要があります。

  • 既存のネームスペースで、^Ens.Conf.CredentialsD を別のデータベースに移動するマッピングを作成していた場合、^Ens.SecondaryData.Password に対して同じマッピングを作成する必要があります。

Note:

HealthShare のインスタンスを実行している場合、CreateNewDBForSecondary() メソッドを明示的に呼び出さない限り、認証情報パスワード用の二次データベースは作成されません。HealthShare Information Exchange で使用するネームスペースに対して、このメソッドを呼び出さないでください。

一時グローバルが保存される新しいデータベースと保存先の変更

Runtime および JobStatus データは、ネームスペースで添え字が付けられたグローバル ^CacheTemp.EnsRuntimeAppData に保存されるようになりました。これまでのバージョンでは、このデータはグローバル ^Ens.RuntimeAppData に保存されていました。さらに、プロダクション・モニタに表示するために使用されるメトリック・データは、グローバル ^CacheTemp.EnsMetrics に保存されるようになりました。これまでのバージョンでは、このデータはグローバル ^Ens.Metrics に保存されていました。ほとんどの場合、これらの変更が互換性の問題になることはありませんが、以下の項目について確認する必要があります。

  • この変更が行われているバージョンの Ensemble へのアップグレード時に、問題が発生した状態のプロダクションは存在しない。

  • 該当するグローバルに明示的にアクセスするコードでは、新しい場所のデータにアクセスするようにコードを更新する必要がある。

該当するグローバルは、ジャーナル化されていないデータベースに保存されるようになり、その値はミラー・メンバでは利用できません。

Note:

Ensemble のライセンスによっては、許可するデータベースの数を制限しています。一時グローバル用のこの新しいデータベースはその制限に加算されます。

ラージ・オブジェクトを文字列ではなくストリームとして返す JDBC SQL

JDBC SQL アダプタの使用時、ストアド・プロシージャのラージ・オブジェクト (LOB) 出力パラメータは、ストリームとして返されるようになりました。これまでのバージョンでは、このような出力パラメータは文字列として返されていました。そのため、LOB が最大文字列サイズを超過したときにはエラーが発生していました。これに該当する出力パラメータにアクセスするコードは、文字列ではなくストリームを処理するように変更する必要があります。

一時的な回避策として、該当する出力パラメータの文字列値を返すようにグローバルを設定できます。ただし、このようにグローバルを設定しても、LOB のサイズが最大文字列サイズを超過するときは、出力パラメータがストリームとして返されます。

Ensemble が許容サイズの LOB 出力パラメータを文字列として返すように構成するには、以下のいずれかのグローバルを 1 に設定します。

  • ^Ens.Config("JDBC","LOBasString",ConfigName)

    ここで、ConfigName はビジネス・サービス、プロセス、またはオペレーションの名前です。

  • ^Ens.Config("JDBC","LOBasString")

スタジオと互換するように変更されたルックアップのインポート形式とエクスポート形式

Ensemble ポータルの [インポート] ボタンと [エクスポート] ボタンは、スタジオと同じファイル形式を使用するようになりました。これまでのバージョンの Ensemble では、ポータルのエクスポート形式とスタジオのエクスポート形式に互換性がありませんでした。

これまでのバージョンの Ensemble からポータルでルックアップ・テーブルをエクスポートした場合は、Ensemble 2015.1 以降の [レガシのインポート] ボタンを使用してインポートする必要があります。Ensemble 2015.1 以降からルックアップ・テーブルをエクスポートしていて、そのエクスポートを以前のバージョンの Ensemble にインポートする場合は、スタジオを使用して以前のバージョンでインポートする必要があります。ポータルのインポートは使用できません。

X12 オブジェクトの削除による子オブジェクトの削除

これまでのリリースでは、X12 オブジェクトを削除しても、その子のオブジェクトは削除されませんでした。今回のリリースでは、X12 オブジェクトを削除すると、その子のオブジェクトがすべて削除されます。

DTL foreach エラーの正しい報告

以前のリリースでは、foreach の括弧内に反復子キーを含めると、特定の状況ではデータ変換はエラーを報告しませんでした。このエラーは正しく報告されるようになりました。

FeedbackOpens in a new tab