圧縮と切り捨ての原理は何ですか? パフォーマンスに影響するのかな?
IAM 3.4 リリース
2024.1 の開発者プレビュープログラムの一環として、最初の開発者プレビューを公開いたします。リリースされる製品は InterSystems IRIS®, InterSystems IRIS® for HealthTM, HealthShare® Health Connect になります。
本リリースの注目点
2024.1では、多くの機能修正や性能強化に加え、ObjectScript でのベクターの使用, ベクター検索 (実験的機能), マルチボリューム・データベース, 高速オンラインバックアップ の利用 (実験的機能), 複数のスーパーサーバーポート の導入 といった新機能が追加されています。また本リリースには、フレキシブル環境での Python 実行 や Smart on FHIR 2.0.0 サポートなど、多くの機能進化が含まれています。
👉 注: これら新機能の一部は、今回の開発者プレビュー版にはまだ含まれていません。
2024.1 の別の注目点は、Health Connect では プライベート・ウェブサーバ (PWS) がインストーラから削除されることです。InterSystems IRIS インストーラからは、すでに2023.2 以降プライベート・ウェブサーバは削除されています。こちらの ドキュメント をご参照ください。
はじめに
InterSystems は、最新の CPU 命令セット拡張機能を活用するために、IRIS を最適化したいと考えています。製品のパフォーマンスに対しては素晴らしいことですが、CPU が新しい IRIS ビルドにサポートされるかを知るにはどうすればよいでしょうか。ここでは、CPU のマイクロアーキテクチャファミリと CPU の特定の命令セット拡張機能を知る方法について説明します。
皆さんこんにちは!Virtual Summit ご覧いただけていますでしょうか。
Virtual Summit で VSCodeの ObjectScript 用エクステンションバージョン1.0 のリリースが👏正式発表👏されましたので、さっそく利用方法を投稿してみました。
来週の技術セッションではさらに詳しい説明があると思いますので、ご登録がまだの方は、ぜひご登録ください!
(ご登録いただくとオンデマンド配信でいつでもセッションのビデオを視聴できます。機械翻訳ではありますがビデオには日本語字幕が付いています。)
この記事では、以下の操作方法をご紹介します。
- ObjectScript用エクステンションのインストール方法
- サーバへ接続する 👉《2025/8/7:更新》GUI を使って接続情報を作成できる図解を追加しています
- クラス定義を作ってみる
- ルーチンを作ってみる
- デバッグを実行してみる 👉《2024/1/17:更新》最新のObjectScriptエクステンションに合わせて内容を更新しました。
- Webサーバ使用時:デバッグの注意点 👉《2024/1/17追加》プライベートWebサーバではない通常のWebサーバを使用する場合の注意点を追加しました。
操作前の準備
VSCodeのインストール を行います。
インストール後、VSCode で作成するクラス定義(*.
開発者の皆さん、こんにちは!
VSCodeのObjectScriptエクステンションを利用してInterSystems製品に接続するときに「プライベートWebサーバ (*1)」ではなく、「Webサーバ(IISやApache)」を利用される場合、接続時に使用するREST用パスが通るようにWebサーバに仮想パスを追加する必要があります。
(*1) プライベートWebサーバとは、バージョン2023.1以前のInterSystems製品をインストールすると自動でインストールされる簡易的なApacheで、52773番ポートで管理ポータルやWebアクセスのテストにご利用いただけるWebサーバです。(本番運用環境には適さない簡易的なWebサーバです)
対象バージョン:2023.1以下のInterSystems製品
追加が必要なパス: /api
以下、IISとApacheそれぞれの設定方法をご紹介します。
IISの場合
IISを有効化した後で、InterSystems製品のインストーラーのメニューから「ウェブサーバ」(下図左)または「カスタム」から「Webサーバゲートウェイ→IIS用CSP」(下図右)で設定を行った場合、
.png)
IISにWebゲートウェイがインストールされ、デフォルトで以下のアプリケーションを追加します。
.png)
インターシステムズは、InterSystems IRIS データ・プラットフォーム、InterSystems IRIS for Health 、HealthShare Health Connect のメンテナンスバージョン 2023.1.3 をリリースしました。これらのリリースは、2023.1.x に対するバグフィックスを提供します。
詳細な変更リスト/アップグレード・チェックリストは、以下のページをご参照ください。(すべて英語版です)
・InterSystems IRIS
・InterSystems IRIS for Health
・HealthShare Health Connect
ソフトウェアの入手方法
本製品は、従来からのインストーラパッケージ形式と、コンテナイメージ形式をご用意しています。その一覧は、サポートプラットフォームページ (英語) をご覧ください。
インストーラパッケージは WRC Direct から入手できます。InterSystems IRIS、IRIS for Health は IRIS データプラットフォームダウンロードページから、HealthShare Health Connect のインストーラパッケージは HealthShare ダウンロードページから入手できます。
InterSystems IRIS Cloud SQL と InterSystems IRIS Cloud IntegratedML がリリースされました。これらサービスは、実績やエンタープライズクラスのパフォーマンスおよび信頼性を兼ね備えた InterSystems IRIS テクノロジーをもとにした、クラウド環境におけるソリューション開発のベースとなるサービスです。
InterSystems IRIS Cloud SQL は、多くのエンタープライズのお客様にご利用いただいている InterSystems IRIS のリレーショナル・データベース機能を、アプリケーション開発者やデータ専門家など幅広いみなさまにお届けする、フルマネージドのクラウドサービスです。InterSystems IRIS Cloud IntegratedML は、DBaaS (database-as-a-service) であるこの InterSystems IRIS Cloud SQL のオプション機能であり、SQL ネイティブによる自動機械学習機能への容易なアクセスを提供します。このサービスを利用して、アプリケーション・コードに簡単に組み込めるシンプルなSQLコマンドセットを通じて、データに近いところで実行されるMLモデルを実装することが可能となり、アプリケーションをより強力なものにすることが出来ます。
開発者の皆さん、こんにちは!
InterSystems FHIR とデジタルヘルスの相互運用性コンテスト のテクノロジーボーナス詳細が決定しましたのでお知らせします。
- InterSystems FHIR の使用 - 3
- InterSystems FHIR SQL Builder の使用 - 3
- デジタルヘルスの Interoperability(相互運用性) - 4
- LLM AI または LangChain の利用: Chat GPT、Bard、その他 - 3
- Embedded Python - 2
- Questionnaireの利用 - 2
- IRIS For Health Instruqt Interoperability アンケートのへの回答 - 1
- Docker コンテナの利用 - 2
- IPM Package によるデプロイ - 2
- オンラインデモ - 2
- InterSystems Community Idea の実装 - 4
- InterSystems FHIR server のBugを見つける - 2
- InterSystems Interoperability のBugを見つける - 2
- コミュニティ(USコミュニティ)に記事を投稿する(最初の記事)- 2
- コミュニティ(USコミュニティ)に2つ目の記事を投稿する - 1
- 初めて参加した方 - 3
- YouTubeにビデオを公開 - 3
詳細は以下の通りです。
[背景]
InterSystems IRIS 製品には、便利なツール ^SystemPerformance (Caché / Ensemble 時代は ^pButtons と呼ばれていました) があり、データベースのパフォーマンス情報を HTML 形式で出力してくれます。 IRIS for Windows で ^SystemPerformance を実行すると、 InterSystems 独自のパフォーマンスログ mgstat と Windows パフォーマンスログの両方を含んだ HTML が生成されます。
DeepSee で階層を設計する場合、子メンバーに 1 つの親しか指定できません。 子が 2 つの親に対応する場合には、信頼性のない結果が得られることになります。 類似する 2 つのメンバーが存在する場合、そのキーがそれぞれ一意になるように変更する必要があります。 これが起きる場合とそれを回避する方法について、2 つの例を見ながら説明します。
例 1
(アメリカには)Boston と言う都市がある州がたくさんあります。 私のサンプルデータでは、Boston, MA(マサチューセッツ州ボストン)と Boston, NY(ニューヨーク州ボストン)のレコードがあります。 次元は次のように定義されています。
私の場合、City(都市)と State(州)は単純な文字列です。 キューブにビルドすると、"MA" と "NY" の2 つの州メンバー、"Boston" と "Boston" の 2 つの都市メンバーが得られます。 Boston が 1 つではなく 2 つあるのはなぜでしょうか。 メンバーには 2 つの親メンバーを指定できないため、親ごとに異なるメンバーを作成する必要があります。 残念ながら、1 つのキーが 2 つの異なるメンバーを持っているため、この時点で「不適切な階層」状態になっています。
これを修正するには、キーを一意にしなければなりません。
最後にCSP機能の中でReactでうまく置き換えできなかった処理について紹介します。
該当する処理は、サーバー上の商品データに含まれるその商品の画像データ(GIF形式)を取得して、ブラウザにイメージとして描画させるものです。
CSPにはStreamServer.clsというサーバー側で動作する機能が用意されています。
この機能を使ってデータベース上に格納されているストリームデータをHTML IMGタグで処理できる形式に変換してくれます。
Reactで同様の機能を実現する方法が見つからなかったため(そもそもReactはサーバーサイドではなくクライアント上の技術なので)、データベース内に格納されているイメージを取得するのではなく、静的なイメージファイルをウェブサーバーが参照可能な場所に置くことで解決しました。
皆さまこんにちは。
IRIS for Healthを用いてFHIRの開発に携わっている者です。
FHIRリポジトリの導入を検討している方々に向けて、足がかり的な記事になればと思い投稿致します。
<アジェンダ>
■IISでの環境構築
■POSTMANを利用しないリソースへのデータアクセス
■Patientリソースの作成について
■FHIRリポジトリを使ってみての感想
■おまけEmbedded Pythonを使って、サンプルファイルからFHIRリソースへアクセスする方法
これは InterSystems FAQ サイトの記事です。
インストール時に選択できる初期セキュリティ設定のレベルには以下の3つがあります。
※バージョンにより、表記(日本語/英語)が違う場合があります。
- 最小 (Minimal)
- 通常 (Normal)
- ロック・ダウン (Locked Down)
各レベルの違いの詳細は以下の資料をご確認ください。
はじめに {#Webinar:ImplementingIntegrationswith.NetorJava-Introduction}
InterSystems IRIS 2020.1 には、Java または .NET で記述されたコンポーネントで IRIS 相互運用性プロダクションの開発を容易にする PEX(プロダクション拡張フレームワーク)が含まれています。
この PEX により、Java または .NET の知識を備える統合開発者は、InterSystems IRIS 相互運用性フレームワークの力、スケーラビリティ、および堅牢性を利用し、すぐに生産性を高めることができます。
IRIS 相互運用性フレームワークエキスパートに対し、PEX は既存の Java 言語または .NET 言語の外部コンポーネントとの統合を簡単にリッチ化することができます。
このチュートリアルでは、PEX を詳しく見ながら、.NET 開発者による PEX のはじめての使用を説明します。 コードは、https://github.com/es-comunidad-intersystems/webinar-PE にあります。
このチュートリアルは、https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?
IRIS側の処理は、IRISでREST APIを実装する方法を理解していれば、簡単です。
前回のログイン処理でユーザー認証をIRIS側でどのように実装されているか確認して見ましょう。
まずはディスパッチクラスの定義です。
Shop.Brokerというクラスの中で定義されています。
checkpasswordというメソッドが最後に定義されていて、最終的にShop.Rest.Customer:checkPasswordという(クラス)メソッドが呼ばれているのがわかると思います。
ここで定義しているパラメータは、とりあえずおまじない的に含めておくことをお勧めします。
(説明し出すと少し長くなるので)
Class Shop.Broker Extends %CSP.REST
{
Parameter CONVERTINPUTSTREAM = 1;
Parameter HandleCorsRequest = 1;
XData UrlMap
{
<Routes>
<Route Url="/product/:code" Method="GET" Call="Shop.Rest.Product:getRecord"/>
<Route Url="/products" Method="GET" Call="Shop.Rest.それでは、今回はより具体的にReact開発方法について解説します。
ショップデモのリポジトリの配下にreactというディレクトリがあります。
この下にReactのコードがあります。
ここのreact-setup.mdに記載されている通り、前準備としてreactのテンプレートを作ります。
npx create-react-app shopdemo --template typescriptあとはこのReactプロジェクトを動かすためのライブラリのインストールを行います。
詳細は、react-setup.mdに書いてあります。
まず3つのディレクトリがあって、これは絶対こうしなければならないというものでもないのですが、基本的なお作法として用意するのが一般的なようです。
- public
- ここにはindex.htmlだけ置くのが一般的なようです。
- テンプレートが自動生成するものでも良いのですが、Bootstrapを使用する場合は、テンプレートのindex.htmlにそのライブラリのロードを付け加えています。
- components
- ここに自分で開発するreactコンポーネントを配置します。
- hooks
- hookを用意する場合は、ここに配置します。
ここでは、まずログインをするためのユーザー認証を行うコンポーネントの処理について説明します。
Login.
CSPを使って作成したアプリケーションをReactを使用して書き換える2回目の記事です。
前回の記事で紹介したショップデモの書き換えについてもう少し詳しく説明します。
まずReactについて、インターネット上に様々な情報が提供されていますので、それらを利用しながら学習するということも可能だとは思いますが、一方で学習時間を短縮するには、やはりReactについて説明した本を一通り読む方が速いのではないかと思います。
実際Reactに関する本はたくさんあるので、その中から自分に合いそうなものを選ぶのが良いかと思います。
ちなみに参考までに私が学習に使ったものは、以下です。
- React実践の教科書
- この本はReactの基本を習得するのに非常に役立ちました。
- React開発 現場の教科書
- こちらは、少し高度な内容になっていて、単にReactの使い方を教えるというより、Reactの様なフレームワークが必要である背景とか、現在のWebアプリケーション開発に必要なデザインやアプローチに踏み込んだ内容になっています。
詳細は、本を読んでいただくとして、ここでは私の経験上のReact学習のポイントについて、いくつか列挙したいと思います。
開発者の皆さんこんにちは!
2024年最初のコンテストの内容が決定しましたのでお知らせします!📣
🏆 InterSystems FHIR とデジタルヘルスの相互運用性コンテスト 🏆
期間: 2024年1月15日~2月5日
賞金総額: $14,000
開発者の皆さん、こんにちは!
多くの方が、Open Exchange と GitHub で InterSystems ObjectScript ライブラリを公開しています。
でも、開発者がプロジェクトの使用とコラボレーションを簡単に行えるようにするにはどうしていますか?
この記事では、ファイルの標準セットをリポジトリにコピーするだけで、ObjectScript プロジェクトを簡単に起動して作業する方法をご紹介します。
では始めましょう!
Debeziumをご存じでしょうか?
グローバルサミット2023にて、Debeziumを題材としたセッション「Near Real Time Analytics with InterSystems IRIS & Debezium Change Data Capture」がありましたので、ご覧になられた方もおられるかと思います。
ご興味がありましたら、グローバルサミット2023の録画アーカイブをご覧ください。
FAQによると、"dee-BEE-zee-uhm"(ディビジウム..ですかね)と読むそうです。元素周期表のように複数のDB(s)を束ねる、というニュアンスみたいです。
CDC(Change data capture)という分野のソフトウェアです。
外部データベースでの変更を追跡して、IRISに反映したいという要望は、インターオペラビリティ機能導入の動機のひとつになっています。一般的には、定期的にSELECT文のポーリングをおこなって、変更対象となるレコード群(差分。対象が少なければ全件)を外部システムから取得する方法が、お手軽で汎用性も高いですが、タイムスタンプや更新の都度に増加するようなバージョンフィールドが元テーブルに存在しない場合、どうしても、各ポーリング間で重複や見落としがでないように、受信側で工夫する必要があります。また、この方法ではデータの削除を反映することはできませんので、代替案として削除フラグを採用するといったアプリケーションでの対応が必要になります。
CDCは、DBMSのトランザクションログをキャプチャすることで、この課題への解決策を提供しています。DebeziumはRedHatが中心となっているCDCのオープンソースプロジェクトです。
2023年より毎月開催し、ご好評をいただいております、開発者向けオンラインセミナーを、来年も開催いたします。
2024年初回は以下のテーマで1月25日に行います。是非ご参加ください!
テーマ:「IRISのデータを可視化する4つの方法」
日時:2024年1月25日(木)13:30-14:00
開催形式:オンライン
参加費:無料(事前登録制)
<概要>
本セッションでは、IRISが備えるBI・レポーティングの機能や、Embedded Pythonなどを用いてIRIS内のデータをビジュアル化する4つの方法について概要をご説明します。
<こんな方にお勧め>
・IRISのBI・レポーティング機能に興味のある方
・IRISに蓄積されたデータを活用したいと考えている方
ご多用中とは存じますが、この機会に是非ご参加くださいますよう、ご案内申し上げます。
IRIS コンテナに VSCode を追加する
繰り返し利用できる開発環境をセットアップするには、環境用のコンテナを起動するのが最も簡単な方法の 1 つです。 素早く繰り返す際には、自分の開発コンテナ内に vscode インスタンスをホストするのが非常に便利なことが分かりました。 そこで、ブラウザベースの vscode を IRIS コンテナに追加するための簡易コンテナスクリプトを作成しました。 これは、ほとんどの 2021.1+ のコンテナで動作するはずです。 私のコードリポジトリはこちらにあります。
vscode を含み事前に接続された InterSystems IRIS コンテナ
| 認証情報 | 値 |
|---|---|
| ユーザー | _SYSTEM |
| パスワード | SYS |

概要
このプロジェクトでは、ホストされた(Web ベース)バージョンの vscode を同じコンテナ内で利用できる IRIS コンテナを作成します。 これには、以下が含まれます。
- 同じコンテナコードの編集
- コンテナの IRIS インスタンスへの事前接続
- 管理ポータルからのリンク
- コンテナによる IDE の自動起動
クイックスタート
- ダウンロードするか、
git clone https://github.com/nickmitchko/Hosting-vscode-in-a-container.gitを実行します。
こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。
同じ現象に陥っていた方がいれば助言頂きたいのですが、
VsCodeでIRISにリモートで接続した際、SourceControlでUserNameが取得できていないようです。
{
"objectscript.conn": {
"host": "xxxx.xxxx.xxxx.xxxx",
"port": 52773,
"ns": "RKNK",
"username": "xxxx",
"password": "xxxx",
"active": true
},
"editor.formatOnType": true
}
→SourceControlクラスで..Usernameを取得しようとしても値が入っていない。
同じような現象になった方はいらっしゃらないでしょうか?
何か情報をお持ちの方がいらっしゃれば、フォローいただけますと幸いです。
質問:
特定のフォルダ/ディレクトリにあるファイルをワイルドカード/フィルターによってリスト表示するにはどうすればよいか。
例えば、'C:\Temp' 内にあるすべての '*.txt' をリスト表示する場合です。
回答:
CACHE :
%Library.File の FileSet クラスクエリを使用できます。
以下に、これを使用したサンプルコードを示します(添付されています)。
run(pDir,pFileSpec)
Set tRS=##class(%ResultSet).%New("%Library.File:FileSet")
Set tSC=tRS.Execute(pDir,pFileSpec)
Write "Name",?30,"Date Modified",?53,"Type",!
Write "--------------------------------------------------------------------------",!
While tRS.Next() {
Write tRS.Get("Name"),?30,tRS.Get("DateModified"),?53,tRS.Get("Type"),!
}
以下は、これを実行した例です。
開発者の皆さん、こんにちは!
InterSystems Java プログラミングコンテスト 2023 の勝者が決定しました!
今回もコンテストにご参加・ご注目いただきありがとうございました!今回は 13 のアプリケーション の応募がありました🔥
(1).jpg)
CSPは非推奨機能となり、今後の新規アプリケーションの開発には使用しないことが推奨されています。
代わりに昨今のウェブアプリケーション開発に広く利用されているモダンなフレームワークの使用が推奨されています。
Webアプリケーション開発用のJava scriptフレームワークはたくさんあり、そのどれを選択するかは開発者の好みの問題です。
その中で比較的人気の高いReactを使って、CSPアプリケーションを書き換えた例について紹介します。
ちなみにCSPは機能的には2つの側面があり、今回非推奨となったのは、HTMLをサーバー側で生成するための拡張機能を使ったプログラミングに関連する部分です(.cspファイルを使用したHTMLとサーバーサイドプログラミング、Javascriptプログラミングによる開発)。
HTTP通信のインフラの部分(リクエストオブジェクトやセッション管理など)は引き続きIRISの根幹を支える機能として残ります。
実際、現在のIRISのREST関連機能は、このインフラ上で実装されています。
さて、CSPで記述されたアプリケーションをJavascriptフレームワークを使ったアプリケーションに簡単にコンバートできたらいいなと思われるでしょうが、残念ながらそんなうれしい方法はありません。
こんにちは、皆さま。
IRIS for Healthを業務に利用すべく試用中です。
Interoperabilityで取り扱えるデータ型のリストがないか探していたのですが、管理ポータルのInteroperabilityの項目には記載が無いように見受けられました。
準備されているアダプタのリストが確認できる場所はありますでしょうか。
恐縮ですが教えていただければと思います。
このたび、 InterSystems IRIS® data platform、InterSystems IRIS® for Health™ および HealthShare® Health Connect のアップグレードに役立つ新しいドキュメントをご紹介します。ドキュメント 「影響度の高いアップグレード・チェックリスト」 https://docs.intersystems.com/upgrade で、任意のバージョン間でのアップグレードにおいて考慮すべき修正リスト(しかも考慮すべき修正だけ)を見ることができます。これは、ドキュメント 「非互換性リスト」 に、便利なフィルター、上位カテゴリ情報 および CSVファイルへの出力機能を追加したもので、お客さまのアップグレード作業における正確なチェックリストとしてお使いいただけます。
ご好評をいただいておりますインターシステムズジャパン開発者向けウェビナーも10回目を迎えます。今年最後のウェビナーは以下の日時・内容で開催いたします。
タイトル:「まずはコンテナを動かしてみよう!~コンテナ版IRISで新機能を試す方法のご紹介~」
日時:2023年12月19日 (火曜日) 13:30 ~14:00 (参加費無料・事前登録制)
<概要>
コンテナのいいところは、手元の環境にない内容を試す際ローカルの環境を汚さずに環境を開始でき使用後は跡形もなく消去できるところで、ちょっと何かを試したい時にぴったりの環境だと思っています。
このウェビナーでは、コンテナに興味がおありで、まだ使用されていない方やコンテナ版IRISをまだ試されていない方々を対象に、細かいことは一旦置いておいて、まずは動かすため必要なことは何か、実際の手順はどのようなものであるかを実演を交え解説いたします。
※ウェビナーでは将来リリース予定の新機能「Foreign Table(外部テーブル)」が使えるバージョンを利用し、CSVファイルをIRISにロードしない状態でSELECT文が実行できるところを実演いたします。
<こんな方にお勧め>
- コンテナの利用に興味がある方
- まずはコンテナを動かしてみたいと思っている方
ご多用中とは存じますが、是非ご参加くださいますよう、ご案内申し上げます。


