記事 Tomohiro Iwamoto · 2022年7月11日 2m read oAuth2認証対応のIMAP,SMTPアダプタ オリジナルの「InterSystems IRIS で Python を使って IMAPクライアントを実装する」は、埋め込みPythonを使用してIMAPインバウンドアダプタを実装されていますが、最近メールプロバイダがあいついでoAuth2認証しか受け付けなくなってきているので、その対応をしてみました。 本稿のGitHubはこちらです。 変更点 GMAILに対してメールの送受信を可能とするためにオリジナルに以下の修正を施しています。 #Embedded Python #OAuth2 #相互運用性 #InterSystems IRIS 1 0 0 627
記事 Hiroshi Sato · 2022年7月11日 1m read 外部の Pythonファイル を Embedded Python で呼び出す方法 IRISがc:\InterSystems\IRISにインストールされているとします。(1) a.py を C:\InterSystems\IRIS\lib\python に置きます。 a.py def test(): print('Hello World!') (2) それを IRISのクラスから実行します。 #Embedded Python #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 624
記事 Mihoko Iijima · 2022年1月6日 4m read IRIS ターミナルで履歴からのコマンド実行、コマンドのショートカット作成ができるのをご存知ですか? 開発者のみなさん、あけましておめでとうございます🎍 今年もどうぞよろしくお願いします! さて、この記事では、IRIS ターミナルに(こっそり)追加された便利機能をご紹介します!(つい最近知りまして、びっくりしました) 2023/4/13 追記:Pythonシェルへ切り替えるメソッドのショートカットが追加されていたので返信欄に追記しました。 IRIS ターミナルで以前実行したコマンドを再実行する場合、上矢印キーを連打しながらコマンドを探されていると思うのですが、IRIS 2021.1 から履歴表示と、履歴番号を指定した実行ができるようになっていました! では早速、履歴(history)の使い方をご紹介します。これがあれば、もう、上矢印キーを連打せずに以前実行したコマンドを再実行できます!! #ターミナル #InterSystems IRIS 6 1 0 603
記事 Hiroshi Sato · 2020年7月27日 13m read Cache Active X Bindingを利用したシステムをIRISに移行する方法 初めに Caché ActiveX Bindingは、Visual Basicでクライアント・サーバー型のアプリケーション開発を支援するためにInterSystemsが提供してきたツールです。 CacheActiveX.dllとCacheObject.dllの2種類のバージョンが存在します。 IRISでは、CacheActiveX.dllは動作可能です。 CacheObject.dllはサポートしていません。 いずれにしろ誕生から既に20年以上が経過した非常に古いテクノロジーでマイクロソフト社も非推奨の古い規格ですので、今後も使い続けるのは得策ではありません。 Caché ActiveX Bindingの機能はIRISに用意されている.Net Native APIと.Net Managed Providerの機能を使って書き換え可能です。 ここでは、Caché ActiveX Bindingを使って書かれていたサンプルアプリケーションをIRISで動作するように移植した作業内容について解説します。 このサンプルは、以下のgithubサイトから入手可能です。 #.NET #InterSystems IRIS 0 0 0 622
記事 Hiroshi Sato · 2020年8月26日 4m read Caché .Net BindingアプリケーションをIRISの.Net Native APIを利用して書き換える方法(その2) ここで紹介するサンプルは、以下のGitHubから入手可能です。 .NETサンプル Powershellから.NETインタフェースを呼び出すサンプル1 callclassmethod.ps1というファイル名です。 処理内容は、Caché (IRIS)のバージョン情報を表示するという非常に単純なものです。 Caché では.Net Bindingを使用していましたが、IRIS用に.Net Native APIで書き換えてみます。 以前のCaché のコードは以下の通りです。 #InterSystems IRIS 1 0 0 621
記事 Shintaro Kaminaka · 2020年4月28日 9m read SSL/TLS用Cachéクライアントアプリケーションの構成 CachéまたはEnsembleへの接続にStudio、ODBC、またはターミナルを使用している場合、その接続をどのように保護すれば良いのか疑問に思うかもしれません。 選択肢の一つに、TLS(別名SSL)を接続に追加することが挙げられます。 Cachéクライアントアプリケーション(TELNET、ODBC、Studio)にはすべて、TLSを接続に追加する機能があります。 あとは単純にその構成を行うだけです。 2015.1以降はこれらのクライアントを簡単に設定できるようになりました。 ここでは、その新しい方法について説明します。 既に古い方法を使用している場合も引き続き機能しますが、新しい方法への切り替えを検討することをお勧めします。 #SSL #セキュリティ #Caché 0 0 0 619
記事 Toshihiko Minamoto · 2023年8月30日 2m read SAM と cAdvisor による Docker コンテナの監視 cAdvisor(Container Advisor)は、実行中のコンテナのリソースの使用率とパフォーマンスデータを分析して公開します。 cAdvisor は初期設定のままで Prometheus メトリクスを公開します。 https://prometheus.io/docs/guides/cadvisor/ Prometheus は SAM に統合されています。 このため、cAdvisor メトリクスと利用して Prometheus と Grafana で公開することが可能です。 cAdvisor はポート 8080 でリッスンしますが、これは Nginx のポートと競合するため、それに対応するように Nginx ポートを変更することができます。 構成手順: nginx ポートを変更します。 nghix.conf を変更します。 #System Alerting and Monitoring (SAM) #ベストプラクティス #InterSystems IRIS 0 0 0 618
記事 Megumi Kakechi · 2021年12月9日 3m read 管理ポータル/スタジオ/ターミナルにパスワード認証を設定する方法 これは、InterSystems FAQサイトの記事です。 【 管理ポータルへのパスワード認証設定方法 】 管理ポータルの、 [ホーム] > [システム管理] > [セキュリティ] > [アプリケーション] > [ウェブ・アプリケーション]で /csp/sys、および、/csp/sys/ 以下の各アプリケーション(/csp/sys/expなど) の編集画面を開き、“許可された認証方法” の、"認証なし" のチェックを外し、“パスワード” のみチェックをして保存します。 #システム管理 #セキュリティ #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 618
記事 Megumi Kakechi · 2022年12月1日 5m read 複数インスタンスでライセンスを共有する場合に必要な設定 これは InterSystems FAQ サイトの記事です。 複数インスタンスでライセンスを共有する場合、ライセンスを統合管理するライセンスサーバの設定が必要です。 1. ライセンスサーバの構成 1) ライセンスキーの配置 ライセンスキー(IRIS.key/cache.key)は、すべての インスタンスの <インストールディレクトリ>/mgr に配置してください。 ただし、IRIS 2021.1 以降のバージョンをお使いの場合は KeyDirectory を指定することで全てのインスタンスへのライセンスキーの配置は必要なくなります。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 616
記事 Megumi Kakechi · 2022年9月21日 2m read SQL ゲートウェイを使用した外部データベースへのアクセス方法について SQL ゲートウェイ接続を使用した、外部データベースへのアクセス方法についてご説明します。 手順は以下になります。 1. 外部ソースへの SQL ゲートウェイ接続の作成を行います ※こちらの例では、IRISの別インスタンスへの接続を試しています。 ※ODBCを使用される場合は、事前にシステムDSN(64bit)の準備が必要です。管理ポータルより [システム管理] > [構成] > [接続性] > [SQLゲートウェイ接続] の 新規接続作成 ボタンをクリックします。 接続の種類を選択し、必要項目を設定します。以下のサンプルは、ODBC接続(別IRISインスタンスのDSN設定)を行っています。 #JDBC #ODBC #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 614
記事 Mihoko Iijima · 2020年11月20日 3m read InterSystems 製品を初めて使用する方向け学習コンテンツなど これはInterSystems FAQ サイトの記事です。 (2025/2/17更新)担当される役割や学習目的に合わせた最適なラーニングパス(学習経路)を確認できるページ :InterSystems ラーニングパス をご利用ください(ページの使い方については、記事「学習目的に合わせた最適なラーニングパス(学習経路)を確認できるページ」をご参照ください)。 また、現在ご覧いただいている開発者コミュニティの中では、初心者(beginner)タグ があり、下記セルフラーニング用資料/ビデオをご用意しています。ぜひご参照ください。 【はじめての InterSystems IRIS】セルフラーニングビデオ 索引 【はじめてのInterSystems IRIS】セルフラーニングビデオ:アクセス編:IRIS で作成する REST サーバの仕組み Python から IRIS にアクセスしてみよう! Python の NativeAPI に挑戦 Python から PyODBC を使って IRIS に接続してみよう 【はじめてのInterSystems IRIS】Interoperability(相互運用性)を使ってみよう! 【はじめてのInterSystems IRIS】Embedded Python セルフラーニングビデオシリーズ公開! ObjectScript クックブック 「ObjectScript」の基本の使い方から、困ったときのヒント集、エラーの読み方などを解説しています。 セルフラーニングビデオ以外にも、過去に開催したウェビナーアーカイブビデオも公開しています👉「開発者向けウェビナー:アーカイブビデオ一覧」 ぜひご参照ください。 #初心者 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 613
記事 Mihoko Iijima · 2024年1月25日 4m read プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要 開発者の皆さん、こんにちは。 こちらの記事👉「Apache Webサーバ(プライベートWebサーバ: PWS)インストレーションの廃止」でご案内していましたが、コミュニティエディションを除くInterSystems製品のバージョン2023.2以降では、プライベートWebサーバ(*)を使用した管理ポータル/Webアクセスを非推奨に変更しました。 (*)プライベートWebサーバとは、バージョン2023.1以前のInterSystems製品をインストールすると自動でインストールされる簡易的なApacheで、52773番ポートで管理ポータルやWebアクセスのテストにご利用いただけるWebサーバです。(本番運用環境には適さない簡易的なWebサーバです) 新規インストール/アップグレードインストールによるプライベートWebサーバの利用可否やインストール時の選択項目の違いについての概要は以下表をご参照ください。 #Web Gateway #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 2 3 0 549
記事 Mihoko Iijima · 2020年11月20日 2m read データベースのバックアップ方法について これはInterSystems FAQ サイトの記事です。 バックアップには、以下4種類の方法があります。 外部バックアップ オンラインバックアップ(コンカレントバックアップ) コールドバックアップ レガシー並行外部バックアップ 詳細は、以下ドキュメントをご参照ください。 バックアップの方法について【IRIS】バックアップの方法について #システム管理 #バックアップ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 608
記事 Toshihiko Minamoto · 2020年10月22日 7m read JSONの機能強化 InterSystems IRIS 2019.1は公開されてからしばらく経ちますが、気づかれていない可能性のある、JSONの処理の強化機能について説明したいと思います。 最新のアプリケーションを構築する際、特にRESTエンドポイントを操作する際は、JSONをシリアル化形式として扱うことが重要です。 #JSON #REST API #XML #オブジェクトデータモデル #InterSystems IRIS 0 0 0 604
記事 Tomoko Furuzono · 2021年5月26日 2m read Windows のバッチスクリプトでIRISのルーチンやメソッドの戻り値を取得する方法 これは、InterSystems FAQサイトの記事です。 iris コマンドを使用して、InterSystems IRIS のインスタンスを制御できます。iris コマンドは多くの機能をサポートします。以下の構文を使用します。 #ObjectScript #InterSystems IRIS 0 1 0 583
記事 Mihoko Iijima · 2021年3月9日 1m read ダイナミックオブジェクトの JSON 変換で MAXSTRING エラーが出る場合の対処方法 これは InterSystems FAQ サイトの記事です。 ダイナミックオブジェクトから JSON 文字列を生成するときに使用する %ToJSON() の引数にストリームオブジェクトを指定することでエラーを回避できます。 コード例は以下の通りです。 USER>set temp=##class(%Stream.TmpCharacter).%New() USER>set jsonobj={} USER>set jsonobj.pro1=["a","b","c","d"] USER>set jsonobj.pro2=["あ","い","う","え"] USER>do jsonobj.%ToJSON(temp) USER>write temp.Size 51 USER>write temp.Read() {"pro1":["a","b","c","d"],"pro2":["あ","い","う","え"]} 詳細はドキュメントもご参照下さい。 #JSON #ObjectScript #オブジェクトデータモデル #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 3 0 543
記事 Mihoko Iijima · 2021年4月9日 1m read 指定のテーブルの全フィールドをSQLで取得する方法 これは InterSystems FAQ サイトの記事です。 INFORMATION_SCHEMA スキーマを使用して取得できます。 INFORMATION_SCHEMA はシステム用スキーマのため、デフォルトでは管理ポータルのSQLメニューに表示されません。表示させる方法は以下の通りです。 管理ポータル→システムエクスプローラ→SQL メニューを開きます。 スキーマのプルダウン左にある「システム」をチェックします。 スキーマのプルダウンから INFORMATION_SCHEMA を選択します。 #SQL #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 602
記事 Tomoko Furuzono · 2021年6月15日 1m read ターミナルをコマンドプロンプトから起動する方法 これは、InterSystems FAQサイトの記事です。 Windowsのコマンドプロンプトからターミナルを起動するには以下の様な操作を行います。 実行イメージの場所に移動します。 cd c:\interssytems\IRIS\bin 以下のコマンドを実行します。 ( インスタンス名のデフォルトは「IRIS」です。) iristerm.exe /console=cn_ap:<インスタンス名>[] コンソールターミナルは以下のように実行します。 #ターミナル #InterSystems IRIS 0 0 0 596
記事 Minoru Horita · 2020年7月21日 10m read Python Gateway パートIII:基本機能 この連載記事では、InterSystemsデータプラットフォーム用のPython Gatewayについて説明します。 また、InterSystems IRISからPythonコードなどを実行します。 このプロジェクトは、InterSystems IRIS環境にPythonの力を与えます。 任意のPythonコードを実行する InterSystems IRISからPythonへのシームレスなデータ転送 Python相互運用アダプタでインテリジェントな相互運用ビジネスプロセスを構築する InterSystems IRISからのPythonコンテキストの保存、調査、変更、復元 その他の記事 現時点での連載計画です(変更される可能性があります)。 #Python #初心者 #InterSystems IRIS Open Exchange app 0 0 0 595
記事 Mihoko Iijima · 2023年9月18日 4m read VSCode:管理ポータルやスタジオにある「XMLファイルのインポート/エクスポート 」が追加されました 開発者の皆さん、こんにちは! スタジオを利用されている方にはお馴染みのソースコードの「XMLファイルへのエクスポート/インポート機能」がVSCodeのObjectScriptエクステンションに追加されました! (ObjectScript 2.10.0以降に含まれています。こちらのリクエストが元となりました👉https://github.com/intersystems-community/vscode-objectscript/issues/1158 エクステンションの追加番号は#1171です) 今まで、過去エクスポートしたXMLファイルをVSCodeから参照するためには、管理ポータル(またはスタジオ)を利用してインポートする必要がありましたが、VSCodeの画面だけでできるようになりました! 💡注意1: InterSystems IRIS /InterSystems IRIS for Health 2023.2以降のバージョンに接続した状態でご利用いただける機能です。 💡注意2:この機能は管理ポータルやスタジオのインポート/エクスポートのVSCode版のような機能となるため、インポートしたソースコードはサーバ側にインポートされ、エクスポートはサーバ側コードを選択してXMLファイルにエクスポートする動作となります。XMLファイルインポート後、VSCodeのワークスペースでローカルファイル(*.cls や *.mac)として編集 したい場合は、 ObjectScriptエクステンションマークをクリックし、対象のコードを選択→エクスポート の手順でローカルにエクスポートする必要があります。 #ObjectScript #ヒントとコツ #開発環境 #InterSystems IRIS #InterSystems IRIS for Health #VSCode 3 0 1 594
記事 Shintaro Kaminaka · 2021年10月10日 10m read FHIRリポジトリをカスタマイズしよう!パート1 開発者の皆さん、こんにちは。 IRIS for Health 2021.1がリリースされてからしばらくたちますが、多くのユーザさんにFHIRリポジトリ機能をお使いいただいています。 今日はFHIRリポジトリのサーバ側の処理をカスタマイズする機能をご紹介したいと思います。 この記事で紹介している内容のFHIRリポジトリカスタマイズに関するドキュメントマニュアルはこちらになります。 この記事はIRIS for Health 2021.1 をベースに記載しています。バージョンによってはカスタマイズに必要なクラスが異なることがあります(例えば2020.1では後述のRepoManagerクラスはまだありません。) #FHIR #InterSystems IRIS for Health 2 0 1 592
記事 Toshihiko Minamoto · 2021年3月1日 6m read IRISのInteroperability機能を使ったWindows共有フォルダでのファイル連携 開発者の皆さんこんにちは。Windows共有しているリモートサーバに出力されたファイルでデータ連携する際、セキュリティ上、資格情報が必要となるケースが良くあるかと思います。いままでCachéで連携していた時には%ZSTARTルーチンや常駐プロセスのルーチンにて「net useコマンド」を実行されていたかと思いますが、IRISではInteroperability機能が使用できますので、前回の記事で作成したビジネスサービスクラスを元に、資格情報を使ってWindows共有フォルダにアクセスできる機能を追加したいと思います。 仕組み ビジネスサービスが起動、停止する際に呼び出されるOnInit()、OnTearDown()メソッドにnet useコマンドを埋め込み、指定されている資格情報を使ってnet useコマンドで共有フォルダへの接続、切断を行います。 #Microsoft Windows #ObjectScript #相互運用性 #InterSystems IRIS 1 0 0 592
記事 Tomohiro Iwamoto · 2022年7月3日 18m read IRISリリース2022.1のご紹介(補足解説) IRISリリース2022.1のご紹介 本稿は、「InterSystems IRIS、IRIS for Health、HealthShare Health Connect 2022.1がリリースされました!」でご案内している内容を、補足解説する内容となります。 紹介ビデオ 米国本社プロダクトマネージャーによる本リリースのハイライトのご紹介ビデオ(英語)です。 https://www.intersystems.com/resources/whats-new-in-intersystems-iris-20... リリース内容 年一度のEMリリースです。 - メンテナンスアップデート提供:リリース日から2年間 - セキュリティアップデート提供:リリース日から4年間 #リリース #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 591
記事 Megumi Kakechi · 2021年11月10日 4m read InterSystems製品のプロセスが使用するメモリ量について これは InterSystems FAQ サイトの記事です。 InterSystems製品のプロセスが消費するメモリ領域は以下の6つの領域になります。 プロセスのプライベートな領域 1. プロセスパーティション(ローカル変数テーブル等、プロセスごとに使用するメモリ) 2. 長い文字列(LongString)使用メモリ 3. 文字列スタック...等 プロセス間共有領域 4. データベースキャッシュ 5. ルーチンキャッシュ 6. 一般ヒープメモリ(プロセステーブル、ロックテーブル等) #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 587
記事 Mihoko Iijima · 2020年7月20日 2m read 【はじめてのInterSystems IRIS】セルフラーニングビデオ:アクセス編:(REST)手動で作成するディスパッチクラス IRIS で REST サーバを作成する際に準備する REST ディスパッチクラスを手動で作成する方法を解説します。 ※関連ビデオで、OpenAPI 2.0 で定義したアプリケーションの仕様を利用する手順を使った API ファーストで作成するディスパッチクラスの解説ビデオもあります。 https://www.youtube.com/embed/q3XVT98_05I[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] このビデオには、以下の関連ビデオがあります。 #REST API #ビデオ #初心者 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 567
記事 Toshihiko Minamoto · 2021年5月4日 2m read ObjectScriptエラー処理のスニペット ObjectScriptには、エラー(ステータスコード、例外、SQLCODEなど)を処理する方法が少なくとも3つあります。 ほとんどのシステムコードにはステータスが使用されていますが、例外は、いくつかの理由により、より簡単に処理することができます。 レガシーコードを使用している場合、さまざまな手法の変換にいくらか時間が掛かりますが、 参考として、次のスニペットをよく使用しています。 皆さんのお役にも立てればと思います。 < #Code Snippet #エラーハンドリング #ObjectScript #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 587
記事 Tomohiro Iwamoto · 2020年8月17日 9m read SQLベースのベンチマークを行う際に、実施していただきたい5つの項目 本稿について 本稿では、InterSystems IRISを使用してSQLベースのベンチマークを行う際に、実施していただきたい項目をご紹介します。 Linuxを念頭においていますが、Windowsでも考慮すべき点は同じです。 メモリ自動設定をやめる パフォーマンスに直結する、データベースバッファサイズの自動設定はデフォルトで有効になっています。自動設定は、実メモリの搭載量にかかわらず、データベースバッファを最大で1GBしか確保しません。 更新: 2020年11月20日 バージョン2020.3から、確保を試みるデータベースバッファが実メモリの25%に変更されました。 搭載実メモリ64GB未満の場合は実メモリの50%程度、搭載実メモリ64GB以上の場合は実メモリの70%を目途に、明示的に設定を行ってください。 #SQL #パフォーマンス #InterSystems IRIS #InterSystems IRIS for Health 4 0 0 585
記事 Hiroshi Sato · 2021年10月7日 3m read ジャーナルファイルの内容を管理ポータル以外で参照する方法 これは InterSystems FAQ サイトの記事です。ジャーナルファイルのサイズが大きすぎて、管理ポータルで検索やフィルタリング等できない場合、以下の2つの方法で参照することができます。 ① ^JRNDUMP ユーティリティを使用する方法② プログラムで参照する方法 ============================================================ ① ^JRNDUMP ユーティリティを使用する方法 例えば、グローバル参照 ^ABC を含むジャーナルファイルのすべてのレコードを選択する場合は、以下のようになります。 ※以下、すべてのコマンドは %SYS ネームスペースで実行してください。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 4 0 502
記事 Megumi Kakechi · 2021年2月18日 3m read jQueryを使用してIRISからJSONデータを取得する方法 jQuery($.getJSON と $.ajax)を使用した InterSystems IRIS データのJSON形式での取得方法をご紹介します。 以下にサンプルをご用意しました。 https://github.com/Intersystems-jp/REST_JSON_sample サンプルには、次の内容が含まれます。 ・REST + JSON・REST + CORS ※それぞれ、$.getJSON と $.ajax で取得する方法を記載しています。 #JavaScript #JSON #REST API #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 582
記事 Toshihiko Minamoto · 2022年8月11日 1m read VSCode のヒントとコツ - 名前でクラスを開く Studio では、クラスを直接その名前で開くことができます。何度もクリックしながら目的のクラスに到達するまでパッケージツリー内を移動する必要はありません。 Ctrl + O(またはファイル -> 開く)を押せば、以下のようにクラス名を入力するだけです。 Enter を押すと、クラスが開きます。 VSCode ではこれをどのようにして行えるでしょうか? #ヒントとコツ #開発環境 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 579