こちらの内容は、今後のリリースにより変わる(不要になる)可能性があります。

バージョン2023.2以降で、IRISスタジオが非推奨となったこともあり、VSCode拡張機能を評価される方も今後増えるかと思います。

既存のCache'資産をお持ちで、ソース管理をソースコントロールフックで実施されている方などにおかれましては、その際にサーバサイド編集を選択される方もおられるかと思います。

VSCode拡張には、Cache'/IRISスタジオの「ファイルから検索」と同じ要領でサーチを行いたいというご要望に応えるための機能が備わっています。その導入方法が、VSCodeの未公開APIを使用している関係で、ひと手間かかるものとなっているため、解説します。

2 1
0 130

Red Hat Insights アラートが InterSystems IRIS に対応しました

InterSystems と Red Hat は共同で、IRIS 固有の Red Hat Insights アラートを開発しました。

Red Hat Insights は、Red Hat Enterprise Linux 環境におけるシステムリスクの予測と改善策を提案するサービスです。Insights は、ほぼすべてのバージョンの RHEL, OpenShift, Ansible サブスクリプションにて無料でご利用いただけます。詳細については、Red Hat の Insights ページをご参照ください。

0 0
0 63
記事
· 2023年9月28日 22m read
OpenAPI Suite - パート 1

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

私が作成した OpenAPI-Suite という最新のパッケージをご紹介します。これは、OpenAPI 仕様バージョン 3.0 から ObjectScript コードを生成するツールセットです。 簡単に言うと、これらのパッケージでは以下を行うことができます。

  • サーバーサイドクラスの生成。 ^%REST による生成コードに非常に似ていますが、バージョン 3.0 がサポートされていることに付加価値があります。
  • HTTP クライアントクラスの生成。
  • クライアントプロダクション(ビジネスサービス、ビジネスオペレーション、ビジネスプロセス、Ens.Request、Ens.Response)クラスの生成。
  • コードの生成とダウンロードまたはサーバーでの直接コンパイルを行う Web インターフェース。
  • バージョン 1.x からバージョン 3.0 への仕様の変換。
  • 0 0
    0 54

    この記事では、2023年3月1日~31日の期間に開催された「技術文書ライティングコンテスト:InterSystems IRISチュートリアル」に応募された24作品の中から、Open Exchangeに公開されている sqlalchemy-iris を利用してPythonとSQLでIRISのデータを操作する方法を投稿された Heloisa Paivaさんの記事をご紹介します。

    Open Exchangeは、世界各地にいる開発者コミュニティメンバーが開発したインターシステムズ製品で利用できるサンプルアプリが登録されているページで、自由にダウンロードしてご利用いただけます。

    Heloisaさんの記事のように公開されている Open Exchange の利用例があると、「ちょっと使ってみたいな・・」と思われているメンバーの方への情報共有ができてとても有用な記事になると思います!丁度日本で初開催の「技術文書ライティングコンテスト」開催中ですので、ぜひ使用例や感想など、投稿してみてください!💪

    0 0
    0 232

    ご好評をいただいておりますインターシステムズ主催 開発者向けウェビナーを次回は以下の通り開催いたします。

    日時:2023年10月18日(水)13時~13時30分

    タイトル:「クラウド上のIRIS - サイジングのベストプラクティスをご紹介」(事前登録制・参加費無料)

    ご登録はこちらから

    【概要】

    0 0
    0 77

    InterSystems は、IRIS 2023.3 から InterSystems IRIS NLP (自然言語処理, 旧 iKnow) の開発を中止し、非推奨とすることを決定しました。 InterSystems は本技術を利用しているお客様のサポートを続けますが、本技術を開発するきっかけとなったコアテキスト検索のユースケース以外、新規プロジェクトでの利用を推奨しません。 自然言語を含むその他のユースケースでは、InterSystems も特定のアプリケーションに関連して研究している、大規模言語モデルにもとづく新しい技術を利用することで、より良い対応が可能となっています。

    InterSystems IRIS NLP のご利用に関するご質問は、弊社担当アカウントチームにお問合せいただくか、 @Benjamin De Boe までご連絡ください。

    0 0
    0 85

    IRISアップグレードやインストールがうまくいかない場合、初めに以下の4点をご確認ください。

    1. インストーラーに問題はないか?
    2. 対象バージョンの最新インストーラー(キット)を使用しているか?
    3. サポート対象プラットフォームへのインストールを行っているか?
    4. インストールディレクトリパスに日本語を含んでいないか?

    ★1について
    インストーラーのダウンロードに問題があったなどで、インストーラー自体に問題があり、インストールできないというケースがあります。
    その場合は、インストーラーのハッシュ値(md5 checksum)を比較してファイルの同一性を確認するか、再ダウンロードしてインストールをお試しください。

    2 0
    0 110

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

    このお知らせ📣では、第1回 InterSystems Japan 技術文書ライティングコンテスト の応募記事の探し方をご紹介します。

    コンテストにご応募いただいた記事は、こちらのページ👉https://jp.community.intersystems.com/contests/1 からご覧いただけます。

    または、コミュニティのページ上部にあるメニューからも同じページに移動できます。

    2 0
    0 65

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

    InterSystems Python プログラミングコンテスト 2023 の投票が開始されました!

    🔥 ベストアプリケーションはこれだ! 🔥と思う作品にぜひ投票お願いします。(今回は15作品のご応募がありました)

    投票方法については以下ご参照ください。

    1 0
    0 68

    InterSystems IRIS® と InterSystems IRIS for HealthTM 2023.3 の開発者プレビュープログラムの一環として、最初の開発者プレビューを公開いたします

    今後のプレビューリリースは、2週間ごとの発表を予定しており、新機能が完成次第、プレビュー版に追加されていきます。

    みなさまとよりよい製品にできるよう、ぜひ開発者コミュニティみなさまのフィードバックをお寄せください。ドキュメントは以下のリンクからご覧いただけます。本バージョンが正式公開 (General Availability - GA) されるまで、数週間かけてドキュメントは更新される予定です。

    1 0
    0 59

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

    ObjectScriptのコード実行中にエラーが発生した場合 "<UNDEFINED>HelloWorld+2^Simple.Demo.1 *name" のようなエラーメッセージが表示されます。

    エラーメッセージの読み方については、ObjectScriptクックブックの「ObjectScriptでエラーが発生したら」のエラーメッセージの読み方 をご参照ください。

    エラー行の特定を行う際、VSCodeのコマンドパレットを利用すると簡単に対象行にジャンプできますので、以下、方法をご紹介します。

    1)VSCodeのView→Command Palette... を開きます。

    2) 「ObjectScript:Open Error Location...」を選択します(初回は表示項目に登場しないため > の後ろに ObjectScript と入力すると表示されます)。

    3) テキストボックスが表示されるので、エラーメッセージの出力情報の中から ラベル名+行数^生成ルーチン名 をコピーして貼り付け、Enterをクリックします。

    ※スタジオにも同様の機能がありますが、VSCodeの場合対象となるコード(生成コードの元コード)をVSCode上で表示していなくても対象となる生成ルーチンを開きエラー行をポイントしてくれます。

    3 0
    0 271

    インターシステムズは、接続性に関する 2 つの問題を修正しました。これらの不具合とその修正はそれぞれ独立しています。

    この警告は、2つの問題の修正を含む ポイントリリース があるため、両方に対処する内容になります。

    どちらの問題も、以下の製品のバージョン2019.1.42020.1.4のみに影響します:

    1 0
    0 52

    インターシステムズは、いくつかの問題を修正するためにリリースを再作成する必要がある場合があります。このプロセスにより、「ポイントリリース」と呼ばれる新しいキットが生成されます。

    ポイントリリースは、メンテナンスリリースやメジャーリリースとは異なります。 これは緊急の問題に対して、迅速かつ的確に対応するために行われます。


    ポイントリリースの確認方法

    InterSystems Data Platform 製品は以下のリリース規則に従います:

    <インターシステムズ製品> <年>.<メジャー>.<メンテナンス>.<ビルド#>.<ポイント>

    例:InterSystems IRIS 2022.1.4.204.1

    ポイントリリースの確認方法は簡単で、製品キットの下1桁が0でなければ、ポイントリリースを使用していることになります。

    2 0
    0 67

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

    スタジオを利用されている方にはお馴染みのソースコードの「XMLファイルへのエクスポート/インポート機能」がVSCodeのObjectScriptエクステンションに追加されました! (ObjectScript 2.10.0以降に含まれています。こちらのリクエストが元となりました👉https://github.com/intersystems-community/vscode-objectscript/issues/1158 エクステンションの追加番号は#1171です)

    今まで、過去エクスポートしたXMLファイルをVSCodeから参照するためには、管理ポータル(またはスタジオ)を利用してインポートする必要がありましたが、VSCodeの画面だけでできるようになりました!

    💡注意1: InterSystems IRIS /InterSystems IRIS for Health 2023.2以降のバージョンに接続した状態でご利用いただける機能です。

    💡注意2:この機能は管理ポータルやスタジオのインポート/エクスポートのVSCode版のような機能となるため、インポートしたソースコードはサーバ側にインポートされ、エクスポートはサーバ側コードを選択してXMLファイルにエクスポートする動作となります。XMLファイルインポート後、VSCodeのワークスペースでローカルファイル(*.cls や *.mac)として編集 したい場合は、 ObjectScriptエクステンションマークをクリックし、対象のコードを選択→エクスポート の手順でローカルにエクスポートする必要があります。

    2 0
    0 228

    DeepSee BI ソリューションのユーザーインターフェース(UI)を配布するにはいくつかのオプションがあります。 最も一般的には以下の手法があります。

    • ネイティブの DeepSee ダッシュボードを使用し、Zen で Web UI を取得して、Web アプリに配布する。
    • DeepSee REST API を使用して、独自の UI ウィジェットとダッシュボードを取得・構築する。

    最初の手法はコーディングを行わずに比較的素早く BI ダッシュボードを構築できるためお勧めですが、事前設定のウィジェットライブラリに限られます。これを拡張することはできますが、大きな開発の手間がかかります。

    2 つ目の手法には、任意の総合 js フレームワーク(D3,Highcharts など)を使用して DeepSee データを可視化する手段がありますが、ウィジェットとダッシュボードを独自にコーディングする必要があります。

    今日は、上の 2 つを組み合わせて Angular ベースの DeepSee ダッシュボード用 Web UI を提供するもう 1 つの手法をご紹介します。DeepSee Web ライブラリです。

    1 0
    0 69

    こんにちは、皆さま。

    IRIS for Healthを業務に利用すべく試用中です。

    FHIR R4 リソースリポジトリの体験とFHIR サーバサイドアプリケーションを利用したデータの追跡を簡単に試せるテンプレートで提供されている環境をローカルに展開しています。

    患者登録を実際に行った動作の理解を進めておりますが、以下2点不明となっております。どなたか情報ございましたらフォローいただければと思います。

    ・実際のデータが登録されているテーブルは「HSFHIR_X0001_S.Patient」かと思いますが、どこでInsert文が流れているのでしょうか。

    ・clsと実際のテーブルは対になるという認識でおりますが、vscode上に「HSFHIR_X0001_S.Patient」に該当するようなclsが無いように見受けられましたがどこかにあるのでしょうか。

    見当違いな質問でしたら申し訳ありません。

    0 2
    0 93

    この記事では、2023年3月1日~31日の期間に開催された「技術文書ライティングコンテスト:InterSystems IRISチュートリアル」に応募された24作品の中から、Heloisa Paivaさんが投稿されたシンプルですぐに試せる記事をご紹介します。


    はじめに

    このチュートリアルは、テストやチュートリアル用のサンプル作成など、あらゆる目的でサンプルデータベースを作成するための、私が見つけた最も簡単な方法についての簡単なチュートリアルです。

    ネームスペースの作成

    1. ターミナルを開きます。
    2. 次のコマンドを実行します。 "Do $SYSTEM.SQL.Shell()" (※または :sql の入力でもSQLシェルに切り替えできます)
    3. "CREATE DATABASE " コマンドを実行します。実行時、作成したいネームスペース名をコマンドの引数に指定します。(TESTネームスペースを作成する例:CREATE DATABASE TEST)

    これで、管理ポータルから新しいネームスペースを作成するより簡単で素早い方法でネームスペースを作成できます。

    1 0
    0 87

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

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

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

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

    12 0
    0 245

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

    いよいよ9月6日(水)~「第1回 InterSystems Japan 技術文書ライティングコンテスト」が始まります!

    このお知らせでは、技術文書ライティングコンテスト📝への記事の投稿方法をご紹介します。

    手順は以下2つだけ。とても簡単です。ぜひチャレンジしてみてください!💪

    1. 開発者コミュニティにアカウントを作成する
    2. IRISに関連した記事を書いてコンテスト用タグを設定する

    1については、記事「アカウント作成方法」に図解がありますのでご参照ください。

    2については、以下の「記事の投稿方法」で詳しくご紹介します。

    1 3
    0 107

    Windows環境にWebGatewayのみをインストールした場合に、「Service Unavailable / HTTP Error 503. The service is unavailable.」エラーとなりWebアプリケーションに接続できない場合があります。

    こちらは、Visual C++ 再頒布可能パッケージ がインストールされていない環境に、Webゲートウェイをインストールした場合に見られる事象です。

    Microsoft社のホームページより、Visual C++ 再頒布可能パッケージ(X64)をダウンロードしてインストールしてください。

    インストール後IISを再起動し、以下のリンクよりWebゲートウェイ管理ページに接続できることをご確認ください。

    1 0
    0 85

    Caché と InterSystems IRIS データベースの整合性は、システム障害から完全に保護されてはいますが、物理ストレージデバイスが保管しているデータは、デバイスの障害によって破損してしまいます。 そのため、多くのサイトでは、データベースの整合性チェックを定期的に実行するように選択しており、特に特定のバックアップが災害時に信頼できるかどうかを検証するためにバックアップが行われています。 システム管理者がストレージの破損を伴う災害に対応するために、整合性チェックも緊急に必要となる場合もあります。 整合性チェックはチェックされているグローバルの各ブロック(すでにバッファーにない場合)を、グローバル構造で指示された順序で読み取る必要があります。 これには膨大な時間がかかりますが、整合性チェックは、ストレージサブシステムが維持できる限り高速に読み取ることができます

    1 0
    0 114

    こちらの記事では、RESTやCSPなどの「Webアプリケーションのトラブルシューティング」のヒントをご紹介します。

    何かしらのトラブルと思われる事象が発生した場合、確認したいのがログファイルになります。
    各コンポーネント間のやり取りで、どこでどのようなトラブルが発生しているかを、それぞれログを取得して確認することができます。

    ① クライアント ⇔ Webサーバ間では、「Webサーバログ(IISやApacheのアクセスログなど)」、
    ② Webサーバ ⇔ Webゲートウェイ間では、「イベントログ」・「HTTPトレース」、
    ③ Webゲートウェイ ⇔ IRISサーバ間では、「ISCLOG」・「監査ログ」・「messages.log」などがあります。

    3 0
    0 151

    InterSystems Reports 23.2 がリリースされました。 WRC Direct のコンポーネントページで InterSystems Reports Designer および InterSystems Reports Server で検索することで、Mac OSX、Windows、Linux の各種プラットフォーム用キットを入手いただけます。 このバージョンでは、弊社パートナーである insightsoftware の Logi Report 23.2 に含まれる以下の素晴らしい機能が追加されています。

    0 0
    0 87

    以下は、InterSystems IRIS で使用するデータベース、ネームスペース、および Web アプリケーションを作成できる ObjectScript スニペットです。

        set currentNS = $namespace
    
        zn "%SYS"
    
        write "Create DB ...",!
        set dbName="testDB"
        set dbProperties("Directory") = "/InterSystems/IRIS/mgr/testDB"
        set status=##Class(Config.Databases).Create(dbName,.dbProperties)
        write:'status $system.Status.DisplayError(status)
        write "DB """_dbName_""" was created!",!!
    
    
        write "Create namespace ...",!
        set nsName="testNS"
        //グローバルの DB
        set nsProperties("Globals") = dbName
        //ルーチンの DB
        set nsProperties("Routines") = dbName
        set status=##Class(Config.Namespaces).Create(nsName,.nsProperties)
        write:'status $system.Status.DisplayError(status)
        write "Namespace """_nsName_""" was created!",!!
    
    
        write "Create web application ...",!
        set webName = "/csp/testApplication"
        set webProperties("NameSpace") = nsName
        set webProperties("Enabled") = $$$YES
        set webProperties("IsNameSpaceDefault") = $$$YES
        set webProperties("CSPZENEnabled") = $$$YES
        set webProperties("DeepSeeEnabled") = $$$YES
        set webProperties("AutheEnabled") = $$$AutheCache
        set status = ##class(Security.Applications).Create(webName, .webProperties)
        write:'status $system.Status.DisplayError(status)
        write "Web application """webName""" was created!",!
    
        zn currentNS
    

    1 0
    0 79

    IRISをアップグレードすると、SQLクエリオプティマイザの機能向上により、旧バージョンとは異なるクエリプランによるクエリ実行コード(クエリキャッシュ)が作成される場合があります。
    ほとんどの場合はパフォーマンスが向上するのですが、稀にパフォーマンスが低下するケースもあります。

    ・アップグレードによりオプティマイザが改善しているとはいえ、中には遅くなるクエリがあるのではないか?
    ・予期しないSQLの問題が起きるのではないか?
    ・アップグレード後に全てのクエリパターンをテストするには時間と労力がかかりすぎる

    このように、機能向上よりも安定性を優先して「今までのプランのまま実行したい」というご要望もあることでしょう。
    こちらの記事では、そのようなお客様への解決策をご案内します。

    2 0
    0 87

    cAdvisorContainer Advisor)は、実行中のコンテナのリソースの使用率とパフォーマンスデータを分析して公開します。 cAdvisor は初期設定のままで Prometheus メトリクスを公開します。

    https://prometheus.io/docs/guides/cadvisor/

    Prometheus は SAM に統合されています。 このため、cAdvisor メトリクスと利用して Prometheus と Grafana で公開することが可能です。

    cAdvisor はポート 8080 でリッスンしますが、これは Nginx のポートと競合するため、それに対応するように Nginx ポートを変更することができます。

    構成手順:

    1. nginx ポートを変更します。

    nghix.conf を変更します。

    0 0
    0 227

    ご好評をいただいておりますインターシステムズ主催 開発者向けウェビナーを次回は以下の通り開催いたします。

    日時:2023年9月26日(火)13時半~14時

    タイトル:「IRISデータベースの内部動作」(事前登録制・参加費無料)

    ご登録はこちらから

    【概要】

    InterSystems IRIS は、その独自のアーキテクチャにより、非常に高いパフォーマンスのデータベース管理を行っています。

    では、実際にデータの書き込み・読み込みが発生したとき、IRIS の内部ではどのような処理が行われるのでしょうか?

    0 0
    0 93

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

    第 2 回 InterSystems Idea-A-Thon(アイデアソン) の応募期間中に 29 件の素晴らしいアイデア が投稿されました!

    💡 InterSystems IRISを使用して、高速、安全、環境に優しいソリューションを実行する 💡

    アイデアの投稿を行っていただき、また、投票やコメントを記入いただきありがとうございました!

    この記事では、受賞者を発表します!

    1 0
    0 77