記事 Makiko Kokubun · 2021年6月8日 1m read 動画:InterSystems IRIS へのデータ移行方法 *この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。 現在使用している Caché/Ensemble システムから InterSystems IRIS に移行する場合、マイグレーション(インプレース変換)を行うのでなければ現行環境と新環境を一時的に並行稼働させる必要があるかもしれません。 https://www.youtube.com/embed/Dm6f0QoXRhw[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] この動画では、そのような場合のインストールや構成についての注意点やデータ移行にどのような技術が利用可能かについてご紹介します。 #Webセミナー #InterSystems IRIS 0 0 0 152
記事 Hiroshi Sato · 2022年8月22日 1m read 正規表現を使ってパターンに一致した部分文字列を取得する方法 これは InterSystems FAQ サイトの記事です。 正規表現を使用する$Locate()関数がご使用いただけます。 正規表現の使用方法 使用方法の例は以下の様になります。 USER>write strあいうえおかきくけこABC123456さしすせそ USER>write $locate(str,"[A-Za-z]{3}[0-9]{6}",,,val)11 USER>write valABC123456 USER> #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 151
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
記事 Megumi Kakechi · 2022年9月9日 3m read データベースをバックアップする際の停止時間をできるだけ短くしたいとき これは InterSystems FAQ サイトの記事です。外部バックアップ機能と、SANソリューションが提供するスナップショット(スナップクローン、ミラークローンなど呼び方はベンダ毎に異なります)などのテクノロジを利用することで、バックアップ時のインスタンス停止時間を最短にすることができます。 操作手順概要は以下の通りです。 #システム管理 #バックアップ #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 150
記事 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 1 3 0 150
質問 Yuji Ohata · 2021年8月17日 $SYSTEM.OBJ.ImportDir()利用時のSourceControlの利用について。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 スタジオ以外でSourceControlを利用されている方がいれば教えてください。 現在SourceControlを用いて、コンパイル前に自動コードレビュー(静的解析)を行うような仕組みを構築しております。実際にスタジオやVSCodeでの保存時には、上記の仕組みが動作しソースチェックが行われるのですが、clsの一括取り込みを行おうと『$SYSTEM.OBJ.ImportDir()』を実行した際にはSourceControlが動作していないように見えております。 以下のような形でメソッド実行しているのですが、オプション等の不備になるのでしょうか? > Do $SYSTEM.OBJ.ImportDir("ファイルが存在するパス","*.cls;*.mac;*.int;*.inc;*.dfi","ck",,1) #ObjectScript #InterSystems IRIS 0 2 0 150
質問 Yuji Ohata · 2021年6月7日 オンコードでのclsファイルのExportについて。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。clsファイルのExportについて、ご存じな方がいらしたら教えてください。VSCodeではclsの一覧からExportを選択すると、clsファイルとしてローカルにファイル出力されます。 これと同じことを、ObjectScript上でも行いたいと思っています。しかしながら、Export用のAPIを見てみてもxmlファイルで出力される旨のコメントがあり、clsファイルのまま出力するためのAPIが見当たりません。 #API #InterSystems IRIS 0 2 0 150
質問 Yuji Ohata · 2022年2月17日 マニフェストを利用したNMSPの作成について。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 現在、共通のIRIS環境を複数個所に用意するため、インストール・マニフェストを利用した環境構築の仕組みを作成しております。https://docs.intersystems.com/iris20211/csp/docbookj/DocBook.UI.Page.cls... #相互運用性 #Ensemble #InterSystems IRIS 0 2 0 149
記事 Hiroshi Sato · 2022年7月25日 1m read InterSystems ObjectScriptの型キャストサポートについて これは InterSystems FAQ サイトの記事です。 ObjectScript言語は、Java言語等がサポートしている型キャストをサポートしていません。 ただし、メソッドのキャストはサポートしています。 詳細は以下ドキュメントページをご参照ください。 メソッドのキャスト【IRIS】メソッドのキャスト #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 149
質問 Yuji Ohata · 2021年4月13日 ビジネス・サービスの実行監視について。 こんにちは、皆さま。JOBの実行監視について、いい方法があれば教えてください。 現在Interoperablity上にファイル検知(PassthroughService)をトリガーにしたServiceを作成しており、このServiceがデイリーで正しく動作しているかどうかを監視する仕組みを作りたいと考えています。 例) 「A」というServiceが、毎日20時までに実行されているか? を監視し、実行されていなければエラーメールを送信する。 今考えている案では、タスクスケジューラを用いてJOBが実行されたかを見に行くしかないのかなと考えているのですが、他にいい実現方法をご存じな方がいらっしゃれば、情報頂けますと幸いです。 #InterSystems IRIS 0 2 0 149
記事 Hiroshi Sato · 2021年2月1日 1m read ローカル変数の値がOREFであるかどうかの判定法 これは InterSystems FAQ サイトの記事です。 $IsObject()を使用して判別できます。 調べたい変数をvとすると、 $IsObject(v)=1 // vはOREF$IsObject(v)=0 // vはOREFではない$IsObject(v)=-1 // vはOREFだが、有効なオブジェクトを指していない となります。 vが未定義の場合は、$IsObject(v)はUNDEFINEDエラーとなりますので、ご注意ください。 UNDEFINEDエラーを防止するには、次のように$Getを使用することをお勧めします。 #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 149
記事 Toshihiko Minamoto · 2022年5月17日 9m read ObjectScript Package Manager、GitHub Actions、および Docker による継続的インテグレーション はじめに #Code Snippet #Docker #GitHub #InterSystems Package Manager (IPM) #テスト #継続的インテグレーション #InterSystems IRIS #InterSystems IRIS for Health #Open Exchange 1 0 0 148
InterSystems公式 Toshihiko Minamoto · 2023年3月12日 3m read クラスの生成方法、呼び出し方法の変更(IRIS 2023.1~) IRIS 2023.1でのメソッドコードの生成と呼び出し方法の変更について、お知らせしたいと思います。 IRIS のクラスは、2 つの主要なランタイムコンポーネントで構成されています。 クラスディスクリプタ - クラスを構成するメソッド、プロパティ、クラスパラメータ、およびこれらのそれぞれに関連する属性(パブリック/プライベート設定など)が最適化されたリストです。 ObjectScriptコード - メソッドが呼び出されたときに実行される ObjectScript コードを含むルーチンのセットです。 クラス/オブジェクトのメソッドを呼び出すと、ディスパッチコードがクラス記述子からメソッドを探し、呼び出しが許可されているかどうかを確認し、正しいクラスコンテキストを設定し(その過程で $this を更新)、最後に関連するクラスルーチンにある ObjectScript コードを呼び出します。 #ObjectScript #InterSystems IRIS #InterSystems公式 2 0 0 148
質問 Yuji Ohata · 2022年1月26日 テーブル定義内のTIMESTAMP型のデータについて。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 TIMESTAMP型のデータを持つテーブルの扱いについて教えてください。 現在Ens_Util.Logを参照するシステムを開発しようとしております。このテーブルの中にTimeLoggedというTIMESTAMP型のデータがあるのですが、それをSELECTした際、CASTの有無で表示されるデータに差異が出ます。 SELECT DATE(TimeLogged), CAST(TimeLogged AS TIME), TimeLoggedFROM Ens_Util.Log #InterSystems IRIS 0 8 0 148
記事 Megumi Kakechi · 2023年9月4日 3m read Webアプリケーションのトラブルシュート方法(ログの取得方法) こちらの記事では、RESTやCSPなどの「Webアプリケーションのトラブルシューティング」のヒントをご紹介します。 何かしらのトラブルと思われる事象が発生した場合、確認したいのがログファイルになります。各コンポーネント間のやり取りで、どこでどのようなトラブルが発生しているかを、それぞれログを取得して確認することができます。 ① クライアント ⇔ Webサーバ間では、「Webサーバログ(IISやApacheのアクセスログなど)」、② Webサーバ ⇔ Webゲートウェイ間では、「イベントログ」・「HTTPトレース」、③ Webゲートウェイ ⇔ IRISサーバ間では、「ISCLOG」・「監査ログ」・「messages.log」などがあります。 #CSP #REST API #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 3 0 0 148
記事 Toshihiko Minamoto · 2023年7月13日 5m read InterSystems Package Manager と git-source-control で IRIS インターオペラビリティのソース管理を有効にする 開発者の皆さん、こんにちは! ご存知のように、InterSystems IRIS インターオペラビリティソリューションには、プロダクション、ビジネスルール、ビジネスプロセス、データ変換、レコードマッパーなどの様々なエレメントが含まれています。 また、UI ツールを使用してこれらの要素を作成し、変更することもあります。 もちろん、UI ツールで行った変更をソース管理する便利で堅牢な方法も必要です。 長い間、これは手動(クラス、エレメント、グローバルなどのエクスポート)か面倒な設定作業手順によって行われてきました。そのため、ソース管理 UI の自動化で節約された時間は、設定のセットアップとメンテナンスの時間で相殺されていました。 現在では、この問題はなくなりました。 パッケージファースト開発と @Timothy Leavitt の git-source-control という IPM パッケージの使用という 2 つのアプローチによる結果です。 詳細は以下のとおりです! #Git #ソース管理 #相互運用性 #開発環境 #InterSystems IRIS Open Exchange app 1 0 0 147
記事 Hiroshi Sato · 2021年9月23日 2m read アプリケーション使用中にインデックス再構築を複数プロセスで実行する方法 これは InterSystems FAQ サイトの記事です。%IndexBuilder クラスを使用して、複数プロセスを利用してインデックス再構築を行うことができます。 Sample.Person の Home_State(連絡先住所の州情報)カラムに対して標準インデックス HomeStateIdx を定義する目的での例で記載します。 手順は以下の通りです。 1、追加/再構築予定のインデックス名をクエリオプティマイザから隠します。 >write $system.SQL.SetMapSelectability("Sample.Person","HomeStateIdx",0)1 2、新インデックスを定義するクラス定義のスーパークラスに %IndexBuilder を一番右端に追加します。 #ヒントとコツ #Caché #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 147
お知らせ Mihoko Iijima · 2023年5月30日 InterSystems グランプリ・コンテスト 2023開催! 開発者の皆さん、こんにちは! 毎年恒例の InterSystems IRIS開発者向け「グランプリ・コンテスト」の開催が決定しました! 今年のお題は「InterSystems IRIS data platformを利用してオープンソースを作成する」です。 🏆 InterSystemsグランプリ・コンテスト2023 🏆 期間: 2023年6月12日~7月2日 賞金総額: $26,000 #イベント #コンテスト #InterSystems IRIS #IRIS contest #Open Exchange 1 0 0 147
記事 Mihoko Iijima · 2023年4月6日 1m read IRISで作成するシンプルなRESTfulサービスとAngular Webアプリの組み合わせを試せるチュートリアル:REST + Angular App 開発者の皆さん、こんにちは! この記事では、Developer Hub にあるチュートリアルの4番目のご紹介となる REST + Augular App チュートリアル についてご紹介します。 チュートリアルでは、IRISを利用してRESTサービスで使用するテーブル、データ、RESTサーバの機能をサンプルコードをコピーしながら作成していきます。 チュートリアルの中で作成するWebアプリはとてもシンプルな内容で、データベースにブックマークとして登録したいURLを保存し、参照するだけのページとしています。 データの登録も、IRISの管理ポータルのSQLメニューでINSERT文を実行する形式で進めていきます。 #Angular #REST API #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 146
記事 Megumi Kakechi · 2020年11月24日 1m read 差分バックアップがうまく取れない場合に確認すること これは、InterSystems FAQサイトの記事です。 以下に当てはまる場合、差分バックアップではなくフルバックアップが取られます。 ・リストの中に1つでもフルバックアップを取っていないデータベース(DB)が含まれるとき・リストの中に読み込み専用のDBが含まれるとき →読込専用DBはバックアップが取れないため、対象リストのDBは毎回フルバックアップが取られます ReadOnlyマウントしたDBをバックアップしようとすると、以下のようなログが出力されます。 WARNING - the following directories could not be backed up c:\intersystems\ensemble\mgr\xxx\ (Database is readonly) 読込専用DBはバックアップリストから除く必要があります。 もし、読込専用DBをバックアップする場合は、別途バックアップする必要があります。 #システム管理 #バックアップ #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 146
質問 Seiji Hirose · 2021年2月22日 新規ネームスペース画面でのメッセージについて 本件、すでに改修済みである場合にはご容赦願います。 IRIS2020.1のテストをしています。 新規ネームスペース画面に「相互運用プロダクション用にネームスペースを有効化」というチェックボックスがあります。デフォルトでチェックされていましたので、試しにチェックを外してみました。下記のようなメッセージが表示されるのですが、日本語のメッセージになると有り難いなぁ、と感じました。 (メッセージ) Are you sure you do not want this to be 運用相互プロダクションのために有効? #InterSystems IRIS 0 2 0 146
記事 Megumi Kakechi · 2021年9月12日 2m read サイズの大きいグローバルに格納された文字列を検索する方法 特定文字列が含まれるグローバルを検索する時、どのように行われているでしょうか? 管理ポータルでグローバルを表示して Ctrl+F で検索することもできますが、サイズが大きなグローバルでは表示に時間がかかり難しい場合もあります。 もちろん、$ORDER や $QUERY 関数でループして含まれる文字列を検索することは可能です。 しかし、もっと簡単で便利な方法があります。 管理ポータルで行える、グローバル文字列検索機能 を使う方法です。 こちら、管理ポータルの [システムエクスプローラ] > [グローバル] :検索 から簡単に行えます 例えば、^%ISCLOGグローバルの中から「CSP error cleaning up after page」というエラーが含まれるグローバルを検索するときは以下のようになります。 #ヒントとコツ #管理ポータル #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 146
InterSystems公式 Toshihiko Minamoto · 2022年11月28日 ZPM は InterSystems Package Manager (IPM) となりました ObjectScript パッケージマネージャ ZPM のライフサイクルにおけるマイルストーンをここに発表させていただきます。このパッケージマネージャは、ObjectScript コードや 配置構成設定、バージョン情報などを便利にパッケージ化する機能を開発者に提供し てきました。 ここ数年のうちに、多くの開発ワークフローに不可欠な存在として大きく進化しました。 その結果、インターシステムズは所有するコンポーネントをパッケージ化するのに使用することとし、コミュニティのGitHubリポジトリをコーポレートリポジトリに移行、InterSystems Package Manager (IPM) に改名することとなりました。IPMはオープンソースのままです。コミュニティのメンバーは、コードをレビューし、プルリクエストを提出することができます。この変更により、従業員以外の方がコードベースに変更を加えることができないような方法で、ソフトウェアのセキュリティを確保することができるようになりました。また、データと一緒にコードをインストールできるソフトウェアでは、より高いレベルのセキュリティと信頼性が重要です。 #InterSystems Package Manager (IPM) #Caché #InterSystems IRIS #InterSystems公式 Open Exchange app 1 0 0 146
質問 Yuji Ohata · 2022年12月28日 インスタンスの起動イベントをクラスで拾いたい。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 どなたかインスタンスの起動を%ZSTART等のMACではなく、クラスのコールバック等で検知する方法をご存知ではないでしょうか? 背景としましては以下の通りです。 =================================================================== 現在、Interoperabilityを利用する機能を開発しております。Ens.Productionを継承したクラスの中でOnStart()をoverrideしており、その中で上記のクラス自身をリコンパイルする処理が含まれております。 OnStart()でリコンパイルが行われる際、プロダクションの定義が変更されているとそのプロセスでのプロダクションの起動が失敗してしまいます。(プロダクション上の定義と、実際のクラスの状態に不一致が発生するため。) そのため、クラス自身のリコンパイルをプロダクションの開始時ではなく、インスタンスの開始時にしたいのですが、%ZSTART等のMACファイルは今回利用したくありません。 #InterSystems IRIS 0 6 0 146
お知らせ Yoichi Miyashita · 2020年7月10日 System Alerting and Monitoring バージョン 1.0 リリース InterSystems System Alerting and Monitoring (InterSystems SAM) の最初のバージョン v1.0 をリリースしました。 InterSystems SAM v1.0 は、InterSystems IRISベースの製品に最新の監視ソリューションを提供します。アラート通知に加え、クラスタの高レベルビューや単一ノードのドリルダウンしたメトリック可視化をおこないます。この最初のバージョンでは100を超える InterSystems IRIS カーネルのメトリックを可視化し、デフォルトで提供される Grafana テンプレートを好みに応じて拡張することができます。 v1.0 はシンプルで直感的なベースラインとなることを目的としています。ぜひお試しいただき、ご要望等のフィードバックをお寄せください。 InterSystems SAM は、バージョン 2020.1 以降のインターシステムズベース製品の情報を表示できます。 #システム管理 #高可用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 146
記事 Mihoko Iijima · 2020年9月16日 1m read ObjectScript でプログラミングを行うときのエラー処理方法について これはInterSystems FAQ サイトの記事です。 サーバ側ロジックの記載に使用する ObjectScript でのエラーが発生した場合の対処方法については「ObjectScriptでエラーが発生したら」にまとめています。 ぜひご参照ください! #ObjectScript #エラーハンドリング #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 145
記事 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 145
記事 Hiroshi Sato · 2021年9月26日 3m read リストコレクションを定義したプロパティに対するSQLアクセス方法 これは InterSystems FAQ サイトの記事です。リストコレクション(Property XXX As list of %String;)で定義したプロパティは、SQL関数: $LISTBUILD() 、$LISTFROMSTRING() を使用して操作できます。 各SQL関数については、下記ドキュメントページをご参照ください。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 145
記事 Toshihiko Minamoto · 2021年7月15日 16m read InterSystems IRIS および Intel Optane DC パーシステントメモリ InterSystems および Intel は先日、InterSystems IRIS を「Cascade Late」としても知られる第 2 世代 Intel® Xeon® スケーラブルプロセッサおよび Intel® Optane™ DC パーシステントメモリ(DCPMM)と組み合わせて一連のベンチマークを実施しました。 さまざまなワークロード設定とサーバー構成で、Intel の最新のサーバーテクノロジーを使用した InterSystems IRIS のパフォーマンスとスケーラビリティ機能を実証するのがこのベンチマークの目的です。 このレポートには、さまざまなベンチマークの結果とともに、Intel DCPMM と InterSystems IRIS のユースケースが 3 つ示されています。 #HL7 #インターシステムズビジネスソリューションとアーキテクチャ #シャーディング #テスト #パフォーマンス #ビッグデータ #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #TrakCare 0 0 0 144
記事 Toshihiko Minamoto · 2023年4月26日 6m read 2022.3 のカラムナーストレージ Global Summit 2022 または 2022.2 ローンチウェビナーの内容からよく覚えていると思いますが、InterSystems IRIS の分析ソリューションに組み込むための目覚ましい新機能をリリースしようとしています。 分析クエリを桁違いに高速化する、代替の SQL テーブルデータ格納手法であるカラムナー(列指向)ストレージです。 もともと 2022.2 の実験的機能としてリリースされましたが、最新の 2022.3 開発者プレビューには多数の更新が含まれているため、別途ここで簡単に説明したいと思います。 #SQL #InterSystems IRIS Open Exchange app 0 0 0 143