皆さん、こんにちは。
IRIS 履歴モニタープロジェクトが更新されました。ZPM とビルトインの REST API /api/monitor/metrics を使用します。
皆さん、こんにちは。
IRIS 履歴モニタープロジェクトが更新されました。ZPM とビルトインの REST API /api/monitor/metrics を使用します。
開発者の皆さん、こんにちは!
PythonでExcelからPDFへ変換を行うには、pywinを使うとできるらしいので、IRISにあるデータをDataframeに設定した後Excelに出力し、ExcelからPDFに変換する流れを、Embedded Pythonで試してみました。
メモ:pywinはWindows環境下で動くモジュールのようです。
Excelに出力するデータですが、例では、SELECTの結果をDataframeに格納する方法を利用しています。グローバル変数の情報をDataframeに格納する方法については、以下の記事で詳しくご紹介しています。ぜひご参照ください。
Embedded Python で IRIS グローバル($LB) を Pandas Dataframe に変換する方法
まずは、必要なモジュールをインストールする必要があるので、pywin32 モジュールを irispipを使ってインストールします。
以下の例では、IRIS for Health が c:\InterSystems\IRISHealth にインストールされている状態で実行しています。
Embedded Pythonは、IRIS/IRIS for Health どちらでも利用できます。
開発者の皆さん
こんにちは。
シアトルで開催されたグローバル・サミット2022は、ちょうど1週間前に終了しましたが、会場にいながら聞き逃した方や、何らかの理由でこの対面式イベントに全く参加できなかった方のために(あるいは、記憶をリフレッシュしてもう一度聞きたい方のために)、キーノートがすでに公開されています。
前置きはこれくらいにして、グローバルサミット最初はコミュニティの皆さんからのご挨拶です。
それでは、このYouTubeプレイリストでグローバルサミット2022全3日間のキーノートをお楽しみください。
これは InterSystems FAQ サイトの記事です。
Question:
IRIS Data Platformは大量のトラフィック処理に耐えられますか?
Answer:
IRIS Data Platformは他のデータベースシステムに比較してデータの処理スピードおよび処理能力の面で優れています。
ESGという外部機関が実際に他社データベース製品とのベンチマークテストを実施した結果に関するレポートを公表しています。
またウルシステムズ社による検証結果も公開されています。
ご参考いただければ幸いです。
本稿は、「InterSystems IRIS、IRIS for Health、HealthShare Health Connect 2022.1がリリースされました!」でご案内している内容を、補足解説する内容となります。
米国本社プロダクトマネージャーによる本リリースのハイライトのご紹介ビデオ(英語)です。 https://www.intersystems.com/resources/whats-new-in-intersystems-iris-2022-1
年一度のEMリリースです。
メンテナンスアップデート提供:リリース日から2年間
セキュリティアップデート提供:リリース日から4年間
InterSystems IRIS, InterSystems IRIS for Health
同時期にリリースされるモジュール
ICM, IKO, InterSyetms Reports, InterSystems Studio
独立してリリースされるモジュール
IAM, SAM, 各種ドライバ類, VS Code ObjectScript 拡張
これは InterSystems FAQ サイトの記事です。
バージョン2015.2以降から、Windows上のインストール環境では、サービス・アカウントを
「Windowsコントロールパネル > 管理ツール > サービス > InterSystems IRIS/Cache Controller for XX」
の「ローカル・システムアカウント」から Windows の任意の管理者アカウントに変更した場合に <NOTOPEN> エラー または -1 が返ります。
この状況を回復するためには、以下2つの設定をする必要があります。
1. 「Windowsコントロールパネル > 管理ツール > サービス > InterSystems IRIS/Cache Controller for XX」 のログオン設定を、「ローカルシステムアカウント」に戻す 2. irisinstall/cinstall コマンドを使用してInterSystems IRIS サービス・アカウントを変更する
2 の手順は以下になります。
Windowsコマンドプロンプトを管理者権限で起動し、以下コマンドを使用して変更します。
この設定を有効するためには、インスタンスの再起動が必要です。
これは InterSystems FAQ サイトの記事です。
デフォルトではテーブルのカラムの順番はシステムが自動的に決定します。
順番を変更するにはクラス定義を行う際にプロパティ・キーワード SqlColumnNumber でプロパティ毎に明示的に順番を設定してください。
例:
ドキュメントは以下をご参照ください。
なお、SQLテーブル名を変えたい場合は SqlTableName 、カラム名(フィールド名)を変えたい場合は SqlFieldName を指定します。
ともに、永続クラスのみに適用されます。
このたび InterSystems IRIS 2022.1 の日本語ドキュメントが完成しました。以下のURLでご参照いただけます。
皆さん、こんにちは!
職場で持ち上がった単純なリクエストで始めた個人プロジェクトを紹介したいと思います。
使用している Caché ライセンス数を調べることはできますか?
コミュニティに掲載されている他の記事を読んでみたところ、David Loveluck が投稿したぴったりの記事が見つかりました。
APM - Using the Caché History Monitor(APM - Caché 履歴モニターを使用する)
https://community.intersystems.com/post/apm-using-cach%C3%A9-history-monitor
そこで、David の記事を参考に、Caché 履歴モニターを使って、リクエストされた情報を表示して見ました。
「どのテクノロジーを使用するのか」という疑問に対し
私は CSP に決定しました。単純で強力なテクノロジーであるため、私が担当するお客様は Caché が単なる MUMPS/ターミナルではないことに気づくでしょう。
ライセンス、データベース増加状況、CSP セッションの履歴を表示するページを作成した後、「システムダッシュボードとプロセス」ページのデザインを新装することにしました。
私の Caché インスタンスではすべてうまく機能します。
でも、IRIS はどうでしょうか?
開発者の皆さん、こんにちは!
この記事では、Embedded Pythonをご自身の好きなタイミングで学習できる📚セルフラーニングビデオ📚の YouTube プレイリストをご紹介します!
👆こんな具合に👆学習内容別 Embedded Python セルフラーニングビデオを公開しています!
この記事では、これから Embedded Python でプログラミングを開始してみたい方向けに最適なビデオをご紹介します!
以下の内容を確認できるプレイリスト:1-Embedded Python概要編 - YouTube をご用意しています。
この後、実際の操作を試されたい場合は、次のプレイリスト:2-Embedded Python利用前の準備 - YouTube が最適です。
操作を開始する前に、必要な利用前の準備についてご紹介しているプレイリスト:2-Embedded Python利用前の準備 - YouTube をご用意しています。
Python から InterSystems IRIS へ接続する方法の1つである「PyODBC」(※)の利用方法をご説明します。
※ Python からのアクセスは、PyODBCの他に、Native API を利用した接続方法もあります。Native APIを利用してIRISのグローバル変数にアクセスする方法については、別の記事でご説明します。
もくじ
最初~0:52 復習ビデオ/関連ビデオについて (セルフラーニングビデオの索引記事もご参照ください)
0:52~2:04 今回の説明内容解説
2:05~3:44 PyODBCについてと準備
3:43~5:25 IRISに接続する
5:25~7:55 CREATE TABLEの実行
7:55~10:16 INSERTの実行
10:16~14:04 SELECTの実行
14:04~最後まで まとめ
※ YouTubeでご覧いただくと、「もくじ」の秒数クリックでビデオをジャンプできます。
開発者の皆さん、こんにちは!
Full Stackコンテスト 2022 のテクノロジーボーナスについてご紹介します!

この概念実証では、embedded Python で IRIS 相互運用フレームワークをどのように使用できるかについて示すことを目的としています。
import grongier.pex
import iris
import MyResponse
class MyBusinessOperation(grongier.pex.BusinessOperation):
def OnInit(self):
print("[Python] ...MyBusinessOperation:OnInit() is called")
self.LOGINFO("Operation OnInit")
return
def OnTeardown(self):
print("[Python] ...MyBusinessOperation:OnTeardown() is called")
return
def OnMessage(self, messageInput):
if hasattr(messageInput,"_IsA"):
if messageInput._IsA("Ens.StringRequest"):
self.LOGINFO(f"[Python] ...This iris class is a Ens.StringRequest with this message {messageInput.StringValue}")
self.LOGINFO("Operation OnMessage")
response = MyResponse.MyResponse("...MyBusinessOperation:OnMessage() echos")
return response
ObjectScript は不要です。
@Yuri Marx のお陰で、非常に優れた Postgres から IRIS へのデータベース移行の例を確認できました。
私の個人的な問題は、DBeaver を移行ツールとして使用することです。
特に、以前の IRIS(それから Caché)の強みの 1 つは、JBDC または ODBC でアクセスできる限り任意の外部 Db にアクセスできる SQLgateways を利用できることであったためです。 そこで、これを実演するために、パッケージを拡張しました。
開発者の皆さん、こんにちは!21回目の InterSystems プログラミングコンテストを開催します!
お題は👉 🏆 InterSystems Full Stack コンテスト 2022 🏆 です!
期間: 2022年6月27日~7月17日まで(詳細は末尾をご参照ください)
💰賞金総額: $10,000 💰
こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。
現在テーブルを用いてシステムの設計を行っておりますが、
トランザクション中に、そのトランザクションの影響を受けずにテーブルを
更新するような仕組みが欲しいと考えております。
(トランザクションがRollbackされても、そのテーブルの更新だけは確定させたい。)
例えば$INCREMENT()はトランザクション中であっても、その制約を無視して値を更新できます。
そのような回避策がないかをご教示いただきたいです。
用途としては、連番を生成するAPIを作成していて、その値をテーブルで管理しています。
このAPIは複数プロセスから呼ばれることがありますが、
1トランザクション中の連続Updateにより、行ロックからテーブルロックへの昇格が行われる
(1000行以上行ロックをしたときのIRISの仕様)ことで、
他プロセスがAPIを利用できなくなるなどの影響が出ています。
今回のAPIに関しては、番号重複さえ起きなければよいので、そのような影響は受けたくありません。
極力グローバルは用いない設計としたいので、テーブルで対応したいです。
すいませんが、何か情報をお持ちの方はご回答いただけますと幸いです。
開発者コミュニティの皆さん
こんにちは。
ご存知のように、今年のグローバル・サミットは対面式です。ぜひ、皆さんとお会いしたいですね!
コミュニティのメンバー全員が参加できるわけではありませんので(私もです!)、メンバーからのメッセージビデオを制作することにしました 。🎥
この素晴らしいイベントに世界中から参加しましょう!🌏
このチャレンジでは、コミュニティメンバーに「あなたの国からこんにちは🙌」と言う短い(2〜3秒)ビデオをアップロード⬆️してください。その動画を他の動画と組み合わせて、グローバルサミット2022で紹介します。共有ファイルのリンクをDMで送るだけでもOKです。
では、またお会いしましょう!
これは、一般的なデータベース(PostgreSQL や MySQL など)から IRIS への移行に関する前回の記事に続く記事です。
PostgreSQL から移行する際に使用する場合と同じ手続きを使用します。 ただし、MySQL で使用されているデータ型は IRIS のデータ型に非常に似ているため、前回よりもさらに簡単に移行できます。 このため、列に変換ルールを作成する必要はありません。
GitHub では、2 つのデータベースをビルドして実行する docker compose プロジェクトをダウンロードできます。
サンプルを取得して実行するには、以下の手順に従います。
開発者の皆さん、こんにちは!
InterSystems グランプリコンテスト の投票結果が発表されました!この記事ではコンテスト受賞者を発表します📢
Postgres から IRIS にデータとデータスキーマを転送または移行する必要がある場合があります。 これを現時点で実行するにはいくつかのオプションがありますが、最も一般的なオプションは、DBeaver(https://openexchange.intersystems.com/package/DBeaver)または SQLGateway を使用する 2 つの方法です。 最初のオプションはこの記事で紹介しますが、2 つ目のオプションは Robert Cemper が書いた「SQLgateway を使ったデータベース移行」(https://community.intersystems.com/post/db-migration-using-sqlgateway)という優れた記事で紹介されています。この記事では、DBeaver を使った移行の実行方法を説明します。
GitHub では、2 つのデータベースをビルドして実行する docker compose プロジェクトをダウンロードできます。
開発者のみなさん、こんにちは!
前回のウェビナー開催から少し時間がたってしまいましたが、2022年06月28日 (火曜日) 12時半~ 30分程度のウェビナーを開催します!
今回は、新たに開講する「Embedded Python トレーニングコース」の内容をご紹介するウェビナーです。
新規開講コースでは、
を実際の操作を通してご理解いただけるよう、コースを3種類に分けております。
ウェビナーでは、
について、ご説明いたします。
まだ、インターシステムズ製品を使ったことがない!という方でもご参加いただけます。
特に、以下内容についてご興味をお持ちの方々にお勧めするウェビナーです。
皆様のご参加、心よりお待ち申し上げております![]()
開発者のみなさん、こんにちは!
2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「Embedded Python で広がる InterSystems IRIS の世界」のアーカイブを YouTube に公開いたしました。
(プレイリストはこちら)
今や Python は最も人気のあるプログラミング言語の一つです。シンプルで機能的なコードが書けることや、なんでも揃う豊富なライブラリを利用できることなどが人気の理由です。
Embedded Python は、IRIS に Python のランタイムを組み込み、ルーチンやメソッドを Python で書けるようにする画期的な機能です。
IRIS 開発者の方にとって、広大な Python の世界が身近になります。InterSystems IRIS の新しいカタチを是非ご覧ください。
本リリースのハイライト
プラットホームの更新
InterSystems IRIS Data Platform 2022.1 は以下の最新OSをサポートします。
Windows Server 2022
Windows 11
AIX 7.3
Oracle Linux 8
また、開発環境用として、M1 ならびに IntelチップセットのMacOS 12 (Monterey) をサポートします。
開発環境の向上
Embedded Python ... IRIS内でObjectScriptとPythonが使用できます。
Kafka,やAWS S3、AWS SNS、CloudWatch向けアダプタの追加
Production Extensions (PEX)のユーザインターフェースの更新
スピード、スケール、セキュリティ, Scale, &
コミュニティの皆さん、こんにちは。
今までにミラーリング環境をセットアップされたことはありますか? プライベートネットワーク、仮想 IP アドレス、および SSL 構成を設定したことはありますか? この作業を何度か繰り返すと、証明書の生成や各 IRIS インスタンスの構成にはたくさんの手動による作業が必要で、時間がかかる作業であることに気づきました。 頻繁にこの作業を行わなければならない方にとっては、面倒な作業です。
たとえば、品質管理チームでは、新しいバージョンのアプリケーションをテストするたびに、新しい環境を作成しなければならないでしょう。 サポートチームであれば、複雑な問題を再現する環境を作成しなくてはならないかもしれません。
となれば、こういった環境を素早く作成できるツールが絶対に必要です。
この記事では、以下を使用するミラー環境のセットアップ例を紹介します。
一見すると、ちょっと複雑であり、たくさんのコードが必要なように見えますが、ご心配いりません。 OpenExchange には、ほとんどの操作を簡単に実行できるライブラリがあります。
Cachéでは、今後の新しいOSのサポート、例えばWindows 11やWindows 2022のサポートは行われないことになりました。
いよいよ新しいサーバハードウェアを導入するとCachéが使えなくなる可能性が高くなってきました。
皆さんIRISへの移行をお早目にご検討ください。
IRISへの移行の際に障害となるものの1つがVisM.OCXを利用したアプリケーションの移行です。
IRISでもこの機能は制限付きで利用可能です。
しかし、そのためには少々面倒な手続きが必要です。
(この手続きについてはインターシステムズにお問い合わせください)
しかもこの手続きも暫定処置で将来なくなる可能性もゼロではありません。
ところでなんでそんな面倒くさい手続きが必要なのと感じた人もいると思います。
その理由は、
VisM.OCXがマイクロソフトの非常に古い技術を利用していて、開発元のマイクロソフトもそれを全くサポートしていませんし、セキュリティ脆弱性への対応等も全く行われていません。
そんな技術なんで、インターシステムズも技術サポートするのが困難です。
一方で、世の中、セキュリティに関しては増々厳しい対応が求められてきています。
そのためインターシステムズもセキュリティ対策には十分注意して対応しており、セキュリティの脆弱性が見つかったらできるだけ速やかに対応しています。
VisM.OCXはVisual Basicでクライアント・サーバー型のアプリケーション開発を支援するためにInterSystemsが提供してきたツールです。
誕生から既に20年以上が経過した非常に古いテクノロジーです。
OCX規格(ActiveXコンポーネント)は、マイクロソフト社が推進してきた規格ですが、やがてマイクロソフト社が後継となる.Net Frameworkをリリースし、その新しいフレームワークへの移行を強力に推進すると同時に、OCX規格は非推奨機能となっています。
一方で下位互換性のため、.Net Framework配下でOCXを動作可能とする仕組みが用意されており、結果としてOCXは、.Net Framework環境下で動作可能です。
従って、VisM.OCXも.Net対応のプログラミング言語C#やVB.NETからそのまま利用することができます。
しかしながら.Net Framework上で動作するとは言え、.Net Frameworkが用意する安全性の高い資源管理や強固なセキュリティ機能の恩恵を受けることができず、いわゆるマネージドコードとして動作できないという制約を抱えています。
開発者の皆さん、こんにちは!
InterSystems グランプリ・プログラミングコンテストの投票が始まりました!ベストアプリケーションだ🔥と思う作品に投票をお願いします!
🔥 投票はこちらから! 🔥
投票方法は以下ご参照ください。
こんにちは! Open Dataset コンテストにおいて、1 つのコンテナに InterSystems IRIS と Openflights データセットを、もう 1 つのコンテナに InterSystems IRIS と Apache Zeppelin を使用する Docker コンテナアプリスタックを構築しました。 詳細はこちらでご覧ください: https://github.com/andreas5588/openflights_demo
これを使用すると、構成をまったく行わずに、Apache Zeppelin から Openflights データセットをクエリできます。 コンテナは hub.docker にあるため、とても簡単に使用できます。
Docker ダッシュボードを確認すると、openflights_demo というグループがあるのがわかります。
Apache Zeppelin には以下からアクセスします。
http://localhost:8080
スクリーンショットで確認できるように、データベースのポートも公開されているため、好きなように IRIS に直接接続することができます。
これは InterSystems FAQ サイトの記事です。
InterSystems IRIS/Caché の管理ポータルメニュー:SQLデータインポートウィザードの処理で行うようなCSVファイルをテーブルへインポート、テーブルからファイルにエクスポートする方法をプログラムで実行することができます。
※ サンプルはバージョン 2017.1以降で動作確認しています。
※ バージョン 2016.2.3以前でお試しいただく場合は、SQL.Utilsクラス の20行目をコメント化してからご利用ください。
//Set mgr.IQN=$$$BuildIQN(SchemaName,TableName)
サンプルはこちらにあります👉https://github.com/Intersystems-jp/DataImportExport
CSVファイルをテーブルへインポート、テーブルからファイルへエクスポートの処理は、SQL.Utilsクラスを使用しています。
1) サンプルのインポート
実行したいネームスペースに SQL.Utilsクラスをインポートします。
スタジオをご利用の場合は、ファイルをドラッグ&ドロップするとインポートできます。
こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。
EmbededPythonに興味があり、利用を検討しているのですが、
スタンドアロン下におけるライブラリの使用方法について疑問があります。
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AFL_epython#AFL_epython_pylibrary
こちらを確認しましたところ、ライブラリは以下のコマンドで取得するという理解です。
> irispip install --target C:\InterSystems\IRIS\mgr\python ライブラリ名
pipコマンドではネットワーク上から、名称に一致したライブラリをダウンロード/インストールしてくれる
機能と認識しておりますが、利用したいPCがインターネットに接続されていなかった場合、
単純にこのコマンドを実行してもエラーになるだけと考えております。
このようなスタンドアロン下でのライブラリ取得について、何か知見がありましたらご教示いただけませんでしょうか?