記事 Toshihiko Minamoto · 2022年9月26日 8m read プログラムによるインターオペラビリティの実行例 プログラムによる本番環境アクセス プログラムで本番環境(インターフェース)を編集するには、相互運用性 apis と SQL クエリを組み合わせて使用できます。 現在のネームスペース 大まかに言えば、その時点で作業しているネームスペースと本番環境を知ることが重要です。 // Object script // アクティブなネームスペースはこの変数に格納される $$$NAMESPACE // ネームスペースを出力 Write $$$NAMESPACE # Python import iris # このメソッドからアクティブなネームスペースが返される iris.utils._OriginalNamespace() # ネームスペースを出力 print(iris.utils._OriginalNamespace()) >>> DEMONSTRATION 現在の本番環境(アクティブまたは最後に実行した本番環境) 本番環境の名前を知ることも重要です。次の API を使用してネームスペース内のアクティブな本番環境を取得できます。 #Embedded Python #ObjectScript #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 143
記事 Toshihiko Minamoto · 2022年9月20日 6m read データ移行ツール パート III: DB2 から IRISへ これは、市場に出回っている主なデータベースから InterSystems IRIS への移行に関する連載第 3 回目の記事です。 このパートでは、DB2 からの移行手続きを説明します。前の記事で説明したとおり、現時点ではいくつかの移行オプションが存在しますが、 最も一般的なオプションは、DBeaver(https://openexchange.intersystems.com/package/DBeaver)または SQLGateway を使用する 2 つの方法です。 最初のオプションはこの記事で紹介しますが、2 つ目のオプションは Robert Cemper が書いた「SQLgateway を使ったデータベース移行」(https://community.intersystems.com/post/db-migration-using-sqlgateway)という優れた記事で紹介されています。 # データのインポートとエクスポート #InterSystems IRIS 0 0 0 238
記事 Toshihiko Minamoto · 2022年9月14日 2m read VSCode のTips & Tricks - Web ターミナル VSCode から直接 Web ターミナルにアクセスしたいと思いませんか? #ヒントとコツ #開発環境 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 221
記事 Toshihiko Minamoto · 2022年9月10日 49m read Python のみを使用した InterSystems のインターオペラビリティフレームワーク このフォーメーションは私の GitHub にあり、30 分で csv ファイルと txt ファイルの読み取りと書き込み方法、Postgres を使ったIRIS データベースとリモートデータベースの挿入とアクセス方法、FLASK API の使用方法について説明します。これらすべてに、PEP8 命名規則に従った、Python のみのインターオペラビリティフレームワークを使用します。 #API #Embedded Python #Python #データベース #フレームワーク #ベストプラクティス #Ensemble #InterSystems IRIS #VSCode #学習ポータル 1 0 0 199
記事 Toshihiko Minamoto · 2022年8月31日 7m read データ移行ツール - パート IV: Microsoft SQL Server から IRIS これは、市場に出回っている主なデータベースから InterSystems IRIS への移行に関する連載第 4 回目の記事です。 このパートでは、Microsoft SQL Server から移行するための手順を説明します。 前の記事で説明したとおり、現時点ではいくつかの移行オプションが存在しますが、最も一般的なオプションは、DBeaver(https://openexchange.intersystems.com/package/DBeaver)または SQLGateway を使用する 2 つの方法です。 最初のオプションはこの記事で紹介しますが、2 つ目のオプションは Robert Cemper が書いた「SQLgateway を使ったデータベース移行」(https://community.intersystems.com/post/db-migration-using-sqlgateway)という優れた記事で紹介されています。 # データのインポートとエクスポート #InterSystems IRIS 0 0 0 209
記事 Toshihiko Minamoto · 2022年8月25日 2m read クラス/テーブルのサイズ情報を計算する その昔、クラス/テーブルのデータ、ストリーム、インデックスのサイズを判断するのは簡単なことでした。%GSIZE を実行して、D、S、I グローバルをそれぞれ確認するだけで済みました。 ところが最近では、シャーディングや、最適化されたグローバル名、分離されたグローバルのインデックスでは以下のような %GSIZE 出力が生成されます。 #SQL #シャーディング #InterSystems IRIS Open Exchange app 1 0 0 218
記事 Toshihiko Minamoto · 2022年8月17日 11m read %SYSTEM.Encryption クラスを習得する #セキュリティ #ベストプラクティス #InterSystems IRIS Open Exchange app 1 0 0 357
記事 Toshihiko Minamoto · 2022年8月11日 1m read VSCode のヒントとコツ - 名前でクラスを開く Studio では、クラスを直接その名前で開くことができます。何度もクリックしながら目的のクラスに到達するまでパッケージツリー内を移動する必要はありません。 Ctrl + O(またはファイル -> 開く)を押せば、以下のようにクラス名を入力するだけです。 Enter を押すと、クラスが開きます。 VSCode ではこれをどのようにして行えるでしょうか? #ヒントとコツ #開発環境 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 385
記事 Toshihiko Minamoto · 2022年8月2日 5m read ライセンス消費状況について サポートではこのような質問をたまに受けることがあります。何かが、または誰かが、想定以上のライセンスを使用しており、それを調べなければなりません。 調べるタイミングは2回あります。 1 つは、アプリケーションが動作しないか、ターミナル経由で接続しようとすると次のような「愛くるしい」メッセージが表示され、ライセンスが使い果たされていることに気づいたときです。 <LICENSE LIMIT EXCEEDED> メッセージ: 2 つ目のタイミングは、アプリケーションを使用できなかったことがあったという苦情をエンドユーザーから受けたときですが、問題が発生しているのを確認するには遅すぎます。 こういった場合には通例、messages.log に「License Limit exceeded xxxx times」というメッセージが確認されます。 #システム管理 #デバッグ #監視 #InterSystems IRIS 0 0 0 412
記事 Toshihiko Minamoto · 2022年7月26日 5m read Jupyter Notebooks に ObjectScript を追加する方法 Jupyter Notebook は、多数の異なるマークアップ言語とプログラミング言語でコードを実行できるセルで構成された対話型環境です。 Jupyter はこれを実現するために適切なカーネルに接続しなければなりませんが、 ObjectScript カーネルがなかったため、それを作成することにしました。 こちらから試すことができます。 結果を少し覗いてみましょう。 #API #Python #InterSystems IRIS Open Exchange app 0 0 0 135
記事 Toshihiko Minamoto · 2022年7月19日 2m read InterSystems レポート: トラブルシューティングとして、サポートでユーザーのレポートを実行できるようにする方法 インターシステムズのサポートではレポートのトラブルシューティングを手助けしており、彼らはローカルシステムにて問題を再現したいのですが、JDBC データソース接続が失敗するため、レポートを実行できず、残念な結果となります。 何かよい方法はあるでしょうか? #InterSystems Reports (Logi) #InterSystems IRIS 0 0 0 83
記事 Toshihiko Minamoto · 2022年7月14日 2m read 相互運用性の例: DICOM 本番環境とシミュレーター 開発者の皆さん、こんにちは! DICOM 統合を実装したことはありますか? おそらく例やシミュレーターを探したことはあるかもしれません。 この記事では、有用な例を紹介したいと思います。 DICOM はヘルスケアの分野で画像診断に広く使用されているメッセージ規格です。DICOM 規格は、IRIS For Health と Health Connect の両方を使用して、相互運用性の本番環境で使用することができます。これについては、ドキュメントをご覧ください。 多くの場合、DICOM 統合を開発する際に外部システム(PACS など)をシミュレーターで実行すると非常に便利です。実際のシステムに接続する前に、実装したいフローを完全にテストすることができます。 IRIS For Health と dcm4che というシミュレーターを使った DICOM 統合の例があります。 #相互運用性 #InterSystems IRIS for Health Open Exchange app 0 0 0 163
記事 Toshihiko Minamoto · 2022年7月12日 21m read gRPC と Hello World はじめに この記事では、gRPC とは何か、そして IRIS 組み込み Python を使って公式の Hello World を実行する例を紹介します。 ここで紹介するすべてのコードは、こちらのプロジェクトリポジトリにあります。 gRPC gRPC(gRPC リモートプロシージャーコール)は、RPC プロトコルに基づく API アーキテクチャー式です。 このプロジェクトは、2015 年に Google によって作成され、Apache 2.0 の下にライセンス供与されています。 現在、プロジェクトは、Cloud Native Computing Foundation(CNCF)によってサポートされています。 マイクロサービス式のアーキテクチャのサービスなど、バックエンド間でサービスを接続することで使用することができます。 #Embedded Python #InterSystems IRIS 0 0 0 1.2K
記事 Toshihiko Minamoto · 2022年7月11日 3m read グローバルサミット 2022 レポート パートII 前編から少し間が空きましたが、シアトルで開催されたグローバルサミット2022の数日間を簡単に振り返ってみましょう。 After a short (or too long) pause from the previous part here is a short recap of the next few days of the Global Summit 2022 in Seattle! 前回同様、キーノートで始まりました(明日から視聴できます)。 しかし、6月21日の基調講演とは異なり、その翌日はData Platform IRISに特化した内容となっています。前回同様、トピックとプレゼンターはこちらで確認できます。注目のスピーチは、ベストセラー作家、コンサルタント、破壊的技術のスペシャリストであるGeoffrey Moore氏 #グローバルサミット2022 #グローバルサミット 1 0 0 270
記事 Toshihiko Minamoto · 2022年7月11日 4m read グローバルサミット2022 レポート 開発者コミュニティのメンバー、インターシステムズパートナー、そしてインターシステムズ製品に興味を持つ多くの人々が、待ち望んでいた時がやってきました。ついに、長い間お待たせしていたGlobal Summitが今年開催することができました。今回は、シアトルでの開催です。 急な坂道、エリオット湾の絶景、そして地元の人に言わせれば、常に天候の悪い美しい都市 #グローバルサミット2022 #グローバルサミット 2 0 0 304
記事 Toshihiko Minamoto · 2022年7月8日 8m read カスタムのビルトイン REST API /api/monitor/metrics による IRIS 履歴モニター 皆さん、こんにちは。 IRIS 履歴モニタープロジェクトが更新されました。ZPM とビルトインの REST API /api/monitor/metrics を使用します。 #CSP #ダッシュボード #監視 #InterSystems IRIS Open Exchange app 0 0 0 150
記事 Toshihiko Minamoto · 2022年6月28日 5m read ダッシュボードの IRIS 履歴モニター 皆さん、こんにちは! 職場で持ち上がった単純なリクエストで始めた個人プロジェクトを紹介したいと思います。 使用している Caché ライセンス数を調べることはできますか? コミュニティに掲載されている他の記事を読んでみたところ、David Loveluck が投稿したぴったりの記事が見つかりました。 APM - Using the Caché History Monitor(APM - Caché 履歴モニターを使用する) https://community.intersystems.com/post/apm-using-cach%C3%A9-history-monitor #CSP #Docker #コンテナ化 #システム管理 #ダッシュボード #監視 #Caché #InterSystems IRIS #Open Exchange Open Exchange app 0 0 0 175
記事 Toshihiko Minamoto · 2022年6月24日 9m read Intersystems IRIS と組み込み Python の相互運用性 1. interoperability-embedded-python この概念実証では、embedded Python で IRIS 相互運用フレームワークをどのように使用できるかについて示すことを目的としています。 1.1. 目次 1. interoperability-embedded-python 1.1. 目次 1.2. 例 1.3. コンポーネントの登録 2. デモ 3. 前提条件 4. Docker を使用したインストール 5. Docker を使用しないインストール 6. サンプルの実行方法 7. リポジトリの内容 7.1. Dockerfile 7.2. .vscode/settings.json 7.3. .vscode/launch.json 7.4. .vscode/extensions.json 7.5. src フォルダ 8. 新しいコンポーネントの追加方法 8.1. InboundAdapter 8.2. OutboundAdapter 8.3. BusinessService 8.4. BusinessProcess 8.5. BusinessOperation 8.6. コンポーネントの登録 8.7. Grongier.PEX の直接利用 9. 今後の取り組み 10. クレジット 1.2. 例 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 1.3. コンポーネントの登録 ObjectScript は不要です。 #Embedded Python #Python #InterSystems IRIS Open Exchange app 0 0 0 346
記事 Toshihiko Minamoto · 2022年6月21日 3m read SQLgateway を使ったデータベース移行 @Yuri Marx のお陰で、非常に優れた Postgres から IRIS へのデータベース移行の例を確認できました。 私の個人的な問題は、DBeaver を移行ツールとして使用することです。特に、以前の IRIS(それから Caché)の強みの 1 つは、JBDC または ODBC でアクセスできる限り任意の外部 Db にアクセスできる SQLgateways を利用できることであったためです。 そこで、これを実演するために、パッケージを拡張しました。 #Docker #SQL # データのインポートとエクスポート #InterSystems IRIS Open Exchange app 0 0 0 278
記事 Toshihiko Minamoto · 2022年6月14日 6m read データ移行ツール - パート II: MySQL から IRIS これは、一般的なデータベース(PostgreSQL や MySQL など)から IRIS への移行に関する前回の記事に続く記事です。 PostgreSQL から移行する際に使用する場合と同じ手続きを使用します。 ただし、MySQL で使用されているデータ型は IRIS のデータ型に非常に似ているため、前回よりもさらに簡単に移行できます。 このため、列に変換ルールを作成する必要はありません。 移行プロセスにサンプルデータを取得 GitHub では、2 つのデータベースをビルドして実行する docker compose プロジェクトをダウンロードできます。 ソースデータベース: サンプルデータベースを含む MySQL データベースの Docker インスタンス。 ターゲットデータベース: ソースデータベースを受け取る準備のできたスキーマを含む InterSystems IRIS データプラットフォームの Docker インスタンス。 サンプルを取得して実行するには、以下の手順に従います。 # データのインポートとエクスポート #InterSystems IRIS 0 0 0 246