記事 Hiroshi Sato · 2021年10月12日 2m read %Net.FtpSession クラスを使用してファイルサイズを取得する方法 これはInterSystems FAQ サイトの記事です。ファイルサイズを取得する専用メソッドはありませんが、%Net.FtpSession クラスの sendCommand() メソッドを通してFTPのSIZEコマンドを呼び出し、サイズを取得できます。 簡単な利用例をご紹介します。 まず、以下の様なクラスを定義します。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 223
記事 Toshihiko Minamoto · 2021年7月6日 8m read Web Serviceビジネスオペレーション – 応答タイムアウト時の動作 Webサービスを呼び出す際、ビジネスオペレーションには、規定時間内に応答が返されない場合の動作を制御する設定があります。 #SOAP #ビジネスオペレーション #Ensemble 0 0 0 569
記事 Hiroshi Sato · 2021年7月27日 1m read ODBCドライバーの単独入手 これは InterSystems FAQ サイトの記事です。 ご希望の場合は、カスタマーサポートセンターまでお問い合わせください。 #ODBC #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 245
記事 Megumi Kakechi · 2021年8月26日 2m read クラス定義のコンパイルで、「エラー #5368:クラス名 のオブジェクトが、1プロセスでインスタンス化されています。」のエラーが出ます これは InterSystems FAQ サイトの記事です。 こちらは、コンパイル時に既にそのクラスのインスタンスを開いている場合に起こるエラーです。 対処方としては以下の2つの方法があります。 インスタンスを開いているプロセスまたはアプリケーションを終了する スタジオのビルドメニュのコンパイルオプション:コンパイルフラグ “使用中のクラスをコンパイル” をチェックしコンパイルを行う インスタンス化しているプロセスを特定したい場合は、以下のサンプルルーチンをお試しください。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 130
質問 Yuji Ohata · 2022年3月6日 Interoperabilityのスケジュール起動について。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 現在複数のJob実行の仕組みをInteroperabilityの機能を使って実現しておりますが、特定のビジネスサービスは、xx:xx~yy:yyの間実行させたくない、という仕組みを実現させる必要が出てきました。 https://docs.intersystems.com/iris20201/csp/docbookj/DocBook.UI.Page.cls... ここに「スケジュール指定の定義」というものがあり、まさにこれが利用できるのかと思ったのですが、文献を見る限りだと、プロダクションそのものを停止するような仕組みに見えており、また実際に定義を作ってみたのですが、それをどうやってプロダクションへ反映させるかもわかりませんでした。 #Ensemble 0 2 0 173
記事 Hiroshi Sato · 2022年7月25日 1m read ミラーリングでデータベース以外のファイルを同期する方法 これは InterSystems FAQ サイトの記事です。 ミラーリングが同期の対象とするのはデータベースファイルのみです。 アプリケーションに必要なその他のファイル(CSPファイル、画像ファイル、ドキュメントファイルなど)をミラーセットを構成する二台のサーバー間で同期させるには、 NASなどを導入して共有ディスク上にそれらのファイルを配置する方法 または同期ソフトを導入して二台のサーバー間のファイルを同期させる方法 などの方法が考えられます。 また、2の方法ではWindows上ではRoboCopy、Linuxの場合にはrsyncという同期ソフトを使った実例があります。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 114
InterSystems公式 Masahito Miura · 2023年3月28日 Caché と Ensemble のメンテナンス・リリース インターシステムズは、新旧すべての製品について、お客様に高品質な製品サポートを提供することをお約束します。Caché はリリースされて 25 年になります。製品リリースを重ねるに応じてそのサポートは進展されていきます。 #Caché #Ensemble #InterSystems公式 0 0 0 280
記事 Mihoko Iijima · 2023年6月1日 7m read システム連携の自動的な流れの中にユーザからの指示を介入できる「ワークフローコンポーネント」のサンプル 開発者の皆さん、こんにちは。 先日のウェビナーでご紹介した「ワークフローコンポーネント」をお試しいただけるサンプルを公開しました。👉 https://github.com/Intersystems-jp/WorkFlow-DC 《サンプルのテーマ》 店舗で販売している商品に付けるPOPメッセージ候補を予めテーブルに登録できる仕組みが既にある、と仮定しています。 IRISの Interoperability を利用してPOPメッセージ候補が登録されるテーブルに対して一定間隔でSELECT文を実行し、未処理のメッセージを取得します。新たなレコードが存在する場合、ワークフローコンポーネントを利用して担当者に審査を依頼します。 担当者は、ワークフローユーザポータルを使用して、POPメッセージ候補の承認/却下を指示できるようにしています。 #Docker #Embedded Python #ビジネスオペレーション #相互運用性 #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 144
記事 Hiroshi Sato · 2024年3月18日 1m read UTF-8のBOM付きのファイルを作成する方法 これは InterSystems FAQ サイトの記事です。 UTF-8(BOM付)のテキストファイルは以下のようにして作成可能です。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 27
記事 Shintaro Kaminaka · 2020年8月26日 23m read InterSystems IRIS Open Authorization Framework(OAuth 2.0)の実装 - パート3 作成者:Daniel Kutac(InterSystems セールスエンジニア) パート 3. 付録 InterSystems IRIS OAUTH クラスの説明 この連載の前のパートでは、InterSystems IRIS を OAUTH クライアントおよび認可/認証サーバー(OpenID Connect を使用)として機能するように構成する方法について学びました。 この連載の最後のパートでは、InterSystems IRIS OAuth 2.0 フレームワークを実装するクラスについて説明します。 また、一部の API クラスのメソッドの使用例についても説明します。 OAuth 2.0 を実装する API クラスは、目的に応じて 3 種類のグループに分けることができます。 すべてのクラスは %SYS ネームスペースで実装されています。 これらの一部は(% package 経由で)公開されていますが、一部は非公開になっており、開発者が直接呼び出すことはできません。 #OAuth2 #セキュリティ #アクセス制御 #認証 #Caché #Ensemble #InterSystems IRIS 0 0 0 273
記事 Hiroshi Sato · 2020年12月15日 3m read クラス定義をスタジオ、Atelier以外を使用して作成する方法 これはInterSystems FAQ サイトの記事です。 InterSystems OpenExchangeのVS Code用のプラグインを利用することでVS Code上でクラス定義の編集が可能です。 (今後は、AtelierではなくVS Codeの使用を推奨しています。) 詳細は、以下ページをご参照ください。 vscode-objectscript また、逆にテーブル定義からクラス定義を生成することも可能です。 方法①として、他社RDBMS用に作成したDDL文をインターシステムズ製品上で実行、またはインポートする方法があります。 詳細は、以下ドキュメントをご参照ください。 #ObjectScript #VSCode #スタジオ #Caché #Ensemble #InterSystems IRIS 0 0 0 238
記事 Hiroshi Sato · 2021年2月1日 1m read スタジオでグローバルをインポート/エクスポートする方法 これは InterSystems FAQ サイトの記事です。 ドキュメント上は明確に記述されていませんが、エクスポートの追加ボタンを押した時に表示されるファイルダイアログのファイル名にグローバル名 + .GBLと入力することでグローバルをエクスポートの対象にすることができます。(例: ^aaaの場合、^aaa.gblと指定) この機能はクラス、ルーチン等と一緒にグローバルデータを一括してエクスポート/インポートする際に、便利な機能ですが、XMLで表現されるため、データ容量は実データに比較し大きくなりますので、大量データを処理する場合には必要な容量に注意が必要です。 #スタジオ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 202
記事 Hiroshi Sato · 2021年1月27日 4m read クラス定義のプロパティ表示順と、プロパティに対応したグローバル変数の格納順 これは InterSystems FAQ サイトの記事です。 クラス定義のプロパティの表示順は、スタジオのプロパティウィザードを利用して登録した場合は、末尾に追記されます。 また、エディタ上の任意の場所でプロパティ定義文を記述する場合は、その場所に追記され、クラス定義が登録されます。 つまり、定義者が記述した順番に登録されます。 (スタジオが並び換えを行ったりはしません。) 作成したクラス定義が、PersistentやSerialのようにデータベースに格納する属性を持ったクラス定義である場合、”初回のコンパイル”で クラス定義に対応するグローバル変数の定義情報=ストレージ定義を作成します。 初回コンパイル以降に、プロパティ定義の追加が行われれば、そのプロパティに対応するグローバル変数のスロット番号を、末尾に追加し、ストレージ定義を更新します。 以下の例は、クラス定義に対応するストレージ定義の例です。 (初回コンパイル時の状態) #スタジオ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 119
記事 Mihoko Iijima · 2021年2月19日 1m read 仮想化ソフトのサポートについて これは InterSystems FAQ サイトの記事です。 インターシステムズは、個々の仮想化ソフトウェアに対して、弊社製品の動作検証は行なっておりません。 インターシステムズでは、弊社製品がサポートするプラットフォームをサーバプラットフォームという単位で定義しています。 サーバプラットフォームは、オペレーティングシステムとそのバージョン、およびそのオペレーティングシステムが動作するプロセッサタイプの 3 つの要素で定義されます。 従いまして、ある仮想ソフト上で InterSystems 製品がサポートしているサーバプラットフォームが稼動し、その上で InterSystems 製品が動作している限りにおいて、製品のサポートを提供します。 #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 72
記事 Hiroshi Sato · 2021年10月26日 1m read %付きWebページを開くとエラーになる場合の対処法。 これは、InterSystems FAQサイトの記事です。InterSystems 製品の管理ツールやWebページのセキュリティ強化のため、%付きのWebページ(例:管理ポータル上のユニットテストポータル、Webサービスクラスのテスト画面)に対するアクセスがより効率的に制御できるよう、新しいルールが追加されました。 これによりデフォルトで参照可能なページ以外については、明示的に参照許可を設定する必要があり、設定しない場合参照エラーとなります。 以下のドキュメントをご参照いただき、必要に応じて参照許可を設定するようにしてください。 %CSP ページへのアプリケーション・アクセスの制御について Webサービスクラスのテスト画面の場合は、以下をご覧ください。 #CSP #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 114
InterSystems公式 Yoichi Miyashita · 2021年3月30日 InterSystems 製品 2018.1.5, 2019.1.2, 2020.1.1 リリースのご案内 インターシステムズは、以下のメンテナンスバージョンをリリースしました。 #リリース #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health #InterSystems公式 0 0 0 151
記事 Toshihiko Minamoto · 2021年5月11日 9m read InterSystems IRIS Data Platform の Ethereum アダプター 1. ブロックチェーン この記事を書いている時点(2019年2月)で、ビットコインの価値はそれが絶頂期だったころの 5 分の 1 未満に下落しています。 そのため、ブロックチェーンの私の体験について誰かに話すときに最初に耳にするのは、「今頃ブロックチェーンを欲しがる人がいるのか」という偽りなく懐疑的な言葉です。 その通り。ブロックチェーンの盛り上がりは衰退しています。 ところが、それが基づいているテクノロジーはここにとどまり、特定の分野で使用され続けるでしょう。一般的にインターネットではこのテクノロジーの使用方法が記述された資料でいっぱいです。 #相互運用性 #Ensemble #InterSystems IRIS Open Exchange app 0 0 0 207
記事 Hiroshi Sato · 2021年9月9日 2m read RESTでクロスドメイン制約を回避する方法 これは InterSystems FAQ サイトの記事です。 #REST API #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 435
記事 Hiroshi Sato · 2021年7月27日 4m read スーパーサーバやTelnetポートでSSLを有効にする際のクライアントの設定 これは InterSystems FAQ サイトの記事です。 スーパーサーバでSSL/TLS接続を有効にする場合、クライアントアプリケーションは、使用するプロトコル、アクセスする証明書などを知るためにSSL設定が必要となります。 これらは下記のようにiniファイルを作成・編集することで設定可能です。 ==============================設定ファイルの場所============================== デフォルトでは、SSL設定ファイルはSSLdefs.iniと呼ばれ、32ビットの共通プログラムファイルのディレクトリ下の InterSystems\IRIS(またはInterSystems\Cache)ディレクトリに置く必要があります。 #システム管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 343
記事 Mihoko Iijima · 2021年9月24日 3m read 任意のSQL文の実行結果をプログラムでCSVに出力する方法 これは InterSystems FAQ サイトの記事です。 システムユーティリティクラスを利用したプログラムを作成することで出力できます。 【注意1】出力データの区切り文字がカンマではなくタブで出力されます点、ご注意ください。 【注意2】エクセルでタブ区切りのファイルを開くため、エクセルの開くメニューから出力したファイルを開いてください。 処理概要は以下の通りです。 1) %SYSTEM.SQL クラス(※)の Execute() メソッドを使用します。 第1引数:SQL文を指定します。 第2引数:内部日付が格納されている場合 yyyy-mm-dd で出力されるように表示モードを切り替えます。(1:odbcモード) 詳細は下記ドキュメントページおよびクラスリファレンスをご参照ください。 #SQL #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 684
記事 Megumi Kakechi · 2022年3月23日 3m read ジャーナルレコードに記録されるタイプについて これは、InterSystems FAQサイトの記事です。ジャーナル・ファイルの処理でジャーナルファイルに記録されるタイプが、それぞれどのような状況下で記録されるのかについて説明します。 #システム管理 #ジャーナリング #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 167
記事 Hiroshi Sato · 2022年8月8日 1m read TCP アダプタの StayConnected の設定に関する注意点 これは InterSystems FAQ サイトの記事です。 TCP アダプタを使用するビジネスホストの [接続中を維持(StayConnected)]と[プールサイズ(PoolSize)]のデフォルト設定値は以下の通りです。 StayConnected = -1(常時接続タイムアウト無し)PoolSize = 1 ネットワークの問題でビジネスホストへの接続が切断された場合に、プロダクション側では切断されたことを検知できないため新しい接続を受け付けません。 またこの状況の時、イベントログにも記録されません。 StayConnected が デフォルト値(-1)の場合、接続がタイムアウトしないため新しい接続を受け付けるためには、ビジネスホストを再起動する必要があります。 #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 115
記事 Toshihiko Minamoto · 2023年2月27日 7m read Ensembleでの孤立メッセージ 今回は、「孤立メッセージ」について説明します。 孤立メッセージとは何ですか? すべてのメッセージボディは、メタデータを保持するメッセージヘッダと関連付けらます。ヘッダーには、ソース構成名称、ターゲット構成名称、作成時刻、処理時刻、関連するメッセージボディ参照、セッション情報、メッセージボディのクラス名称、メッセージステータスなどの情報が格納されます。 メッセージボディに対応するヘッダーレコードが存在しない場合、そのメッセージボディは孤立メッセージボディと呼ばれます。ここでは、孤立メッセージボディの原因となる可能性があるものについて説明します。 #システム管理 #ヒントとコツ #ベストプラクティス #監視 #相互運用性 #Ensemble 0 0 0 115
記事 Tomoko Furuzono · 2023年4月10日 3m read 管理ポータル:システムエクスプローラで参照のみ可能なユーザの設定 これは、InterSystems FAQサイトの記事です。管理ポータル:システムエクスプローラの使用には、%DevelopmentリソースのUse特権が必要です。システムエクスプローラでの参照のみ利用可能とする権限をユーザに付与したい場合は、%DevelopmentリソースのUse特権(※1)と、該当のデータベースリソース(※2)への参照特権(R)を付与したロールを作成し、これをユーザに与えます。※1.「%Development:U」を付与している場合はターミナルやスタジオも参照のみで使用可能となります。※2.参照したいデータベースに割り当てられているリソースが%DB_DEFAULTリソースになっており、このデータベースのみに参照権限を設定したい場合は、事前に、このデータベース用の独自リソース(%DB_<データベース名>)を作成し、該当データベースに割り当てるようにします。 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 99
記事 Mihoko Iijima · 2023年6月2日 6m read 任意のWebアプリから呼び出せるワークフロー用 REST API の使い方 開発者の皆さん、こんにちは! この記事では、ワークフローコンポーネントを使ってみよう!~使用手順解説~ でご紹介したユーザ操作画面(ユーザポータル)を任意のWebアプリに変更する際に便利な REST API の使用方法をご紹介します。 ワークフロー用 REST APIですが、開発者コミュニティのサンプル公開ページ:Open Exchange に公開されているAPIでどなたでも自由にご利用いただけます。 Open Exchangeの検索ボックスに「Workflow rest」と入力すると出てきます。EnsembleWorkflow が対象のサンプルです。 ちなみに、2023年6月2日時点で724のアプリケーションが公開されているようです👀 #REST API #ヒントとコツ #相互運用性 #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 137
記事 Hiroshi Sato · 2024年3月18日 5m read コンソールログに"There exists a MISMATCH.WIJ file" が記録され、インスタンスの開始ができない時の対処法 これは InterSystems FAQ サイトの記事です。 インスタンスの開始が失敗し、コンソールログに"There exists a MISMATCH.WIJ file"が記録されている場合、何らかのシステム障害の影響でデータベースの整合性に関して問題が生じていることを示しています。 このような状況が発生した際にインスタンスの開始ができるようにするためには、以下の手順を実施します。 (1) a. インスタンスをNOSTUモードで起動(2) b. データベースの整合性チェック ◆(2)の整合性チェックでエラーを検出しなかった場合、 (3) d. MISMATCH.WIJ ファイルのリネーム (4) e. インスタンスの再起動を実施します。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 16
記事 Shintaro Kaminaka · 2020年8月20日 23m read InterSystems IRIS Open Authorization Framework(OAuth 2.0)の実装 - パート2 作成者:Daniel Kutac(InterSystems セールスエンジニア) 注意: _使用されている URL に戸惑っている方のために。元の連載記事では、dk-gs2016 と呼ばれるマシンの画面を使用していました。 新しいスクリーンショットは別のマシンから取得されています。 *WIN-U9J96QBJSAG という URL は dk-gs2016*_ であると見なしても構いません。 #OAuth2 #セキュリティ #アクセス制御 #認証 #Caché #Ensemble #InterSystems IRIS 0 0 0 357
記事 Tomoko Furuzono · 2020年11月24日 1m read 管理ポータルのライセンス使用量のページに表示される値の意味 これは、InterSystems FAQサイトの記事です。 (a) 現在使用中のライセンス数:現時点のライセンスユニット使用数です。 (b) 最大ライセンス使用:インスタンスが起動した後、現在に至るまでで最もライセンス使用の大きかった時点の "現在使用中のライセンス数"です。 (c) 許可されたライセンス数(Cache.Key/iris.keyの値):該当システムで許可されている最大ライセンスユニット数です。 (d) 現在の接続:現時点のクライアントからの接続数です。 (e) 最大接続:インスタンスが起動した後、現在に至るまでで最も接続数の大きかった時点の"現在の接続"です。 #システム管理 #管理ポータル #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 355
記事 Hiroshi Sato · 2021年1月27日 1m read 文字列の置換方法 これは InterSystems FAQ サイトの記事です。 文字列の置換には$REPLACE関数を使います。 ドキュメントはこちら #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 269
記事 Mihoko Iijima · 2021年2月19日 2m read InterSystems のガベージコレクション機能について(Java のガベージコレクションとの違い) これは InterSystems FAQ サイトの記事です。 Java のガベージコレクションは、使用しなくなったメモリ上のオブジェクトを自動開放するしくみですが、InterSystems data platform(以下IRISと表記)のガベージコレクションは、意味が異なります。 IRIS では、ディスク上の大量のデータノードを 1 コマンド(killコマンド)で削除する機能があります。 通常、データ容量が増えれば、それに伴い、削除に必要な時間が増加しますが、そうすると、そのkillコマンドを発行したプロセスが、削除が終わるのを待つ時間が増加することになってしまいます。 その様な事象の発生を避けるため、IRIS では、ユーザプロセスが大量のデータを削除する kill コマンドを発行した際に、その場で削除に必要な全ての処理を行うのではなく、削除が必要な開始の場所だけを示して、次の処理に進むようになっています。 #Java #システム管理 #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 85