記事 Megumi Kakechi · 7月 19, 2021 3m read

これは InterSystems FAQ サイトの記事です。

<STORE> エラーは サーバ上のプロセスが使用しているプロセス個別メモリ容量が上限に達した場合に発生します。
このメモリはオブジェクトを開いたり、ローカル変数を使用することで消費されるものとなります。
このエラーは サーバ上のプロセスでメモリを大量に使用した場合に発生します。
Caché バージョン2012.2以降、プロセス個別のメモリ容量の最大値が大幅に拡張されました(約2TB)。

この変更により、ローカル変数の使用領域を大幅に増やすことができるようになったため 特別な状況が発生しない限り(プログラムのバグにより大量のローカル変数を作成し続ける等) エラーを回避できるようになりました。

但し、このためのメモリ領域は、プログラムが動作するハードウェアが提供する資源の一つですので物理的な制限は当然あります。
システム全体の資源管理を念頭に置き慎重な使用をお勧めします。

設定値詳細については以下ドキュメントをご参照ください。

プロセスあたりの最大メモリ(KB)の設定値について
インターシステムズ製品のプロセス・メモリについて

0
0 775
記事 Toshihiko Minamoto · 7月 15, 2021 16m read

InterSystems および Intel は先日、InterSystems IRIS を「Cascade Late」としても知られる第 2 世代 Intel® Xeon® スケーラブルプロセッサおよび Intel® Optane™ DC パーシステントメモリ(DCPMM)と組み合わせて一連のベンチマークを実施しました。 さまざまなワークロード設定とサーバー構成で、Intel の最新のサーバーテクノロジーを使用した InterSystems IRIS のパフォーマンスとスケーラビリティ機能を実証するのがこのベンチマークの目的です。 このレポートには、さまざまなベンチマークの結果とともに、Intel DCPMM と InterSystems IRIS のユースケースが 3 つ示されています。

0
0 197
記事 Mihoko Iijima · 7月 15, 2021 5m read

これは InterSystems FAQ サイトの記事です。

InterSystems 製品は複数の SQL 文を一度に受け付けませんので、SQL 文での複数結果セットのサポートはありませんが、ストアドプロシージャを作成して複数の結果セットを返すことができます。

以下、ストアドプロシージャの中では、 %SQL.Statement クラスを利用して SQL を実行し、結果セットを作成し、結果セットを呼び出し元に返すため、ストアドプロシージャ実行時に自動生成されるプロシージャ・コンテキスト(=%sqlcontext 変数に格納)の中に、結果セットを登録しています。

結果セットの登録は、%Library.ProcedureContext クラスの AddResultSet() メソッドを使用します。

メモ:ストアドプロシージャ実行時に自動生成されるプロシージャ・コンテキストは %Library.ProcedureContext のインスタンスで %sqlcontext 変数に自動的に設定されます。

0
0 785
記事 Makiko Kokubun · 7月 14, 2021 1m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。
 

本動画では、コンテナを開発・デモ環境で使用されている方を対象に、プロダクション環境をコンテナで運用することを目的として Kubernetes の基本及び IRIS data platform の運用を支える仕組みをデモを交えながらご紹介します。

この他にも、開発者コミュニティでは、コンテナやKubernetesに関連する技術情報を公開しています。
こちらも合わせてご覧ください。

0
0 130
記事 Mihoko Iijima · 7月 13, 2021 1m read

これは InterSystems FAQ サイトの記事です。

管理ポータル接続時に指定しているWeb サーバポートが正しい番号を指定しているかご確認ください。

Windows にクライアントツールのインストールを行っている場合は、ランチャーに登録している接続サーバの設定に問題がある場合が考えられます。

ランチャー > 優先接続サーバ > 追加/編集 で、接続先の Webサーバポートが正しく設定されているかご確認ください。

 

Web サーバポートが不明な場合は、インストールディレクトリにある構成ファイル(cache.cpf または iris.cpf)をテキストエディタで開き、“WebServerPort” の項目で確認できます。

例)

【IRIS2018.1~】

WebServerPort=52773

【Caché2009.x~】

WebServerPort=57772

【Caché5.1~2008.x】

WebServer=ON,57772

0
0 539
記事 Toshihiko Minamoto · 7月 12, 2021 3m read

現在では、基本的な REST API を Caché に実装する方法は一般的であり、これに関する優れたドキュメントが「REST in Caché」に掲載されています。

時々次のような疑問が投げ掛けられることがあります。

REST url のパラメータをオプションにするにはどうすればよいですか?

簡単に言えば、Caché では次のような URL をマッピングする URL マップを作成することができます。

http://server/API/object///old

この書き方は奇妙に見えるかもしれませんが、実際に有効な URL です。 詳細は、RFC3986 セクション 3.3 をご覧ください。

%CSP.Rest が提供しているフレームワークでは、実際に上記の URL に一致するマップを作成することができます。 上記の参照先のドキュメントには、URL マップは正規表現に変換されているという説明のみが補足として示されています。

この力を利用するには、正規表現を理解する必要があります。 Caché のコンテキストで正規表現の基礎を説明したドキュメントを Michael が執筆しています。こちらをご覧ください。 正規表現に慣れていない場合は、時間を取って一読することを強くお勧めします。

0
0 484
記事 Megumi Kakechi · 7月 12, 2021 1m read

これは InterSystems FAQ サイトの記事です。

%SQL.Util.Procedures クラスの CSVTOCLASS() メソッドを使ってCSVファイルからデータをロードすることができます。

サンプルコードに合わせて使用方法を解説します。

以下のコードでは、c:\temp\test.csv の内容を変数 rowtype で指定した列の形式で csv.test というクラスにデータをインポートしています。

クラス csv.test が存在しなければ、実行時にそのクラスも自動的に生成されます。

クラスが存在する場合は、定義済プロパティに合わせて変数 rowtype に列の形式を指定する必要があります。

 Set rowtype="Name VARCHAR(50),UID VARCHAR(50), PHONE VARCHAR(50)"
 Set filename="c:\temp\test.csv"
 Set classname = "csv.test"
 Do ##class(%SQL.Util.Procedures).CSVTOCLASS(,rowtype,filename,,,1,classname) 

 

以下の関連トピックもあわせてご参照ください。

プログラムでCSVファイルをテーブルにインポート/テーブルからCSVファイルにエクスポートする方法

0
0 559
記事 Toshihiko Minamoto · 7月 8, 2021 6m read

目的

このツールは、データベース内からランダム読み出し入力/出力(IO)を生成するために使用されます。 このツールの目的は、目標IOPSを達成し、許容範囲内のディスク応答時間の維持を確保するために、可能な限り多くのジョブを駆動することです。 IOテストから収集された結果は、IOサブシステムに基づいて構成ごとに異なります。 これらのテストを実行する前に、対応するオペレーティングシステムとストレージレベルの監視が、今後の分析のためにIOパフォーマンスの測定データーを保存するように設定されていることを確認してください。

0
0 177
お知らせ Shintaro Kaminaka · 7月 8, 2021

開発者の皆さん、こんにちは!

HL7v2メッセージをFHIR(Fast Healthcare Interoperability Resources)に変換するニーズがあり、その変換プロセスが複雑で分かりにくいと感じたことはありませんか?インターシステムズは、HL7v2メッセージをFHIR(Fast Healthcare Interoperability Resources)に変換するプロセスを簡単にする、HealthShareメッセージ変換サービス(HealthShare Message Transformation Services)と呼ばれる新しいクラウドベースのSaaSサービスを展開しています。 この新しいサービスの早期アクセス・プレビュー・プログラムを発表できることを嬉しく思います。 必要なのは、無料のAWSアカウントと、HL7v2メッセージをドロップするためのS3バケット、そしてFHIR出力を得るための別のS3バケットだけです。

この機能の簡単なデモをご覧ください。

<iframe allow="encrypted-media" allowfullscreen="" frameborder="0" gesture="media" height="315" scrolling="no" src="https://www.youtube.com/embed/Js0SDUZbXv8" width="560"></iframe>

0
0 487
お知らせ Mihoko Iijima · 7月 7, 2021

開発者の皆さん、こんにちは!

第 13 回 InterSystems IRIS プログラミングコンテスト(AI編)のテクノロジーボーナス🍆が発表されました!

ボーナスポイントを獲得して 💰賞金💰 をゲットしてください!

IntegratedML の利用 - 4 ポイント

AI/ML ソリューションに InterSystems IntegratedML を利用すると4ポイント獲得できます。

ご利用いただくときは、IRISのバージョンが2021.1以上であることをご確認ください。ZPMパッケージマネージャを含めた最新のMLイメージは以下イメージ名です。

intersystemsdc/iris-ml-community:2021.1.0.215.0-zpm
intersystemsdc/irishealth-ml-community:2021.1.0.215.0-zpm

 

R Gateway and Python gateway の利用 - 4 ポイント

InterSystems IRIS 2021リリースには、R ゲートウェイと Python ゲートウェイの 2 つの新機能が含まれています。

Rゲートウェイの使用方法に関するテンプレートを公開しています。使い方の簡単なデモはこちらのビデオをご覧ください。

Embedded Python の利用 - 4 ポイント

0
0 93
記事 Makiko Kokubun · 7月 6, 2021 1m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。
 

稼働後のシステムで、お客様から「パフォーマンスが思ったように出ない」と問い合わせを受けることが良くあります。漠然とした「遅い」状況をどのように解決すればいいのでしょう?

パフォーマンスに困ったときにどこに着目し、どのツールで調べていくか、お客様から日々ご相談をいただくカスタマーサポートから、解決に向かうアプローチの「イロハ」をご紹介します。

この他にも、開発者コミュニティでは、パフォーマンスに役立つ技術情報を公開しています。
こちらも合わせてご覧ください。

0
0 133
記事 Mihoko Iijima · 7月 5, 2021 1m read

これは InterSystems FAQ サイトの記事です。

バージョン5.1以降、データベース単位に暗号化する仕組みが用意されています。

InterSystems data platform のデータベース暗号化は物理ブロックレベルの暗号化ですので、暗号化のオーバヘッドが非常に少なく、性能への影響が極小化されており、暗号化されている項目のインデックス化に制限等がありません。

関連記事もご参照ください。

データベースの暗号化手順について

0
0 107
記事 Mihoko Iijima · 7月 5, 2021 1m read

これは InterSystems FAQ サイトの記事です。

%Persistent クラスに既定で生成される Extent クエリは、ID 順に結果セットを出力することを意図していませんので、これは、仕様通りの動きとなります。

並び順は、設定されているインデックスにより、変わることがあります。

0
0 117
お知らせ Makiko Kokubun · 7月 5, 2021

開発者の皆さん、こんにちは!

インターシステムズでは、7/30(金)に、InterSystems IRIS for Healthを使った FHIR のハンズオンセミナーをオンラインで開催致します。

FHIR R4リソースリポジトリを構築する上で知っておきたい、FHIR リソースのRESTを使った操作を体験し、サンプルアプリケーションを通してFHIRアプリケーション構築方法を学習します。

FHIR ハンズオンセミナー 概要

  • 日時:2021年7月30日(金)16:00~18:00(2時間)
  • 参加費:4,000円(Webからの事前登録制)
  • 開催形式:オンライン(Teams会議+演習環境用システムを利用)
  • 定員:10名

詳細・事前登録はこちらから  
満席となりましたため、受付を締め切らせて頂きました。
キャンセルが出ましたら、受付を再開致します。

 

ハンズオンを通して以下の内容をご理解・ご体験いただけます。

  • IRIS for Health でFHIR R4リソースリポジトリを作成する方法
  • FHIRリソース同士のリファレンスの意味
  • FHIRリソースの検索方法
  • サンプルWebアプリケーションから作成したR4リポジトリへアクセスする方法
  • CSV→FHIR変換処理の操作体験
  • SS-MIX2→FHIR変換処理の操作体験

ぜひご受講ご検討ください!

0
0 208
記事 Toshihiko Minamoto · 7月 1, 2021 5m read

クラスのコンパイル時に、定義済みのプロパティ、クエリ、またはインデックスごとに対応する複数のメソッドが自動的に生成されます。 これらのメソッドは非常に便利です。 この記事では、その一部について説明します。

0
0 176
記事 Toshihiko Minamoto · 7月 1, 2021 3m read

開発者の皆さん

こんにちは。

ここでは、開発者コミュニティを最大限活用し、専門家からできる限り多くのことを学ぶ方法についてお伝えしたいと思います。

開発者コミュニティの上級ユーザになるためのこれらのステップをご確認ください。

0
0 88
記事 Makiko Kokubun · 6月 30, 2021 1m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。
 

VSCodeのObjectScript用エクステンションバージョン1.0がリリースされ、GitやDockerなどの標準技術とIRISを手軽に組み合わせて利用できるようになりました。 開発者コミュニティでは、IRISをもっと簡単に操作いただけるようコンテナ版IRISを利用した開発環境テンプレ―トやObjectScriptパッケージマネージャを公開しています。

この動画では「VSCodeからIRISに接続する方法」「開発環境テンプレートの使い方」「パッケージマネージャの使い方」をご紹介します。

この動画の講演資料(PDF)もご用意しました。
動画の中でご紹介している技術資料へのURLは、こちらの資料をご活用ください。

0
0 192
記事 Megumi Kakechi · 6月 30, 2021 2m read

これは InterSystems FAQ サイトの記事です。

2012.1以降管理ポータルの使用もライセンスを消費する様にシステムを変更しました。

これはインターシステムズが定める製品のライセンスポリシーとシステムの動作をできるだけ合わせる一連の措置の1つとして行われました。

この変更に伴いライセンス使用に関わる思わぬトラブルが発生する可能性がありますので注意が必要です。

特にライセンスの解放が管理ポータルページの操作法によって異なるため、その違いを十分認識して対処する必要があります。
 

管理ポータルのライセンスの解放はページの切断の仕方により以下の様に変わります。

a) ポータルを開き何らかの操作を行った後にログアウトを行うとライセンスは即時解放されます。

b) ポータルのページを開いた後、他に何も操作せずにログアウトを行うと一定の待ち時間の後にライセンスの解放が行われます。

この待ち時間はライセンスの意図的な規約違反を防ぐための措置であるため、設定等で変更できないようになっています。

c) ポータルを開き、ブラウザのXボタンやAlt+F4等のショートカットでページを強制的に閉じた場合は、デフォルトでは8時間後にライセンスの解放が行われます。
 

ライセンスの解放の時間は以下の操作で変更することができます。

0
0 401
記事 Tomoko Furuzono · 6月 29, 2021 1m read

これは、InterSystems FAQサイトの記事です。
 

InterSystems IRIS の Community Edition をご利用いただけます。

Community Edition を利用する方法は、以下の4つからご選択いただけます。

  1. インターシステムズ開発者コミュニティ(https://jp.community.intersystems.com/)からダウンロード(Linux版/Windows版)し、インストールする
  2. コンテナ版 IRIS(Docker がインストールされている環境があればすぐに利用を開始できます)
  3. クラウド(AWS/Azure/GCP)のマーケットプレイスを利用する(コンテナ版 IRIS が動作します。クラウド使用料はお客様負担です。)
  4. InterSystems Sandbox(3 日間限定の専用 IDE 付き無料体験環境)を利用する

1~3 の利用方法詳細は、こちらの記事のビデオでご紹介しています。ぜひご参照ください。

4 の使い方はこちらの記事をご参照ください。

この他、オンラインラーニング(英語) が提供する InterSystems Learning Labs(7日間限定のオンラインラーニング用) もあります(使用感は InterSystems Sandbox と同一です)。

0
0 635
記事 Tomoko Furuzono · 6月 29, 2021 2m read

これは、InterSystems FAQサイトの記事です。
以下の7つの技術を用いて、VB.NETからInterSystems IRISへ接続し使用することができます。

(A) InterSystems IRIS ADO.NET Managed Provider を利用する
InterSystems ADO.NET Managed Provider では、ADO.NET 準拠データベースとして InterSystems IRIS にアクセスでき、データへの簡単なリレーショナル・アクセスを提供します。特に ADO.NET を以前に使用したことのあるユーザにお勧めです。
詳細は、以下ドキュメントをご参照ください。
InterSystems IRIS ADO.NET Mnaged Providerについて

0
0 769
記事 Tomoko Furuzono · 6月 29, 2021 3m read

これは、InterSystems FAQサイトの記事です。
 

IRISのターミナルスクリプトを使用することで、コマンドラインからの入力作業なしで IRIS のユーティリティを実行することが可能になります。

また、IRISのルーチンやクラスを、Windows のバッチファイルで実行する場合(irisコマンドで実行)は、「認証なし」もしくは「オペレーティングシステム認証」を指定していただく必要がありますが、パスワード認証のみしか使用できないような場合に、ターミナルスクリプトを使用する方法が使えます。 手順は、以下のようになります。

--------------------------------------------------------------------------------------------
iristerm.exeを使用します。
これはプロンプトが返ってきてユーザが入力を必要とするもの(例えば^%GSIZEなど)にも有効です。
詳細は以下をご覧ください。import.scrの中身を変更することであらゆるIRISのユーティリティの実行に使用できます。

1. トピック下部にあるサンプル import.scr を、適当なディレクトリに配置して下さい。
(ここではC:\import.scr とします)

2. 以下のように実行します。 

0
0 803
記事 Toshihiko Minamoto · 6月 29, 2021 5m read

RESTフレームワークの有用な機能の1つに、ディスパッチクラスがリクエストのプレフィックスを識別して別のディスパッチクラスに転送するという機能があります。 URLマップをモジュール化するこの手法により、コードの可読性が向上し、インターフェースの個別のバージョンが管理しやすくなります。また、特定のユーザーのみがアクセスできるように、API呼び出しを保護する手段も得ることができます。

概要

CachéインスタンスにRESTサービスをセットアップするには、専用のSCPアプリケーションを定義して、それに関連付けられた、受信リクエストを処理するディスパッチクラスを作成する必要があります。 ディスパッチクラスは、%CSP.RESTを拡張し、URLマップを含むXDataブロックを含めます。 こうすることで、システムに、特定のリクエストを受信したときにどのメソッドを呼び出すのかを指示します。

以下に、例を示します。

0
0 423
記事 Mihoko Iijima · 6月 28, 2021 2m read

これは InterSystems FAQ サイトの記事です。

クラス定義の Property 定義文の名称を直接変更した場合、内部的には 元のプロパティを削除し、新しいプロパティを追加 したことになります。

このため、すでにデータを格納している永続クラスのプロパティ名をエディタで直接変更した場合、元のプロパティで設定されていた値にはアクセスができなくなります(新しいデータの格納位置が割り当てられます)。  

また、変更したプロパティが必須(非ヌル)に指定されていた場合、データが存在しないために参照時にエラーが発生します。

以下の図は、左画面が変更前の状態、右画面がプロパティ名を変更してコンパイルを行った状態です。

基本的に、このような操作を行う場合は、あらかじめデータをエクスポートし、データの削除を行い、クラス定義の変更を行ってから、データを再インポートする方法が安全です。

または、スタジオのメニューの クラス > リファクタ > 名前変更 を利用してプロパティ名を変更します。
(リファクタの名前変更メニューにより、クラス定義内のストレージやメソッド定義に対して、一括でプロパティ名を変更できます。)

変更対象のクラス定義を開き、修正したいプロパティ名を選択し、スタジオのメニューの クラス > リファクタ > 名前変更 を選択します。

0
0 389
記事 Mihoko Iijima · 6月 23, 2021 40m read

開発者のみなさん、こんにちは!

2023/2/21追記

チュートリアルページが新しくなり「Developer Hub」に変わりました!

Interoperability(相互運用性)チュートリアルについても新しくなりました。詳しくは「InterSystems Developer Hub:クリック1回で開始できるチュートリアル(4種)のご紹介」をご参照ください。

この記事では、GettingStarted ページの無料体験環境(Sandbox)で試せるチュートリアルの中から、「Connect Your Systems」(Interoperabilityのチュートリアル)の使い方をご紹介します。

GettingStarted ページでできることについては、こちらの記事でご紹介しています。

無料体験環境(Sandbox)の開始手続きについては、こちらの記事でご紹介しています。ぜひご参照ください。

 Connect Your Systems では、IRIS の Interoperability メニューを利用してどのように異なるシステム同士を接続し、処理を連携させることができるのか、ビデオによる解説とチュートリアルをご用意しています。

(1) Interoperability 概要 :   ビデオ(日本語字幕切り替え可)と概要説明

0
0 407
記事 Toshihiko Minamoto · 6月 23, 2021 10m read

この記事では、InterSystems Cachéにおけるマクロについて説明します。 マクロは、コンパイル中に一連の命令に置き換えられるシンボリック名です。 マクロは、渡されたパラメーターとアクティブ化したシナリオに応じて、呼び出されるたびに一連の命令セットに「展開」されます。 これは、静的コードの場合もあれば、ObjectScriptを実行して得られる結果である場合もあります。 それでは、アプリケーションでマクロをどのように使用できるのかを見てみましょう。

0
0 322
お知らせ Toshihiko Minamoto · 6月 22, 2021

開発者コミュニティの皆さん、こんにちは。

Discordについてはご存知の方も多いと思いますし、実際にチャットされている方も多いと思います。
開発者のソーシャルクラブに参加いただき、ぜひインターシステムズの技術をより身近なものにしてください!

💥 InterSystems Developers Discord Channel 💥

超高速なコミュニケーション手段としてご利用ください。

0
0 131
記事 Makiko Kokubun · 6月 22, 2021 1m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。
 

昨年、SAM(System Alerting and Monitoring)をリリースしました。
これはInterSystems IRISシステムを監視するためのツールで、InterSystems IRISをお使いの方でしたら、どなたでも利用できます。

Dockerやdocker-composeを使用し、Prometheus、Grafanaといったオープンソースの監視用ツールを組み合わせて簡単にインストールや設定ができるようにしています。  

この動画では、デモを交えながら、SAMによるシステム監視や監視項目のカスタマイズ方法について説明します。

0
0 116
記事 Mihoko Iijima · 6月 22, 2021 1m read

これは InterSystems FAQ サイトの記事です。

同一システムに InterSystems 製品を複数インストールした場合、ドライバマネージャに登録される InterSystems 用の ODBCドライバは、インストールされた製品の中で最新バージョンのドライバが登録されたままとなります。

以下のレジストリエントリを変更することで、任意のドライバへ変更できます。

 なお、RegFiles.bat 実行では ODBCドライバは切り替わらないのでご注意ください。

レジストリエントリは、以下の通りです。

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\InterSystems ODBC キーの Driver 値
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\InterSystems ODBC キーの Setup 値

上記エントリには、現在使用中のドライバへのパスが記録されています。

これらを、切り替える対象となるドライバが存在するパスに変更してください。

0
0 908