開発者コミュニティの皆さん、こんにちは。
Discordについてはご存知の方も多いと思いますし、実際にチャットされている方も多いと思います。
開発者のソーシャルクラブに参加いただき、ぜひインターシステムズの技術をより身近なものにしてください!
💥 InterSystems Developers Discord Channel 💥
超高速なコミュニケーション手段としてご利用ください。
開発者コミュニティの皆さん、こんにちは。
Discordについてはご存知の方も多いと思いますし、実際にチャットされている方も多いと思います。
開発者のソーシャルクラブに参加いただき、ぜひインターシステムズの技術をより身近なものにしてください!
💥 InterSystems Developers Discord Channel 💥
超高速なコミュニケーション手段としてご利用ください。
*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。
昨年、SAM(System Alerting and Monitoring)をリリースしました。
これはInterSystems IRISシステムを監視するためのツールで、InterSystems IRISをお使いの方でしたら、どなたでも利用できます。
Dockerやdocker-composeを使用し、Prometheus、Grafanaといったオープンソースの監視用ツールを組み合わせて簡単にインストールや設定ができるようにしています。
この動画では、デモを交えながら、SAMによるシステム監視や監視項目のカスタマイズ方法について説明します。
これは InterSystems FAQ サイトの記事です。
同一システムに InterSystems 製品を複数インストールした場合、ドライバマネージャに登録される InterSystems 用の ODBCドライバは、インストールされた製品の中で最新バージョンのドライバが登録されたままとなります。
以下のレジストリエントリを変更することで、任意のドライバへ変更できます。
なお、RegFiles.bat 実行では ODBCドライバは切り替わらないのでご注意ください。
レジストリエントリは、以下の通りです。
上記エントリには、現在使用中のドライバへのパスが記録されています。
これらを、切り替える対象となるドライバが存在するパスに変更してください。
この記事では、syslogテーブルについて説明したいと思います。 syslogとは何か、どのように確認するのか、実際のエントリはどのようなものか、そしてなぜそれが重要であるのかについて説明します。 syslogテーブルには、重要な診断情報が含まれることがあります。 システムに何らかの問題が生じている場合に、このテーブルの確認方法とどのような情報が含まれているのかを理解しておくことが重要です。
開発者の皆さん、こんにちは!次のコンテストのテーマが発表されました!
🏆 InterSystems AI Programming Contest 🏆
応募期間は 2021年6月28日~7月18日 です!
💰 賞金総額: $8,750💰
(投票期間は 2021年7月19日~7月25日、勝者発表は 7月26日を予定しています)

優勝特典
1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。
🥇 1位 - $4,000
🥈 2位 - $2,000
🥉 3位 - $1,000
2、開発者コミュニティで多く票を集めたソリューションには、以下の賞金が贈られます。
🥇 1位 - $1000
🥈 2位 - $500
🥉 3位 - $250
複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。
参加資格
どなたでもご参加いただけます!(InterSystems 開発者コミュニティのアカウントを作成するだけでご応募いただけます)
👥 開発者がチームを組んで共同でアプリケーションを作成し、応募することもできます! 1チーム 2~5名 までご参加いただけます。
チームでご応募いただく場合は、アプリケーションの README にチームメンバー名の記載をお忘れなく!
インターシステムズは、InterSystems IRIS データ・プラットフォーム、InterSystems IRIS for Health 、HealthShare Health Connect のメジャーバージョン 2021.1 をリリースしました。
本リリースの機能強化により、サーバ側およびクライアント側の両方で選択した言語による高速で堅牢なアプリケーションをより自由に構築していただくことが可能になります。また、新しく高速な分析機能を通じて大量の情報をより効果的に処理することもできます。
多くのお客様に Caché および Ensemble を使用したシステムをこの InterSystems IRIS バージョンに移行していただくことを期待して、スムーズで価値のある移行を実現するためにあらゆる努力を行ってきております。多くのアプリケーションにおいて、単純にIRIS上で動作させるだけでパフォーマンスの向上を期待できます。
それだけでなく、IRISがもたらず強力な機能を検討していただくこともできます。
新しいリリースについてご紹介するウェビナー(英語)を開催いたします。
7/17 11時(東部夏時間; 日本時間 7/18 0時)
内容は録画され後日こちらから視聴できるようになる予定です。
リリースのハイライト:
InterSystems IRIS 2021.
注記(2019年6月): 多くの変更がありました。最新の情報についてはこちらをご覧ください。 注記(2018年9月): この記事が最初に投稿されて以来、多くの変更がありました。Dockerコンテナバージョンを使用することをお勧めします。コンテナとして実行するためのプロジェクトと説明は、以前と同じGitHubの公開場所に残っていますので、ダウンロードして実行し、必要に応じて変更してください。
お客様と共にパフォーマンスレビュー、キャパシティ計画、およびトラブルシューティングに取り組む際、pButtonsから、Cachéとオペレーティングシステムのメトリクスを解凍してレビューすることがよくあります。 しばらく前、HTMLファイルを参照して、グラフ化するセクションを切り取ってExcelに貼り付ける代わりに、UNIXシェル、Perl、およAWKスクリプトで書かれたpButtonsメトリクスのアンパックユーティリティを使用する記事を投稿しました。 これは、時間を節約できる便利な手法ではありますが、内容が全部網羅されているわけではありません。 また、メトリクスを素早く確認して、レポートに含められるように、メトリクスを自動的にグラフ化するスクリプトも使用しています。
開発者のみなさん、こんにちは!
この記事では、GettingStarted ページの無料体験環境(Sandbox)で試せるチュートリアルの中から、「Full Stack Tutorial」の使い方をご紹介します。
GettingStarted ページでできることについては、こちらの記事でご紹介しています。
無料体験環境(Sandbox)の開始手続きについては、こちらの記事でご紹介しています。ぜひご参照ください。
この記事では、チュートリアルを GettingStarted ページの Sandbox でご体験いただく流れを記載しています。Full Stack Tutorial のパート1 を開き、ログインいただくと Sandbox へのアクセス情報が表示されますので、Sandbox 用 IDE のリンクなどはお手元の環境でご確認ください。
また、チュートリアルの流れの中で、IRIS への接続情報を Sandbox 用 IDE で修正する内容があります。
開発者の皆さん、こんにちは!
この記事では、GettingStarted ページのチュートリアルを試す環境として利用できる、無料体験環境 Sandbox の開始手順についてご紹介します。
GettingStarted ページで何ができるのか?については、前の記事でご紹介しています。ぜひご参照ください。
どのチュートリアルからでも Sandbox の作成やアクセス情報を確認することができます。
この記事では、Full Stack Tutorial を試す流れで Sandbox を作成する手順をご紹介します。
画面左目メニューで、Full Stack Tutorial > Part1:Creating databases with SQL をクリックし、画面右側の「REGISTER」ボタンをクリックすると、ユーザ情報登録画面に移動します。
.png)
Sandbox 作成時、以下図の情報をご記入いただきます(* の付いた項目は必須です)。
開発者のみなさん、こんにちは!
以下にご紹介しているチュートリアルページは、現在非公開となりますので、Developer Hub をご利用ください!
この記事では、ちょっと IRIS を使ってみたい・・と思う方にピッタリのチュートリアルやビデオをまとめたページ「Getting Started with InterSystems IRIS Data Platform」についてご紹介します。
Getting Started with InterSystems IRIS Data Platform (以下、GettingStarted ページと略します)では、ユーザ登録後からすぐに操作できる無料の体験環境(以降、Sandbox)をご利用いただけます。
Sandbox では、GettingStarted ページの各種チュートリアルをブラウザ上で操作できる Sandbox 専用 IDE からお試しいただけ、お手元環境の準備不要!すぐに体験を開始できます!
これは InterSystems FAQ サイトの記事です。
InterSystems製品のシステムモニタが色々なリソースの使用状況を監視しています。
そしてその使用状況に応じてアラートやワーニング情報をコンソールログ(message.log/cconsole.log)に出力します。
アラート情報が表示するCPUのリソースについては、以下のものが定義されています。
これは InterSystems FAQ サイトの記事です。
ローカル変数の容量は、プロセスに許可する最大メモリ割り当て容量によって制限されます。
この値は、システム構成パラメータの bbsiz で設定します(設定方法は記事の後半にあります)。
既定値は、1プロセスあたり、262,144 KB です。
※IRIS 2022.1 以降は、既定値が -1(最大値:制限なし) になりました。
※Caché/Ensemble 2012.1以前では 16,384 KB でした。
値は 256KB からスタートし、プロセスがより大きな領域を必要とする場合は、bbsiz で設定した値まで拡張します。
(バージョン2012.1以前では 128KB~49,536KB の範囲で設定できます。)
この値を超えるようなローカル変数の使用があると、 エラーが発生します。
現在のプロセスに残っている使用可能なメモリ量は、$STORAGE 変数で確認できます(バイト単位)。
詳細は以下ドキュメントページをご参照ください。
$STORAGEについて【IRIS】
$STORAGEについて
インターシステムズ製品のプロセス・メモリについて
一般的に多量のローカル変数を使うと、システムが稼動するために必要なメモリ量も増加します。
大規模システムの場合には、そのことが原因でメモリ不足が発生することもあり得るため注意が必要です。
*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。
FHIR プラットフォームとして InterSystems IRIS for Health を選択する利点の一つは、クラウド/オンプレミスを含む豊富なプラットフォームの選択肢です。
インターシステムズは新しい選択肢の一つとして、FHIRマネージドサービスである”FHIR Accelerator Service”をまずは米国内でリリースします。このサービスを活用するとユーザはすぐにマネージド環境をプロビジョニングしてFHIRサービス開発/実行環境を入手することができます。
この動画では、AWSクラウド上でホストされるこのサービスについてデモを交えてご紹介しています。
この開発者コミュニティでは他にも IRIS の FHIR 機能に関連した多くの記事を公開しています。 FHIR にご興味ある方はぜひご覧ください。
これは、InterSystems FAQサイトの記事です。
マシン名の変更後に InterSystems IRIS(以降IRIS) を停止せずにOSを再起動すると、IRISが開始できないという問題が発生します。
開始するためには、<インストールディレクトリ>\mgr\iris.ids ファイルを削除してください。
iris.ids には、起動したノード名や共有メモリの情報(共有メモリID)が格納されていて、IRIS 開始時に作成され、停止時(iris stop または iris force を実施した場合)に削除されます。
IRIS を停止せずにOSを停止(再起動)した場合、IRISの開始情報が含まれる iris.ids が残ったままとなることがあります。
IRIS は次の開始作業で iris.ids を確認します。マシン名が変更されていると起動しているノード名の情報が iris.ids の内容と異なる為、IRIS は正常に起動しません。 マシン名を変更後にOSを停止(再起動)する際には、必ず事前に IRIS を停止するようにしてください。 ※予期せぬ問題を防ぐためにも、OS停止時には事前に IRIS を停止することが理想的です。
※InterSystemsの他製品についても同様です。詳しくは関連トピックをご参照ください。
これは、InterSystems FAQサイトの記事です。
Windowsのコマンドプロンプトからターミナルを起動するには以下の様な操作を行います。
実行イメージの場所に移動します。
以下のコマンドを実行します。
( インスタンス名のデフォルトは「IRIS」です。)
コンソールターミナルは以下のように実行します。
コンソールターミナルの場合、そのままでは日本語を正しく表示できませんのでご注意ください。
日本語を表示させるためには、以下の記事の内容の設定が必要です。
(外部技術情報サイト)
コマンドプロンプト起動時、自動的に文字コードをUTF-8にして日本語もちゃんと表示できるようにする方法
これは、InterSystems FAQサイトの記事です。
IISおよびWebゲートウェイの設定方法は以下のとおりです。
(1) IIS構成で以下の設定を行います
アプリケーション /rest を作成し、ハンドラーマッピングで * = CSPms のみ定義します。
IIS構成 > Default Website > アプリケーション /rest > "ハンドラーマッピング" をダブルクリック
要求パス: *
モジュール: CSPms
名前: CSPGW (任意の名前)
要求の制限 > [要求のマップ先が次の場合のみハンドラーを呼び出す] のチェックはオフにします。
※こちらの設定はデフォルトでは「チェックあり」になっていますのでご注意ください。
この構成により、IIS は /rest アプリケーションをWebゲートウェイに転送します。
(2) Webゲートウェイの構成で以下の設定を行います
Web Gateway のアプリケーションアクセス から /rest を追加します。
→既存アプリケーションをクリックしてコピーし、アプリケーションパスを /rest に設定&IRISサーバを指定します。
この構成により、Webゲートウェイは /rest アプリケーションをIRISサーバに転送します。
MonCaché — InterSystems Caché での MongoDB API 実装

プロジェクトの構想は、クライアント側のコードを変更せずに MongoDB の代わりに InterSystems Caché を使用できるように、ドキュメントを検索、保存、更新、および削除するための基本的な MongoDB(v2.4.9) API 機能を実装するところにあります。
おそらく、MongoDB に基づくインターフェースを使って、データストレージに InterSystems Caché を使用すると、パフォーマンスが向上するのではないか。 このプロジェクトは、学士号を取得するための研究プロジェクトとして始まりました。
ダメなわけないよね?! ¯\(ツ)/¯
この研究プロジェクトを進める過程で、いくつかの簡略化が行われました。
これは InterSystems FAQ サイトの記事です。
接続先クライアントのIPアドレス取得するには、以下の方法で %SYS.ProcessQuery クラスを使用します。
(a) 対象プロセス ID を指定して、ClientIPAddress プロパティ を参照します。
Set Process=##CLASS(%SYS.ProcessQuery).%OpenId("8656")
Write Process.ClientIPAddress(b) 全てのプロセスの情報を知りたい場合は、必要な情報のみ取得する SQL クエリを作成し、クラス内で実行することができます。
例) SELECT * FROM %SYS.ProcessQuery で詳細情報を取得できます。
詳細は、以下ドキュメントをご参照ください。
%SYS.ProcessQueryについて【IRIS】
%SYS.ProcessQueryについて
これは InterSystems FAQ サイトの記事です。
<PROTECT> エラーを解消するには、システム全体のライブラリデータベース(※)の読み込み専用属性を外します。
※ InterSystems IRIS の場合は IRISLIB、Caché/Ensemble/HealthShare(Cachéベース) の場合は CACHELIB
ルーチンのインポートが完了しましたら、読み込み専用に忘れずに戻すようにしてください。
【バージョン2013.1~】
[管理ポータル] > [システム管理] > [構成] > [システム構成] > [ローカルデータベース]
データベース名のリンクから「読み込み専用でマウント」のチェックを外します。
【バージョン2011.1~バージョン2012.2】
[管理ポータル] > [システム管理] > [構成] > [システム構成] > [ローカルデータベース]
該当データベースの[編集]から「読込専用?」を変更します。
【バージョン2010.2以前】
[システム管理ポータル] > [構成] > [ローカルデータベース]
該当データベースの[編集]から「読込専用?」を変更します。
GIS は Geographic Information System(地理情報システム)の略です。
これは、Caché の典型的な分野ではありませんが、 データ量の多い環境に違いありません。
主要分野には、次の 3 つがあります。
ビジュアルフロントエンド:
多数の商用およびオープンソース製品がカバーする成熟した分野です。
ここには Caché は必要ありません。
GIS の数学:
JTS(Java Topology Suite)は、すべての要件を網羅した固定標準です。Java Gateway によって、または Caché Call Out Gateway
を使ったこの標準ライブラリの C++ インカーネーションの C によって Caché にリンク付けることができます。
これまでのところ、Caché による付加価値はありません。
すべての地理オブジェクトとその属性、特に、道路地図、高速道路、会社、個人宅、鉄道、人口統計データなどの地理座標を保持しているデータベース
この分野で Caché が勝利を収めることができます。
従来の属性に基づいてデータを配信することをよく理解しているからです。 何も目新しい事ではありません。
課題は、場所の比較から始まります。
これは InterSystems FAQ サイトの記事です。
管理ポータルで設定できるメモリ関連の項目は、以下の通りです。
(項目としては他にもありますが、ここでは、ほとんど設定する必要のないものについては記載していません。)
管理ポータル [ホーム] > [システム管理] > [構成] > [システム構成] > [メモリと開始設定]
古いバージョンのメニューは以下の通りです。
【バージョン5.1~2010.x】
システム管理ポータル [ホーム] > [構成] > [メモリと開始設定] の設定内容
* データベースキャッシュ用メモリ
* ルーチンキャッシュ用メモリ 【バージョン2011.1.0~】
管理ポータル [ホーム] > [システム管理] > [構成] > [追加の設定] > [メモリ詳細設定]
【バージョン 5.1~2010.x】
システム管理ポータル [ホーム] > [構成] > [メモリ詳細設定] の設定内容
* 一般メモリヒープ【gmheap】
* ロックテーブル【locksiz】
* IJCバッファ【ijcbuff】
* IJCデバイス【ijcnum】※カテゴリ:IO
* 照合テーブル最大数【nlstab】
設定の詳細は以下の通りです。
2023/9/1更新 添付のPDFに古い記載がありましたので、本文内を最新情報に更新しています。添付ではなく本文をご参照ください。
これは InterSystems FAQ サイトの記事です。
現時点のサポートバージョンについては、以下のドキュメントをご参照ください。
このリストに記述されていないバージョンに関しては、該当システムの保守契約があるという前提で、
インターシステムズは、以下の理由により、出来うる限り、最新バージョンへバージョンアップしていただくことをお勧めしております。
*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。
現在使用している Caché/Ensemble システムから InterSystems IRIS に移行する場合、マイグレーション(インプレース変換)を行うのでなければ現行環境と新環境を一時的に並行稼働させる必要があるかもしれません。
この動画では、そのような場合のインストールや構成についての注意点やデータ移行にどのような技術が利用可能かについてご紹介します。
Caché/Ensemble から IRIS へのマイグレーションについては、こちらもご覧ください。
以前、WRCケースのエスカレーションを受けました。お客様は、Cachéに、rawDEFLATE圧縮/解凍機能が組み込まれているかを尋ねていました。
DEFLATEについて話すには、Zlibについても話す必要があります。Zlibは、90年代半ばに開発された無料の圧縮/解凍ライブラリで、、デファクトスタンダードとなっているからです。
Zlibは特定のDEFLATE圧縮/解凍アルゴリズムと、ラッパー(gzip、zlibなど)内でのカプセル化するという考えの下で動作します。
Caché Object Script(COS)ではすでにGZIPがサポートされており、gzipファイルを使用するために、ファイルデバイスまたはtcpデバイス、またはStreamclassで/GZIP=1を使用できるようになっています。
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_propstream_gzip
「CSP-Gateway/Web-Gateway」Webサーバーモジュールでも、Caché-Serverから受信するhttp-data送信をGZIP圧縮/解凍するために、Zlibライブラリが使用されています。
こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。
clsファイルのExportについて、ご存じな方がいらしたら教えてください。
VSCodeではclsの一覧からExportを選択すると、clsファイルとしてローカルにファイル出力されます。
.png)
これと同じことを、ObjectScript上でも行いたいと思っています。
しかしながら、Export用のAPIを見てみてもxmlファイルで出力される旨のコメントがあり、
clsファイルのまま出力するためのAPIが見当たりません。
https://irisdocs.intersystems.com/iris20191/csp/documatic/%25CSP.Documa…
どなたか情報をお持ちではないでしょうか?
※ちなみに本当にやりたいことは、CREATE TABLE実行時に自動で作られる永続クラスを
自動でExportするような仕組みを構築しようと考えております。
開発者の皆さん、こんにちは!
第12回 InterSystems IRIS プログラミングコンテスト(FHIR Accelerator)への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。
今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!

🏆 Experts Nomination - 特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。
🥇 1位 - $4,000 は FHIR Data Studio Connector を開発された @Dmitry Konnov Maslennikov さんに贈られました!
🥈 2位 - $2,000 は FHIR Simple Demo Application を開発された @Marcello Correa さんに贈られました!
🥈 3位 - $1,000 は iris-on-fhir を開発された @Henrique Dias Dias さんと @José Roberto Pereira さんに贈られました!
🏆 Community Nomination - 最も多くの票を獲得したアプリケーションに贈られます。
IRIS で REST サーバを作成する際に準備する REST ディスパッチクラスを手動で作成する方法を解説します。
※関連ビデオで、OpenAPI 2.0 で定義したアプリケーションの仕様を利用する手順を使った API ファーストで作成するディスパッチクラスの解説ビデオもあります。
このビデオには、以下の関連ビデオがあります。
もくじ
最初~ 復習ビデオ/関連ビデオについて など
2:20~ 作成するディスパッチクラスの内容
4:20~ 手動でRESTディスパッチクラスを作成する方法(手順説明)
5:07~ VSCode:クラス定義作成(手順説明)
メモ:スタジオでの作成については、別のビデオでご説明しています。
これは InterSystems FAQ サイトの記事です。
Question:
IRISは医療に特化したシステム統合製品ですか?
Answer:
InterSystems IRIS Data Platform(以下IRISと表記)は、金融、物流など様々な業種でお使いいただいています。
また、IRISから派生して医療分野に特化したInterSystems IRIS for Health(以下IRIS4Hと表記)という製品があります。
IRIS4Hでは医療分野で良く使われる情報交換規格 HL7(FHIR,V2,V3,CDA)、DICOM、X12 などへの対応に力を入れています。
医療分野のお客様には、IRIS4Hをご利用いただくようお願いしております。
これは、InterSystems FAQサイトの記事です。
iris コマンドを使用して、InterSystems IRIS のインスタンスを制御できます。
iris コマンドは多くの機能をサポートします。以下の構文を使用します。
irisコマンドの詳細は下記ドキュメントをご参照ください。
InterSystems IRIS インスタンスの制御
このirisコマンドのrunw というファンクションを使用して、同期実行や戻り値を取得することができます。
コマンド実行例は以下の通りです。
バッチスクリプトへの戻り値の指定は、ルーチンやメソッド終了時に指定する QUIT や RETURN コマンドに引数を指定する方法ではなく、IRIS 内の処理終了時に %SYSTEM.Process クラスの Terminate() メソッドを使用して errorlevel 変数に値を返す方法を使用します。
値は、0~255 を指定できます。
ルーチンサンプルは以下の通りです。
これは InterSystems FAQ サイトの記事です。
ユーザーが作成したクラス定義は、クラス定義クラスの中に格納されます。
クラス定義一覧をプログラムから取得する方法として、「クラス定義クラス」を利用することができます。
メモ:クラス定義クラスとは、%Dictionary パッケージに含まれるクラス全般のことをさします。
以下サンプルコードでは、%Dictionary.ClassDefinitionQuery クラスの Summary クエリを利用してクラス定義一覧を取得しています。
Class ISJ.Utils
{
ClassMethod ClassInfo()
{
#dim ex As %Exception.AbstractException
try {
set currentNS=$NAMESPACE
while (1) {
read "ネームスペースを指定してください : ",x
if x'="" quit
}
set $NAMESPACE=x // ネームスペースの移動
write !