これは InterSystems FAQ サイトの記事です。
インストール時に選択できる初期セキュリティ設定のレベルには以下の3つがあります。
※バージョンにより、表記(日本語/英語)が違う場合があります。
- 最小 (Minimal)
- 通常 (Normal)
- ロック・ダウン (Locked Down)
各レベルの違いの詳細は以下の資料をご確認ください。
これは InterSystems FAQ サイトの記事です。
インストール時に選択できる初期セキュリティ設定のレベルには以下の3つがあります。
※バージョンにより、表記(日本語/英語)が違う場合があります。
各レベルの違いの詳細は以下の資料をご確認ください。
InterSystems IRIS 2020.1 には、Java または .NET で記述されたコンポーネントで IRIS 相互運用性プロダクションの開発を容易にする PEX(プロダクション拡張フレームワーク)が含まれています。
この PEX により、Java または .NET の知識を備える統合開発者は、InterSystems IRIS 相互運用性フレームワークの力、スケーラビリティ、および堅牢性を利用し、すぐに生産性を高めることができます。
IRIS 相互運用性フレームワークエキスパートに対し、PEX は既存の Java 言語または .NET 言語の外部コンポーネントとの統合を簡単にリッチ化することができます。
このチュートリアルでは、PEX を詳しく見ながら、.NET 開発者による PEX のはじめての使用を説明します。 コードは、https://github.com/es-comunidad-intersystems/webinar-PE にあります。
IRIS側の処理は、IRISでREST APIを実装する方法を理解していれば、簡単です。
前回のログイン処理でユーザー認証をIRIS側でどのように実装されているか確認して見ましょう。
まずはディスパッチクラスの定義です。
Shop.Brokerというクラスの中で定義されています。
checkpasswordというメソッドが最後に定義されていて、最終的にShop.Rest.Customer:checkPasswordという(クラス)メソッドが呼ばれているのがわかると思います。
ここで定義しているパラメータは、とりあえずおまじない的に含めておくことをお勧めします。
(説明し出すと少し長くなるので)
それでは、今回はより具体的にReact開発方法について解説します。
ショップデモのリポジトリの配下にreactというディレクトリがあります。
この下にReactのコードがあります。
ここのreact-setup.mdに記載されている通り、前準備としてreactのテンプレートを作ります。
npx create-react-app shopdemo --template typescript
あとはこのReactプロジェクトを動かすためのライブラリのインストールを行います。
詳細は、react-setup.mdに書いてあります。
まず3つのディレクトリがあって、これは絶対こうしなければならないというものでもないのですが、基本的なお作法として用意するのが一般的なようです。
ここでは、まずログインをするためのユーザー認証を行うコンポーネントの処理について説明します。
CSPを使って作成したアプリケーションをReactを使用して書き換える2回目の記事です。
前回の記事で紹介したショップデモの書き換えについてもう少し詳しく説明します。
まずReactについて、インターネット上に様々な情報が提供されていますので、それらを利用しながら学習するということも可能だとは思いますが、一方で学習時間を短縮するには、やはりReactについて説明した本を一通り読む方が速いのではないかと思います。
実際Reactに関する本はたくさんあるので、その中から自分に合いそうなものを選ぶのが良いかと思います。
ちなみに参考までに私が学習に使ったものは、以下です。
詳細は、本を読んでいただくとして、ここでは私の経験上のReact学習のポイントについて、いくつか列挙したいと思います。
開発者の皆さんこんにちは!
2024年最初のコンテストの内容が決定しましたのでお知らせします!📣
🏆 InterSystems FHIR とデジタルヘルスの相互運用性コンテスト 🏆
期間: 2024年1月15日~2月5日
賞金総額: $14,000
開発者の皆さん、こんにちは!
多くの方が、Open Exchange と GitHub で InterSystems ObjectScript ライブラリを公開しています。
でも、開発者がプロジェクトの使用とコラボレーションを簡単に行えるようにするにはどうしていますか?
この記事では、ファイルの標準セットをリポジトリにコピーするだけで、ObjectScript プロジェクトを簡単に起動して作業する方法をご紹介します。
では始めましょう!
Debeziumをご存じでしょうか?
グローバルサミット2023にて、Debeziumを題材としたセッション「Near Real Time Analytics with InterSystems IRIS & Debezium Change Data Capture」がありましたので、ご覧になられた方もおられるかと思います。
ご興味がありましたら、グローバルサミット2023の録画アーカイブをご覧ください。
FAQによると、"dee-BEE-zee-uhm"(ディビジウム..ですかね)と読むそうです。元素周期表のように複数のDB(s)を束ねる、というニュアンスみたいです。
CDC(Change data capture)という分野のソフトウェアです。
外部データベースでの変更を追跡して、IRISに反映したいという要望は、インターオペラビリティ機能導入の動機のひとつになっています。一般的には、定期的にSELECT文のポーリングをおこなって、変更対象となるレコード群(差分。対象が少なければ全件)を外部システムから取得する方法が、お手軽で汎用性も高いですが、タイムスタンプや更新の都度に増加するようなバージョンフィールドが元テーブルに存在しない場合、どうしても、各ポーリング間で重複や見落としがでないように、受信側で工夫する必要があります。また、この方法ではデータの削除を反映することはできませんので、代替案として削除フラグを採用するといったアプリケーションでの対応が必要になります。
CDCは、DBMSのトランザクションログをキャプチャすることで、この課題への解決策を提供しています。DebeziumはRedHatが中心となっているCDCのオープンソースプロジェクトです。
2023年より毎月開催し、ご好評をいただいております、開発者向けオンラインセミナーを、来年も開催いたします。
2024年初回は以下のテーマで1月25日に行います。是非ご参加ください!
テーマ:「IRISのデータを可視化する4つの方法」
日時:2024年1月25日(木)13:30-14:00
開催形式:オンライン
参加費:無料(事前登録制)
<概要>
本セッションでは、IRISが備えるBI・レポーティングの機能や、Embedded Pythonなどを用いてIRIS内のデータをビジュアル化する4つの方法について概要をご説明します。
<こんな方にお勧め>
・IRISのBI・レポーティング機能に興味のある方
・IRISに蓄積されたデータを活用したいと考えている方
ご多用中とは存じますが、この機会に是非ご参加くださいますよう、ご案内申し上げます。
繰り返し利用できる開発環境をセットアップするには、環境用のコンテナを起動するのが最も簡単な方法の 1 つです。 素早く繰り返す際には、自分の開発コンテナ内に vscode インスタンスをホストするのが非常に便利なことが分かりました。 そこで、ブラウザベースの vscode を IRIS コンテナに追加するための簡易コンテナスクリプトを作成しました。 これは、ほとんどの 2021.1+ のコンテナで動作するはずです。 私のコードリポジトリはこちらにあります。
vscode を含み事前に接続された InterSystems IRIS コンテナ
| 認証情報 | 値 |
|---|---|
| ユーザー | _SYSTEM |
| パスワード | SYS |
このプロジェクトでは、ホストされた(Web ベース)バージョンの vscode を同じコンテナ内で利用できる IRIS コンテナを作成します。 これには、以下が含まれます。
こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。
同じ現象に陥っていた方がいれば助言頂きたいのですが、
VsCodeでIRISにリモートで接続した際、SourceControlでUserNameが取得できていないようです。
{
"objectscript.conn": {
"host": "xxxx.xxxx.xxxx.xxxx",
"port": 52773,
"ns": "RKNK",
"username": "xxxx",
"password": "xxxx",
"active": true
},
"editor.formatOnType": true
}
→SourceControlクラスで..Usernameを取得しようとしても値が入っていない。
同じような現象になった方はいらっしゃらないでしょうか?
何か情報をお持ちの方がいらっしゃれば、フォローいただけますと幸いです。
質問:
特定のフォルダ/ディレクトリにあるファイルをワイルドカード/フィルターによってリスト表示するにはどうすればよいか。
例えば、'C:\Temp' 内にあるすべての '*.txt' をリスト表示する場合です。
回答:
CACHE :
%Library.File の FileSet クラスクエリを使用できます。
以下に、これを使用したサンプルコードを示します(添付されています)。
run(pDir,pFileSpec)
Set tRS=##class(%ResultSet).%New("%Library.File:FileSet")
Set tSC=tRS.Execute(pDir,pFileSpec)
Write "Name",?30,"Date Modified",?53,"Type",!
Write "--------------------------------------------------------------------------",!
While tRS.Next() {
Write tRS.Get("Name"),?30,tRS.Get("DateModified"),?53,tRS.Get("Type"),!
}
以下は、これを実行した例です。
開発者の皆さん、こんにちは!
InterSystems Java プログラミングコンテスト 2023 の勝者が決定しました!
今回もコンテストにご参加・ご注目いただきありがとうございました!今回は 13 のアプリケーション の応募がありました🔥
(1).jpg)
CSPは非推奨機能となり、今後の新規アプリケーションの開発には使用しないことが推奨されています。
代わりに昨今のウェブアプリケーション開発に広く利用されているモダンなフレームワークの使用が推奨されています。
Webアプリケーション開発用のJava scriptフレームワークはたくさんあり、そのどれを選択するかは開発者の好みの問題です。
その中で比較的人気の高いReactを使って、CSPアプリケーションを書き換えた例について紹介します。
ちなみにCSPは機能的には2つの側面があり、今回非推奨となったのは、HTMLをサーバー側で生成するための拡張機能を使ったプログラミングに関連する部分です(.cspファイルを使用したHTMLとサーバーサイドプログラミング、Javascriptプログラミングによる開発)。
HTTP通信のインフラの部分(リクエストオブジェクトやセッション管理など)は引き続きIRISの根幹を支える機能として残ります。
実際、現在のIRISのREST関連機能は、このインフラ上で実装されています。
さて、CSPで記述されたアプリケーションをJavascriptフレームワークを使ったアプリケーションに簡単にコンバートできたらいいなと思われるでしょうが、残念ながらそんなうれしい方法はありません。
こんにちは、皆さま。
IRIS for Healthを業務に利用すべく試用中です。
Interoperabilityで取り扱えるデータ型のリストがないか探していたのですが、管理ポータルのInteroperabilityの項目には記載が無いように見受けられました。
準備されているアダプタのリストが確認できる場所はありますでしょうか。
恐縮ですが教えていただければと思います。
このたび、 InterSystems IRIS® data platform、InterSystems IRIS® for Health™ および HealthShare® Health Connect のアップグレードに役立つ新しいドキュメントをご紹介します。ドキュメント 「影響度の高いアップグレード・チェックリスト」 https://docs.intersystems.com/upgrade で、任意のバージョン間でのアップグレードにおいて考慮すべき修正リスト(しかも考慮すべき修正だけ)を見ることができます。これは、ドキュメント 「非互換性リスト」 に、便利なフィルター、上位カテゴリ情報 および CSVファイルへの出力機能を追加したもので、お客さまのアップグレード作業における正確なチェックリストとしてお使いいただけます。
ご好評をいただいておりますインターシステムズジャパン開発者向けウェビナーも10回目を迎えます。今年最後のウェビナーは以下の日時・内容で開催いたします。
タイトル:「まずはコンテナを動かしてみよう!~コンテナ版IRISで新機能を試す方法のご紹介~」
日時:2023年12月19日 (火曜日) 13:30 ~14:00 (参加費無料・事前登録制)
<概要>
コンテナのいいところは、手元の環境にない内容を試す際ローカルの環境を汚さずに環境を開始でき使用後は跡形もなく消去できるところで、ちょっと何かを試したい時にぴったりの環境だと思っています。
このウェビナーでは、コンテナに興味がおありで、まだ使用されていない方やコンテナ版IRISをまだ試されていない方々を対象に、細かいことは一旦置いておいて、まずは動かすため必要なことは何か、実際の手順はどのようなものであるかを実演を交え解説いたします。
※ウェビナーでは将来リリース予定の新機能「Foreign Table(外部テーブル)」が使えるバージョンを利用し、CSVファイルをIRISにロードしない状態でSELECT文が実行できるところを実演いたします。
<こんな方にお勧め>
ご多用中とは存じますが、是非ご参加くださいますよう、ご案内申し上げます。
開発者の皆さん、こんにちは!
InterSystems Java プログラミングコンテスト 2023 の投票が開始されました!
🔥 ベストアプリケーションはこれだ! 🔥と思う作品にぜひ投票お願いします。(今回は13アプリケーションの応募がありました)
(2).jpg)
投票方法詳細は以下の通りです。
四半期ごとにお届けしてきたプラットフォーム最新情報ですが、今回が今年最後になりました。 みなさまのおかげで、素晴らしい初年度となりました。ありがとうございました。今回は、ミニマムサポート CPU リスト、AIX における OpenSSL 3.0 サポート、その他もろもろをお届けします。また 2024 年にお会いしましょう!
開発者のみなさん、こんにちは!
日本の開発者コミュニティでは初となるミートアップ(オフラインイベント)を11月17日(金)に無事に終えることができました。
ご参加いただいたコミュニティメンバーの皆様、パネリストの皆様、ありがとうございました!
第1部でご紹介しました「IRISの最新機能」についてのPDFを公開しております。ぜひご参照ください。
PDF:2023年11月17日開催ミートアップ:IRISの最新機能
以下、写真を添えながら当日の様子を少しだけご紹介します。
第1部では、IRISの最新機能紹介のほかに、6名のパネリストの方にご登壇いただきパネルディスカッションを行いました。
パネリストの皆さんから、初めてIRISに触れたときの印象やIRISの開発者を育成するためにどのような教育を行われているか、ソース管理方法をどのようにされているか、IDEとしてVSCode/スタジオどちらを利用されているか、今後やってみたいこと、使ってみたいIRISの機能について伺いました。
日頃、なかなか他社の開発方法、開発環境などを伺う機会がないため、パネリストの皆さんの回答がどれも興味深く、もっとお話を聞いてみたい!と思うとてもためになる情報満載のパネルディスカッションでした。
(途中、参加者の皆さんも含めアンケートを取っている場面)
.png)
第1部最後に、第1回技術文書ライティングコンテストの表彰式を行っています。
インターシステムズは InterSystems IRIS data platform、InterSystems IRIS for Health、InterSystems IRIS Studio のバージョン 2023.3 をリリースしました。
2023.3 は Continuous Delivery(CD)リリースです。
2023.3 には多くのアップデートや拡張機能が追加されています。
クラウドとオペレーションの強化
ジャーナルアーカイブ: このリリースから、システム管理者は完了したジャーナルファイルのアーカイブ先を設定できるようになりました。設定すると、ジャーナルファイルの切り替え後、完了したジャーナルファイルは自動的に圧縮 (Journal Compression機能を使用) された後、設定したアーカイブ先に移動されます。
アーカイブされたジャーナルファイルは、ローカルのジャーナルディレクトリから自動的に削除されるため、ジャーナルファイルの書き込みに使用される高性能ストレージ層の全体的な占有量を削減し、InterSystems IRIS の導入におけるトータルの所有コストを削減することができます。
アナリティクスとAIの強化
開発者の皆さん、こんにちは!
InterSystems Java プログラミングコンテスト 2023 のテクノロジーボーナス詳細が決定しましたのでお知らせします。
詳細は以下の通りです。
Java Native API - 2 points
前の記事 - AI による臨床文書の保管、取得、検索の単純化
この記事では、AI を使用した文字起こしと要約によってヘルスケアに変革を起こす OpenAI の高度な言語モデルの可能性を探ります。 OpenAPI の最先端 API を活用して、録音データを文字起こしし、自然言語処理アルゴリズムを使って簡潔な要約を生成するための重要なインサイトを抽出するプロセスを掘り下げていきます。
似たような機能は Amazon Medical Transcibe や Medvoice などの既存のソリューションでも提供されていますが、この記事では、OpenAI テクノロジーを使用してこれらの強力な機能を InterSystems FHIR に実装することに焦点を当てています。
Vue.js アプリのボイスレコーダーは、完全にネイティブであり、Mediarecorder インターフェースを使って JavaScript で記述されています。 これは、アプリケーションを軽量に維持しながら、録音オプションを完全に制御できるようにすることを目的としています。 以下は、録音入力の開始と停止を行うスニペットです。
2023年5月に発表し、Global Summit 2023 における多くのプレゼンテーションや活発な議論をへて、インターシステムズは Intersytems Studio の非推奨に関する計画を引き続き進めています。(非推奨とは、インターシステムズが積極的に開発しなくなった、より優れたオプションが存在する機能またはテクノロジを示します)
InterSystems は SAM (System Alerting & Monitoring) の開発を終了し、 今後は非推奨とすることを決定しました。 InterSystems は本テクノロジーを利用しているお客様のサポートを続けますが、新規プロジェクトでの利用を推奨しません。
これは InterSystems FAQ サイトの記事です。
データ取込み処理の性能・エラー(Lock Table Full)対策として、一般メモリヒープ(gmheap)や ロックテーブルサイズ(locksiz)のパラメータチューニングを行う場合があると思います。
実際に、現在どのくらいの一般メモリヒープが確保できているのかは、ターミナルと管理ポータルで確認することができます。
★ターミナルの場合
// 一般メモリヒープサマリ
USER>w$system.Config.SharedMemoryHeap.GetUsageSummary()
4992226,6029312,59441152一般メモリヒープサマリは、使用量,アロケート量,構成量(bytes) で戻り値が表示されます。
使用量は、アロケートされたロックテーブルやプロセステーブルなどで実際に使用されている量になります。
アロケート量は、gmheapの領域でロックテーブルやプロセステーブルなどでアロケートされている量になります。
構成量は、gmheap(KB) +IRISシステム追加領域 で、これが現在の最大利用可能な量(実際の一般メモリヒープの領域の値)になります。
これは InterSystems FAQ サイトの記事です。
iris list などのコマンドで、IRISインスタンスの情報を表示すると、下記のように、stateが「warn」となっていることがあります。
Instance 'IRIS' (default) directory: /usr/irissys versionid: 2022.1.1.374.0 datadir: /usr/irissys conf file: iris.cpf (SuperServer port = 1972, WebServer = 52773) status: running, since Wed Jan 25 15:05:32 2023 state: warn product: InterSystems IRISHealth
これは、直近のシステムログ(messages.log/cconsole.log)にエラーが記録されたことによるもので、InterSystems製品を再起動した場合、もしくは、一定時間エラーが無ければ、「ok」になります。
※元になったエラーの原因については、messages.logを確認してください。
SFTPサーバ側で公開鍵と秘密鍵を作成し、それをIRISサーバにコピーして、%Net.SSH.Session() の AuthenticateWithKeyPair() を使用してSFTP接続する一連の手順(サンプル)をご紹介します。
SFTPサーバ:CentOS8
SFTPクライアント:Windows10 & IRIS2023.1.2
SFTP接続用ユーザ:mysftpuser
ssh mysftpuser@172.18.xx.xx でログインし、以下 mysftpuser として作業します。
開発者の皆さん、こんにちは!
第1回 技術文書ライティングコンテスト に応募された作品のボーナスポイント獲得状況をお知らせします📣
(11/10更新しました:応募記事一覧ページの表示順序でお知らせします)
| 記事 | EmbeddedPythonに関連する記事(3点) | FHIRに関連する記事(3点) | コードの記述が含まれる記事(2点) | 動作するコードサンプルをGitリポジトリへ公開する(5点) | 記事の内容に関連した画面キャプチャや図を貼る(1点) | コンテスト投稿者が他者の記事に質問を書く(1点) | コンテスト応募者がコミュニティ内の質問記事に対して回答を書く(1点) | 合計点 |
|---|---|---|---|---|---|---|---|---|
| AWS環境を用いたCI/CDの仕組みの紹介。 | ✅ | ✅ | ✅ | 6 点 |
||||
| FHIRリポジトリ導入時の備忘録として | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 15点 | |
| Embedded Pythonの使い所は? | ✅ | ✅ | ✅ | ✅ | 11点 | |||
| DockerにIRISを構築する簡単なチュートリアル | ✅ | ✅ | ✅ | 4 点 |