記事 Hiroshi Sato · 2024年9月12日 1m read CSPGatewayLatencyメッセージの対応について これは InterSystems FAQ サイトの記事です。 messages.logまたはcconsole.log内に記録されるCSPGatewayLatencyのメッセージは、サーバが、パフォーマンス測定のため定期的に「CSPゲートウェイにリクエストを送信して応答をもらう」ことを行っており、応答を受け取るまで一定時間以上かかったときに出る警告(応答時間の閾値)です。 その既定値は1000ミリ秒です。 WebGateway(CSPGateway)が稼働する Web サーバの負荷が高い場合に出力する場合がありますが、実際のCSPアプリケーションやREST APIの動作や応答速度に影響が見られなければ、特に問題はありません。 またこのメッセージの出力頻度を下げるためにこの閾値を変更する方法もあります。 変更方法は以下を参照ください #API #CSP #REST API #Caché #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 94
記事 Tomoko Furuzono · 2024年8月4日 1m read 管理ポータルのグローバル表示で、サブスクリプトレベルの範囲を指定して表示する これは、InterSystems FAQサイトの記事です。 管理ポータルのグローバル変数表示ページでは、サブスクリプトレベルの範囲を指定して表示することが可能です。 各サブスクリプトレベルで、 <開始値>:<終了値> のように指定します。開始値を省略すると先頭から終了値まで、終了値を省略すると指定値から最後までのグローバル変数を表示します。 《例》 (グローバル全体) (第2サブスクリプトが"b"のデータだけを表示) (第3サブスクリプトが300以上のデータを表示) #管理ポータル #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 92
記事 Kyouhei.Kawanishi · 2025年11月21日 12m read Node.jsからIRISのクラスを呼び出してみた 開発者の皆さん、はじめまして! 普段はサーバーレス環境での開発をしていて、AWS Lambda を使ったアプリケーション構築を主に行っています。IRIS についての実装経験はまだ浅いのですが、その高速で柔軟なデータベース機能の素晴らしさはよく知っています。 「このパワフルな IRIS を、使い慣れたサーバーレスアプリから呼び出せたらいいのにな...」 そんな思いから、今回 AWS Lambda と IRIS Native API を組み合わせた実装に挑戦してみました。これを通して、IRIS のことをもっと好きになれたらいいなと思っています。まだ IRIS の実装経験が浅いため、もっと良いアプローチや最適な方法があるかもしれません。もし改善点や間違いがあれば、ぜひコメントで教えていただけると嬉しいです! この記事では、AWS Lambda から IRIS Native API を使用してデータを取得する方法を実装例とともに解説します。この基本実装をベースに、S3 トリガーや他の AWS サービスとの連携も可能です。ぜひ最後までお付き合いいただけると嬉しいです! #API #AWS #JSON #ObjectScript #コンテスト #InterSystems IRIS 9 0 0 91
記事 Tomoko Furuzono · 2024年8月4日 1m read IRIS SQLで、二重引用符「"」を、リテラル値を示す区切り文字として使う方法=区切り識別子を無効にする これは、InterSystems FAQサイトの記事です。 区切り識別子は、区切り文字で囲まれた一意の識別子です。InterSystems SQL は、その区切り文字として二重引用符 「"」 をサポートしています。一方、リテラル値を区切る場合は、一重引用符「'」を使用します。例えば、下記のSQLにおいて、①は、Nameの値が「AAA」という文字列である、という検索条件と解釈されますが、②は、Name列 = AAA列、という結合条件と解釈されます。※実際にAAA列が無ければエラーとなります。 ① #SQL #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 91
記事 Toshihiko Minamoto · 2025年5月20日 7m read IRIS で Django と Vue.js を使ったウェブアプリケーションの作成_ Django フレームワークを覗いてみよう Django フレームワークは長年学習したいと思ってきましたが、いつも他の差し迫ったプロジェクトが優先されてきました。 多くの開発者と同様に、機械学習においては Python を使用していますが、初めてウェブプログラミングについて学習したころは、PHP がまだまだ優勢でした。そのため、機械学習の作品を公開する目的でウェブアプリケーションを作成するための新しい複雑なフレームワークを選択する機会が訪れても、私は依然として PHP に目を向けていました。 ウェブサイトの構築には Laravel と呼ばれるフレームワークを使用してきましたが、この PHP フレームワークから最新の MVC(モデルビューコントローラー)というウェブプログラミングのパターンに出会いました。 さらに複雑なことに、私は最新の JavaScript フレームワークを使用してフロントエンドを構築するのを好んでいます。 React を使用するのがより一般的のようですが、私は Vue.js に一番慣れているため、このプロジェクトではそれを使用することにしました。 なぜ複雑なフレームワークを使用するのでしょうか? Django、Laravel、React、または Vue などのフレームワークを学習する際の最大の難関は何でしょうか? #API #CSS #GitHub #JavaScript #JSON #Python #フレームワーク #フロントエンド #InterSystems IRIS Open Exchange app 0 0 0 91
記事 Tomoko Furuzono · 2025年4月7日 1m read 全角/半角混在文字列から指定された幅の文字列を取得する方法 これはInterSystems FAQサイトの記事です。 指定した文字列式のうち指定したフィールド幅(半角での文字数)に収まる文字数を取得する関数:$ZPOSITIONと、部分文字列を返す関数:$EXTRACTを組み合わせることによって、全角/半角混在文字列から、指定された幅の文字列を取得することが出来ます。※$Extractは文字単位で処理を行いますので、全角/半角を区別した取り扱いはできません。 構文: #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 91
記事 Tomoko Furuzono · 2025年3月21日 1m read ジャーナルのON/OFFを、コマンドで操作する方法 これはInterSystems FAQサイトの記事です。 大量の更新を行うプログラムで、処理途中に何らかの問題が発生してもデータを初期化して再度実行することができる状況では、プロセスレベルでジャーナリングを無効/有効に変更することが可能です。 ※但し、トランザクションのロールバックにはジャーナルが必要ですので、ロールバックを正しく動作させたい場合にはこの方法は使用しないでください。 以下のコマンドを使用します。更新処理の開始と終了(またエラー処理での終了)の際に以下のコマンドを追加します。 #ジャーナリング #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 91
InterSystems公式 Megumi Kakechi · 2024年5月15日 2m read InterSystems 製品 2024.1.0.267.2 リリースのご案内 (Ubuntu 24.04 サポート他) インターシステムズは、InterSystems IRIS データ・プラットフォーム、InterSystems IRIS for Health 、HealthShare Health Connect のバージョン 2024.1.0.267.2 をリリースしました。 このリリースには、Ubuntu 24.04 オペレーティング・システムのサポートが追加されています。 Ubuntu 24.04 には、Linux カーネル 6.8、セキュリティの改善、インストーラおよびユーザ・インタフェースの改善が含まれています。 InterSystems IRIS IntegratedML は、Ubuntu 24.04 ではまだご利用いただけません。 さらにこのリリースでは、すべてのプラットフォームで以下の2つの不具合が修正されています: #リリース #Health Connect #InterSystems IRIS #InterSystems IRIS for Health #InterSystems公式 0 0 0 90
記事 Hiroshi Sato · 2024年9月12日 2m read gmheapとlocksizの新しいデフォルト値 これは InterSystems FAQ サイトの記事です。 IRIS2023.1から導入されたgmheapとlocksizの新しいデフォルト値について紹介します。 gmheap=0は、特別な設定の必要性がないほとんどのシステム(実運用システムを含む)に適切なように設計された新しいデフォルト値です。 0に設定することで、システムがシステム全体のサイズを推測し、妥当な値を算出してくれます。 gmheap=0 に設定した場合、システムは、グローバルバッファ用に設定されたメモリの合計に3%を乗じた値を基準に、300MBの下限と2GBの上限の範囲内でgmheap値を設定します。 0以外の値はそれをそのまま使用し、2GBよりはるかに大きく、あるいは300MBよりはるかに小さく設定することができます。 #システム管理 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 90
記事 Toshihiko Minamoto · 2025年2月20日 4m read WSGI サポートの概要 コンテキスト ウェブサーバーゲートウェイインターフェース(WSGI)は、ウェブサーバーがリクエストを Python プログラミング言語で記述されたウェブアプリケーションまたはフレームワークに転送するための単純な呼び出し規則です。 WSGI は PEP 3333 で詳しく説明された Python 規格です。 🤔 定義は良いとして、IRIS との関連性は何でしょうか? IRIS 2024.2+ の新機能により、直接 IRIS で WSGI アプリケーションを実行できます。 この機能は、IRIS を他の Python フレームワークとライブラリに統合する優れた方法です。 #GitHub #Python #REST API #名前空間 #管理ポータル #InterSystems IRIS 0 0 0 89
記事 Toshihiko Minamoto · 2025年5月16日 4m read OwnObjectScriptExtension で ObjectScript 開発を強化 OwnObjectScriptExtension #DevOps #オープンソース #ヒントとコツ #InterSystems IRIS #Open Exchange Open Exchange app 0 0 0 88
記事 Hiroshi Sato · 2025年2月25日 2m read クライアントからPOSTされた ファイルを受け取るRESTサービスを作成する方法 これは InterSystems FAQ サイトの記事です。 以下の様なCurl コマンドで送信したファイルを受け取るRESTサービスを作成する方法を紹介します。 curl -X POST "http://localhost/api/upload/csv?a=123&b=999" -F file=@"C:/temp/a.csv" クライアントからPOSTされたファイルを受け取ってサーバーに保存するRESTサービスは以下の様に作成します。 (このサンプルでは、1000文字以下の小さいサイズおよび文字コードはutf-8のファイルを想定しています。) #REST API #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 88
記事 Takao Otokita · 2024年5月19日 7m read IRIS BI開発者向けチュートリアルを試してみる(10) はじめに IRIS BIチュートリアル試してみたシリーズの10回目です。今回はチュートリアル最後のページ「ピボット・テーブルおよびダッシュボードの作成とパッケージ化」についてです。これまでアーキテクトとアナライザを使用してきましたが、今回はユーザポータル画面を使ってダッシュボードを作成していきます。では、早速はじめていきましょう。 #アナライザ #キューブ #ダッシュボード #チュートリアル #InterSystems IRIS BI (DeepSee) 1 0 0 88
記事 Toshihiko Minamoto · 2025年2月27日 7m read Iris における Flask アプリケーションの実行 説明 これは、ネイティブウェブアプリケーションとして IRIS にデプロイできる Flask アプリケーションのテンプレートです。 インストール リポジトリをクローンする 仮想環境を作成する 要件をインストールする docker-compose ファイルを実行する git clone cd iris-flask-template python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt docker-compose up 使用法 ベース URL は http://localhost:53795/flask/ です。 #CSP #Docker #Git #JSON #Python #SQL #セキュリティ #フレームワーク #相互運用性 #InterSystems IRIS Open Exchange app 0 0 0 86
記事 Toshihiko Minamoto · 2023年10月18日 7m read OpenAPI Suite - パート 2 コミュニティの皆さん、こんにちは。 パート 1 では、すべてのパッケージ、使用されているライブラリ、および REST サービスについて説明しました。 次は、コンバーターサービスとバリデーターサービスについて詳しく説明したいと思います。 OpenAPI-Suite はデフォルトで、仕様バージョンが 3.0 未満である場合に HTTP リクエストを converter.swagger.io に送信し、別の HTTP リクエストを validator.swagger.io に送信して仕様ドキュメントの構造を単純化します。 オンラインユーティリティの使用は便利ではありますが、場合によっては独自のコンバーターとバリデーターのインスタンスを使用する方が便利な場合もあります。 たとえば、OpenAPI-Suite が ObjectScript 開発者向けに組織のサーバーに提供されている場合、外部サービスへのリクエストを回避する方が好ましいことがあります(プライバシーやリクエストレートの制限を回避するため)。 以下を実行してください。 docker run -d -p 8085:8080 --name swagger-converter swaggerapi/swagger-converter:latest docker run -d -p 8086:8080 --name swagger-validator-v2 swaggerapi/swagger-validator-v2:latest #REST API #コンテスト #InterSystems IRIS #InterSystems アイデアポータル #Open Exchange Open Exchange app 0 0 0 84
記事 Mihoko Iijima · 2025年10月9日 1m read IRIS のベクトル検索を活用しユーザーへ最新で正確な応答を提供する RAG AI チャットボットを作成するチュートリアル 開発者の皆さん、こんにちは! この記事では、Developer Hub にあるチュートリアルに新しいチュートリアル:InterSystems IRIS ベクトル検索を使用した RAG が追加されましたので内容をご紹介します。(準備不要でブラウザがあれば試せるチュートリアルです!) このチュートリアルでは、生成 AI アプリケーションの精度向上に向けて、ベクトル検索と検索拡張生成(Retrieval Augmented Generation)の活用を体験できます。 具体的には、InterSystems IRIS のベクトル検索機能を活用し、生成 AI チャットボット向けのナレッジベースをサンプルコードを利用して作成します。 #Generative AI (GenAI) #Python #Vector Search #チュートリアル #初心者 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 84
記事 Hiroshi Sato · 2025年2月12日 1m read インターオペラビリティの処理の中でログ出力を実装する方法 これは InterSystems FAQ サイトの記事です。 インターオペラビリティ機能を使用してビジネスホストのビジネスロジックを実装する際に、デバッグ等の目的でログ出力を行うための専用マクロが用意されているので、ご紹介します。 以下のマクロが用意されています。 #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 84
記事 Megumi Kakechi · 2025年4月22日 5m read ADO.NET Managed Provider を使用してクラスクエリを実行し、結果セットを取得するサンプル 先日、お客様よりタイトルのご質問をいただき、サンプルコードを作成しました。せっかくですので、こちらでも共有したいと思います。 今回は、データベースの空き容量情報を取得する、%SYS.DatabaseQueryクラスのFreeSpaceクエリを使用したサンプルとします。 C#.Net と VB.Net で作成してみました。 ★C#.Net #.NET #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 83
記事 Hiroshi Sato · 2025年9月3日 2m read 大量データをJSON形式で渡す方法 これは InterSystems FAQ サイトの記事です。 ダイナミックオブジェクトの%ToJSONメソッドを利用することで簡単にJSONデータを送信することができます。 但し、標準的な方法では、出力するJSONのデータがIRIS文字列の最大長(約32万文字 正確には$SYSTEM.SYS.MaxLocalLength()が返す値)を超えると<MAXLENGTH>エラーとなります。 これを回避するためには、文字列として返すのではなく、%ToJSONメソッドの出力先としてStreamを指定し、その結果作成されたそのStreamデータを順次読み取って、出力先に書き出すようにする必要があります。 以下のように処理できます。 #API #JSON #REST API #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 83
記事 Hiroshi Sato · 2025年7月27日 4m read ODBCログの取得方法(UNIX) これは InterSystems FAQ サイトの記事です。 ODBCクライアントからのアクセスでエラーが発生した場合、返ってきたエラーメッセージやコンソールログ上の情報だけでは原因がよくわからない場合があります。 そのような場合にODBCドライバのクライアントログを有効にすることで、エラーについての詳細情報を取得することができます。 ODBCログの有効化については以下をご参照ください。 ODBCログの有効化 UNIX系のシステムの場合、上記に記載されている通り、2種類のログが取得できます。 #ODBC #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 83
記事 Megumi Kakechi · 2025年5月29日 6m read InterSystems製品のロックの基本 これは InterSystems FAQ サイトの記事です。 InterSystems製品では、複数のプロセスが同時に同じデータにアクセスする場合、排他制御を行うためにロックを使用できます。ロックは、データの更新を正しく行い整合性を保つための仕組みで、あるデータに対する更新処理を制御するために使用します。ロックを操作するには、LOCK(L)というコマンドが使用できます。 こちらの記事では、InterSystems製品で使用できるロックの種類、LOCKコマンドの使い方をご紹介します。 ★ロックの種類 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 82
InterSystems公式 Seisuke Nakahashi · 2025年7月22日 10m read IRIS 2025.2 から導入される IRISSECURITY データベースについて InterSystems IRIS 2025.2 から、セキュリティデータが格納される IRISSECURITY データベースが導入されます。これまでセキュリティデータが格納されていた IRISSYS とは異なり、IRISSECURITY データベースは暗号化することが可能です。これにより機密データをより安全に保管することができるようになります。将来のバージョンでは、IRISSECURITYはミラーリングもサポートされる予定です。 このバージョンではあわせて、セキュリティ管理タスク用の %SecurityAdministrator ロールも導入されます。 #セキュリティ #InterSystems IRIS #InterSystems公式 0 0 0 82
記事 Toshihiko Minamoto · 2024年11月21日 6m read IRIS-RAG-Gen_ IRIS Vector Search による ChatGPT RAG アプリケーションのパーソナライズ コミュニティの皆さん、こんにちは。この記事では、iris-RAG-Gen という私のアプリケーションをご紹介します。 iris-RAG-Gen は、IRIS Vector Search の機能を使用して、Streamlit ウェブフレームワーク、LangChain、および OpenAI で ChatGPT をパーソナライズするジェネレーティブ AI 検索拡張生成(RAG: Retrieval-Augmented Generation)アプリケーションです。 このアプリケーションは IRIS をベクトルストアとして使用します。 アプリケーションの機能 ドキュメント(PDF または TXT)を IRIS に取り込む 選択されたドキュメントの取り込みを使ってチャットする ドキュメントの取り込みを削除する OpenAI ChatGPT #ChatGPT #Docker #Embedded Python #Generative AI (GenAI) #Large Language Model (LLM) #SQL #Vector Search #Caché #Open Exchange Open Exchange app 0 0 0 81
記事 Tomoko Furuzono · 2025年1月7日 1m read データ容量の見積もりについて これは、InterSystems FAQサイトの記事です。 質問:データ容量を見積もる計算式はありますか? 回答:正確に見積もるための計算式は残念ながらありません。 InterSystems IRIS Data Platformの場合、データ部に関してはデータを全て可変長で格納しますので、各フィールドの平均がどのくらいであるかという目安の数字で平均レコード長を求め、キー部分も同様の計算を行い、必要な容量の推測値を求める必要があります。 インデックス部に関してはキー圧縮されますので、データと同じような上記の計算を行った推測値よりは少なくなることが期待できます。 ただしその圧縮率はデータの特性に大きく影響されますので、どの程度少なくなるかは一概には言えません。 実データのサンプル(例えば、1万件のデータ)をロードし、その時点でのサイズを確認して想定される件数分のデータ容量を推測するというのが現実的な方法となります。 #システム管理 #データベース #ヒントとコツ #プラットフォーム #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 80
記事 Megumi Kakechi · 2025年8月18日 3m read Webゲートウェイ管理画面のSystem Status(システムステータス)ページで確認できること これは InterSystems FAQ サイトの記事です。 WebゲートウェイのSystem Status(システムステータス)ページでは、現在のすべてのアクティブな接続のステータスを確認することができます。 最初のステータステーブル (システムステータス) は、IRIS への接続に関する情報を表示します。2番目のステータステーブル (InterSystems IRIS サーバ) は、InterSystems IRIS サーバに関する情報を表示します。3 番目のステータステーブルは、アプリケーションパスの情報を表示します。4 番目のテーブルは、Web ゲートウェイの応答キャッシュに保持されるフォームを表示します。 いくつかのサンプル接続ステータスを例にご説明します。 #Web Gateway #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 80
記事 Megumi Kakechi · 2025年6月1日 5m read ロックテーブルの参照方法とその見方 これは InterSystems FAQ サイトの記事です。ロックテーブルを参照する方法として、主に以下の3つの方法が挙げられます。 1. 管理ポータルで参照する方法 ⇒ 管理ポータル:システムオペレーション > ロック > ロックを表示(または管理) 2. ^LOCKTAB ユーティリティ を使用する方法 ⇒ %SYS> do ^LOCKTAB 3. プログラムで参照する方法 ⇒ プログラム内でロック情報を取得する方法 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 80
記事 Megumi Kakechi · 2025年7月22日 4m read 監視用常駐プロセスを作成する方法 これは InterSystems FAQ サイトの記事です。「定期的にプロセスを監視し、あるイベントが発生したときにのみ処理を実行したい」ような場合に使用できる、便利な機能をご紹介します。 もちろん、Forループを行う常駐プロセスを作成してその中で Hang XX しながらIf文にてイベントを検知したり、タスクスケジュールでルーチンを定期実行してその中でIf文にてイベントを検知して処理することも可能です。 今回ご紹介する、%SYSTEM.Event クラスを使用することで、よりシンプルに処理を作成することが可能となります。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 1 80
記事 Tomoko Furuzono · 2024年8月4日 1m read 1840年12月31日 00:00:00よりも前の日付時刻をサポートする方法 これは、InterSystems FAQサイトの記事です。 既定では、InterSystems製品で表すことのできる日時の最小値は、1840年12月31日 0時0分0秒 です。 #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 79
記事 Tomoko Furuzono · 2025年3月27日 2m read ジャーナルの整合性チェックやサマリの表示をコマンドで実行する方法 これは、InterSystems FAQ サイトの記事です。 管理ポータルの [システムオペレーション] > [ジャーナル]のページで実行できる、 整合性チェックの実行や、サマリーの表示は、%SYS.Journal.File クラスのメソッドやクエリでも実行することができます。 クラスリファレンス:%SYS.Journal.File 以下、実行例です。※全て、%SYSネームスペースで実行します。 (1) 整合性チェック #システム管理 #ジャーナリング #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 79
記事 Toshihiko Minamoto · 2024年11月26日 5m read d[IA]gnosis_ IRIS for Health を使用した RAG アプリケーションの開発 ベクトルデータ型と Vector Search 機能が IRIS に導入されたことにより、アプリケーションの開発に多数の可能性が開かれました。こういったアプリケーションの例として、バレンシア保健省が AI モデルを使用した ICD-10 コーディング支援ツールを要求した公募で出品されたアプリケーションが最近私の目に留まりました。 要求されたツールのようなアプリケーションをどのように実装できるでしょうか? 必要なものを確認しましょう。 ICD-10 コードのリスト。自由テキスト内で診断を検索するための RAG アプリケーションのコンテキストとして使用します。 ICD-10 コード内で相当するものを検索するためにテキストをベクトル化するトレーニング済みモデル。 ICD-10 コードとテキストの取り込みとベクトル化を行うために必要な Python ライブラリ。 可能性のある診断を見つけるためのテキストを受け入れる使いやすいフロントエンド。 フロントエンドから受信するリクエストのオーケストレーション。 これらのニーズに対応するために、IRIS は何を提供できるでしょうか? #Angular #Artificial Intelligence (AI) #Embedded Python #Vector Search #InterSystems IRIS for Health Open Exchange app 0 0 0 78