
新しい InterSystems IRIS® Cloud SQL と InterSystems IRIS® Cloud IntegratedML® クラウド製品のユーザーであり、デプロイメントのメトリクスにアクセスして独自の可観測性プラットフォームに送信しようと考えている方のために、メトリクスを Google Cloud Platform Monitoring(旧称 StackDriver)に送信して手っ取り早く行う方法をご紹介します。
プログラミングツールまたはソフトウェア開発ツールは、ソフトウェア開発者が他のプログラムやアプリケーションを作成、デバッグ、保守、またはサポートするために使用するコンピュータープログラムです。

新しい InterSystems IRIS® Cloud SQL と InterSystems IRIS® Cloud IntegratedML® クラウド製品のユーザーであり、デプロイメントのメトリクスにアクセスして独自の可観測性プラットフォームに送信しようと考えている方のために、メトリクスを Google Cloud Platform Monitoring(旧称 StackDriver)に送信して手っ取り早く行う方法をご紹介します。
%UnitTestフレームワークのユーザーは、InterSystems Testing Manager拡張機能の最新リリース(v2.0.0)を@Timothy Leavittの素晴らしいテストカバレッジツールと組み合わせることで、VS Code内でテストカバレッジ情報を取得できるようになりました。
上部にテストカバレッジのペインが表示されています。左側のテストエクスプローラーと併せて確認しやすいように、右側のセカンダリサイドバーに移動させました。
直近のテスト実行(テストカバレッジツール自体のユニットテストすべて)の結果、TestCoverage.Procedures内のBitValueメソッドはカバーされていましたが、BitCountメソッド(および他の6つのメソッド)はカバーされていないことに注目してください。 TestCoverageパッケージの全体で43.08%の実行可能行のみが、ユニットテストによってカバーされていました。
InterSystems Testing Managerに対するこの大幅なアップグレードを、現在開催中のDeveloper Toolsコンテスト に出品します。 もし良いと思っていただけたら、来週の投票でぜひ応援してください!
.png)
コミュニティの皆さん、こんにちは。
この記事では、私のアプリケーションである iris-AgenticAI をご紹介します。
エージェンティック AI の登場により、人工知能が世界とやりとりする方法に変革的な飛躍をもたらし、静的なレスポンスが動的な目標主導の問題解決にシフトしています。 OpenAI の Agentic SDK を搭載した OpenAI Agents SDK を使用すると、抽象化をほとんど行わずに軽量で使いやすいパッケージでエージェンティック AI アプリを構築できます。 これは Swarm という前回のエージェントの実験を本番対応にアップグレードしたものです。
このアプリケーションは、人間のような適応性で複雑なタスクの推論、コラボレーション、実行を行える次世代の自律 AI システムを紹介しています。
%UnitTest framework を使用してユニットテストを構築したことがある場合、またはこれから構築しようとお考えの場合は、InterSystems Testing Manager をご覧ください。
VS Code を離れることなく、ユニットテストの閲覧、実行またはデバッグ、過去の実行結果の表示が可能になりました。
InterSystems Testing Manager は、ObjectScript 拡張機能がサポートするソースコード場所のパラダイムに対応しています。 ユニットテストクラスは、VS Code のローカルファイルシステム('client-side editing' パラダイム)またはサーバーネームスペース('server-side editing')のいずれかでマスターできます。 いずれの場合でも、実際のテストの実行は、サーバーネームスペースで発生します。
フィードバックをぜひお送りください。
InterSystems は先日、Visual Studio Code(VSC)IDE 用の拡張機能は InterSystems Studio に比べてより優れたエクスペリエンスを提供するという考えから、VSC IDE 用の拡張機能を独占的に開発するためにバージョン 2023.2 より InterSystems Studio のサポートを終了すると発表しました。それ以来、VSC に切り替えた開発者や、VSC を使用し始めた開発者が大勢います。 VSC には Studio のような出力パネルがなく、InterSystems が開発したプラグインをダウンロードする以外に IRIS ターミナルを開く統合機能もないため、多くの人は演算を実行する際にターミナルの開き方に迷ったことでしょう。
コミュニティの皆さん、こんにちは!
この記事では、私の最新のアプリケーションである Journal File Indexer をご紹介します。 このアプリケーションの開発は、ポータルアイデアの DPI-I-270 に基づいています。
簡単に言えば、このアプリケーションではデータベースでログファイルを読み込んでインデックス作成できます。
管理ポータルでログファイルの検索機能を使用したことがあるなら、タイムアウトエラーになったり、ページが空になったりしたことがあるのではないでしょうか。 この問題は通常、大規模なジャーナルファイルを検索する場合に発生します。 Journal File Indexer は、ファイルをデータベースに読み込んで、検索速度を大幅に高めることで、この問題を解決します。
復元プロセス中にはもう 1 つの問題が発生します。 ログファイルでグローバルエントリを検索し、古い値または新しい値を復元したくても、管理ポータルにはこの特定の機能がありません。 そのため、これを達成するにはルーチンをコーディングする必要があります。 Journal File Indexer を使うと、この復元機能を統合できます!
開発者のみなさん、こんにちは。
vscode上で動作するObjectScriptエクステンションがリリースされ、vscodeを開発環境として使用できるようになり、GitHubリポジトリと連携できるようになりました。その一方で、使い慣れたIRISやCacheのスタジオからGitHubを扱いたいという要望は根強くあり、GitHubと連携するツールがOpen Exchange上にいくつか公開されています。
そこで、Open exchangeに収録されているツールの中で新しい「git for shared development environment」を使い、環境を作成してみましたので、その手順をお伝えします。
ご利用される際のご参考になれば幸いです。
Git for windows のサイト よりキットをダウンロードし、そのexeファイル (git-2.xx.xx xx-bit.exe) を起動します。ライセンスの確認画面が表示されますので、「Install」ボタンをクリックします。
コマンドプロンプトを起動し、ssh-keygen コマンドを実行します。
開発者の皆さん、こんにちは!
InterSystems デベロッパーツールコンテスト2023 の21の応募作品の中から、Experts Nomination 第2位に輝いた @John Murray さんの DX Jetpack for VS Code (VSCodeを使用するIRIS開発者のエクスペリエンスを向上させるツール)についてご紹介します。
開発された @John Murray さんが書かれた記事「Introducing DX Jetpack for VS Code」には、3つの新しいエクステンションについて紹介されていますが、ここでは、gj :: codeSpex と ObjectScript Class View の使用例をご紹介します。
まずは、VSCodeをご用意ください。
Extentionの検索窓で、gj と入力する以下の表示になります。
この中から、
をインストールしてみました。
試しにクラス定義を作成してみたところ、行番号右隣に
吹き出しのマークが登場し、クリックするとクラス定義で使用しているデータタイプの解説が表示されました。
クラスメソッドの場合は、そのメソッドで使用している引数や戻り値のデータタイプを表示してくれました。
クラスリファレンスをいちいち開いて確認しなくても、エディタ上で確認ができて便利ですね。
開発者の皆さん、こんにちは!
InterSystems デベロッパーツールコンテスト2023が開催され、21の応募作品の中から勝者が発表されました🏆
この記事では、世界のIRIS開発者の皆さんから注目を集めた作品をご紹介します。
最初は、Experts Nomination 第1位に輝いた @Dmitry Maslennikov さんの作品をご紹介します!
@Dmitry Maslennikov さんが解説されている記事(Welcome irissqlcli - advanced terminal for IRIS SQL)もあります。ぜひこちらもご覧ください。
@Dmitry Maslennikov さんは、IRIS SQL用の高度なターミナル irissqlcli を開発されました。
irissqlcli を使用すると、SQL記述時にSQL構文、関数、型、IRIS内テーブル名、カラム名に対する候補が表示されるため、SQL文がとても書きやすくなります。
ヘルプも充実しています。(\n でヘルプが表示されます)
接続先のテーブル一覧を取得する場合は「.tables」で取得できました。
また、以下のように記入時に入力候補が表示されます。Pygments を利用されているようで、シンタックスがハイライトされてきれいです。
開発者の皆さん、こんにちは!
【InterSystems デベロッパーツールコンテスト】の投票が開始されました!
🔥 ベストアプリケーションはこれだ!! 🔥 と思う作品にぜひ投票をお願いします!
(今回は21作品がエントリーされています!)
投票方法は以下ご参照ください。
開発者の皆さん、こんにちは!
InterSystems デベロッパーツールコンテスト 2023のテクノロジーボーナスが発表されました!
獲得ポイントについて詳細は、以下ご参照ください。
Embedded Python の利用 - 3 points
あなたのアプリケーションで Embedded Python を使用している場合、3ポイント獲得できます。Embedded Pythonを使用するためには、IRIS 2021.2以降のバージョンをご利用ください。
InterSysetms IRISが稼働している docker コンテナを使用している場合、Docker コンテナボーナスを獲得できます。
テンプレートはこちらにあります。
開発者の皆さん、こんにちは!
2023年最初のコンテストの開催が決定しました!今回は、開発者の皆さんの開発が快適になるような便利ツールをご応募いただくコンテストです!
🏆 InterSystems デベロッパーツールコンテスト🏆
InterSystems IRISを使用して、開発のスピードアップ、より定性的なコードの貢献、テスト、デプロイ、サポート、ソリューションのモニタリングを支援するアプリケーションを提出してください。
期間: 2023年1月23日~2月12日
賞金: $13,500
YASPEはYAPE(Yet Another pButtons Extractor)の後継機種です。YASPEは、メンテナンスと拡張を容易にするために、多くの内部変更を行い、一から書き直しました。
YASPEの機能は以下の通りです。
YASPEはPythonで書かれています。ソースコードはGitHubで公開されており、Dockerコンテナ用には以下で公開されています。
皆さん、こんにちは。 このプロジェクトをコンテストに応募します。 エクスポートモジュールは、多くのプロジェクトに不可欠であり、通常、本番サーバーにて使用されています。
属性初期化モジュールの呼び出しにて、さまざまなシナリオを実装しました。GCR で実証する多くの追加プロジェクトによる最大化と、本番インスタンスにネイティブにインストールするための最小化の両方です。
zpm "install appmsw-sql2xlsx -Dzpm.demo=none"
可能性をお見せするために、fileserver とcsvgen プロジェクトを使用しました。
可能性を実演するに当たって、次の手順を実行することを提案します。まず、デモを読み込み、superuser \ SYS を使ってユーザー名とパスワードを入力してください。表示されるウィンドウで、Search ボタン、そして Export をクリックします。
次に、csvgen メニュー項目を選択します。
表示されるタブで Load ボタンをクリックしたら、Search ボタン、そして Export をクリックします。
次に、Fileserver メニュー項目を選択します。 
Download 可能な Excel ファイルのリストが表示されます。
テンプレートから Excel ファイルが生成されます。
ぜひ、投票してください。
この短い記事では、マシンにPythonをセットアップしなくて済むように、dockerコンテナでYapeを実行する方法について説明します。
このシリーズの前回の記事からしばらく時間が経っているため、簡単に振り返ってみましょう。
まず、matplotlibで基本的なグラフを作成する方法について話しました。 そして、bokehを使った動的グラフについて紹介しました。 最後にパート3では、monlblデータを使ったヒートマップの生成について説明しました。
フィードバックをさまざまなチャンネルを通じて受け取りましたが、これらを実行するための環境をセットアップするのが困難であるという、共通したテーマが見られました。 そこで、それを少しでも簡単に行えるよう、Murrayと協力して、Murrayの優れたYapeツール用のDockerfileを作成してみることにしました。 GitHubページ
もちろん、これを行うには、マシンにdockerがインストールされている必要があります。
公式のPythonイメージに基づく、どちらかと言えば単純なdocker定義:
FROM python:3
WORKDIR .
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
これまでに何度もコードカバレッジとコードのパフォーマンス最適化について説明してきたため、ほとんどの方はすでにSYS.MONLBLユーティリティについてご存知かと思います。 コードを視覚的に見る方が通常は、純粋な数値を見るよりもはるかに直感的に理解できます。これが、このシリーズの記事の大きなポイントです。 今回は、Pythonとそのツールから少し離れて、^%SYS.MONLBLレポートからヒートマップを生成する方法を探りたいと思います。
簡単に言うと、ヒートマップは特定の値を色で表現してデータの要約を得ることに特化した視覚化ツールです。 このケースでは、データはコード行であり、コード行に掛けられた時間が色にマッピングされます。
行ごとに監視するモニターの実行については、ドキュメントをご覧ください。 つまり、分析の完全な出力をCSVファイルとして操作します。 分析しようとしているコードのソースコードが実際にあれば、はるかに便利であるため、 kフラグ(ソースを保持)を使ってコードをコンパイルするようにしてください。
ターゲット出力として、準備されたhtmlファイルを使用することにします。 これには、非常に基本的なレイアウトと、最終的な色付けを行うための小さなJavaScript関数だけが含まれます。
先週のディスカッションでは、1つのファイルのデータ入力に基づく単純なグラフを作成しました。 ご存知のように、解析して相関付けるデータファイルが複数あることがあります。 そこで今週は、perfmonデータを追加して読み込み、それを同じグラフにプロットする方法について学習しましょう。 生成したグラフをレポートやWebページで使用する可能性があるため、生成したグラフのエクスポート方法についても説明します。
標準のpButtonsレポートから抽出されたperfmonデータは、少し独特なデータ形式です。 一見すると、かなり単純なCSVファイルで、 最初の行には列のヘッダーがあり、それ以降の行にはデータポイントが含まれています。 ただし、ここでの目的のために、値エントリーを囲む引用符をどうにかする必要があります。 標準的なアプローチを使用してファイルをPythonに解析すると、文字列オブジェクトの列ができてしまい、うまくグラフ化できません。
この記事は、視覚化ツールと時系列データの分析を説明する連載の最初の記事です。 当然ながら、Caché製品ファミリーから収集できるパフォーマンス関連のデータを見ることに焦点を当てますが、 説明の途中で、他の内容についても解説していきます。 まずは、Pythonとそのエコシステムで提供されているライブラリ/ツールを探りましょう。
この連載は、Murrayが投稿したCachéのパフォーマンスと監視に関する優れた連載(こちらから参照)、より具体的にはこちらの記事と密接に関係しています。
免責事項1: 確認しているデータの解釈について話すつもりですが、それを詳しく話すと実際の目標から外れてしまう可能性があります。 そのため、Murrayの連載を先に読んで、主題の基本的な理解を得ておくことを強くお勧めします。
免責事項2: 収集したデータを視覚化するために使用できるツールは山ほどあります。 その多くは、mgstatなどから得たデータを直接処理するが、必要最低限の調整だけで処理することができます。 この記事は「このソリューションがベストですよ」という投稿ではまったくなく、 あくまでも、「データを操作する上で便利で効果的な方法を見つけたよ」という記事です。
開発者の皆さん、こんにちは!
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>
これは、InterSystems FAQサイトの記事です。
IRISのターミナルスクリプトを使用することで、コマンドラインからの入力作業なしで IRIS のユーティリティを実行することが可能になります。
また、IRISのルーチンやクラスを、Windows のバッチファイルで実行する場合(irisコマンドで実行)は、「認証なし」もしくは「オペレーティングシステム認証」を指定していただく必要がありますが、パスワード認証のみしか使用できないような場合に、ターミナルスクリプトを使用する方法が使えます。 手順は、以下のようになります。
--------------------------------------------------------------------------------------------
iristerm.exeを使用します。
これはプロンプトが返ってきてユーザが入力を必要とするもの(例えば^%GSIZEなど)にも有効です。
詳細は以下をご覧ください。import.scrの中身を変更することであらゆるIRISのユーティリティの実行に使用できます。
1. トピック下部にあるサンプル import.scr を、適当なディレクトリに配置して下さい。
(ここではC:\import.scr とします)
2. 以下のように実行します。
これは InterSystems FAQ サイトの記事です。
グローバル変数毎のデータベースキャッシュ使用量を確認するツール(^GLOBUFFユーティリティ)が用意されています。
%SYSネームスペースにて、ユーティリティを直接実行する方法と、プログラムで実行する方法があります。
ユーティリティを直接実行する方法は以下のようになります。
これは InterSystems FAQ サイトの記事です。
管理ポータル:システムオペレーション > データベース にあるオプションボタン(ラジオボタン)「空き容量ビュー」で表示される内容は、システムクラス SYS.Database のFreeSpace クエリで取得可能です。
次のようなコードでクエリを実行します。
例:
(%SYSネームスペースにて作成、実行します)
/// ZISJ.mac
Set stmt=##class(%SQL.Statement).%New()
Set status=stmt.%PrepareClassQuery("SYS.Database","FreeSpace")
Set rs=stmt.%Execute()
While rs.%Next() {
Write !
For i=1:1:9 {
Write rs.%GetData(i),","
}
}
もしくは、以下のようにも行えます。
これは InterSystems FAQ サイトの記事です
復旧を優先される場合を除き 【トラブル発生状態のまま】弊社サポートセンターまでご連絡ください。
その際、専用ツールを利用して情報収集いただくことで(所要時間約 5分)、サポートセンターによる状況確認がスムーズに行えます。
ツール使用方法については、PDF または以下ビデオでご紹介しています。
※ InterSystems IRIS / IRIS for Health をご利用の方は、こちらの記事をご参照ください。
ぜひ 1 度、テスト/開発環境で実行をお試しいただき、万が一の場合に備えていただければ思います。
ビデオの目次(YouTubeでもご覧いただけます)
0:00~1:40 情報収集ツールを使用する上での大事なポイント
1:41~2:15 ツールの種類について
2:15~3:45 どのツールを実行したらいいか困った時の考え方
3:45~5:04 管理ポータルの診断レポートの例
5:04~6:00 ^Buttonsの実行例(Cache)
6:00~7:12 ^Buttonsの実行例(Ensemble / Cacheベースの HealthConnect)
7:12~8:27 CacheHungスクリプトの実行例(Windowsの例)
8:27~9:30 CacheHungスクリプトの実行例(Linuxの例)
これは InterSystems FAQ サイトの記事です。
復旧を優先される場合を除き 【トラブル発生状態のまま】弊社サポートセンターまでご連絡ください。
その際、専用ツールを利用して情報収集いただくことで(所要時間約 5分)、サポートセンターによる状況確認がスムーズに行えます。
ツール使用方法については、PDF または以下ビデオでご紹介しています。
※ Caché/Ensemble/Caché ベースの HealthConnect をご利用の方は、こちらの記事をご参照ください。
ぜひ 1 度、テスト/開発環境で実行をお試しいただき、万が一の場合に備えていただければ思います。
ビデオの目次(YouTubeでもご覧いただけます)
0:00~1:40 情報収集ツールを使用する上での大事なポイント
1:41~2:24 ツールの種類について
2:24~3:45 どのツールを実行したらいいか困った時の考え方
3:45~5:04 管理ポータルの診断レポートの例
5:04~6:30 ^SystemCheckの実行例
6:30~7:50 IRISHungスクリプトの実行例(Linuxの例)
7:50~8:50 IRISHungスクリプトの実行例(Windowsの例)
8:50~9:52 ツールから生成されたHTMLのファイル名について
9:52~11:32 ツールから生成されたHTMLの中身について
11:32~ まとめ
こんにちは!
この記事では、IRIS から Caché、Ensemble、HealthShare など、InterSystems の製品で使用されるクラスやその構造を理解するのに役立つツールの概要を簡単にまとめています。
つまり、そのツールはクラスやパッケージ全体を視覚化し、クラス間の相対関係を示し、ディベロッパーやチームリーダーに必要な情報をすべて提供してくれるので、わざわざ Studio に移動してコードを調べる必要が省けます。
InterSystems の製品について情報を集めている方からたくさんのプロジェクトをレビューしている方、または単純に InterSystems Technology ソリューションの新機能に興味がある方まで、ObjectScript Class Explorer の概要をぜひお読みください!
この記事では、RESTFormsプロジェクト(モダンなWebアプリケーション用の汎用REST APIバックエンド)を紹介します。
プロジェクトの背後にあるアイデアは単純です。私はいくつかのREST APIを書いた後、REST APIが一般的に次の2つの部分で構成されていることに気付きました。
また、独自のカスタムビジネスロジックを書く必要はありますが、RESTFormsには永続クラスの操作に関連するすべての機能を提供しています。
使用例
InterSystemsのテクノロジースタックを使用して独自のアプリを開発し、顧客側で複数のデプロイを実行したいとします。 開発プロセスでは、クラスをインポートするだけでなく、必要に応じて環境を微調整する必要があるため、アプリケーションの詳細なインストールガイドを作成しました。この特定のタスクに対処するために、インターシステムズは、%Installer(Caché/Ensemble)という特別なツールを作成しました 。 続きを読んでその使用方法を学んでください。
%Installer
このツールを使用すると、インストール手順ではなく、目的のCaché構成を記述するインストールマニフェストを定義できます。作成したい Caché 構成を記述します。必要な内容を記述するだけで、環境を変更するために必要なコードが自動的に生成されます。
したがって、マニフェストのみを配布する必要がありますが、インストール・コードはすべてコンパイル時に特定の Caché サーバ用に生成されます。