記事 Saori Murata · 9月 30, 2024 19m read

開発者の皆さん、こんにちは! InterSystems IRIS(以下、IRIS)を使用したアプリケーション開発において、皆さんは環境設定をどうされていますか? 私は最近になって、「インストールマニフェスト」という機能があることを知りました。 これは、管理ポータルでポチポチしていた作業をコード化・自動化できる強力なツールです! 最初こそとっつきづらかったものの良いところがたくさんあるなと思ったので、簡単にではありますが皆さんにその良さと始め方をご紹介したいと思います。

なお、私が使用しているIRISバージョンは以下です。

2022.1

バージョンが異なる場合、違う書き方になっているもの等が存在する場合がありますので、 公式ドキュメント等を参照し適宜読み替えていただければと思います。

0
1 361
InterSystems 開発者コミュニティは 26,613 名の優秀な開発者が参加しているコミュニティです
InterSystems IRIS のプログラマーが学習や知識の共有を行い、最新情報を入手し、共に楽しく成長できる場所です!
記事 Kosaku Ikeda · 10月 2, 2023 8m read

皆さまこんにちは。
IRIS for Healthを用いてFHIRの開発に携わっている者です。

FHIRリポジトリの導入を検討している方々に向けて、足がかり的な記事になればと思い投稿致します。

<アジェンダ>
■IISでの環境構築
■POSTMANを利用しないリソースへのデータアクセス
■Patientリソースの作成について
■FHIRリポジトリを使ってみての感想

■おまけEmbedded Pythonを使って、サンプルファイルからFHIRリソースへアクセスする方法

3
1 646
記事 Kawasaki Kazuhito · 10月 14, 2024 15m read

開発者の皆様はじめまして。 私からはIRISのソースコントロール機能を用いたソースの自動チェック機能のご紹介をしたいと思います。 チーム開発では、ソースの可読性や実装方法等がある程度統一されるようにコーディング規約を作成すると思います。 しかし、メンバーの入れ替わりでコーディング規約の説明をしていても徹底されないことが起こることも少なくありません。 なので、ソースコントロールを使用してコンパイル時に自動的にチェックするようにしました。 IRIS内で完結させるメリットとして、エラーチェックだけでなくチェック後にエラーがなければコンパイルまで自動で行えること、 %Dictionary.ClassDefinition(クラス定義)を使用できるので、チェッククラスを作成しやすいこと等があげられます。

目次

  1. ソースコントロールについて
  2. 今回用意したチェック用クラスの紹介
  3. ソースコントロールへの設定
  4. 実際の動作
  5. 感想

1.ソースコントロールについて まず、ソースコントロールについて簡単に記載します。 ソースコントロールとは、一般的にコードに対する変更を追跡し管理することを表します。 IRISのソースコントロール機能には様々なメソッドが用意されています。 今回はそれを使用することでソースの自動チェック機能を実現していきます。

0
0 197
記事 iinoe ueo · 11月 24, 2025 19m read

はじめに

コミュニティの皆さま、初投稿になりますが、何か少しでも興味深い知見を共有できると幸いです。

今回の内容は、筆者が%Persistentを中心に据えたデータ構造管理の検討の過程で必要性を感じ行った、「列挙体」Likeな「データ型クラス」(%DataTypeのサブクラス)構築に関するレポートです。

内容面では、筆者が「データ型クラス」の特性に不勉強だったことに由来しての躓きに関するものも多くなりますが、ご容赦願います。 また、内容の中には、筆者が思い当たらなかった手段の活用により、よりシンプルに回避できた部分もある可能性が大いにございます。 そういった内容にお気づきの場合、ご指摘いただけますと大変ありがたいです。


経緯

組み込みのデータ型クラスを利用した、プロパティ値への制約の表現の日常化

筆者が関与したDB層にIRISを採用するプロジェクトの多くでは、永続化されるデータの構造の定義に(ごく順当に)%Persistentが用いられていました。 また、この定義クラスの永続化対象のプロパティには、データ構造の仕様書の記載に対応させて以下のような型をあてがうケースが数多く見られました。

0
0 119
記事 Kosaku Ikeda · 10月 26, 2025 14m read

コミュニティの皆さんこんにちは。
 

ベクトル検索関連の処理が完全にノーマークだった私が、一先ず「やってみよう!」との事で、2つの動画のサンプルを実行してみました。
Pythonは初心者なので、アレな箇所があっても目をつぶっていただけると幸いです。

また、間違っている箇所があったら、ご指摘いただけると幸いです。


■参考にした動画

■参考にしたコミュニティ記事

【目的】

本記事では、動画で紹介された内容を実際にIRIS環境上で実行できるよう、具体的な環境構築とコーディングを記載致します。
コミュニティの皆さんが簡単に試せるようになれば幸いです。

またGithubにサンプルソースを配置しているので、必要な方は参考にして下さい。

【準備】

■作業環境

※環境作成方法に問題のない方は、読み飛ばしていただいて構いません。






項目 バージョン情報・他
OS WIndowsServer2019
IRIS IRIS Community 2025.2.0.227.0
Python 3.12.10
開発環境 VS Code 1.
0
0 173
記事 Yuji Ohata · 9月 8, 2023 6m read

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

技術文書ライティングコンテストという事で、私からはAWS環境を用いたCI/CDの仕組みについてご紹介します。

CI/CDとは「Continuous Integration(継続的インテグレーション)/ Continuous Delivery(継続的デリバリー)」の略称で、
詳細はネットをググると色々出てくると思いますが、私としてはリポジトリに格納されたものを自動で品質保証して、
問題なければ自動でデプロイしてくれる一連の仕組み
だと理解しています。

という事で、その第一歩はIRISのソースコードをgitで管理することです。
pythonで作成したテストプログラムを用意しました。

Class packages.CICDSample Extends %RegisteredObject
{
/// グローバルの数
Property count As %Integer;
/// バイト数
Property bytes As %Integer;

/// コンストラクタ
Method %OnNew() As %Status
{
    #; プロパティ変数の初期化。
    Set ..count = 0
0
0 589
記事 So Ochi · 10月 13, 2024 10m read

はじめに

生成AIを活用したアプリケーション開発は、Python、JavaScriptなどのメジャー言語による体験記事がよく見られます。一方、IRISのObjectScriptの開発に言及された記事は比較的少ないのが現状です。そこで、本記事では生成AIがObjectScriptの開発にどこまで活用できるのかを検証しました。

特にDevOpsのプロセスにおいて、生成AIは様々なシーンでの活用が期待できます。今回は開発工程に注目し、以下の観点から生成AIの有効性を調査しました。

  • 開発
    • コードの自動生成
    • 環境構築のアシスタント(テーブルの作成)
  • 検証
    • テストデータ生成のサポート

環境

本記事の検証は以下の環境で行いました。

開発環境

  • OS: macOS Sonoma
  • IRIS: 2023.4 (linux)

開発ツール IRISの開発にはStudioやVSCodeなどが利用可能ですが、今回は生成AIの活用に特化したエディタ「Cursor」を使用しました。

Cursorを選定した理由 Cursorは、生成AIによる支援機能に特化したコードエディタで、以下の特徴があります:

  • 生成AIの支援:コードの自動生成や提案、バグの検出、修正提案を行います。また、外部のドキュメントや複数のソースを指定し、生成内容に反映させる簡易なRAG機能も搭載されています。

0
0 327
記事 Kosaku Ikeda · 9月 23, 2024 6m read

コミュニティの皆さんこんにちは。

突然ですが、皆さんはIRISの機能にある「ユニットテスト」は利用されているでしょうか。
筆者はまだ実装まで行えていませんが、各関数の品質保証を担保するため導入を検討している段階です。

現状、IRISのユニットテストには下記2点の対応すべき点があると考えています。

  1. テスト結果の可読性が低い(先日vscodeで拡張機能が出ていましたが、やはり見ずらいと感じました)
  2. ユニットテストを自動で実行する手段がない

特にテストが継続的に自動で実施されないと、ユニットテスト自体が次第に陳腐化し、実行されなくなり忘れ去られる恐れがあると考えます。
ただし、意味もなく定期的にテストを実行しても効果がありません。
そこで、Gitのpushのタイミングで行おうと考えました。

次にテスト環境です。
テスト環境の構築は、テスト自動化の観点からみるとCI/CDツール等を利用するのが一般的だと思います。
ただ今回は、テスト環境の構築を簡易にすませたいと考え、IRISの既存技術を組み合わせて構築しようと考えました。

そこで運用幅の広いInteroperabilityとユニットテストを組み合わせて、テストの自動化が可能か考察していきたいと思います。

0
0 266
記事 Junichi Sakata · 11月 6, 2023 6m read

Python流行ってますよね。(一時は圧倒的な支配力のあったJavaも、O社に買われてライセンスが云々とか言われ始めた頃からブレーキが掛かってしまった気がします。)

Pythonの魅力の一つがパッケージで様々な機能が提供されていることがあげられるかなと思っています。

私もこれまでPythonのコードをそこそこ書いてきました。実のところ、ここ1年では間違いなくObject ScriptよりPythonのほうが書いた量が多いです。Excelのドキュメントがそれらよりも遥かに多いのは何とかしたいところですが😅

IRISと連携するため$ZF(-1)を使ってPythonプログラムをコールしているものもあります。

IRIS 2021.2からPythonがIRISにEmbedded Pythonとして組み込まれたということで、どのように使えるかを試してみました。

なお、使用した環境は以下です。

OS: Linux Alma8 5.14.0-162.22.2.el9_1.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Mar 27 07:34:40 EDT 2023 x86_64 x86_64 x86_64 GNU/Linux
IRIS: IRIS for UNIX (Red Hat Enterprise Linux 9 for x86-64) 2022.1.
0
0 854
記事 Yusuke Kojima · 9月 17, 2024 5m read

開発者の皆さん、こんにちは。

突然ですが、2024年6月25日に開発者向けセミナー「FHIR 新機能のご紹介~2024.1~」が開催されました。
ご視聴になられた方も多数いらっしゃると思います。
まだご視聴になられていない方は是非一度、ご覧になってみてください。
YouTubeリンク

さて、こちらのセミナーにおいてご紹介された、IRIS for Health 2024.1からの新機能「FHIR Object Model」を用いて、リポジトリタイプのInteroperability開発の具体的なサンプルを作成してみました。
自身の備忘のため、すぐ開発環境を構築できるよう、コンテナ環境かつGitHubの公開もしております。
利用方法は、GitHub内のREADMEを参照ください。
GitHubリンク

目次


  1. FHIR Object Modelとは?


  2. メリット・デメリットを深堀り


  3. GitHub公開ソースについて


  4. 所感


1. FHIR Object Modelとは?


まずはFHIR Object Modelとはなにか、簡単に説明します。
FHIR Object Modelとは、FHIRリソースをオブジェクトモデル化したクラス群です。
IRIS for HealthでFHIR開発に多く携わっている方は、あれ?と思うわけです。
既に公開中のJSONテンプレートエンジンとなにが違うの?

0
0 233
記事 Kyouhei.Kawanishi · 11月 21, 2025 12m read

開発者の皆さん、はじめまして!

普段はサーバーレス環境での開発をしていて、AWS Lambda を使ったアプリケーション構築を主に行っています。IRIS についての実装経験はまだ浅いのですが、その高速で柔軟なデータベース機能の素晴らしさはよく知っています。

「このパワフルな IRIS を、使い慣れたサーバーレスアプリから呼び出せたらいいのにな...」

そんな思いから、今回 AWS Lambda と IRIS Native API を組み合わせた実装に挑戦してみました。これを通して、IRIS のことをもっと好きになれたらいいなと思っています。まだ IRIS の実装経験が浅いため、もっと良いアプローチや最適な方法があるかもしれません。もし改善点や間違いがあれば、ぜひコメントで教えていただけると嬉しいです!

この記事では、AWS Lambda から IRIS Native API を使用してデータを取得する方法を実装例とともに解説します。この基本実装をベースに、S3 トリガーや他の AWS サービスとの連携も可能です。ぜひ最後までお付き合いいただけると嬉しいです!

前提条件

  • Node.js / TypeScript の基本的な知識
  • AWS Lambda の基礎知識。

AWS環境の構成イメージ

0
0 115
記事 Akio Hashimoto · 10月 22, 2023 4m read

開発者の皆さんこんにちは。 これは筆者がDocker上でIRISを動かす時の、構築手順を示した備忘録です。 以前投稿した「Dockerを利用した開発環境下でのIRISへのSSL接続方法」と「IRISサーバーのバックアップと再構築の手順」も合わせて参考にして頂けると良いと思います。

筆者環境

本ドキュメントは筆者の環境に合わせた内容となりますので、以下の環境下でのドキュメントとなります。

  • ホストOS:macOS Sonoma 14.0
  • CPU:Apple M2 Pro
  • Docker:v24.0.6(Docker Desktop for Mac v4.24.2)
  • IRIS:IRIS for UNIX (Ubuntu Server LTS for ARM64 Containers) 2023.2 (Build 227U)

IRISサーバーの構築

Dockerイメージの入手

IRISのDockerイメージファイルを入手します。 入手手順は、Developer Community サイトのメニュー「InterSystems Container Registry」を開き、左側ツリーの "InterSystems IRIS Community Edition" -> "iris-community" -> バージョン を選択。筆者の場合はarm64版のコマンドを実行します。

image

2
1 701
記事 Minoru Horita · 4月 4, 2024 6m read

みなさんこんにちは! 今回は、IRIS 2024.1で実験的機能として実装されたVector Search (ベクトル検索)について紹介します。ベクトル検索は、先日リリースされたIRIS 2024.1の早期アクセスプログラム(EAP)で使用できます。IRIS 2024.1については、こちらの記事をご覧ください。

ベクトル検索でどんなことができるの?

ChatGPTをきっかけに、大規模言語モデル(LLM)や生成AIに興味を持たれている方が増えていると思います。開発者の方々の中には、中はどうなっているのか気になっている方も多いのではないでしょうか。実は、LLMや生成AIの仕組みを理解したいと思えば、ベクトルの理解は不可欠な要素となります。

ベクトルとは?

ベクトルは、高校の数学で習う「あの」ベクトルのことです。が、今回は、複数の数値をまとめて扱うデータ型であるという理解で十分です。例えば、

( 1.2, -4.5 )

という感じです。この例は、1.2と-4.5という2つの数値をまとめており、数値の個数(ここでは2)のことを次元数と言います。我々の生きている場所を3次元空間と呼ぶことがありますが、これは、3つの数値で場所が特定できることを表しています(例えば、緯度、経度、標高の3つで地球上の位置を完全に特定できます)。

ベクトルをどのように使うのか?

1
1 825
お知らせ Akio Hashimoto · 7月 28, 2023

こんにちは。
VSCodeでObjectScriptにコメントを挿入する拡張機能を作成してみましたので、共有させて頂きたいと思います。


使い方はとても簡単で、コンテキストメニューから「コメントの追加」を選択するだけです。
カーソル位置に合ったコメントが挿入されます。
挿入するコメントの定型文は設定で自由に指定できます。

クラスの説明文を挿入する

パラメーターやプロパティの説明文を挿入する

メソッドの説明文を挿入する

4
0 134
記事 Megumi Kakechi · 8月 22, 2022 16m read

InterSystems IRIS で使用できるユーティリティの一部を一覧でご紹介します。

以下の表の各ユーティリティ名をクリックすると、ユーティリティの詳細情報をご覧いただけます。

ユーティリティ名 概要
^BACKUP バックアップやリストア処理を行います
^DATABASE データベースの作成・編集・削除など、データベースの管理を行います
^DATACHECK 2つのIRIS.DAT の内容が一致しているかを確認します
^DBSIZE データベースサイズを計測します
^GBLOCKCOPY データベース内のグローバルデータを別データベースまたはネームスペースにコピーします
^GETPPGINFO IRISTEMPデータベースでどのような一時グローバルを使用しているかを確認します
^%GCMP 2つのグローバルの内容を単純比較します
^%GSIZE ネームスペース内の各グローバルのデータサイズを確認します
^Integrity/
^INTEGRIT
データベースのセット、またはデータベース内のグローバルのサブセットの構造的な整合性を検証します
^JOBEXAM プロセス一覧を表示します。
2
1 1636
記事 Akio Hashimoto · 10月 4, 2024 3m read

IRISはPythonの豊富なライブラリや既存のPythonプログラムをそのまま利用する事も、COS内でネイティブにコーディングする事も可能となりました。 しかし開発において、いくつかの問題点があります。

1. Pythonのバージョン

Pythonを使ったプロジェクトを構築していると、バージョンの問題にあたる時があります。 古いバージョンで開発していたところに、使いたいライブラリが対応していなかった等です。 しかし、IRISのEmbedded Pythonを利用する場合には、Pythonランタイムのバージョンに影響される為、プロジェクトで使用するバージョンは、プロジェクト単位はなく、IRISのバージョン単位で決まってしまいます。 また、現時点ではこのPythonランタイムをアップグレードする事はできません。

2. 外部Pythonファイルの利用

私は既に開発済みのPythonプログラムをそのまま活用したいと思い、外部Pythonファイルを読み込んで利用する方法を取りました。 IRISでは外部Pythonファイルを特定の場所に配置する事で、そのファイルをimportする事が出来ます。 デフォルトは{インストールパス}/lib/python です。

0
0 495
記事 Hiroshi Sato · 2月 15 4m read

IRISではCSPタグベースの開発は、非推奨(Deplicated)になっています。

非推奨とはいえ、いますぐ使えなくなることはないと思います。

が、CSP機能に含まれるHyperEventの#server()#呼び出しは、かなりやばいということがわかってきました。

これはChromeを始めとするメジャーなブラウザーが提供しているSynchronous XMLHttpRequestという関数を呼び出しています。

この関数をGoogleは10年前くらいから非推奨機能としていて、いつか完全に機能をドロップすると宣言しています。

Stackoverflowの該当記事

インターシステムズのドキュメントにもさりげなく記載されています。

HyperEventCallメソッド

とはいえ、10年もそのままなので、希望的観測をすれば、今後も使える可能性は高いかもしれません。

しかし、ある日突然なくなるリスクはゼロではありません。

ですので、#server()#呼び出しをお手元のコードからなるべく早く取り除くのが賢明です。

それでは、どうすれば良いのか?

ということですが、今のご時世で考えれば、REST APIに変えましょうというのが美しい世界ですが、おそらく書き換えのコストは、半端じゃないでしょう。

ということで、現実的な解は、#Call()#に置き換えることだと思います。

4
2 70
お知らせ Mihoko Iijima · 11月 11, 2024

開発者の皆さん、こんにちは!

2回目の開催となったミートアップですが、11月8日(金)に無事、開催を終えることができました。ご参加いただきましたメンバーの皆様、ありがとうございました!

今年のミートアップでは、ワークショップを開催してみました。13時半~17時半の約4時間(!)もの間、ご持参いただいたパソコンでもくもくと進めていただいていたように思えます。

ミートアップのワークショップで使用した内容は、全て以下リポジトリに公開しております。

👉https://github.com/Intersystems-jp/meetup2024WorkShop


以下、写真を添えながら当日の様子を少しご紹介します。

第1部は、ワークショップを合計5種類用意いたしました。

Python入門」、「Embedded PythonでIRISデータにアクセスしよう」までは、全員一緒のタイミングで説明を聞いていただきながら、内容を確認するワークショップを行いました。

10分間の休憩を挟んだ後は、ご用意しました3種のワークショップ:「WSGI-Flask」「NiceGUI+SQL Alchemyを使ってアプリケーションをつくってみよう」「機械学習で手書き数字の識別に挑戦」のなかから好きな内容にチャレンジいただきました。

0
0 214
記事 Mihoko Iijima · 2月 18 4m read

開発者の皆さん、こんにちは!

私は普段 Windows を使用しており、VSCode で ObjectScript を書いてテストする際には、IRIS ターミナルを別途起動し、VSCode とターミナルの 2 画面を行き来する操作を続けてきました。

ところが今回、ObjectScript エクステンションに追加された「ObjectScript Lite Terminal」を利用することで、VSCode 1 画面内で IRIS ターミナルを操作できるようになりました。

一見すると小さな追加機能ですが、日々 IRIS を触っている開発者にとっては “地味に革命” と言えるかもしれません。本記事では、その使い勝手を詳しくご紹介します。

Windows 以外の環境では、通常 iris session xxx を実行して ObjectScript シェルに切り替えますが、Lite Terminal を使えばこの操作が不要になります。

まずは、起動方法から。

Lite ターミナルの起動には、3種類の方法があります。

その1:コマンドパレットを使って起動する

VSCode の View > Command Palette.. >  ObjectScript: Launch Lite Terminal

クリック後、

2
2 87
記事 Mihoko Iijima · 1月 6, 2022 4m read

開発者のみなさん、あけましておめでとうございます🎍 今年もどうぞよろしくお願いします!

さて、この記事では、IRIS ターミナルに(こっそり)追加された便利機能をご紹介します!(つい最近知りまして、びっくりしましたsurprise

2023/4/13 追記:Pythonシェルへ切り替えるメソッドのショートカットが追加されていたので返信欄に追記しました。

IRIS ターミナルで以前実行したコマンドを再実行する場合、上矢印キーを連打しながらコマンドを探されていると思うのですが、IRIS 2021.1 から履歴表示と、履歴番号を指定した実行ができるようになっていました!

では早速、履歴(history)の使い方をご紹介します。これがあれば、もう、上矢印キーを連打せずに以前実行したコマンドを再実行できます!!

まずは、履歴を作るため、いくつかコマンドを実行します。​​​

ユーザ名:_system
パスワード:***
USER>
 
USER>write $ZDATE($NOW(),16)
2022年1月6日
USER>
 
USER>write $ZV
IRIS for Windows (x86-64) 2021.1 (Build 215U) Wed Jun 9 2021 09:39:22 EDT
USER>
 
USER>write $system.
1
0 635
記事 Akio Hashimoto · 12月 22, 2024 2m read

​ UDL形式でのインポート・エクスポートが出来ない古いCahceバージョンのソースを保守していたり、古くからのバージョン管理下においてXMLでのバージョン管理を行っている環境であったりと、未だにXMLでのエクスポート・インポートが必要になる場面はまれにあるかと思います。 今回、そういった環境下でもわざわざ管理ポータルを開かずとも、VSCodeでXML形式でエクスポートする拡張機能をリリースしましたので、共有させて頂きます。

機能について

編集画面、あるいは、VSCodeのエクスプローラータブ内からクラスを選択し、コンテキストメニューの「XML形式でエクスポート」を実行します。

image

image

XMLファイルは所定の場所に保存されます。保存先は設定で指定が出来ます。

複数のクラスを選択した場合、初期値では1対1でXMLファイルが保存されます。

image  

設定を変更する事で、1つのXMLファイルとして保存する事も可能です。

image  

利用方法

  1. 拡張機能の検索窓から"ObjectScript To XML"を検索し、インストールします。

image

  1. READMEに記載されているソースをダウンロードし、IRISへインポートします。

  2. ウェブ・アプリケーションを作成します。

  3. 必要な場合、拡張機能の設定値を変更します。

0
0 286
記事 Toshihiko Minamoto · 1月 31, 2023 1m read

皆さん、こんにちは。


最近話題のChat GPTですが、試しに使ってみました(今更かもしれませんが)。

ObjectScriptを知っているみたいですyes

なので、

と質問すると、

おおーすごい! ObjectScript プログラムとその説明が返ってきました!!

これでプログラミングできるかもcheeky

0
0 449
記事 Tomo Okuyama · 1月 23 2m read

DifyのベクトルストアにIRISを追加しました

こんにちは、セールスエンジニアの奥山です。

OSSのLLMアプリ開発プラットフォーム「Dify」に、IRISをベクトルストアとして利用できる機能をコントリビュートしました。Dify 1.11.2でマージされています。

https://github.com/langgenius/dify/releases/tag/1.11.2

Difyとは

Difyは、RAGやAIエージェントをノーコード/ローコードで構築できるOSSプラットフォームです。 GitHub Stars 10万以上、世界中で急速に利用が広がっています。

https://github.com/langgenius/dify

これまでWeaviate、Qdrant、Milvus、PgVector等のベクトルDBに対応していましたが、 今回IRISが選択肢に加わりました。

使い方

Difyの公式docker-compose.ymlにIRIS 2025.3の設定が含まれています。 .envファイルでVECTOR_STORE=irisと設定するだけでIRISが起動します。

# .envの設定
VECTOR_STORE=iris

接続情報のデフォルト値も設定済みなので、ローカルで試すだけならすぐに動かせます。

0
0 70
お知らせ Mihoko Iijima · 11月 21, 2023

開発者のみなさん、こんにちは!

日本の開発者コミュニティでは初となるミートアップ(オフラインイベント)を11月17日(金)に無事に終えることができました。

ご参加いただいたコミュニティメンバーの皆様、パネリストの皆様、ありがとうございました!

第1部でご紹介しました「IRISの最新機能」についてのPDFを公開しております。ぜひご参照ください。

PDF:2023年11月17日開催ミートアップ:IRISの最新機能


以下、写真を添えながら当日の様子を少しだけご紹介します。

第1部では、IRISの最新機能紹介のほかに、6名のパネリストの方にご登壇いただきパネルディスカッションを行いました。

パネリストの皆さんから、初めてIRISに触れたときの印象やIRISの開発者を育成するためにどのような教育を行われているか、ソース管理方法をどのようにされているか、IDEとしてVSCode/スタジオどちらを利用されているか、今後やってみたいこと、使ってみたいIRISの機能について伺いました。

日頃、なかなか他社の開発方法、開発環境などを伺う機会がないため、パネリストの皆さんの回答がどれも興味深く、もっとお話を聞いてみたい!と思うとてもためになる情報満載のパネルディスカッションでした。

(途中、参加者の皆さんも含めアンケートを取っている場面)

 

第1部最後に、第1回技術文書ライティングコンテストの表彰式を行っています。

1
0 309
記事 Hiroshi Sato · 11月 13, 2023 2m read

CSPは非推奨機能となり、今後の新規アプリケーションの開発には使用しないことが推奨されています。

代わりに昨今のウェブアプリケーション開発に広く利用されているモダンなフレームワークの使用が推奨されています。

Webアプリケーション開発用のJava scriptフレームワークはたくさんあり、そのどれを選択するかは開発者の好みの問題です。

その中で比較的人気の高いReactを使って、CSPアプリケーションを書き換えた例について紹介します。
ちなみにCSPは機能的には2つの側面があり、今回非推奨となったのは、HTMLをサーバー側で生成するための拡張機能を使ったプログラミングに関連する部分です(.cspファイルを使用したHTMLとサーバーサイドプログラミング、Javascriptプログラミングによる開発)。

HTTP通信のインフラの部分(リクエストオブジェクトやセッション管理など)は引き続きIRISの根幹を支える機能として残ります。

実際、現在のIRISのREST関連機能は、このインフラ上で実装されています。

さて、CSPで記述されたアプリケーションをJavascriptフレームワークを使ったアプリケーションに簡単にコンバートできたらいいなと思われるでしょうが、残念ながらそんなうれしい方法はありません。

1
1 349
お知らせ Mihoko Iijima · 8月 30, 2023

開発者の皆さん、こんにちは!

日本の InterSystems 開発者コミュニティで初となるコンテストを開催いたします!

初回コンテストは、技術文書ライティングコンテストで InterSystems IRIS/InterSystems IRIS for Health に関連した内容であればどのような内容でもご応募いただけます。(応募記事一覧は以下👇URLよりご覧いただけます。)

✍ InterSystems Japan 技術文書ライティングコンテスト:IRISに関連した記事 ✍

🎁 参加賞:投稿いただいた方全員に参加賞あります。

🏆 特別賞:選ばれた3作品に特別賞があります。

コンテストへの応募は簡単です!2023年9月6日(水)~11月6日(月)までの期間に開発者コミュニティに「IRISに関連した記事」を投稿してください(詳細は後述の「応募条件」「ボーナスポイント」をご参照ください)。

投票期間延期のお知らせ📣:2023年11月13日(月)23時59分まで投票いただけるように期間を延長しました!

4
0 504
記事 Hiroshi Sato · 3月 4 13m read

最近話題のClaude Codeを使って、ObjectScriptプログラミングをトライしてみました。

もちろんClaude CodeにObjectScriptのコードを書かせるにはそれなりの指示が必要ですが、適切なプロンプトを与えると想像以上にちゃんとしたObjectScriptコードを書いてくれます。

今回試したのは、少し前に投稿したCSPの#server問題に対応するため、#serverをREST APIに書き換えるというものです。

元のソースは、

https://github.com/wolfman0719/shopdemo

これはCSPのデモアプリケーションですが、しっかりと#server機能を使用しています。


結論をいうと、%sessionがRESTとCSP間で共有できないという根本問題があって、実行成功までには至っていませんが面倒なコーディングをかなりカーバーしてくれることがわかります。

(REST APIをCSPクラスで実装することで%session共有の問題を回避でき、Claude Codeが生成したロジックの正しさは証明されました)

そして、Claude Codeは、 ObjectScriptのことかなり理解してくれています。

ObjectScriptプログラマーが少ない問題を大きく改善してくれる可能性があります。
 

それでは、私がどのようなことを行ったか説明します。

2
0 57
記事 Shintaro Kaminaka · 9月 4, 2020 13m read

開発者の皆さん、こんにちは。

今回の記事ではFHIRと組み合わせて使用されるケースが増えてきている、権限の認可(Authorization)を行うためのOAuth2について取り上げます。

まずこのパート1では、IRIS for HealthおよびApacheのDockerコンテナの起動と、IRIS for Health上で、OAuth2認可サーバ機能を構成し、REST開発ツールPostmanからアクセスし、アクセストークンを取得する方法について解説します。
さらにパート2以降では、IRIS for HealthにFHIRリポジトリ機能を追加し、OAuth2リソースサーバ構成を追加して、Postmanからアクセストークンを使用したFHIRリクエストの実行方法まで解説します。

InterSystems製品のOAuth2機能の解説については、すでにいくつかの記事が開発者コミュニティ上に公開されていますが、今回は改めて最新バージョンでの構成方法を解説したいと思います。
InterSystems IRIS Open Authorization Framework(OAuth 2.0)の実装 - パート1

今回の記事では、最新のInterSystems IRIS for Health 2020.3 Preview Editionを使用します。

1
0 1468
記事 Minoru Horita · 2月 2, 2022 6m read

開発者の皆さん、こんにちは!

最近リリースされた InterSystems IRIS 2021.2 の目玉機能のひとつが Embedded Pythonです。Embedded Pythonは、PythonのランタイムをIRISに組み込むことによって、IRISのメソッドをPythonで記述したり、PythonのコードからIRISのクラスにアクセスしたりなどなど、IRISのObjectScriptとPythonとで相互に呼び出しを行なえる機能です。

しかも、Pythonのランタイムを埋め込んでいるため、ネットワークのオーバーヘッドがなく、パフォーマンスへの影響は最小限です。

IRISのプログラマの方には、Pythonの豊富なライブラリをストレスなく利用して頂けます。

Pythonのプログラマの方には、ObjectScriptを学ぶことなく、IRISの高速なデータベースやインターオペラビリティ機能などをストレスなく活用して頂けます。

今回の記事では、Embedded Pythonの機能をほんの一部だけ紹介します。

メソッドをPythonで書く

次のコードは、日付を表す文字列を2つ渡して、2つの日付の間の日数を返すメソッドです。

0
0 1330