記事 Mihoko Iijima · 2024年1月18日 5m read Webサーバ(IISやApache)を利用してVSCodeからInterSystemsサーバに接続するときの注意点(バージョン2023.1以下) 開発者の皆さん、こんにちは! VSCodeのObjectScriptエクステンションを利用してInterSystems製品に接続するときに「プライベートWebサーバ (*1)」ではなく、「Webサーバ(IISやApache)」を利用される場合、接続時に使用するREST用パスが通るようにWebサーバに仮想パスを追加する必要があります。 (*1) プライベートWebサーバとは、バージョン2023.1以前のInterSystems製品をインストールすると自動でインストールされる簡易的なApacheで、52773番ポートで管理ポータルやWebアクセスのテストにご利用いただけるWebサーバです。(本番運用環境には適さない簡易的なWebサーバです) 対象バージョン:2023.1以下のInterSystems製品 追加が必要なパス: /api #ObjectScript #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #VSCode 0 0 0 404
記事 Hiroshi Sato · 2024年1月5日 1m read インストール時に指定する初期セキュリティ設定について これは InterSystems FAQ サイトの記事です。 インストール時に選択できる初期セキュリティ設定のレベルには以下の3つがあります。※バージョンにより、表記(日本語/英語)が違う場合があります。 最小 (Minimal) 通常 (Normal) ロック・ダウン (Locked Down) 各レベルの違いの詳細は以下の資料をご確認ください。 セキュリティの説明資料 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 65
記事 Megumi Kakechi · 2023年9月24日 4m read IRISアップグレードやインストールが失敗する場合の調査方法について IRISアップグレードやインストールがうまくいかない場合、初めに以下の4点をご確認ください。 インストーラーに問題はないか? 対象バージョンの最新インストーラー(キット)を使用しているか? サポート対象プラットフォームへのインストールを行っているか? インストールディレクトリパスに日本語を含んでいないか? ★1についてインストーラーのダウンロードに問題があったなどで、インストーラー自体に問題があり、インストールできないというケースがあります。その場合は、インストーラーのハッシュ値(md5 checksum)を比較してファイルの同一性を確認するか、再ダウンロードしてインストールをお試しください。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 258
記事 Megumi Kakechi · 2023年8月31日 4m read 凍結プラン(Frozen Plan)について IRISをアップグレードすると、SQLクエリオプティマイザの機能向上により、旧バージョンとは異なるクエリプランによるクエリ実行コード(クエリキャッシュ)が作成される場合があります。ほとんどの場合はパフォーマンスが向上するのですが、稀にパフォーマンスが低下するケースもあります。 ・アップグレードによりオプティマイザが改善しているとはいえ、中には遅くなるクエリがあるのではないか?・予期しないSQLの問題が起きるのではないか?・アップグレード後に全てのクエリパターンをテストするには時間と労力がかかりすぎる このように、機能向上よりも安定性を優先して「今までのプランのまま実行したい」というご要望もあることでしょう。こちらの記事では、そのようなお客様への解決策をご案内します。 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 119
記事 Megumi Kakechi · 2023年8月1日 2m read BACK^%ETN でスタックトレースを確認する方法 あるメソッドやルーチンを実行してエラーとなった場合、エラー発生個所はエラーメッセージより取得することができますが、処理の呼び出し履歴(スタックトレース)はエラーメッセージのみではわかりません。また、.Net や Python など IRIS 外からの呼び出しの場合に、エラー情報の詳細がクライアントに返らない場合などもあるかと思います。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 110
記事 Tomoko Furuzono · 2023年7月2日 3m read プログラムからグローバルのインポート/エクスポート処理を呼び出す方法 これは、InterSystems FAQサイトの記事です。 以下の様な方法で、グローバルのインポート/エクスポート処理をプログラムに組み込むことができます。 1. グローバルエクスポート方法1.1 XML形式でのエクスポートグローバルをXML形式のファイルにエクスポートする場合、$system.OBJ.Export() を使用します。 1.1.1. 指定したグローバルをエクスポートする場合エクスポート対象グローバルを グローバル名.gbl で指定します(先頭の ^ は不要)。例: #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 207
記事 Mihoko Iijima · 2023年6月13日 1m read プロダクションをリセットする方法、インバウンドアダプタが持つ情報をリセットする方法 これは InterSystems FAQ サイトの記事です。 注意:本番環境では実行しないでください。テスト環境でご利用ください。 開発時にプロダクションに残っているキューを一括でクリアしたり、プロダクションに関連した一次的な情報をすべて消去したい場合、以下メソッドを利用して実行中のプロダクション情報をリセットできます。 #ヒントとコツ #相互運用性 #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 109
記事 Mihoko Iijima · 2023年6月6日 5m read ルーチン/クラスの一括コンパイルの結果からエラー情報を取得する方法 これは InterSystems FAQ サイトの記事です。 ターミナルでルーチンやクラスのコンパイルを行う際、コンパイル結果が画面に表示されるのでエラーが発生した場合でも確認しやすいですが、一括コンパイルの場合は、大量のコンパイル結果の中にエラー情報が含まれてしまうためエラー情報だけを取得したい場合には少し工夫が必要です。 以下、ルーチン/クラスの一括コンパイル時の結果からエラー情報を取得する方法をご紹介します。 #ObjectScript #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 183
記事 Mihoko Iijima · 2023年6月2日 6m read 任意のWebアプリから呼び出せるワークフロー用 REST API の使い方 開発者の皆さん、こんにちは! この記事では、ワークフローコンポーネントを使ってみよう!~使用手順解説~ でご紹介したユーザ操作画面(ユーザポータル)を任意のWebアプリに変更する際に便利な REST API の使用方法をご紹介します。 ワークフロー用 REST APIですが、開発者コミュニティのサンプル公開ページ:Open Exchange に公開されているAPIでどなたでも自由にご利用いただけます。 Open Exchangeの検索ボックスに「Workflow rest」と入力すると出てきます。EnsembleWorkflow が対象のサンプルです。 ちなみに、2023年6月2日時点で724のアプリケーションが公開されているようです👀 #REST API #ヒントとコツ #相互運用性 #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 196
記事 Mihoko Iijima · 2023年6月1日 7m read システム連携の自動的な流れの中にユーザからの指示を介入できる「ワークフローコンポーネント」のサンプル 開発者の皆さん、こんにちは。 先日のウェビナーでご紹介した「ワークフローコンポーネント」をお試しいただけるサンプルを公開しました。👉 https://github.com/Intersystems-jp/WorkFlow-DC 《サンプルのテーマ》 店舗で販売している商品に付けるPOPメッセージ候補を予めテーブルに登録できる仕組みが既にある、と仮定しています。 IRISの Interoperability を利用してPOPメッセージ候補が登録されるテーブルに対して一定間隔でSELECT文を実行し、未処理のメッセージを取得します。新たなレコードが存在する場合、ワークフローコンポーネントを利用して担当者に審査を依頼します。 担当者は、ワークフローユーザポータルを使用して、POPメッセージ候補の承認/却下を指示できるようにしています。 #Docker #Embedded Python #ビジネスオペレーション #相互運用性 #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 170
記事 Mihoko Iijima · 2023年5月24日 5m read サンプルまとめページ:Interoperability(相互運用性) 開発者の皆さん、こんにちは! IRISのInteroperability(相互運用性)機能(Ensembleのプロダクション)を使用してどのようなことができるか、コード例をご覧いただきながら/サンプルを動かしながらご確認いただける記事をまとめてみました。 ぜひご参照ください。 記事一覧: インストール環境をお持ちでない方でもお試しいただけるチュートリアル ファイル連携を試してみたい 常駐プロセスを作りたい レコードマップ機能を使いたい MQTTを使いたい FHIRサーバサイドアプリケーションを試したい Interoperabilityを学習したい システム連携の自動的な流れの中にユーザからの指示を介入できる「ワークフローコンポーネント」を試したい(2023/6/1 追記) REST経由で情報を入力する場合の Interoperability(相互運用性機能)のサンプル(2023/5/30 追記) #チュートリアル #ヒントとコツ #相互運用性 #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 1 188
記事 Megumi Kakechi · 2023年5月15日 2m read グローバルの kill で <SLMSPAN> エラーとなる原因と対処方法 これは InterSystems FAQ サイトの記事です。 サブスクリプトレベルマッピングされたグローバルを、トップノードから全体をkillする場合、<SLMSPAN>エラーとなり削除ができません。 これは、サブスクリプトレベルマッピングされたグローバルについては、マッピングを跨いだサブスクリプト範囲の kill コマンドは行えないためです。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 87
記事 Tomoko Furuzono · 2023年5月14日 3m read オペレーティング・システム・ベースの認証について これは InterSystems FAQ サイトの記事です。 オペレーティング・システム・ベースの認証(OS認証)では、OSのユーザ ID を使用して、IRISを使用するユーザを識別します。 インストール時に選択する初期セキュリティ設定=最小の場合は、予め、OSログインユーザと同一名のユーザをInterSystems IRIS に作成する必要があります。(パスワードは異なっていても構いません。)初期セキュリティ設定=通常以上の場合は、インストールユーザ名(OSログインユーザ名)で、ユーザが作成されていますので、このユーザを使用することができます。別のログインユーザで実行したい場合は、同様にIRISユーザを同名で作成してください。 [インストール時の初期セキュリティ設定画面] #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 95
記事 Megumi Kakechi · 2023年5月12日 2m read ヘルスモニタのセンサー値をコマンドで変更する方法 こちらの記事 では、ヘルスモニタのセンサー値を ^%SYSMONMGR ユーティリティを使用して変更する方法をご紹介しました。今回は、ヘルスモニターセンサー値を コマンド(プログラム)で変更する方法をご紹介します。 ヘルスモニタは、CPUUsage(CPU使用率)、DBLatency(DBからのランダム読取に要する時間)、DiskPercentFull(DBのディスク使用率)などの該当しきい値を超えた場合に、通知を生成します。※ヘルスモニタのセンサー値(閾値)について センサーのしきい値を超えると、IRISのシステムログ(messages.log)に以下のようなメッセージが記録されます。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 3 0 0 147
記事 Megumi Kakechi · 2023年5月8日 4m read ヘルスモニタでのチェック頻度およびアラート通知条件の確認と変更方法 これは InterSystems FAQ サイトの記事です。 InterSystems IRIS では、柔軟でユーザ拡張可能な監視ツールである「システムモニタ」をお使いいただくことが可能です。 システムモニタには、以下の3つのインスタンス監視ツールがあります。 #システム管理 #セキュリティ #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 167
記事 Tomoko Furuzono · 2023年5月8日 1m read <ROLLFAIL>エラーについて これは、InterSystems FAQサイトの記事です。<ROLLFAIL>エラーは、ロールバック処理中に何らかのエラーが発生した場合に発生するエラーです。 トランザクション・ロールバックのロギング よくあるケースはロールバック時点でシステム全体のジャーナリング機能が無効になっていた場合です。ジャーナル機能が無効になるのは、ジャーナルを無効にする設定を行うかジャーナル格納ディレクトリのディスクが満杯のためにシステムがジャーナルを無効にした場合などです。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 110
InterSystems公式 Megumi Kakechi · 2023年4月28日 2m read 2023 年 4 月 27 日 - 警告:暗号化使用時にデータベースおよびジャーナルが破損する インターシステムズは、IBM POWER8 以降の POWER プロセッサを搭載した AIX システムで、データベースおよびジャーナルファイルが破損する可能性がある問題を修正しました。この問題は、データベースまたはジャーナルの暗号化が使用されている場合にのみ発生する可能性があります。 対象バージョン: InterSystems IRIS - 2022.1.3、2023.1 を除く全てのバージョン InterSystems IRIS for Health - 2022.1.3、2023.1 を除く全てのバージョン HealthShare Health Connect - 2022.1.3、2023.1 を除く全てのバージョン HealthShare ソリューション - すべてのバージョン #セキュリティ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #InterSystems公式 0 0 0 113
記事 Megumi Kakechi · 2023年4月24日 2m read 日本語化したクラウド環境にインストールしたIRISのランチャーが文字化けする クラウド環境で Windows 英語版に日本語言語パックをインストールして日本語化している場合、設定に注意が必要です。 以下のようにランチャー(キューブ)メニューの一部が文字化けするのは、言語設定が足りていないのが原因と考えられます。 以下の設定をご確認ください。 Windows設定 > 時刻と言語 > 言語:管理用の言語設定「Unicode 対応でないプログラムの現在の言語」が、日本語以外の言語 (例:英語(米国)) になっていないでしょうか? #キューブ #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 331
記事 Mihoko Iijima · 2023年4月17日 1m read データベースがReadOnlyでマウントされるケース これは InterSystems FAQ サイトの記事です。 以下の状態の時、ReadOnlyでマウントされます。 #システム管理 #データベース #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 195
記事 Tomoko Furuzono · 2023年4月11日 2m read 監査データベースの閲覧のみを許可する これは、InterSystems FAQサイトの記事です。管理ポータルの監査メニューを使用する場合、ユーザに監査データベースの閲覧のみを許可するということはできません。管理ポータルから監査データベースを閲覧する場合は、そのユーザに、・%Admin_Secure:U(監査以外にもセキュリティ関連の操作が可能となる)・%DB_IRISAUDIT:RW(監査データベースへの読み込み/書き込み権限)等のリソースへの権限が必要になりますが、これを与えることにより、監査データベースの閲覧以外の操作も可能となってしまいます。 監査データベースの閲覧のみを許可したい場合には、管理ポータルの監査メニューは使用せず、外部ツール等からSQLで監査テーブルを参照するようにします。このとき、ユーザに必要な権限は以下の通りです。※他の権限は与えないようにします。・IRISAUDITデータベースへのRW権限 ⇒ %DB_IRISAUDITロールの付与・%SYS.AuditテーブルへのSelect権限 #システム管理 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 86
記事 Tomoko Furuzono · 2023年4月11日 2m read マッピングしたグローバルのエクスポートについて これは、InterSystems FAQサイトの記事です。%Library.GlobalクラスのExport()メソッドを使用してエクスポートする際に、エクスポート形式(第4引数:OutputFormat)を 7 の「ブロックフォーマット/Cachéブロックフォーマット(%GOF)」にした場合、マッピングされたグローバルはエクスポートできない仕様となっています(対象はネームスペースのデフォルトグローバルデータベースのグローバルのみ)。マッピングされたグローバルを「ブロックフォーマット/Cachéブロックフォーマット(%GOF)」でエクスポートする為には、%Library.Global.Export()の第1パラメータにマッピング先のデータベースディレクトリを指定します。実行例は以下の通りです。 #グローバル #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 126
記事 Tomoko Furuzono · 2023年4月11日 1m read 日本語を含むHL7を送受信するときに利用する文字コード これは、InterSystems FAQサイトの記事です。HL7の仕様では、日本語データを送受信する場合はJISを文字コードとして利用し、メッセージヘッダ(MSH)の18番目の2項目に iso-ir87 を指定します。HL7用プロダクションでは、情報の入力はビジネスサービス、情報の出力はビジネスオペレーションを利用します。日本語を含むHL7を送受信する場合は、入力/出力の対象となる全てのコンポーネントの設定で [追加の設定] の「キャラクターセット(Charset)」に iso-ir87 を指定することで正しく日本語データを取り扱うことができます。 #HL7 #相互運用性 #Ensemble #InterSystems IRIS for Health 0 0 0 225
記事 Tomoko Furuzono · 2023年4月11日 3m read データ更新中にインデックスの再構築を実行する これは、InterSystems FAQサイトの記事です。データの登録/更新/削除を実行中でも、インデックスを再構築することは可能です。ただし、再構築中は更新途中の状態で参照されますので、専用ユーティリティを使用することをお勧めします。手順は以下の通りです。 追加予定のインデックス名をクエリオプティマイザから隠します。 インデックス定義を追加し、再構築を実施します。 再構築が完了したら、追加したインデックスをオプティマイザに公開します。 実行例は以下の通りです。Sample.Person の Home_State(連絡先住所の州情報)カラムに対して標準インデックス HomeStateIdx を定義する目的での例で記載します。 1、追加予定のインデックス名を Caché のクエリオプティマイザから隠します。 #SQL #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 320
記事 Tomoko Furuzono · 2023年4月10日 3m read 管理ポータル:システムエクスプローラで参照のみ可能なユーザの設定 これは、InterSystems FAQサイトの記事です。管理ポータル:システムエクスプローラの使用には、%DevelopmentリソースのUse特権が必要です。システムエクスプローラでの参照のみ利用可能とする権限をユーザに付与したい場合は、%DevelopmentリソースのUse特権(※1)と、該当のデータベースリソース(※2)への参照特権(R)を付与したロールを作成し、これをユーザに与えます。※1.「%Development:U」を付与している場合はターミナルやスタジオも参照のみで使用可能となります。※2.参照したいデータベースに割り当てられているリソースが%DB_DEFAULTリソースになっており、このデータベースのみに参照権限を設定したい場合は、事前に、このデータベース用の独自リソース(%DB_<データベース名>)を作成し、該当データベースに割り当てるようにします。 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 126
記事 Mihoko Iijima · 2023年4月10日 4m read テーブル定義のデータが格納されるグローバル変数名について これは InterSystems FAQ サイトの記事です。 バージョン2017.2以降から、CREATE TABLE文で作成したテーブル定義のデータを格納するグローバル変数の命名ルールが変わり ^EPgS.D8T6.1 のようなハッシュ化したグローバル変数名が設定されます。(この変更はパフォーマンス向上のために追加されました。) ※ バージョン2017.1以前については、永続クラス定義のルールと同一です。詳細は関連記事「永続クラス定義のデータが格納されるグローバル変数名について」をご参照ください。 以下のテーブル定義を作成すると、同名の永続クラス定義が作成されます。 #SQL #データベース #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 221
記事 Megumi Kakechi · 2023年4月3日 3m read 現在の一般メモリヒープ(gmheap)と取得可能なロックテーブル(locksiz)最大サイズについて これは InterSystems FAQ サイトの記事です。 データ取込み処理の性能・エラー(Lock Table Full)対策として、一般メモリヒープ(gmheap)や ロックテーブルサイズ(locksiz)のパラメータチューニングを行う場合があると思います。 実際に、現在どのくらいの一般メモリヒープが確保できているのかは、ターミナルと管理ポータルで確認することができます。 ★ターミナルの場合 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 1 1 162
記事 Megumi Kakechi · 2023年3月28日 3m read テーブル名、カラム名、インデックス名の変更方法 これは InterSystems FAQ サイトの記事です。 テーブル名/カラム名/インデックス名を変更したい場合、以下のケース別に変更方法をご案内します。 A. テーブル名・カラム名の変更B. インデックス名の変更 -------------------------------------------------------------------------A. テーブル名・カラム名の変更する方法------------------------------------------------------------------------- #ObjectScript #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 175
記事 Megumi Kakechi · 2023年3月19日 2m read VS Codeで設定可能な項目一覧と設定方法について Visual Studio Code 用のエクステンション(拡張機能)には、その動作を構成するための多くの設定が用意されています。 設定可能な項目一覧は、こちらの VS Codeドキュメント でご紹介しています(英語のみ)。 今回は、これらの設定の中で「コンパイルフラグを変更したい場合」の例で、設定の変更方法をご案内します。※コンパイルフラグの詳細については こちらの記事 をご覧ください。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health #VSCode 0 0 0 500
記事 Mihoko Iijima · 2023年3月13日 3m read 永続クラス定義のデータが格納されるグローバル変数名について これは InterSystems FAQ サイトの記事です。 永続クラス定義では、データを格納するグローバル変数名を初回クラスコンパイル時に決定しています。グローバル変数名は、コンパイル後に表示されるストレージ定義(Storage)で確認できます。 例) #オブジェクトデータモデル #データベース #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 270
記事 Megumi Kakechi · 2023年3月8日 2m read 2つのグローバルの内容を比較する方法 これは InterSystems FAQ サイトの記事です。 ^%GCMP ユーティリティにて2つのグローバルの内容を比較することができます。 例としてUSERとSAMPLESネームスペースにある、^testと^testを比較する場合は以下のようになります。※以下の例では、2つのネームスペースに全く同じグローバルを700個作り、その中の一つの中身を変えて検出対象としています。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 105