記事 Mihoko Iijima · 4月 8, 2022 4m read

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

システムユーティリティクラス:SYS.Database のクエリ:FreeSpace を利用してディスクの空き容量を任意のタイミングで確認することができます。

IRIS ターミナルで試す方法は以下の通りです(%SYSネームスペースに移動してから実行します)。

zn "%SYS"
set stmt=##class(%SQL.Statement).%New()
set st=stmt.%PrepareClassQuery("SYS.Database","FreeSpace")
set rset=stmt.%Execute()
//全件一括表示
do rset.%Display()

出力結果例は以下の通りです。

※コマンド実行例では、全データベースが同じディスクに置かれているので、ディスクの空き容量(DiskFreeSpace)はすべて同じ値が返っています。

0
0 245
記事 Toshihiko Minamoto · 4月 7, 2022 4m read

皆さん、こんにちは!

@Henrique.GonçalvesDias と私は、MessageViewer の最近のアップデートにおいて、IRIS Interoperability でメッセージを可視化する新しい方法を提案しました。 そのアップデートでは、UML シーケンス図に基づく可視化を提供しようとしました。 詳細は、の記事をご覧ください。

このようなダイアグラムを描画するために必要な困難な幾何学計算を行えるように、素晴らしい mermaid JS オープンソースライブラリを使用しました。 この記事で紹介したいのは、このライブラリの使用方法です。 ここでは、シーケンス図のみに焦点を当てますが、このライブラリでは非常にたくさんのことを行えることを忘れないでください。

mermaid では Markdown に着想を得た構文を使用して、ダイアグラムを定義します。 非常に直感的であるため、退屈な文章を長々と書くのではなく、例を紹介したいと思います。

sequenceDiagram
Alice->>John: Hello John, how are you?loopHealthcheck    John->>John: Fight against hypochondriaendNoterightofJohn: Rational thoughts!
0
0 1147
お知らせ Mihoko Iijima · 4月 6, 2022

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

2021年10月に4回シリーズで開催した「InterSystems IRIS 開発者向けウェビナー」第4回目の「FHIR新機能」のアーカイブをYouTubeに公開いたしました。

FHIRに関する開発を行う際、FHIRの規格がどのような内容を決めてくれているのかについて、開発者の視点でご説明します。
また、InterSystems IRIS for Health のバージョン2020.1から2021.1の間で追加されたFHIR新機能についてご紹介します。

ぜひご覧ください!

(IRIS 2021.1新機能全体のご紹介については、こちらのYouTubeをご参照ください。)

【目次】

0:00 開発者からみたFHIRについて

03:29 大手ITによるFHIR規格の取り組みについて

07:27 FHIR新機能

11:35 デモ

0
0 89
記事 Toshihiko Minamoto · 4月 5, 2022 6m read

freepik- freepik.com まずは、データの匿名化とは何でしょうか?

ウィキペディアによると:

データの匿名化は、情報サニタイゼーションの一種で、プライバシー保護を意図しています。 データセットから個人を特定可能な情報を取り除き、データが説明するユーザーが匿名性を維持できるようにするプロセスです。

言い換えると、データの匿名化は、データを保持しながらソースを匿名に維持するプロセスと言えます。 採用された匿名化手法に応じて、データは編集、マスク、または置換されます。

そして、これが iris-Disguise の目的です。一連の匿名化ツールを提供します。

メソッドの実行、または永続クラスの定義自体で匿名化ストラテジーを指定する、2 つの方法で使用することができます。

iris-Disguise の最新のバージョンには、データを匿名化するためのストラテジーが 6 つ用意されています。

  • 破壊
  • スクランブル
  • シャッフル
  • 部分マスキング
  • ランダム化
  • 偽装

それぞれのストラテジーを説明しましょう。例を使用してメソッドの実行を示し、前述のように、永続クラスの定義内に提供する方法も示します。 この方法で iris-Disguise を使用するには、「変装メガネをかける」必要があります。 永続クラスでは、dc.Disguise.Glasses クラスを拡張し、指定したストラテジーでそのデータ型を持つプロパティを変更できます。

0
1 181
お知らせ Mihoko Iijima · 4月 4, 2022

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

2021年10月に4回シリーズで開催した「InterSystems IRIS 開発者向けウェビナー」第3回目の「SQLから始める機械学習 ~IntegratedMLのご紹介~」のアーカイブをYouTubeに公開いたしました。

InterSystemsは、アプリケーション開発者の方々が、IRIS data platformに保存されているデータとSQLを用いて、機械学習を容易に利用できる仕組み「IntegratedML」を開発しました。
このビデオでは、IntegratedMLの概要についてご紹介いたします。

ぜひご覧ください!

(IRIS 2021.1新機能全体のご紹介については、こちらのYouTubeをご参照ください。)

【目次】

0:00 機械学習の概要と課題、AutoMLについて

8:30 IntegratedMLについて

13:20 IntegratedMLの文法

18:32 デモ

26:50 まとめ

0
0 97
お知らせ Mihoko Iijima · 4月 3, 2022

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

2021年10月に4回シリーズで開催した「InterSystems IRIS 開発者向けウェビナー」第2回目の「Python Gateway のご紹介」のアーカイブをYouTubeに公開いたしました。

InterSystems IRIS / IRIS for Health バージョン2021.1より、External Language Gateway に Python のサポートが追加されました。また、External Language Gateway の機能強化により外部ストアドプロシージャが利用できるようになり、Java、.Net、Python のコードを SQL から直接実行できるようになりました。

ウェビナーでは、Python からの利用法のついて、デモを交えながらご紹介しています。

ぜひご覧ください!

(IRIS 2021.1新機能全体のご紹介については、こちらのYouTubeをご参照ください。)

【目次】

0:00 ご紹介内容の説明

2:26 PythonからIRISにアクセスする方法

5:07 キーバリュー形式でIRISにアクセスできる「Native API」とは

12:04 Python Gatewayのご紹介

16:21 Python Gateway 使用例

22:12 デモ

30:15 まとめ

0
0 133
記事 Toshihiko Minamoto · 4月 1, 2022 7m read

Benjamin De Boe がユニバーサルキャッシュクエリに関する素晴らしい記事を書いていますが、ユニバーサルキャッシュクエリ(UCQ)とは一体何でしょうか。また、昔ながらの埋め込み SQL を書いている場合になぜそれを気にする必要があるのでしょうか。  Caché と Ensemble において、キャッシュクエリは xDBC と動的 SQL を解決するために生成されるでしょうが、  InterSystems IRIS の埋め込み SQL は、キャッシュクエリを使用するように改善されました。そこで、名前に「ユニバーサル」が追加されているのです。  現在では、IRIS で実行されるすべての SQL は、UCQ クラスから実行されるようになっています。

InterSystems はなぜこのように変更したのでしょうか?  良い質問です!  ここでの大きなメリットは、ライブ環境での柔軟性にあります。  以前は、インデックスを追加したり、TuneTable を実行したりすると、キャッシュクエリの SQL はこの新しい情報をすぐに利用していたにもかかわらず、埋め込み SQL はクラスまたはルーチンが手動でコンパイルされるまで変更されないままになっていました。

0
0 419
お知らせ Mihoko Iijima · 3月 31, 2022

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

2021年10月に4回シリーズで開催した「InterSystems IRIS 開発者向けウェビナー」第1回目の「InterSystems Adaptive Analytics のご紹介」のアーカイブをYouTubeに公開いたしました。

「InterSystems Adaptive Analytics」とは、どのような機能であるのか、メリットや差別化要因は何であるか、実際の操作性はどのような感じであるかをデモを交えながらご紹介しています。

ぜひご覧ください!

(IRIS 2021.1新機能全体のご紹介については、こちらのYouTubeをご参照ください。)

【目次】

00:00 InterSystems IRIS BIのアーキテクチャ(以前よりご提供している組み込み型のBI機能についての復習)

01:34 Adaptive Analytics とは

02:21 BI環境の成長過程について

05:34 Adaptive Analyticsが目指す姿

06:10 (改めて)Adaptive Analytics とは

11:10 デモ

28:40 まとめ

0
0 117
記事 Megumi Kakechi · 3月 31, 2022 1m read

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


Windowsでは、変更することはできませんが、Unix系プラットフォームでは、iris rename コマンドを使用することで変更できます。

iris rename instname(現インスタンス名) newname(新インスタンス名)


iris rename コマンドの詳細は、以下ドキュメントをご参照ください
iris コマンドについて
 

0
0 255
お知らせ Toshihiko Minamoto · 3月 31, 2022

2022年2月のコミュニティリリースへようこそ!

開発者コミュニティでは、以下の点が改良されています。

  • 新たなコミュニティ検索
  • コミュニティ全般の統計
  • Facebookプロフィールとの連携 
  • 投稿ページの変更:タグ、著者ブロック、下書きの強調表示

以下、詳しく見ていきましょう。 

0
0 74
記事 Mihoko Iijima · 3月 29, 2022 3m read

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

メール送付のコードを記述する前に、管理ポータルで SSL/TLS 構成を作成します。

管理ポータル > システム管理 > セキュリティ > SSL/TLS 構成

メール送付までの流れは以下の通りです。

  1. メールメッセージ用クラス:%Net.MailMessage のインスタンスを作成し、送信元メールアドレス、宛先メールアドレス、件名、本文を設定します。
  2. 認証情報設定用クラス:%Net.Authenticator のインスタンスを作成し、メール送付時に使用する認証情報を設定します。
  3. SMTP用クラス:%Net.SMTP のインスタンスを作成し、SMTP サーバの設定、管理ポータルで作成した SSL/TLS 構成名の指定、2で作成した認証情報と 1で作成したメールメッセージを使用して、メールを送信します。

ターミナルからの実行例は以下の通りです(Gmail を利用しています)。

《メモ》
現在(2022年5月30日以降)、Gmailを利用したメール送付を行う場合 OAuth2.0 の利用が必須となりました。Gmailを利用する場合の手順ついては、「OAuth 2.0 を利用して IRIS から Gmail を送信する」をご参照ください。

0
0 566
記事 Mihoko Iijima · 3月 29, 2022 11m read

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

データベースの空き容量は、システムモニタを使用して監視することができます。

システムモニタは、システム開始時に自動開始され、予め設定された閾値に対してアラートが通知されます。

システムの閾値については以下ドキュメントをご参照ください。
システム・モニタのステータスおよびリソース・メトリック【IRIS】
システム・モニタのステータスおよびリソース・メトリック

データベースの空き容量については、システムデフォルトでは 50 MBを下回る場合にアラートが通知され、メッセージログ(コンソールログ)にアラート(深刻度 2)として記録され、alerts.log ファイルにも出力されます。

データベースの空き容量を任意サイズで監視したい場合、システムモニタに含まれる「アプリケーションモニタ」を利用して設定します。
注意:アプリケーションモニタでは、アラート対象となる情報があってもメッセージログ(コンソールログ)に出力しないため、メール通知/メソッド実行 を使用して通知するように設定します。

例えば、空き容量が 100MB を下回った時にアラートを通知したい場合は、アプリケーションモニタが提供する %Monitor.System.Sample.Freespace(空き容量メトリック)を利用します。

0
0 242
記事 Toshihiko Minamoto · 3月 29, 2022 3m read

Apache Zeppelin は以下を行えるようにする多目的ノートブックです。

  •     データの取り込み
  •    _ データ検出_
  •     データ分析
  •     データの可視化とコラボレーション

Apache Zeppelin インタープリターの概念に基づき、あらゆる言語/データ処理バックエンドを Zeppelin にプラグインすることができます。 現在、Apache Zeppelin は、Apache Spark、Apache Flink、Python、R、JDBC、Markcown、およびシェルなど、多くのインタープリターに対応しています。

データの洞察を得るための安全な環境を得られます。 Zeppelin のハイライト機能は、JDBC と Spark IRIS のネイティブコネクタを使用して利用することができます。

これは、あなたを軌道に乗せるためのクイックスタートガイドです。

1.- 公式 Web サイト(こちら)から Zeppelin をダウンロードして保存します。

2.- ディストリビューションを任意のインストールフォルダに解凍します。

3.- JDK をインストールする必要があります(まだインストールされていない場合)。

4.- JDK のインストールが完了すると、#bash> sudo ./<zeppelin_path>/bin/zeppelin-daemon.

0
0 128
記事 Tomoko Furuzono · 3月 29, 2022 1m read

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

現在実行中のコードの位置は、$STACK関数を使用して $STACK($STACK,"PLACE") で取得できます。

サンプルコードは以下ドキュメントをご参照ください。

現在実行中のコードの位置を取得する方法について【IRIS】
現在実行中のコードの位置を取得する方法について

0
0 142
記事 Tomoko Furuzono · 3月 29, 2022 1m read

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

SQLの場合、NULLデータと空文字列 ('')は区別されます。
それぞれの設定・確認方法は、以下のようになります。

(1) NULLデータ

【SQL】 

insert into test (a) values (NULL)
select * from test where a IS NULL

【InterSystems ObjectScript】

set x=##class(User.test).%New()
set x.a=""

(2) 空文字列 ('')

【SQL】

insert into test (a) values ('')
select * from test where a = ''

【InterSystems ObjectScript】

set x=##class(User.test).%New()
set x.a=$C(0)

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

NULL および空文字列【IRIS】
NULL および空文字列

0
0 360
記事 Hiroshi Sato · 3月 27, 2022 2m read

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

  • まず予め Visual Studioを使用して、呼び出したい内容のクラスライブラリを作成します。
  • そのプロジェクトをコンパイルし、DLLを作成します。
  • 管理ポータルでオブジェクトゲートウェイを作成します。   システム管理 > 構成 > 接続性 > オブジェクトゲートウェイ ゲートウェイ名 : testGateway サーバ名 / IPアドレス : 127.0.0.1 ポート : 55000 (後はデフォルト)  
  • testGateway を開始します。


※管理ポータルから、もしくはコマンドから開始できます。 

do##class(%Net.Remote.Service).StartGateway(gateway.Name)
  •   以下のいずれかの方法でDLLを呼び出すプロキシクラスを作成します。

       a. コマンドで作成する場合 

     set dllPath="C:\temp\TestDll.dll
     do ##class(%Net.Remote.Gateway).%ExpressImport(dllPath, 55000, "127.0.0.1")

       b. スタジオで作成する場合


 [ツール] - [アドイン] - [.

0
0 466
InterSystems公式 Maki Hashizawa · 3月 24, 2022

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

"Innovation in Data - データによるデジタル変革の推進" をテーマに、DX推進に不可欠な健全なデータの提供とデータプラットフォームの最新情報をお届けしました「InterSystems Japan Virtual Summit 2022」の全てのセッションを、4月22日(金)までオンデマンドで配信しております。

見逃した方や、もう一度セッションをご覧になりたい方など、是非、この機会にご覧いただければと思います。

お申込み・視聴はこちらから

 

  

■テーマ:Innovation in Data - データによるデジタル変革の推進

■オンデマンド配信:2022年4月22日(金)まで

■参加:無料(登録制)

お申込み・視聴はこちらから
 

《技術セッション》

  ■Embedded Python で広がる InterSystems IRISの世界

  ■SQLでどこまでできる? ~データロードから機械学習まで~

  ■オープンソースだけで IRIS on Kubernetesを動かそう

  ■VSCode、Jenkinsを使用したCICD環境の構築

  ■FHIR SQL Builder 

         ■ストレージの節約方法について

   ■ミラーリングを使用したHAおよびDR構成例

皆様のご参加をお待ちしております。

0
0 175
記事 Toshihiko Minamoto · 3月 24, 2022 5m read

この記事では、CSP Web アプリケーションを使用して、コードで認証、承認、および監査を行う方法と、Web アプリケーションを有効化/無効化および認証/認証解除する方法について説明します。

  • オンラインデモは、クラウド(https://dappsecurity.demo.community.intersystems.com/csp/user/index.csp)にあります(SuperUser | SYS)。
  • 先に進む前に、動画をご覧になることをお勧めします(https://www.youtube.com/watch?v=qFRa3njqDcA)。

アプリケーションのレイアウト

0
0 287
記事 Megumi Kakechi · 3月 23, 2022 3m read

これは、InterSystems FAQサイトの記事です。
ジャーナル・ファイルの処理でジャーナルファイルに記録されるタイプが、それぞれどのような状況下で記録されるのかについて説明します。

処理 (管理ポータルの)タイプ 説明 具体的にどのような処理で記録?
0
0 283
記事 Hiroshi Sato · 3月 23, 2022 2m read

もし現在ご使用のデータベース技術で壁に突き当たっていると感じておられるならば、是非InterSystems IRIS Data Platformへの移行をご検討ください。

(以下IRIS)

IRISに移行するに際して、現行のプログラム資産を全て書き換える必要はありません。

IRISに移行する際には、以下の手順で進めることを推奨しております。

アプリケーションコードをそのまま流用し、動作させるために、現在のデータベースからIRISへの移行を行います。

既存のRDBMSのデータ定義(DDL文で記述されたもの)をIRISに取り込むことで、リレーショナルとオブジェクトの両モデルからアクセスが可能となるため、必要に応じてオブジェクト・アクセスが妥当である処理に対しては、アプリケーションプログラムの修正など、対応策が選択できます。

さらにXMLやJSONなどのドキュメント形式のデータの取り扱いも容易ですので、RestFullなアプリケーション構築にも向いています。

また、IRISには習得が容易でデータベースエンジンと一体化したスクリプト言語「InterSystems ObjectScript」が用意されているので、処理の一部をサーバ側ロジックとしてストアドプロシージャ化することによってデータベース処理を効率化するなど、様々な対応策を検討することができます。

バージョン2021.

0
0 220
記事 Hiroshi Sato · 3月 23, 2022 2m read

質問

現在使っているリレーショナルデータベースからInterSystems IRIS Data Platformに移行することは可能ですか?

答え

InterSystems IRIS Data Platform(以下IRISと表記)は、SQLをサポートしていますので、多くの場合リレーショナルデータベースで構築されたアプリケーションは、大部分のコードを変更することなくIRISに移行することができます。

ただしSQLの各実装毎にSQL標準を拡張した仕様等があり、それにIRISが全て対応していませんので、コードの書き換えが必要なケースもあります。

また各実装が独自に用意した標準でない通信系API等にも対応していませんので、その場合にはJDBC、ODBCなどの標準的な通信APIに置き換える必要があり、かなり書き換えが必要になります。
(使用されているSQL文等はそのまま流用可能な場合が多いです。)

さらにそのままコードを移行できるケースであっても動作保証はできませんので、必ず動作確認のためのテスト作業は必要になります。

以上のことから他データベースシステムからIRISシステムへの移行には相応の移行コストがかかるため、移行は必ずしも容易とは言えませんが、それでも移行を決断されたお客様はたくさんおられます。

そしてほとんどのお客様は移行したシステムの性能、開発生産性、保守性、運用の容易さ等に満足されております。

0
0 147
記事 Hiroshi Sato · 3月 23, 2022 1m read

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

以下のコードは、https://www.intersystems.com/assets/intersystems-logo.png をダウンロードし、c:\temp\test.pngとしてファイルを保存する例になります。

以下のコードを動作させるためには、SSLTESTという名前のSSL定義を作成しておく必要があります。

ClassMethod download() As%Status
{
    Set sc = $$$OKSet httprequest=##class(%Net.HttpRequest).%New()
    set httprequest.Port = 443set httprequest.Https = 1set httprequest.SSLConfiguration = "SSLTEST"Set httprequest.Server="www.intersystems.com"Do httprequest.Get("/assets/intersystems-logo.png")
    Set httpresponse=httprequest.HttpResponse
    Set file=##class(%File).
0
0 208
InterSystems公式 Toshihiko Minamoto · 3月 21, 2022

InterSystems Kubernetes Operation (IKO) バージョン 3.3 が WRC ダウンロードページ やInterSystems Container Registry よりダウンロード可能となりました。

IKO は、使いやすい irisClusterリソース定義を提供することにより、Kubernetesにおける InterSystems IRIS やInterSystems IRIS for Health との連携を簡素化します。 簡単なシャーディング、ミラーリング、ECP構成などの機能一覧は ドキュメント をご覧ください。

IKO 3.3の主な修正点:

  • InterSystems IRIS 、 IRIS for Healthのバージョン 2021.2 、 2022.1 のサポート
  • Kuberentes 1.21のサポート
  • irisCluster の一部として共通のSystem Alerting and Monitoring (SAM) コンフィグレーションのデプロイ
  • irisCluster の一部として InterSystems API Manager (IAM) のデプロイや管理
  • ミラーリングのアクティブ側の自動タグ付けにより、サービスは常にアクティブなミラーメンバーを指すことができます。
0
0 144
記事 Toshihiko Minamoto · 3月 21, 2022 2m read

少し前に GitHub が導入されてから、そこにホストされているあらゆるリポジトリの VSCode をブラウザで非常に素早く実行できるようになりました。 リポジトリで . キーかプルリクエストを押すか、URL で .com.dev に置き換えることで、ブラウザ内で VSCode 環境に直接移動することができます。

GitHub 開発

この VSCode はデスクトップバージョンのライトバージョンではありますが、完全にブラウザ内で動作します。 このため、このような動作を可能にする拡張機能には制限があります。 そこで、VSCode-ObjectScript 拡張機能の新しい 1.2.1 バージョンをご紹介します。ブラウザモードでの実行がサポートされています。

0
0 245
質問 Kobata Makoto · 2月 28, 2022

皆様こんにちは。

Native API for .NETを使用して、%Stream.GlobalBinaryタイプのプロパティを持つデータを作成しようとしています。

%Stream.GlobalBinaryタイプのプロパティ(binaryData)に書き込む部分は以下のようになっています。

Using obj As InterSystems.Data.IRISClient.ADO.IRISObject = iris.ClassMethodObject("User.Sample","%New")

        Using prop As InterSystems.Data.IRISClient.ADO.IRISObject = obj.GetObject("binaryData")

                prop.InvokeStatusCode("Write", binary)

        End Using

        obj.InvokeStatusCode("%Save")

End Using

この”Write”メソッド部分ですが、1.5MB程度の制限がかかってしまい、1.5MBを超えるようなデータが登録できません。

※実際にはエラーとはならず、1.5MBまでしか書き込まれていない状態のようです。

どなたか解決方法等ご教授いただけないでしょうか。

8
0 289