PHP はその公開当初から、多くのライブラリや市場に出回っているほぼすべてのデータベースとの統合をサポートしていることでよく知られています(またそのことで批判を受けてもいます)。 にもかかわらず、何らかの不可解な理由により、グローバル変数については階層型データベースをサポートしませんでした。
グローバル変数は階層情報を格納するための構造です。 Key-Value型データベースにある程度似ていますが、キーを次のようにマルチレベルにできるという点で異なっています。
InterSystems IRISは総合データプラットフォームです
InterSystems IRISは、企業にとって最も価値のある資産(データ)の取得、共有、理解、そしてデータに基づく行動のために必要なすべてのものを提供します。
完全なプラットフォームである InterSystems IRIS は、複数の開発技術を統合する必要がありません。より少ないコードで開発が可能で、そのアプリケーションは、システムリソース、メンテナンスなども少なくて済みます。
PHP はその公開当初から、多くのライブラリや市場に出回っているほぼすべてのデータベースとの統合をサポートしていることでよく知られています(またそのことで批判を受けてもいます)。 にもかかわらず、何らかの不可解な理由により、グローバル変数については階層型データベースをサポートしませんでした。
グローバル変数は階層情報を格納するための構造です。 Key-Value型データベースにある程度似ていますが、キーを次のようにマルチレベルにできるという点で異なっています。
*この動画は、2021年2月5日に開催したウェビナーのアーカイブです。
InterSystems IRIS data platform は、拡張性に優れ、相互運用性、分析機能を備えたアプリケーション開発のためのデータプラットフォームです。
この動画では、これからインターシステムズのデータプラットフォーム製品をお使いになる開発者の方を対象に、その特徴を20分でご紹介します。
このような方を対象としています。
ぜひご覧ください!
こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。
スタジオ以外でSourceControlを利用されている方がいれば教えてください。
現在SourceControlを用いて、コンパイル前に
自動コードレビュー(静的解析)を行うような仕組みを構築しております。
実際にスタジオやVSCodeでの保存時には、上記の仕組みが動作しソースチェックが行われるのですが、
clsの一括取り込みを行おうと『$SYSTEM.OBJ.ImportDir()』を実行した際には
SourceControlが動作していないように見えております。
以下のような形でメソッド実行しているのですが、オプション等の不備になるのでしょうか?
> Do $SYSTEM.OBJ.ImportDir("ファイルが存在するパス","*.cls;*.mac;*.int;*.inc;*.dfi","ck",,1)
開発者の皆さん、こんにちは!
次回開催の InterSystems オンラインプログラミングコンテストについてご案内します!
🏆 InterSystems IRIS Analytics Contest 🏆
応募期間は 2021年8月23日~9月5日 です!
💰 賞金総額: $8,750💰
(投票期間は 2021年9月6日~9月12日、勝者発表は 9月13日を予定しています)
コンテスト専用ページ(https://contest.intersystems.com)もできました!

開発者の皆さん、こんにちは!
InterSystems IRIS でアナリティクスソリューションを構築するにはどのような方法があるでしょうか。

最初に、アナリティクスソリューションは何かについて確認しようと思いますが、とても幅広いテーマになってしまうので、Analytics コンテストで発表できるソリューションに限定してご紹介します。
以下、モニタリング、インタラクティブアナリティクス、レポーティングの3種類のアナリティクスソリューションについてご紹介します。
モニタリング
一般的なモニタリングソリューションは、アクティブに更新される KPI を備えたオンラインダッシュボードで構成されています。
モニタリングの主な使用例としては、新しいデータの KPI を常に視覚的に観察し、緊急時に対応することです。
インタラクティブアナリティクス
このソリューションはフィルタやドリルダウンが行えるインタラクティブなダッシュボードのセットを想定しています。
主なユースケースは、グラフや表のデータを視覚化した上で、フィルタやドリルダウンを使用してデータを探しだし、ビジネス上の意思決定を行うことです。
レポーティング
レポーティングソリューションは、グラフやテキスト形式のデータを事前にデザインされたフォームで提供する HTML や PDF ドキュメントの形式で、静的(通常)レポートを提供し、メールで送付することもできます。
レポーティングシステムの主なユースケースは、ビジネスにとって重要な製品やプロセス、サービス、セールスなどの状況を説明するレポートを一定期間に取得することです。
このようなソリューションを構築するために、InterSystems 製品をどのように利用できるでしょうか。
以下の項目で議論してみましょう。
InterSystems Reportsでレポートを作成するのは難しいですか?
ネタバレ
InterSystems Reports は Logi Analytics 社の製品である Logi Report(旧名:JReport)使用しています。InterSystems Reports は、InterSystems IRIS、InterSystems IRIS for Health で動作し、以下に示すように堅牢でモダンなレポートソリューションを提供します。
- レポート開発者とエンドユーザーの両方がカスタマイズ可能な、組み込み型のオペレーショナルレポート。
- 請求書、文書、フォームなどの特殊なレイアウト要素や、特定のフォームグリッドを開発することができるピクセルパーフェクトなフォーマット。
- 集約されたデータと詳細なデータの構造を提供する帯状のレイアウト。
- ヘッダー、フッター、アグリゲーション、詳細データ、画像、サブレポートを正確に配置。
- 多彩なページレポートタイプ。
- PDF、XLS、HTML、XMLなどのファイルフォーマットへのエクスポート、印刷、法規制遵守のためのアーカイブを含む、大規模なダイナミックレポートのスケジューリングと配布。
InterSystems Reports は、以下の内容で構成されています。:
- レポートデザイナーには「デザイン」タブと「プレビュー」タブがあり、レポート開発者はライブデータを使ったレポートの作成とプレビューができます。
- エンドユーザーにブラウザベースのアクセスを提供し、レポートの実行、スケジューリング、フィルタリング、修正を可能にするレポートサーバーを用意します。
以上、InterSystems ドキュメント から抜粋。
この記事では、InterSystems Reports の サーバー部分に焦点を当て、すべてのデータを永続化しながらコンテナでレポートサーバーを実行するためのガイドをご提供しています。
これは InterSystems FAQ サイトの記事です。
以下のような情報収集ツールがあります。
| GLOSTAT | グローバルアクセスのカウンター情報 |
| mgstat | グローバルアクセスのカウンター情報を連続してファイルに記録する |
| JOBEXAM | 問題のあるプロセスをモニターする |
| SystemCheck または Buttons |
内部情報の収集
使用方法詳細は以下の記事もご参照ください。
|
| PERFMON |
グローバル、ルーチン、プロセス毎のグローバルアクセスカウンタ情報
|

「ドライマルティーニを」と彼は言った。 「1 杯。 深いシャンパングラスで。」
「承知いたしました。」
「気が変わった。 ゴードンを 3、ヴォッカを 1、キナリレを半量。 キンキンに冷えるまでよくシェイクしてから、大きめの薄いレモンピールを 1 つ加えてくれ。 わかったかい?」
「お承りいたしました。」 バーテンダーはその考えが気に入ったようだった。
イアン・フレミング著『カジノ・ロワイヤル』(1953 年)より
OAuth は、ユーザーログイン情報を伴うサービスを「運用中」のデータベースから、物理的にも地理的にも分離する上で役立ちます。 このように分離すると、ID データの保護が強化され、必要であれば、諸国のデータ保護法の要件に準拠しやすくしてくれます。
OAuth を使用すると、ユーザーは、最小限の個人データをさまざまなサービスやアプリケーションに「公開」しながら、一度に複数のデバイスから安全に作業することができるようになります。 また、サービスのユーザーに関する「過剰な」データを操作しなくてよくなります(データはパーソナル化されていない形態で処理することができます)。
これは InterSystems FAQ サイトの記事です。
ジャーナルファイルの削除は、自動削除と手動削除が選択できます。
「自動削除」については、以下2つの方法が選択できます。
A) タスクスケジュールを使用して指定時間に自動削除する方法
B) オンラインバックアップ使用時、指定回数成功後に自動削除する方法
A) タスクスケジュールを使用して指定時間に自動削除する方法
インストール時デフォルトで登録されるタスクスケジュール「ジャーナルファイルの削除」を使用して自動削除します。
自動削除を行う前に運用環境に合わせて適切な日数分ジャーナルを保持するよう、ジャーナルファイルの設定を修正します。
ジャーナルファイルの設定は以下メニューを使用します。
【バージョン2011.1以降】 [ホーム] > [システム管理] > [構成] > [システム構成] > [ジャーナル設定]
【バージョン5.1~2010.x】 [ホーム] > [構成] > [ジャーナル設定]
「ジャーナル設定画面」にある「ジャーナルファイルの削除」から「この日数後」の設定を使用します。
日数の指定はバックアップ期間に合わせて設定します。
例えば、バックアップが1週間毎に行われている場合は、バックアップが行なわれる間のジャーナルファイルをを保持する必要があるため、「7」を設定します。
開発者の皆さん、こんにちは。
今回、インターシステムズ・パートナーディレクトリをオープンさせていただくことになりました!
このサイトではインターシステムズ製品で構築された商用のサービスやソリューションを見つけることができます。
インターシステムズ・パートナーディレクトリとは?
1 年ほど前、私のチーム(多数の社内アプリケーションの構築と管理、および他の部署のアプリケーションで使用するツールやベストプラクティスの提供を担う InterSystems のアプリケーションサービス部門)は、Angular/REST ベースのユーザーインターフェースを元々 CSP や Zen を使って構築された既存のアプリケーションに作りこむ作業を開始しました。 この道のりには、皆さんも経験したことがあるかもしれない興味深いチャレンジがありました。既存のデータモデルとビジネスロジックに新しい REST API を構築するというチャレンジです。
このプロセスの一環として、REST API 用に新しいフレームワークを構築しました。あまりにも便利であるため、自分たちだけに取っておくわけにはいきません。 そこで、Open Exchange の
はじめに、設計の目標と意図についていくつか以下に示します。 すべての目標が実現したわけではありませんが、順調に進んでいます!
開発者の皆様、 InterSystems IRIS for Health の日本語オンラインドキュメントを、一時的にご用意しました。
こちらをご覧ください。
日本語 2020.1 になります。
InterSystems IRIS for Health のドキュメントはInterSystems IRIS のドキュメントを包含しています。
一時的な英語版ドキュメントについては、以下の記事をご参照ください。
※2021年8月13日追記
ドキュメントサーバが復活したため、通常のドキュメントページをご確認くださいませ。長時間ご迷惑をおかけし、申し訳ございませんでした。
開発者の皆様、 InterSystems IRIS for Health のオンラインドキュメントを一時的に用意しました。
こちらをご覧ください。
英語版 2021.1 のみですが、ご容赦ください。
InterSystems IRIS for Health のドキュメントはInterSystems IRIS のドキュメントを包含しています。
※2021年8月13日追記
ドキュメントサーバが復活したため、通常のドキュメントページをご確認くださいませ。長時間ご迷惑をおかけし、申し訳ございませんでした。
インターシステムズ製品 ドキュメント一覧
これは InterSystems FAQ サイトの記事です。
あるユーザが「不活動上限」を超える期間にわたって、一度もInterSystems製品にログインしなかった場合、そのユーザは無効になりログインできなくなります。
なお、この設定の初期値は、インストール時の初期セキュリティによって変わります。
「通常」以上では既定値は90日間、「最小」では0日に設定されています。
ユーザを有効に変更することにより再びログインすることができるようになります。
2007.1以降であれば%Allを持つユーザが最低1つは残っていますので、そのユーザでログインできればそこから設定を変更します。(%Allを持つユーザは、インストール時のセキュリティ設定によって異なります)
使用できるものがわからないときは、InterSystems製品を緊急アクセスモードで起動してログインします。
<緊急アクセスモードからの復元方法>
1. InterSystems製品の停止
2. InterSystems製品を緊急アクセスモードでの起動
≪Windowsの例≫
DOSコマンドプロンプトよりInterSystems製品を緊急アクセスモードで起動します。
(Windows Vista以降では、コマンドプロンプト起動時、「管理者として実行」のオプションを指定して起動します。
これは InterSystems FAQ サイトの記事です。
ディスクの空きスペースにもよりますが、ブロック別で最大サイズが異なります。
各バージョン共通で、8KBのブロックサイズを使用した場合は、32TBです。
バージョン2008.1以降のバージョンでは、8KB以外のブロックサイズを指定できるようになったため、最大サイズは以下の通りです。

皆さんこんにちは! よろしければ、ボットが対話できるようになるようお手伝いいただけませんか?
チャットボットはこちらからアクセスしてください: Help my chatbots to talk!
なんだ、そのチャットボットはスマートではないのですか?
このシナリオでは「スマート」は適切な言葉ではありません。 チャットボットはトレーニング済みではありますが、少量のデータでしかトレーニングされていません! ほとんどのチャットボットソリューションでは、機械学習を使用して人間と対話する方法が作成されており、機械学習がうまく機能するには、重要なものが 1 つ必要となります。それはデータです。

どのように動作しますか?
簡単に説明しましょう。脳があっても人生経験のない人がいるとします。生まれたばかりの赤ん坊です。 この状況では、その人(赤ん坊)は、話している人を見たり、授業を受けたり、映画を見たりなどして、話し方を学習しなければなりません。 この人間の学習プロセスを、機械学習モデルにも当てはめることができます。 機械学習モデルが学習できる状況を与える必要があり、その状況がデータということになります。

** つまり、チャットボットは単なる辞書かオウムということになるのでしょうか…**
全くもってそうではありません。

この記事では、InterSystems IRIS データベースを Python と統合して自然言語処理(NLP)の機械学習モデルを提供する方法を説明します。
世界的に広く採用され使用されている Python には素晴らしいコミュニティがあり、様々なアプリケーションをデプロイするためのアクセラレータ/ライブラリが豊富に提供されています。 関心のある方は https://www.python.org/about/apps/ をご覧ください。
^globals について学び始めると、型にはまらないデータモデルに素早くデータを取り込む手法として使用することに慣れてきました。 そのため、最初は ^globals を使用してトレーニングデータと会話を保存し、チャットボットの動作をログに記録することにします。
自然言語処理(NLP)は、人間の言語から意味を読み取って理解する能力を機械に与える AI のテーマです。 ご想像のとおりあまり単純ではありませんが、この広大で魅力的な分野で最初の一歩を踏み出す方法を説明します。
チャットボットアプリケーションをデモとしてデプロイしています: http://iris-python-suite.eastus.cloudapp.
この 3 部構成の記事では、IAM を使って、以前に IRIS にデプロイされた認証されていないサービスに OAuth 2.0 標準に従ったセキュリティを追加する方法を説明します。
パート 1 では、サービスを保護するプロセス全体を理解しやすくするために、IRIS と IAM の基本的な定義と構成を示しながら OAuth 2.0 の背景を説明しました。
パート 2 では、着信リクエストに存在するアクセストークンを検証し、検証が成功した場合にはそのリクエストをバックエンドに転送するように IAM を構成する手順について詳しく説明しました。
連載の最後となるこのパートでは、IAM がアクセストークンを生成(承認サーバーとして機能します)してそれを検証するために必要な構成と、重要な最終考慮事項を説明します。
IAM をお試しになりたい方は、InterSystems 営業担当者にお問い合わせください。
このシナリオでは、最初のシナリオとは異なり、「OAuth 2.0 Authentication」というプラグインを使用します。
このリソース所有者パスワード資格情報フローで IAM を承認サーバーとして使用するには、クライアントアプリケーションがユーザー名とパスワードを認証する必要があります。
対象バージョン
InterSystems IRIS および IRIS for Health: 2019.1.0 以降
対象プラットフォーム すべて
InterSystemsは、間違ったクエリ結果が返る問題を修正しました。この問題は上記の InterSystems 製品のバージョンで発生する可能性があります。
問題の詳細
以下のすべての条件をみたした場合、クエリ結果が不正確な可能性があります。
() グループ化していないフィールドを SELECT に含めることは、 InterSystems SQL独自の拡張であり、SQL標準でないことにご注意ください。
この問題により、上記をみたすクエリでは WHERE 条件が結果に正しく反映されません。すなわち、条件をみたさない行を含むクエリ結果を返すことになります。
なお、この警告の最後に、問題の影響を受けるクエリと受けないクエリ例を掲載しています。
解決方法
この問題は修正ID: AK1043 で解決します。
これは InterSystems FAQ サイトの記事です。
一般的なシステム統合製品はメッセージエンジン製品を中心にビジネスプロセス管理製品、ポータル製品、ビジネスアクティビティモニタリング製品などの付随する製品を1つのパッケージ製品(スイート製品と呼ばれることも多い)として提供しています。
パッケージとして提供はしていますが、個々の構成製品は通常別々に作成されたもので、操作法、リポジトリ管理、開発手法、管理手法等が各製品バラバラでシステム統合プロジェクトを実施するに当たり、これら全ての製品に習熟するためには膨大な時間がかかります。
また各製品毎に担当者をアサインするということも考えられますが、そうすると各担当者間のコミュニケーションが必要となりプロジェクト管理の手間が増えます。
InterSystems IRIS data platform にはシステム統合に必要な全ての機能が1つの製品に含まれており、統一された操作法、一元化されたリポジトリ、1つの首尾一貫した開発/管理環境が提供されます。
従ってシステム統合プロジェクトを開始する際の敷居をかなり低くすることが可能です。
これは InterSystems FAQ サイトの記事です。
プラットフォーム別導入状況(組織ベース)は、以下の通りです。
(2020年時点)
これは InterSystems FAQ サイトの記事です。
InterSystemsでサポートを保証するバージョンは、最小サポートバージョン(ミニマムサポートバージョン)となります。
最小サポートバージョンは、通常リリース後 2 年以内のバージョンになります。
保守契約のあるお客様には、最小サポートバージョンより前のバージョンに対しても技術的なご質問や障害時の対応は可能な限りさせていたいただきますが、その保守対応はベストエフォートとなり、深刻な問題に対してもそのバージョンに対応したワークアラウンドや修正(パッチ)のご提供が難しくなります。
そのような場合には、最新バージョンへのバージョンアップをお勧めいたします。
最小サポートバージョンについては、以下のドキュメントをご覧ください。
これは InterSystems FAQ サイトの記事です。
ご希望の場合は、カスタマーサポートセンターまでお問い合わせください。
これは InterSystems FAQ サイトの記事です。
スーパーサーバでSSL/TLS接続を有効にする場合、クライアントアプリケーションは、使用するプロトコル、アクセスする証明書などを知るためにSSL設定が必要となります。
これらは下記のようにiniファイルを作成・編集することで設定可能です。
==============================
設定ファイルの場所
==============================
デフォルトでは、SSL設定ファイルはSSLdefs.iniと呼ばれ、32ビットの共通プログラムファイルのディレクトリ下の InterSystems\IRIS(またはInterSystems\Cache)ディレクトリに置く必要があります。
Windows 64bitの場合:C:\Program Files (x86)\Common Files\InterSystems\IRIS\SSLdefs.ini
C:\Program Files (x86)\Common Files\InterSystems\Cache\SSLdefs.ini
Windows 32bitの場合:C:\Program Files\Common Files\InterSystems\Cache\SSLdefs.
この 3 部構成の記事では、IAM を使って、以前に IRIS にデプロイされた認証されていないサービスに OAuth 2.0 標準に従ったセキュリティを追加する方法を説明します。
パート 1 では、サービスを保護するプロセス全体を理解しやすくするために、IRIS と IAM の基本的な定義と構成を示しながら OAuth 2.0 の背景を説明しました。
このパートでは、着信リクエストに存在するアクセストークンを検証し、検証が成功した場合にはそのリクエストをバックエンドに転送するように IAM を構成する手順について詳しく説明します。
この連載の最後のパートでは、IAM でアクセストークンを生成し(承認サーバーとして機能します)、それを検証するようにするための構成を説明し、重要な最終考慮事項を示します。
IAM をお試しになりたい方は、InterSystems 営業担当者にお問い合わせください。
このシナリオでは、JWT(JSON Web トークン)形式でアクセストークンを生成する外部承認サーバーを使用します。 この JWT はアルゴリズム RS256 と秘密鍵を使用して署名されています。 JWT 署名を検証するには、ほかのグループ(この場合 IAM)に承認サーバーが提供する秘密鍵が必要です。
開発者の皆さん、こんにちは!
第 13 回 InterSystems IRIS プログラミングコンテスト(AI)への応募、投票が全て終了しました。コンテストへのご参加、またご興味お持ちいただきありがとうございました。
今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!
皆さん、こんにちは。
InterSystems製品ではCache 2015.1からNGINXに対応しているのですが、インストールマニュアルを見るとC言語のソースファイルが提供されていて、「むむむ。。。コンパイルか。。。」と躊躇してしまいますね(^_^;)。
そこで、実際にWindows環境でNGINXをビルドしてみましたのでレポートします。
IRISまたはIRIS for Healthのキットを実行し、インストールします。
Nginxのアクセスに必要なUniversal Web gateway Moduleをインストールするには、セットアップタイプでCustomを選択し、
Web Server Gatewayを明示的にインストールする必要がありますので、ご注意ください。
.png)
また、今回はIRIS for Healthをインストールしていますので、C:\InterSystems\IRISHealthディレクトリにIRISをインストールしています。
IRISだったり、他のディレクトリにインストールされている場合は適宜インストールディレクトリを読み替えてください。
Windows環境でコンパイルが必要ですのでVisualStudioをインストールします。
これは InterSystems FAQ サイトの記事です。
バージョンアップ後、ルーチンを再コンパイルする必要はありませんが、バージョンアップで %SYS が上書きされるため、%SYS 内のユーザ作成 INT 形式および OBJ 形式ルーチン(*.INT,*.OBJ)が削除されますので、注意が必要です。
MAC形式(.MAC)と以下の名前の INT 形式および OBJ 形式ルーチンについては削除されません。
なお、クラス/CSP はアップグレード後にコンパイルが必要となります。
ただし、メンテナンスリリースへのアップグレードの場合は、コンパイルは不要です。詳細は、以下ドキュメントをご参照ください。
Caché/Ensemble:メンテナンス・リリースのアップグレード後のタスク