記事 Mihoko Iijima · 2021年4月22日 4m read ソースプログラムを隠蔽化する方法 これは InterSystems FAQ サイトの記事です。 ルーチン(*.mac)の場合 ソースプログラムのコンパイル後に生成される *.obj のみをエクスポート/インポートすることでソースの隠蔽化を実現できます。 コマンド実行例は、EX1Sample.mac と EX2Sample.mac のコンパイルで生成される EX1Sample.obj と EX2Sample.obj をエクスポート対象に指定し、第2引数のファイルにエクスポートしています。 別ネームスペースに移動したあと、エクスポートした XML ファイルを利用してインポートを実行しています。 #CSP #デプロイ #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 210
記事 Toshihiko Minamoto · 2021年4月22日 11m read ObjectScript の信頼性の高いエラー処理機能とクリーンアップ機能 はじめに (および本記事を書いた動機) ObjectScript コードのユニット (ClassMethod など) を実行する場合、そのスコープ外にあるシステムの諸部分と対話するときに適切なクリーンアップを行えないことが原因で、様々な予期せぬ副作用が発生することがあります。 以下にその一部を紹介します。 #エラーハンドリング #ObjectScript #Caché #InterSystems IRIS 0 0 0 231
記事 Toshihiko Minamoto · 2021年4月22日 3m read PersistentクラスやSerialクラスからSwaggerクラスを生成する 先日、永続クラスとシリアルクラスからSwagger仕様を生成する必要がありました。そこで、その時のコードを公開することにします(完全なコードではないため、アプリケーション固有の部分を変更する必要がありますが、まずは出発点として使用できます)。 こちらからご利用ください。 次のクラスがあるとしましょう。 #API #Code Snippet #REST API #InterSystems IRIS 0 0 0 125
記事 Makiko Kokubun · 2021年4月20日 1m read 動画:Dockerコンテナ版 InterSystems IRIS data platform の勧め *この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。 ソフトウェア開発技術において、プロセスの自動化、サイクルの短縮による生産性の向上を目指す考え方が普及してきました(CI/CD)。CI/CDの中核をなす技術の一つが、Dockerに代表されるコンテナです。 https://www.youtube.com/embed/yY8BLUYp5IA[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] #Docker #Webセミナー #コンテナ化 #InterSystems IRIS 0 0 0 202
記事 Toshihiko Minamoto · 2021年4月20日 7m read 動画再生時に早送り巻き戻しができない 開発者の皆さんこんにちは。 先日、RESTのクラスを使って、PDFなどのファイルをアップロード、ダウンロードするサンプルをお送りしたお客さんからご質問を頂きました。ダウンロード機能を使ってmp4などの動画を表示させた場合、以下のようにvideoの画面下のスライダーを移動しても、再生を進めたり戻したりができませんでした 。 やはり、以下のようにスライダを動かすと、その時点の画像が表示されたほうが良いですね。 #REST API #Caché #InterSystems IRIS 4 0 0 1.5K
質問 Mitsuru Amano · 2021年3月3日 VSCODEのCSPの編集について こんにちは、皆さま IRISとVSCODE環境を日頃から愛用しています。 普段は使用しませんが、実験的にCSPファイル(*.CSP)をVSCODEで編集してみようと思い試みましたが上手く行きませんでした。 VSCODEの拡張は、「InterSystems ObjectScript Extension Pack」を使用しています。 具体的は2つの方法を試しました。 1.DBからworkspaceにExportして編集+Import&Compile ObjectScriptのソースTree-コンテキストメニューにExportが無いため動作を確認できず。 clsのExprot cspのExportが…ない #CSP #VSCode #InterSystems IRIS #Open Exchange 0 4 0 392
記事 Seisuke Nakahashi · 2021年4月20日 4m read VSCode を使ってみよう (2021年4月20日版) みなさん、こんにちは! Visual Studio Code 用のエクステンション、 InterSystems Server Manager のバージョン2.0がリリースされました。 このバージョンでは、弊社製品に同梱されているコードエディタ Studio と同じように、「サーバ上にあるクラス定義やルーチンを、サーバに接続して、直接編集&コンパイル」することが簡単にできます。この記事では、「Visual Studio Code を、Studio と同じように、気軽に使う」ための設定をご紹介いたします。 #VSCode #InterSystems IRIS 2 0 0 998
質問 Yuji Ohata · 2021年4月13日 RecordMapでのエラー情報の取得について。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 InteroperabilityのRecordMapの仕組みを利用した、ファイル取り込みについて、取り込み時のエラー内容を独自のログ出力グローバルに吐き出したいと考えております。 管理ポータル上だと以下のように表示されている内容を文字列として取得したいだけなのですが、何か方法はありませんでしょうか? Ent_Util.Logの中を見ると上記の内容は確認できたのですが、わざわざシステムが吐いているログを見なくとも、ビジネス・サービスの結果として取得できる情報があるのでは?と考えております。 #InterSystems IRIS 0 4 0 109
記事 Toshihiko Minamoto · 2021年4月19日 12m read 仮想IPアドレスを使用しないデータベースミラーリング ++更新日:2018年8月1日 Cachéデータベースミラーリングに組み込まれているInterSystems仮想IP(VIP)アドレスの使用には、特定の制限があります。 具体的に言うと、ミラーメンバーが同じネットワークサブネットに存在する場合にのみ使用できるというところです。 複数のデータセンターを使用した場合は、ネットワークの複雑さが増すため、ネットワークサブネットが物理的なデータセンターを越えて「延伸」されることはさほどありません(より詳細な説明はこちらです)。 同様の理由で、データベースがクラウドでホストされている場合、仮想IPは使用できないことがよくあります。 ロードバランサー(物理的または仮想)などのネットワークトラフィック管理のアプライアンスを使用して、クライアントアプリケーションやデバイスに単一のアドレスを提示することで、同レベルの透過性を実現できます。 ネットワークトラフィックマネージャは、クライアントを現在のミラープライマリの実際のIPアドレスに自動的にリダイレクトします。 この自動化は、災害後のHAフェイルオーバーとDRプロモーションの両方のニーズを満たすことを目的としています。 #Mirroring #インターシステムズビジネスソリューションとアーキテクチャ #クラウド #システム管理 #フェイルオーバー #高可用性 #Caché 0 0 0 336
記事 Toshihiko Minamoto · 2021年4月19日 8m read 配列プロパティ要素のための SQL インデックス クラスの中で配列プロパティを使い、その要素 (キーと値の両方) によってスピーディに検索を実行できると非常に便利な場合があります (EAV モデルの場合は特に重宝します)。 それでは、簡単な例を見てみましょう。 #ObjectScript #SQL #インデックス付け #パフォーマンス #Caché 1 0 0 262
お知らせ Mihoko Iijima · 2021年4月19日 ★投票開始!★第11回 InterSystems IRIS プログラミングコンテスト(開発者ツール) 開発者の皆さん、こんにちは! 第11回 InterSystems IRIS プログラミングコンテスト: 開発者ツール の投票が開始されました! 🔥 これだ!と思う一押し作品に投票お願いします! 🔥 投票期間:4月19日~26日 (1週間) #コンテスト #InterSystems IRIS #Open Exchange 0 0 0 64
記事 Shintaro Kaminaka · 2021年4月19日 18m read SUSHIを使ってFHIRプロファイルを作成しようパート1 開発者の皆さん、こんにちは。 このシリーズでは、IRIS for Healthの使い方ではなく、関連技術として、FHIRプロファイル作成ツールであるSUSHIの握り方使い方を紹介していきたいと思います。 このツールをうまく使うことで、FHIRプロジェクトのプロファイル情報(仕様や制限、拡張などの情報)をうまく整理し、公開することができます。 その前にSUSHIとは何でしょうか?簡単にですが、順番に説明していきたいと思います。 FHIR って? FHIRとは Fast Healthcare Interoperability Resources の略であり、Web通信の一般的技術であるRESTを使用して、可読性が高く取り扱いがし易いJSON/XML形式のデータの集合(=リソース)をやり取りする短期間で実装可能な医療情報交換標準規格、という定義になっています。 簡単に言えば、医療のデータの表現方法として皆で共通したフォーマットを使うことによって、システム間や施設間などでの情報の伝達や交換をやりやすいようにしよう!ということですね。 #FHIR #InterSystems IRIS for Health 3 0 2 2.1K
記事 Megumi Kakechi · 2021年4月16日 4m read エラー解消後もジャーナル切り替えタスクの状態が Suspend Leave になっている場合の対処方法 これは InterSystems FAQ サイトの記事です。 ジャーナル切り替えのタスクが実行時にエラー(例:FILEFULL)となり、その原因となるエラーを解消後も一時停止(Suspend Leave)状態となっているのであれば、以下の操作により復旧可能です。 管理ポータル: [システムオペレーション] > [タスクマネージャ] > [タスクスケジュール表示] より、以下の操作を行います。 ジャーナル切り替え(Switch Journal) "詳細" をクリック "一時停止" をクリック タスク実行が一時停止された場合にタスクを再スケジュールしますか? はい "すぐに実行する" をクリック "再開" をクリック "すぐに実行する" タスク詳細にて "一時停止:"が空欄になり、"次回スケジュール時刻:" が再開後の次のスケジュール(例えば2021-04-17 00:00) になっていれば、復旧完了です。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 217
記事 Shintaro Kaminaka · 2021年4月15日 9m read IRIS for Health上でFHIRリポジトリ+OAuth2認可サーバ/リソースサーバ構成を構築するパート4(代行認証編) 開発者の皆さん、こんにちは。 以前の記事でIRIS for Health上でFHIRリポジトリを構築し、OAuth2認証を構成する方法をご紹介しました。 この代行認証編では、IRIS for HealthのFHIRリポジトリに組み込まれた認証機能ではなく、IRISの代行認証機能+ZAUTHENTICATEルーチンを使用して認証を行う方法をご紹介します。 前回記事でご紹介したように、標準のFHIRリポジトリの認証機構では、アクセストークンの発行先を追加するためのAudienceの指定(aud=https://~) や、アクセストークンだけではなくベーシック認証の情報を送付するなどの対応が必要でした。 スクラッチでFHIRクライアントを開発するのではなく、既成の製品やアプリケーションからアクセスする場合、上記のような処理の実装ができないことがあるかもしれません。 そのような場合には、この代行認証+ZAUTHENTICATEルーチンを使用して、カスタマイズした認証の仕組みを構築することができます。 #FHIR #OAuth2 #セキュリティ #InterSystems IRIS for Health 0 0 0 371
記事 Mihoko Iijima · 2021年4月15日 2m read アプリケーションでロックタイムアウトエラーが発生する理由 これは InterSystems FAQ サイトの記事です。 このエラーが発生する原因としては、アプリケーションの中で既に他のプロセスからロック対象リソースがロックされていて、何らかの理由でそのロックが解放されていないケースが考えられます。 他のプロセスがロックしている兆候がない場合は、ロックテーブルの空き領域が不足しているケースが想定されます。その場合は、メッセージログ(コンソールログ)に LOCK TABLE FULL のメッセージが出力されます。 トランザクション処理を行なっている場合には、ロック解放の延期が影響しているケースも考えられます。トランザクションとロック解放の延期については、以下のドキュメントをご参照下さい。 #SQL #システム管理 #データベース #データベースのトランザクション処理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 547
記事 Mihoko Iijima · 2021年4月15日 2m read プログラムから、クラス定義に記述されたプロパティ定義を取得する方法 これは InterSystems FAQ サイトの記事です。 クラスに定義されたプロパティの情報については、以下システムクラスを利用して情報を取得できます。 %Dictionary.ClassDefinetion #ObjectScript #オブジェクトデータモデル #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 237
質問 Yuji Ohata · 2021年4月13日 ビジネス・サービスの実行監視について。 こんにちは、皆さま。JOBの実行監視について、いい方法があれば教えてください。 現在Interoperablity上にファイル検知(PassthroughService)をトリガーにしたServiceを作成しており、このServiceがデイリーで正しく動作しているかどうかを監視する仕組みを作りたいと考えています。 例) 「A」というServiceが、毎日20時までに実行されているか? を監視し、実行されていなければエラーメールを送信する。 今考えている案では、タスクスケジューラを用いてJOBが実行されたかを見に行くしかないのかなと考えているのですが、他にいい実現方法をご存じな方がいらっしゃれば、情報頂けますと幸いです。 #InterSystems IRIS 0 2 0 149
記事 Shintaro Kaminaka · 2021年4月15日 7m read IRIS for Health上でFHIRリポジトリ+OAuth2認可サーバ/リソースサーバ構成を構築するパート3(OAuth2スコープ編) 開発者の皆さん、こんにちは。 以前の記事でIRIS for Health上でFHIRリポジトリを構築し、OAuth2認証を構成する方法をご紹介しました。 IRIS for Health 2020.4がリリースされ、FHIRリポジトリのアクセストークンをチェックする機能が追加になりました。 ドキュメントはAccess Token Scopesです。 この記事ではドキュメントの記載も抜粋しながらこの機能を紹介していきます。 #FHIR #OAuth2 #セキュリティ #InterSystems IRIS for Health 0 0 0 421
記事 Toshihiko Minamoto · 2021年4月15日 3m read odt ドキュメントと docx ドキュメントをテンプレートから作成するためのツール 皆さん、こんにちは! 皆さんに私のプロジェクトをご紹介したいと思います。 #Caché Open Exchange app 0 0 0 90
記事 Makiko Kokubun · 2021年4月13日 1m read 動画:開発者コミュニティの活用法 *この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。 インターシステムズでは、昨年7月に日本語版の開発者コミュニティを正式にオープンしました。 https://www.youtube.com/embed/Xin8Wwz4plk[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] #Webセミナー #その他 0 0 0 81
記事 Tomoko Furuzono · 2021年4月13日 2m read クラウド環境でのInterSystems製品の動作保証・ライセンスについて これは、InterSystems FAQサイトの記事です。 以下ドキュメントは、IRIS 最新バージョンと Caché/Ensemble2018.1 でサポートしているクラウドプラットフォームの一覧です。 ※Amazon EC2 は、2010.2.0以降でサポートしています。 Microsoft Azureは、2014.1.0以降でサポートしています。 Google クラウドプラットフォームは、IRIS2018.1以降でサポートしています。 IRIS 最新バージョンサポートクラウドプラットフォーム #クラウド #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 214
記事 Tomoko Furuzono · 2021年4月13日 1m read SQLクエリーの監査ログを取得する方法 これは、InterSystems FAQサイトの記事です。 SQLクエリーの文字列を監査ログに残すことができます。 詳細は、以下のドキュメントをご参照下さい。 システム監査イベントについて ※%SQLで始まるイベントをご覧ください。 InterSystems SQL の使用法 ※監査関連ページをご覧ください。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 159
記事 Tomoko Furuzono · 2021年4月13日 1m read WindowsプログラムからIRISの起動状況を確認する これは、InterSystems FAQサイトの記事です。iris.exeを使用し、以下のようにして確認できます。※up:起動中、dn:停止中 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 112
記事 Toshihiko Minamoto · 2021年4月12日 24m read アトミックでない属性のインデックス作成 (1NF/2NF/3NF)露 からの引用 行と列で特定される位置には、それぞれアプリケーションドメインの値が 1 つだけあります (それ以外は何もない)。 その目的によって、同じ値がアトミックであったり、なかったりします。 例えば、「4286」という値は、 「クレジットカードの PIN コード」を意味するのであれば、アトミックとなります (破損している場合や並び替えられている場合は、使用できません)。 単に「連続する番号」であれば、非アトミックとなります (いくつかに分割されていたり、並び替えられていても、値は意味を成します)。 この記事では、文字列や日付、($LB 形式の) 単純なリスト、「list of <...>」、「array of <...>」といったフィールドの型を伴う SQL クエリのパフォーマンスを向上させる標準的な方法にして検証します。 #ObjectScript #SQL #インデックス付け #オブジェクトデータモデル #パフォーマンス #Caché 0 1 0 92
InterSystems公式 Yoichi Miyashita · 2021年4月13日 InterSystems IRIS および IRIS for Health バージョン 2020.4 リリースのご案内 インターシステムズは InterSystems IRIS および IRIS for Health バージョン2020.4 をリリースしました。本バージョンは、継続的デリバリ(CD) リリースのため、Docker コンテナ として知られる OCI (Open Container Initiative)形式 (for Linux x86-64 および Linux ARM64) のみ入手いただけます。 コンテナイメージは OCI に準拠した Linux x86-64 および Linux ARM64 対応のランタイムエンジンで動作可能です。 あわせて IRIS Studio 2020.4 もリリースしました。 リリースのビルド番号は 2020.4.0.547.0 です。 【新機能のご紹介】InterSystems IRIS Data Platform 2020.4 には、以下の新機能が含まれます。 #InterSystems API Manager (IAM) #SAM - System Alerting and Monitoring #リリース #継続的デリバリー #InterSystems IRIS #InterSystems IRIS for Health #InterSystems公式 0 0 0 266
記事 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 439
記事 Megumi Kakechi · 2021年4月9日 2m read 使用中のデータベースキャッシュ(グローバルバッファ)のサイズを知る方法 これは InterSystems FAQ サイトの記事です。 グローバル変数毎のデータベースキャッシュ使用量を確認するツール(^GLOBUFFユーティリティ)が用意されています。 %SYSネームスペースにて、ユーティリティを直接実行する方法と、プログラムで実行する方法があります。 ユーティリティを直接実行する方法は以下のようになります。 #ObjectScript #ツール #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 303
記事 Mihoko Iijima · 2021年4月9日 1m read 関数・メソッドの引数に可変長引数を渡すことができるかどうか これは InterSystems FAQ サイトの記事です。 引数名の後ろに ... をつけることで可変の引数を渡すことができます。 ObjectScript では、配列を使って任意の数の引数を渡すことができます。 例文は以下の通りです。例文では、メソッド実行後に確認しやすいように、グローバル変数(=データベースに格納される変数)に引数の情報を設定しています。 Class TEST.ARGTEST1 Extends %RegisteredObject { ClassMethod NewMethod1(Arg... As %String) As %Boolean { kill ^a merge ^a = Arg } } ターミナルで実行した結果は以下の通りです。 #ObjectScript #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 207
記事 Toshihiko Minamoto · 2021年4月8日 6m read Jupyter Notebook + Apache Spark + InterSystems IRIS を起動させる方法 皆さん、こんにちは。 今日は、Jupyter Notebook をインストールして、Apache Spark と InterSystems IRIS に接続したいと思います。 注記: 以下にお見せする作業は Ubuntu 18.04 で Python 3.6.5 を使って実行しました。 #AI #API #Python #互換性 #初心者 #InterSystems IRIS 0 0 0 290
記事 Megumi Kakechi · 2021年4月7日 4m read ファイル入出力処理をスクリプトで記述する方法 これは InterSystems FAQ サイトの記事です。ファイル入出力処理を行うには、ライブラリクラスを利用する方法が便利です。 ライブラリクラスを使用する以外には、Open/Use/Close コマンドを使用する方法もあります。<※1> ファイル入出力処理には、%Library.Fileクラス、%Stream.FileCharacter/%Stream.FileBinary を使用します。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 977