現在、Django(python)でWebアプリケーションを作成するための調査をしています。
DjangoからIRISのデータベースにODBCでアクセスできるのか、についてご教授頂けないでしょうか。
宜しくお願い致します。
InterSystems IRISは総合データプラットフォームです
InterSystems IRISは、企業にとって最も価値のある資産(データ)の取得、共有、理解、そしてデータに基づく行動のために必要なすべてのものを提供します。
完全なプラットフォームである InterSystems IRIS は、複数の開発技術を統合する必要がありません。より少ないコードで開発が可能で、そのアプリケーションは、システムリソース、メンテナンスなども少なくて済みます。
現在、Django(python)でWebアプリケーションを作成するための調査をしています。
DjangoからIRISのデータベースにODBCでアクセスできるのか、についてご教授頂けないでしょうか。
宜しくお願い致します。
Benjamin De Boe がユニバーサルキャッシュクエリに関する素晴らしい記事を書いていますが、ユニバーサルキャッシュクエリ(UCQ)とは一体何でしょうか。また、昔ながらの埋め込み SQL を書いている場合になぜそれを気にする必要があるのでしょうか。 Caché と Ensemble において、キャッシュクエリは xDBC と動的 SQL を解決するために生成されるでしょうが、 InterSystems IRIS の埋め込み SQL は、キャッシュクエリを使用するように改善されました。そこで、名前に「ユニバーサル」が追加されているのです。 現在では、IRIS で実行されるすべての SQL は、UCQ クラスから実行されるようになっています。
InterSystems はなぜこのように変更したのでしょうか? 良い質問です! ここでの大きなメリットは、ライブ環境での柔軟性にあります。 以前は、インデックスを追加したり、TuneTable を実行したりすると、キャッシュクエリの SQL はこの新しい情報をすぐに利用していたにもかかわらず、埋め込み SQL はクラスまたはルーチンが手動でコンパイルされるまで変更されないままになっていました。
開発者のみなさん、こんにちは!
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 まとめ
これは、InterSystems FAQサイトの記事です。
Windowsでは、変更することはできませんが、Unix系プラットフォームでは、iris rename コマンドを使用することで変更できます。
iris rename instname(現インスタンス名) newname(新インスタンス名)
iris rename コマンドの詳細は、以下ドキュメントをご参照ください
iris コマンドについて
これは、InterSystems FAQサイトの記事です。
メール送付のコードを記述する前に、管理ポータルで SSL/TLS 構成を作成します。
管理ポータル > システム管理 > セキュリティ > SSL/TLS 構成

.png)
メール送付までの流れは以下の通りです。
ターミナルからの実行例は以下の通りです(Gmail を利用しています)。
《メモ》
現在(2022年5月30日以降)、Gmailを利用したメール送付を行う場合 OAuth2.0 の利用が必須となりました。Gmailを利用する場合の手順ついては、「OAuth 2.0 を利用して IRIS から Gmail を送信する」をご参照ください。
これは、InterSystems FAQサイトの記事です。
データベースの空き容量は、システムモニタを使用して監視することができます。
システムモニタは、システム開始時に自動開始され、予め設定された閾値に対してアラートが通知されます。
システムの閾値については以下ドキュメントをご参照ください。
システム・モニタのステータスおよびリソース・メトリック【IRIS】
システム・モニタのステータスおよびリソース・メトリック
データベースの空き容量については、システムデフォルトでは 50 MBを下回る場合にアラートが通知され、メッセージログ(コンソールログ)にアラート(深刻度 2)として記録され、alerts.log ファイルにも出力されます。
データベースの空き容量を任意サイズで監視したい場合、システムモニタに含まれる「アプリケーションモニタ」を利用して設定します。
注意:アプリケーションモニタでは、アラート対象となる情報があってもメッセージログ(コンソールログ)に出力しないため、メール通知/メソッド実行 を使用して通知するように設定します。
例えば、空き容量が 100MB を下回った時にアラートを通知したい場合は、アプリケーションモニタが提供する %Monitor.System.Sample.Freespace(空き容量メトリック)を利用します。
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.
これは、InterSystems FAQサイトの記事です。
現在実行中のコードの位置は、$STACK関数を使用して $STACK($STACK,"PLACE") で取得できます。
サンプルコードは以下ドキュメントをご参照ください。
これは、InterSystems FAQサイトの記事です。
SQLの場合、NULLデータと空文字列 ('')は区別されます。
それぞれの設定・確認方法は、以下のようになります。
(1) NULLデータ
【SQL】
【InterSystems ObjectScript】
(2) 空文字列 ('')
【SQL】
【InterSystems ObjectScript】
詳細については、以下ドキュメントをご参照ください。
開発者のみなさん、こんにちは。
"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構成例
皆様のご参加をお待ちしております。
この記事では、CSP Web アプリケーションを使用して、コードで認証、承認、および監査を行う方法と、Web アプリケーションを有効化/無効化および認証/認証解除する方法について説明します。
アプリケーションのレイアウト
これは、InterSystems FAQサイトの記事です。
ジャーナル・ファイルの処理でジャーナルファイルに記録されるタイプが、それぞれどのような状況下で記録されるのかについて説明します。
| 処理 | (管理ポータルの)タイプ | 説明 | 具体的にどのような処理で記録? |
もし現在ご使用のデータベース技術で壁に突き当たっていると感じておられるならば、是非InterSystems IRIS Data Platformへの移行をご検討ください。
(以下IRIS)
IRISに移行するに際して、現行のプログラム資産を全て書き換える必要はありません。
IRISに移行する際には、以下の手順で進めることを推奨しております。
アプリケーションコードをそのまま流用し、動作させるために、現在のデータベースからIRISへの移行を行います。
既存のRDBMSのデータ定義(DDL文で記述されたもの)をIRISに取り込むことで、リレーショナルとオブジェクトの両モデルからアクセスが可能となるため、必要に応じてオブジェクト・アクセスが妥当である処理に対しては、アプリケーションプログラムの修正など、対応策が選択できます。
さらにXMLやJSONなどのドキュメント形式のデータの取り扱いも容易ですので、RestFullなアプリケーション構築にも向いています。
また、IRISには習得が容易でデータベースエンジンと一体化したスクリプト言語「InterSystems ObjectScript」が用意されているので、処理の一部をサーバ側ロジックとしてストアドプロシージャ化することによってデータベース処理を効率化するなど、様々な対応策を検討することができます。
バージョン2021.
質問
現在使っているリレーショナルデータベースからInterSystems IRIS Data Platformに移行することは可能ですか?
答え
InterSystems IRIS Data Platform(以下IRISと表記)は、SQLをサポートしていますので、多くの場合リレーショナルデータベースで構築されたアプリケーションは、大部分のコードを変更することなくIRISに移行することができます。
ただしSQLの各実装毎にSQL標準を拡張した仕様等があり、それにIRISが全て対応していませんので、コードの書き換えが必要なケースもあります。
また各実装が独自に用意した標準でない通信系API等にも対応していませんので、その場合にはJDBC、ODBCなどの標準的な通信APIに置き換える必要があり、かなり書き換えが必要になります。
(使用されているSQL文等はそのまま流用可能な場合が多いです。)
さらにそのままコードを移行できるケースであっても動作保証はできませんので、必ず動作確認のためのテスト作業は必要になります。
以上のことから他データベースシステムからIRISシステムへの移行には相応の移行コストがかかるため、移行は必ずしも容易とは言えませんが、それでも移行を決断されたお客様はたくさんおられます。
そしてほとんどのお客様は移行したシステムの性能、開発生産性、保守性、運用の容易さ等に満足されております。
これは InterSystems FAQ サイトの記事です。
以下のコードは、https://www.intersystems.com/assets/intersystems-logo.png をダウンロードし、c:\temp\test.pngとしてファイルを保存する例になります。
以下のコードを動作させるためには、SSLTESTという名前のSSL定義を作成しておく必要があります。
ClassMethod download() As %Status
{
Set sc = $$$OK
Set httprequest=##class(%Net.HttpRequest).%New()
set httprequest.Port = 443
set httprequest.Https = 1
set httprequest.SSLConfiguration = "SSLTEST"
Set httprequest.Server="www.intersystems.com"
Do httprequest.Get("/assets/intersystems-logo.png")
Set httpresponse=httprequest.HttpResponse
Set file=##class(%File).InterSystems Kubernetes Operation (IKO) バージョン 3.3 が WRC ダウンロードページ やInterSystems Container Registry よりダウンロード可能となりました。
IKO は、使いやすい irisClusterリソース定義を提供することにより、Kubernetesにおける InterSystems IRIS やInterSystems IRIS for Health との連携を簡素化します。 簡単なシャーディング、ミラーリング、ECP構成などの機能一覧は ドキュメント をご覧ください。
IKO 3.3の主な修正点:
irisCluster の一部として共通のSystem Alerting and Monitoring (SAM) コンフィグレーションのデプロイirisCluster の一部として InterSystems API Manager (IAM) のデプロイや管理少し前に GitHub が導入されてから、そこにホストされているあらゆるリポジトリの VSCode をブラウザで非常に素早く実行できるようになりました。 リポジトリで . キーかプルリクエストを押すか、URL で .com を .dev に置き換えることで、ブラウザ内で VSCode 環境に直接移動することができます。

この VSCode はデスクトップバージョンのライトバージョンではありますが、完全にブラウザ内で動作します。 このため、このような動作を可能にする拡張機能には制限があります。 そこで、VSCode-ObjectScript 拡張機能の新しい 1.2.1 バージョンをご紹介します。ブラウザモードでの実行がサポートされています。
.png)
この記事では、以下のオンラインデモを通じ、GitHub アカウントを使用した OAuth2 認証の基本を説明します。
https://dappsecurity.demo.community.intersystems.com/csp/user/index.csp(SuperUser | SYS)
皆様こんにちは。
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までしか書き込まれていない状態のようです。
どなたか解決方法等ご教授いただけないでしょうか。
インターシステムズ社は、ObjectScript ルーチンのコンパイルが正しく行われない不具合を修正しました。
この不具合は、最近リリースされた 2021.1.1 バージョンのみに存在します。
InterSystems IRIS
InterSystems IRIS for Health
HealthShare Health Connect
インターシステムズでは、2021.1.1 を使用しないことを推奨しています。ルーチンのコンパイルが正しく行われず、予測不可能なロジックの実行が発生する可能性があります。2021.1.1 のバージョンは、配布チャネルから削除されました。 インターシステムズ社は、この不具合を修正したバージョン 2021.1.2 をご利用ください。
ご参考までに、この修正プログラムはCDS3299として識別されます. この問題の影響を受けるのは2021.1.1 のみです。
このアラートについてご質問がございましたら、サポートセンター Worldwide Response Center までお問い合わせください。
これまでの記事では、メールサーバーのメールボックスからのメッセージを処理する IMAP プロトコルの基本的な使用方法を学習しました。 とても興味深いものではありましたが、他の人が作成してすぐに利用できるようにライブラリに提供されている実装を利用することも可能です。
IRIS データプラットフォームの改善の 1 つに、同じ IRIS プロセスで ObjectScript に並行して Python コードを記述できる機能があります。 この新機能は、組み込み Python と呼ばれます。 組み込み Python を使用すると、ObjectScript コードに巨大な Python エコシステムのライブラリの力を取り込むことができます。
この記事では、imaplib というライブラリを使用して IMAP クライアントを実装し、それを IRIS Email フレームワーク に統合することにします。 また、Python エコシステムの力を借りて、組み込み Python を使用して、IRIS プラットフォームでの実際の課題を解決する方法を示す実用的な例も確認します。
ここで実装されているすべてのコードは、こちらの GitHub リポジトリの python ディレクトリにあります。
Python コードは最近の IRIS バージョンでのみ機能することに注意してください。
開発者の皆さん、こんにちは!
次のコンテストへの参加準備はよろしいですか? 19 回目の InterSystems オンラインプログラミングコンテストのテーマは・・・
🏆 InterSystems Global Contest 🏆 です!
(もう 18 回も開催してたんですね。びっくり ( ゚Д゚) いたしました)
応募期間は 2022年3月21日~4月3日 です。
💰 賞金総額: $10K 💰

InterSystemsを使用してExcelファイルを生成する方法はたくさんあります。ZENレポートやIRISレポート(Logiレポートまたは正式にはJReportsと呼ばれるレポート)のほか、サードパーティのJavaライブラリを使用するなど、可能性はほぼ無限です。
しかし、Caché ObjectScriptだけで単純なスプレッドシートを作成したい場合はどうでしょうか。 (サードパーティアプリケーションを使用せずに、です)
私の場合、大量の生データを含むレポート(金融関係の人たちが好むレポート)を生成する必要がありますが、私のZEN/IRISでは対応できません。私が呼ぶところの「ゼロバイトファイル」が生成され、基本的にJavaのメモリ不足となり、レポーティングサーバーに大きな負荷を生じてしまいます。
これは、Office Open XML(OOXML)を使って実現できます。 Office Open XML形式は、多数のXMLファイルで構成されるZIPパケージです。 つまり基本的には、これらのXMLファイルを生成してZIP圧縮し、.xslxに名前を変更すればよいのです。 それくらい単純です。
ファイルは、Open Packaging Conventionsという単純な命名規則に従っています。
注意事項:前回リリースしましたビルド2021.1.1.324.0には問題があります。 2021.1.1 メンテナンスリリースはWRCから削除し、ビルド2021.1.2.336.0 に更新しています。2021.1.2のコンテナ版はまもなくリリースする予定です。
2種類のメンテナンスリリースが利用可能です。
インストレーションキットやコンテナはWRC ソフトウェア配布サイト からダウンロードできます。 Container images for the Enterprise Editions of InterSystems IRISや IRIS for Health の Enterprise Editionのコンテナイメージ、すべての関連コンポーネントはInterSystems Container Registry から取得できます。
これは、InterSystems FAQサイトの記事です。
ある処理において、データを無期限に保存する必要がなくグローバルの強力な性能が必要になる場合に、IRISTEMP/CACHETEMP データベースに保存される一時グローバルが使用されます。
IRISTEMP/CACHETEMPデータベースはジャーナルされないので、一時グローバルの使用ではジャーナルファイルは作成されません。
IRISTEMP/CACHETEMP データベースは、システムで一時ストレージ用に使用され、ユーザも同じ用途で使用することができます。
一時グローバルとIRISTEMPデータベースの詳細については、以下のドキュメントをご覧ください。
一時グローバルと IRISTEMP データベース
一時グローバルとして使用されるグローバルには以下のようなものがあります。
1. システムテンポラリグローバル(^IRIS.Temp*、^%cspSession、^CacheTemp*、^mtemp* など)
2. ユーザが設定したIRISTEMP/CACHETEMPへのマッピングによる一時グローバル
3. プロセスプライベートグローバル (^||name、^|"^"|name、^["^"]name、^["^",""]name など)
4.
これは、IRIS でリレーショナルデータをクエリするアナリストとアプリケーションに、さらに優れた適応性とパフォーマンスによるエクスペリエンスを提供する IRIS SQL のイノベーションをトピックとした短い連載の 3 つ目の記事です。 2021.2 では連載の最後の記事になるかもしれませんが、この分野ではさらにいくつかの機能強化が行われています。 この記事では、このリリースで収集し始めたヒストグラムという追加のテーブル統計について、もう少し詳しく説明します。
開発者のみなさん、こんにちは!
InterSystems Python コンテスト の投票結果が発表されました!この記事ではコンテスト受賞者を発表します📢
受賞された開発者の皆さん、👏おめでとうございます!🎊
これは、InterSystems FAQサイトの記事です。
オブジェクトに対する一般的な処理をサポートする各種関数を提供しています。
詳細は以下ドキュメントをご参照ください。
オブジェクトへの動的アクセス【IRIS】
オブジェクトへの動的アクセス
サンプルクラス(Sample.Person)を使用して、利用例をご紹介します。
【InterSystems IRIS でご確認いただく場合】
InterSystems IRISでは、サンプル定義の一部を GitHub 上に公開しています。
ダウンロード情報やインポート、データ作成手順については、下記の記事をご参照ください 。
サンプル(Sample.Person)のクラス定義ダウンロードとサンプルデータの作成について
【Caché/Ensemble/HealthShare でご確認いただく場合】
SAMPLES ネームスペースへ移動してご確認ください。
(1) クラス名の取得:$CLASSNAME(インスタンス
これは、InterSystems FAQサイトの記事です。
マップされたクラス・ルーチンも含めてコンパイルする場合は、コンパイラ修飾子に "/mapped=1" もしくは "/mapped" を指定します。 例えば、以下のように行います。
【例1】クラスリストを取得してコンパイル
【例2】全てのクラスをコンパイル