記事 Mihoko Iijima · 9月 18, 2023 4m read

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

スタジオを利用されている方にはお馴染みのソースコードの「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エクステンションマークをクリックし、対象のコードを選択→エクスポート の手順でローカルにエクスポートする必要があります。

0
1 656
記事 Toshihiko Minamoto · 9月 15, 2023 5m read

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 ライブラリです。

0
0 211
質問 Shuichi Igusa · 9月 7, 2023

こんにちは、皆さま。

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

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

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

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

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

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

2
0 158
記事 Mihoko Iijima · 9月 13, 2023 3m read

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


はじめに

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

ネームスペースの作成

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

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

ネームスペースに移動するには、現在開いているSQLシェルを終了させるため、"quit" を入力し、zn "ネームスペース名" と入力します。これでターミナルで行うすべての動作がこのネームスペースのスコープに入ります。

0
0 203
記事 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 585
お知らせ Mihoko Iijima · 9月 4, 2023

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

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

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

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

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

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

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

3
0 206
記事 Megumi Kakechi · 9月 6, 2023 1m read

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

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

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

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

Webゲートウェイ管理ページ:
http://localhost/csp/bin/Systems/Module.cxw


 


エラーが解消されない場合は、IISのアプリケーションプールが起動しているかをご確認ください。


【ご参考】
Microsoft Visual C++ Redistributable latest supported downloads

0
0 401
記事 Toshihiko Minamoto · 9月 5, 2023 10m read

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

攻撃への対応計画

以下の概要は、ほとんどの状況に対応します。

0
0 377
記事 Megumi Kakechi · 9月 4, 2023 3m read

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

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

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

こちらの記事では、IRISで取得できるログとして で取得可能なログの取得方法をご紹介します。
 

② Web サーバと Webゲートウェイ間のアクセスに関連するログ情報


◆ イベントログ

1) Webゲートウェイ管理ページ(http://<IPアドレス>:<ポート>/csp/bin/Systems/Module.cxw)に接続します。

2) イベントログを削除します。
 [イベントログを参照] > ログをクリア をクリック

3) イベントログレベルを設定します。

0
1 525
InterSystems公式 Seisuke Nakahashi · 9月 1, 2023

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

  • ページレポートのテンプレートエディタである Report Studio の機能が強化され、Reports Server からの追加編集が可能となりました。 これは、長期スパンの製品強化のひとつであり、Reports Server 上の編集に関する権限ベースのアクセスを利用して、レポートデザイナーがレポートを修正できるようになりました。
  • ブックマークを直接実行したり、パラメータやフィルタ情報を表示したりできる、"My Bookmarks" フォルダによるブックマーク管理機能が追加されました。ユーザはブックマーク機能を利用して、フィルタやパラメータを保存することができます。
0
0 157
記事 Toshihiko Minamoto · 9月 1, 2023 2m read

以下は、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
0
0 188
記事 Megumi Kakechi · 8月 31, 2023 4m read

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

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

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


解決策 = 凍結プラン(Frozen Plan)を使用する:

Cache2016.2以降(IRISはすべてのバージョン)で、クエリプランの凍結機能 が実装されました。
この機能により、IRISを新しいバージョンにアップグレードする際、既存のクエリプランは自動的に凍結されます。
これにより、アップグレードによる既存のクエリのパフォーマンスの低下の可能性を防げます(古いバージョンと同じプランが使用されるため)。
新しいクエリについてはもちろん、アップグレード後のクエリオプティマイザによるプランが使用されます。

0
0 199
記事 Toshihiko Minamoto · 8月 30, 2023 2m read

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

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

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

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

構成手順:

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

nghix.conf を変更します。

    server {
        listen 9991; 

これにより、http://server:8080/ 経由で多数のサンプルダッシュボードが含まれる cAdvisor UI にアクセスできるようになります。

  1. cAdvisor コンテナを追加するように docker-compose を構成します。

docker-compose.yml に以下を追加します。

0
0 692
お知らせ Rie Tokue · 8月 30, 2023

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

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

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

ご登録はこちらから

【概要】

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

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

このウェビナーでは、20年間にわたり InterSystems IRIS のシステムサポートを行ってきたサポートエンジニアより、InterSystems IRIS におけるデータ処理の内部動作を分かりやすくご紹介します。

データベースの内部動作を知ることが、システムパラメータのチューニングやパフォーマンス向上のテクニックを理解する第一歩となります。

InterSystems IRIS の効率的なデータ活用の仕組みを、一緒に見てみましょう。

弊社製品のユーザ様はもちろんのこと、弊社データベースに興味をお持ちの方も、ぜひご覧ください。

0
0 135
お知らせ Mihoko Iijima · 8月 29, 2023

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

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

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

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

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

 

0
0 151
お知らせ Mihoko Iijima · 8月 29, 2023

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

InterSystems Python プログラミングコンテスト 2023 のテクノロジーボーナス詳細が決定しました!

  • Embedded Python - 3
  • Python Native API  - 3
  • Python Pex Interoperability - 4
  • Python libs: sqlalchemy and dbt - 2
  • LLM AI or LangChain usage: Chat GPT, Bard and others - 4
  • NoObjectScriptLine - 5
  • Questionnaire - 2
  • Docker コンテナの利用 - 2 
  • ZPM Package によるデプロイ - 2
  • オンラインデモ - 2
  • コミュニティ(USコミュニティ)に記事を投稿する(最初の記事) - 2
  • コミュニティ(USコミュニティ)に2つ目の記事を投稿する - 1
  • YouTubeにビデオを公開 - 3

詳細は以下の通りです。<--break->

<--break->Embedded Python - 3 ポイント

応募されるアプリケーションに Embedded Python を使用している場合、4ポイント獲得できます。Embedded Python を利用する場合は、IRIS 2021.2以降のバージョンをご利用ください。

0
0 107
記事 Seisuke Nakahashi · 8月 14, 2023 5m read

突然ですが、みなさま、IRIS でのコーディングに Visual Studio Code をご利用されていますか? 以前投稿しましたように、2023.2からスタジオは非推奨 となっています。私自身も数年前からは VSCode 一本に移行しました。VSCode はご存じのように、ありとあらゆる項目でカスタマイズが可能となっており、一度慣れると、スタジオより見た目よく、自分好みに仕上げられ、何より動作が軽いのがお気に入りです。

さて今日は、その VSode の見た目のカスタマイズのお話です。

5
0 425
InterSystems公式 Seisuke Nakahashi · 8月 24, 2023

InterSystems IRIS data platform がサポートするプラットフォームやフレームワークを取り巻く変更点について、みなさまから良く質問をいただきます。この記事では、サポート対象プラットフォームで最近おこなわれた変更点や今後予定されている変更点に関する情報を共有させていただきます。ただ、将来の予測は難しい側面があり、ロードマップは約束されたものではないということを十分ご理解くださいませ。 

IRIS 本番環境用オペレーティングシステムと CPU アーキテクチャ

Red Hat Enterprise Linux

  • 最近の変更点
    • RHEL 9.2 と RHEL 8.8 が 2023年5月にリリースされました。Red Hat はこれらのリリースを4年間サポートする予定としています。InterSystems は「マイナーOSバージョン認証」と呼ぶ新しいプロセスにより、RHEL 9.2 と RHEL 8.8 で IRIS の追加動作検証を行いました。このプロセスは、マイナーOSのアップデートによって弊社製品の動作に明確な違いは見られないことを保証するもので、 RHEL 8.8、9.2 とも問題はありませんでした。
    • RHEL 9.2 がリリースされたことで, Red Hat は RHEL 9.1 のサポートを終了しました。 これは RHEL 8.
0
0 541
記事 Toshihiko Minamoto · 8月 23, 2023 7m read

この「DeepSee トラブルシューティングガイド」は、DeepSee プロジェクトの問題を追跡して修正する支援を提供することを目的としています。

このガイドラインに従って問題を修正できない場合でも、少なくとも DeepSee サポートに WRC の問題を提出し、すべての証拠を提供するのに十分な情報を得ることができます。この情報によって、一緒に調査を続け、より迅速に解決することが可能となります。

ご注意ください: 特定のアクションやコマンドによってどのような結果がもたらされるかがよくわからない場合は、実行しないでください。本番システムに影響を与える可能性があります。  この場合は、サポートセンターにお問い合わせください。 

左から右の操作列に進むと、このガイドを最も簡単に活用できます。

問題の領域 発生事項 分析 解決方法
ビルドの問題 ビルド中のエラー エラーメッセージを確認
ビルドでエラーが表示されなかった場合は $System.OBJ.DisplayError() を実行
^DeepSee.BuildErrors/ run ##class(%DeepSee.Utils).
0
0 150
記事 Toshihiko Minamoto · 2月 16, 2021 8m read

グローバルをクラスにマッピングする技術 (1/3)

グローバルをクラスにマッピングする技術 (1/3)

古くなった MUMPS アプリケーションに新たな生命を吹き込みたいとお考えですか?  以下にご紹介するステップを実行すれば、既存のグローバルをクラスにマッピングし、美しいデータを Object や SQL に公開できます。

本記事を含む合計 3 回の連載を通じてご紹介する簡単なステップを使えば、すべてのグローバル (特殊なものは除く) を Caché のクラスにマッピングできるようになります。  特殊なものについては、私が長年に渡って集めた様々な種類のマッピングを zip ファイルにまとめて提供いたします。  これは新しいデータを対象としたステップではありません。グローバルがないという方は、デフォルトのストレージをお使いください。

グローバルデータについて理解できないという方は、Support@InterSystems.com までデータをお送りください。喜んでサポートさせていただきます。

グローバルをクラスにマッピングするステップ。

  1. グローバルデータが繰り返し使用されるパターンを特定する。
  2. 固有キーの構成を特定する。
  3. プロパティとそれぞれの型を特定する。
  4. クラス内のプロパティを定義する (変数の添え字をお忘れなく)。
  5. IdKey のインデックスを定義する。
1
1 498
記事 Toshihiko Minamoto · 8月 15, 2023 9m read

Docker による Apache Web ゲートウェイ

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

この記事では、以下を使用して、Docker でプログラムによって Apache Web ゲートウェイを構成します。

  • HTTPS プロトコル
  • Web ゲートウェイと IRIS インスタンス間の安全な通信を確保する TLS/SSL

画像

イメージには、Web ゲートウェイ用と IRIS インスタンス用の 2 つを使用します。

すべての必要なファイルは、こちらの GitHub リポジトリで入手可能です。

では、git clone から始めましょう。

git clone https://github.com/lscalese/docker-webgateway-sample.git
cd docker-webgateway-sample

システムの準備

権限に関する問題を回避するために、システムにユーザーとグループが必要です。

  • www-data
  • irisowner

コンテナと証明書ファイルの共有に必要です。 これらがシステムに存在しない場合は、以下を実行します。

0
0 363
InterSystems公式 Seisuke Nakahashi · 8月 14, 2023

InterSystems IRIS Adaptive Analytics 2023.2 がリリースされました。このバージョンでは、弊社パートナーである AtScale のバージョン 2023.2 に含まれる以下の素晴らしい機能が追加されています。

  • 仮想データモデルの開発しやすくなる、キューブ間オブジェクト共有の増加
  • 時間相対メジャー、インテリジェント・ディメンジョン、計算グループといった一般的だが複雑なモデル作成手順の単純化
  • Microsoft PowerBI との接続の改善
  • 集計とクエリを管理する使用状況メトリックダッシュボード機能

詳細な情報については、これらの新機能の デモ をごらんください。

Adaptive Analytics に関する情報については、ドキュメント ならびに オンライントレーニング をご参照ください。

0
0 152
InterSystems公式 Seisuke Nakahashi · 8月 14, 2023

InterSystems Kubernetes Operator (IKO) 3.6 がリリースされました。 IKO 3.6 は、多くのバグ修正に加えて、大幅に新機能を追加しました。注目の機能は以下のようになっています。

IKO のダウンロード、インストール、開始手順については インストールガイド にしたがってください。 IKO 3.6 ドキュメント には、IKO ならびに IKO を InterSystems IRIS や InterSystems IRIS for Health とどのように組み合わせるかの手順が記載されています。 IKO は WRC からダウンロードいただけます (Kubernetes で検索してください。) コンテナは InterSystems コンテナレジストリ から入手いただけます。

0
0 167
お知らせ Mihoko Iijima · 8月 8, 2023

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

次の InterSystems オンラインプログラミングコンテストは、Pythonに特化した内容を予定しています!

🏆 InterSystems Python プログラミングコンテスト 🏆

期間: 2023年9月4日~24日

賞金総額: $13,500


0
0 462
InterSystems公式 Ayumu Tanaka · 8月 7, 2023

インターシステムズは InterSystems IRIS Data PlatformInterSystems IRIS for HealthInterSystems IRIS Studio のバージョン 2023.2 をリリースしました。

2023.2 は Continuous Delivery(CD)リリースです。2023.2には多くのアップデートや拡張機能が追加されています。

リリースハイライト

プライベートウェブサーバ

本リリースより以下の点が変更されます:

  • InterSystems IRIS インストールではプライベートウェブサーバがインストールされなくなります。管理ポータルやその他の組み込みウェブアプリケーションにアクセスするためには、外部ウェブサーバの接続を構成する必要があります。インストール時にApacheウェブサーバ(Microsoft Windows以外のすべてのプラットフォーム)またはIIS(Microsoft Windows)が既にシステムにインストール済みの場合、ウェブサーバを自動構成するオプションが選択可能です。
  • InterSystems IRIS コンテナにプライベートウェブサーバは同梱されません。コンテナ内インスタンスの管理ポータルにアクセスするには対応するウェブゲートウェイコンテナをデプロイする必要があります。
0
0 228
記事 Toshihiko Minamoto · 8月 7, 2023 7m read

この記事では、.Net/Java ゲートウェイを簡単にコンテナ化する方法を説明します。

この例では、Apache Kafka との統合を開発します。

Java/.Net と相互運用するために、PEX を使用しています。

 

アーキテクチャ

このソリューションは完全に docker で実行し、以下のように構成されます。

 

 

Java ゲートウェイ

まず、メッセージを Kafka に送信する Java オペレーションを開発しましょう。 このコードはお好きな IDE で書くことができ、こちらのようになります。

要約すると:

  • 新しい PEX ビジネスオペレーションを開発するには、抽象型の com.intersystems.enslib.pex.BusinessOperation クラスを実装する必要があります。
  • public プロパティはビジネスホスト設定です。
  • OnInit メソッドは Kafka への接続を初期化し、InterSystems IRIS へのポインターを取得するために使用されます。
  • OnTearDown は、(プロセスのシャットダウン時に)Kafka から切断するために使用されます。
  • OnMessagedc.KafkaRequest メッセージを受け取って、Kafka に送信します。

では、これを Docker にパックしましょう!

これがこの例の dockerfile です。

0
0 218
InterSystems公式 Seisuke Nakahashi · 8月 3, 2023

このたび InterSystems IRIS 2023.1 の日本語ドキュメントが完成しました。以下のURLでご参照いただけます。

ランチャーから日本語ドキュメントを参照したい

0
0 301
InterSystems公式 Seisuke Nakahashi · 8月 1, 2023

インターシステムズは、以下2点の修正を行いました。

.

障害1: ECP アプリケーションサーバがハングする

以下の CPU かつ 以下のバージョンで発生します。
    対象バージョン: 2022.1.2, 2022.1.3
    対象CPU: ARM, IBM Power プロセッサ
この問題は修正ID DP-423661 で解決します。この修正は、今後のすべてのバージョンに含まれる予定です。 

.

障害2: 非常に稀な状況において デジャーナルがハングする

デジャーナルとはジャーナルをリストアすることで、例えば、ミラーリングのフェイルオーバーやDR非同期メンバで常時実行されています。また障害復旧に際しジャーナルをリストアする作業も対象になります。

本障害は以下のバージョンで発生します。
    対象バージョン: 2020.4, 2021.x, 2022.x, 2023.1
この問題は修正ID DP-423505 で解決します。この修正は、今後のすべてのバージョンに含まれる予定です。また 2023.1.1 には既に含まれています。

.

これら2点の修正を入手いただけるよう、公開済みの 2022.1.3 の更新版を公開いたしました。バージョン番号は以下の通りです。

    過去版:  2022.1.3.668.0
    更新版:  2022.1.3.

0
0 145
記事 Megumi Kakechi · 8月 1, 2023 2m read

あるメソッドやルーチンを実行してエラーとなった場合、エラー発生個所はエラーメッセージより取得することができますが、処理の呼び出し履歴(スタックトレース)はエラーメッセージのみではわかりません。
また、.Net や Python など IRIS 外からの呼び出しの場合に、エラー情報の詳細がクライアントに返らない場合などもあるかと思います。

/// 例:エラーメッセージだけでは、エラーが発生した処理の呼び出し履歴まではわからない。
USER>d ##class(User.Test).TestMethod1()
 
 write a
 ^
<UNDEFINED>TestMethod3+1^User.Test3.1 *a
USER 4e1>


そんなときは、エラー処理にて Do BACK^%ETN を実施することで、IRIS側で強制的にスタック情報を記録することができます。
スタック情報を記録することで、どのような処理がどの順番で呼び出されたかや、エラー時の内部変数情報を知ることができます。

BACK^%ETN は、エラー発生後に $ZError($ZE) 変数に値が set されている場合、アプリケーションエラーログ(^ERRORS)に情報が記録されます。
上のエラーの場合の $ZE は、以下のように確認できます。

0
1 193
記事 Toshihiko Minamoto · 7月 28, 2023 1m read

ターミナルにライセンス期限切れの警告メッセージ(「*\* Warning: This Cache license will expire in 3 days **」)が表示されており、そのメッセージを表示したくない場合は、以下のコマンドを実行すると、メッセージの表示を無効(または有効)にできます。

Do ExpirationMessageOff^%SYS.LICENSE - Disable

Do ExpirationMessageOn^%SYS.LICENSE - Enable

 

0
0 180