記事 Toshihiko Minamoto · 5月 24, 2021 3m read

以下の記事は、DeepSee の基本的なアーキテクチャを実装するためのガイドです。 この実装には、DeepSee キャッシュ用のデータベースと DeepSee 実装と設定用のデータベースが含まれています。

0
0 260
InterSystems公式 Toshihiko Minamoto · 5月 24, 2021

InterSystems API Manager (IAM) バージョン2.3がリリースされました

IAMコンテナや以前のバージョンからアップグレードに必要な関連ソフトウェアは全てWRCソフトウエア配布サイトの「Components」エリアからダウンロードできます。

このリリースのビルド番号は IAM 2.3.3.2-1 です。

このリリースはKong Enterprise バージョン2.3.3.2を基にしています。

InterSystems API Manager バージョン2.3を使用することで、セキュアな方法でのデプロイや高可用性対応がより簡単に実現できます。
IAMは以下の内容を含め、さまざまな新機能があります。

  • ハイブリッドモードの紹介
  • Docker secretの広域サポート

ハイブリッドモードはデータプレーンとコントロールプレーンのIAMノードをデプロイできます。データプレーンがAPIトラフィックを扱っている間にコントロールプレーンはデータプレーンノードを設定したり、データプレーンからのテレメトリーを観察するのに使われます。これは導入時における柔軟性とHAシナリオを容易に実現できます。ハイブリッドモードの詳細はこちら。この機能はインターシステムズ開発者コミュニティで後ほど詳しく紹介されます。

0
0 128
記事 Mihoko Iijima · 5月 23, 2021 2m read

これは InterSystems FAQ サイトの記事です。

仮想ドキュメント(以降VDOC)とは複雑な構造のドキュメント(メッセージ)を効率良く高速に処理するために考えられたメッセージ処理の仕組みです。

HL7に代表される EDI 標準は電子データ交換のための汎用的なかなり複雑なメッセージ形式を含んでいます。

また、メッセージの種類を増やすと運用が複雑になってしまうため、1 つのメッセージに様々なデータを詰め込む傾向があります。

その結果 1 つのメッセージは複雑かつデータ量が多いものになりがちです。

一方、実際のメッセージ交換では、メッセージの全てのデータを処理することはまれで一部のデータのみが必要となるケースがほとんどです。

複雑なメッセージ構造から必要な項目を抽出して処理する際、メッセージを InterSystems IRIS data platform のオプジェクト指向フレームワークに基づき一度オブジェクトとしてインスタンス化することで処理を簡潔に記述できます。

しかし、データ量の多いメッセージを解析しオブジェクトにインスタンス化する処理は非常に負荷のかかる処理で、しかも大量のメッセージを処理しなければならない場合は求められるスループットを満たせない状況になりがちです。

しかも必要なデータは「全体の中のほんの少し」という状況の場合、無駄の多い処理となります。

0
0 1099
記事 Mihoko Iijima · 5月 23, 2021 2m read

これは InterSystems FAQ サイトの記事です。

%Net.FtpSession クラスを使用して FTP サーバから、アップロード/ダウンロードする方法をご紹介します。

1. FTPサーバにイメージファイルをアップロードする

0
0 358
InterSystems公式 Toshihiko Minamoto · 5月 21, 2021

Java Business Host終了のお知らせ

IRIS 2020.1、IRIS for Health 2020.1にてリリースされたPEXは、Java Business Hostよりも優れた方法でプロダクションにJavaアプリを組み込めるようになりました。PEXは相互運用でのコンポーネントを構築する完全なAPIを持っており、Javaと.Netの両方で利用可能です。

Java Business HostはIRIS、IRIS  for Health 2020.4より削除されました。Java Business Hostをご利用のお客様にはPEXへの移行をお勧めします。

PEXの利点

  • Javaまたは.Netでプロダクションコンポーネントを作成可能
  • コンポーネント間でより複雑なメッセージ構造の受け渡しが可能
  • 設定の簡略化
  • ObjectScriptを必要としないため開発の簡素化が可能

PEXへのマイグレーションについての詳細は Java Business Host から PEX への移行 をご参照ください。

0
0 95
質問 Yuji Ohata · 5月 18, 2021

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

AWSのcodebuildを利用して、
IRIS環境をビルドされた経験がある方がいらっしゃたら
情報共有いただきたいです。

ただいま取り組んでいるプロジェクトでは、
IRISのclsファイルをaws codecommitのgitリポジトリで管理しております。
※Dockerコンテナではない。

ここで作成されたソースコードをaws Codebuildの仕組みを利用して
自動でコンパイルチェックをする仕組みを構築したいと考えております。
コンパイルを実行する環境としては、AWS ECRに自作したDockerコンテナを利用しております。
※コンテナはstore/intersystems/iris-community:2020.1.0.215.0を基底に、簡単なネームスペースを作成しただけのもの。
 ローカルPC上ではIRIS環境として利用できることを確認済み。

ビルドはbuildspec.ymlにて、以下のような命令で行おうと考えております。

1. iris start IRIS でirisを起動。
2. iris terminal IRISでターミナルにログイン。
3. gitから取得したコードをImport & コンパイル。

しかし、上記を実行しようとすると2の時点で Access Deniedのエラーとなってしまいます。

5
0 881
記事 Makiko Kokubun · 5月 18, 2021 1m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。
 

InterSystems IRISではシャドウイングは非推奨の為、Caché/Ensembleからのマイグレーションに伴い、シャドウイングをご使用頂いているお客様はミラーリングへ移行する必要があります。

この動画では、ミラーリングの概要およびミラーリングの構成例、シャドウイングとの運用上の違いや注意点についてご説明します。

シャドウイングから移行される場合のミラーリングの構成としては、DR非同期またはレポーティング非同期になります。 ミラーリングとシャドウイングでは、データベースファイルやジャーナルファイルの取り扱いが異なります。
この点につきまして、動画の後半に紹介しておりますのでご参考下さい。

マイグレーションについては、こちらの動画も合わせてご覧ください。
(動画)InterSystems IRIS へのマイグレーション

0
0 272
記事 Tomohiro Iwamoto · 5月 18, 2021 18m read

目的

Japan Virtual Summit 2021で、Kubernetesに関するセッションを実施させていただいたのですが、AzureのアカウントやIRIS評価用ライセンスキーをお持ちの方が対象になっていました。もう少し手軽に試してみたいとお考えの開発者の方もおられると思いますので、本記事では仮想環境でも利用可能なk8sの軽量実装であるmirok8sで、IRIS Community Editionを稼働させる手順をご紹介いたします。

2022/1/7 若干の加筆・修正しました

マルチノード化する手順はこちらに記載しています。

0
0 4814
記事 Toshihiko Minamoto · 5月 18, 2021 12m read

第2部: インデックス処理

クラスにどのようなインデックスが必要であるのか、それをどのように定義するのかについて理解できたので、 次に、どのように処理するのかについて確認しましょう。

クエリプラン

注意: クラスに変更を適用する場合と同様に、ライブシステムにインデックスを追加する場合にもリスクが伴います。インデックスが入力されているときに、ユーザーがデータにアクセスしたり更新したりすると、クエリ結果が空になったり誤った結果が生じることがあります。また、構築中のインデックスが破損する場合もあります。 ライブシステムでインデックスを定義したり使用したりするには追加の手順があり、それについてはこのセクションで触れていますが、詳細はドキュメントに記載されています。)

新しいインデックスの準備ができたら、SQLオプティマイザが、クエリを実行する上で最も効率的に読み取れるインデックスであると判断するかどうかを確認できます。 プランを確認するために実際にクエリを実行する必要はありません。 クエリがあれば、プランをプログラムで確認することができます。

            Set query = 1

     Set query(1) = “SELECT SSN,Name FROM Sample.Person WHERE Office_State = 'MA'”

0
0 385
記事 Megumi Kakechi · 5月 13, 2021 1m read

これは InterSystems FAQ サイトの記事です。

システムクラス SYS.Lock のメソッド GetLockSpaceInfo() にてロックテーブルの空きサイズ、使用サイズが取得可能です。

%SYS>w ##class(SYS.Lock).GetLockSpaceInfo()
4717392,4712512,1200


戻り値は、“AvailableSpace, UsableSpace, UsedSpace” になり、それぞれByte単位の値を表しています。

AvailableSpace:ロックテーブルサイズから使用サイズ(UsedSpace)を引いたサイズ

UsableSpace:AvailableSpaceよりロック管理のための内部データを引いたサイズ
→これがユーザの使用できるロックテーブル空き容量になります。

UsedSpace:使用サイズ
 

詳細は、クラスリファレンス をご覧ください。

0
1 292
記事 Megumi Kakechi · 5月 13, 2021 1m read

これは InterSystems FAQ サイトの記事です。

Webアプリケーションの開発・運用には、高性能・高スケーラビリティ・開発生産性の良さが求められます。

IRIS Data Platformには、高性能で軽量なデータベースエンジンとそのエンジンの性能を最大限活用するアプリケーションサーバ機能、および、Webアプリケーションを迅速に開発するためのREST/JSON対応、API管理機能が用意されています。

さらに、マルチコア・マルチCPUシステムに最適化したアーキテクチャや、複数サーバでのスケールアウト手法による高スケーラビリティを提供するECP、シャーディングと呼ばれる技術を提供します。

0
0 162
記事 Toshihiko Minamoto · 5月 12, 2021 12m read

これは、SQLインデックスに関する2部構成の記事の前半です。

第1部 - インデックスを理解する

インデックスとは?

最後に図書館に行った時のことを思い出してください。 通常そこには、分野別(そして作者順と題名順)に整理された本が並び、それぞれの棚には、本の分野を説明したコードが記載された本立てがあります。 特定の分野の本を収集する場合、すべての通路を歩いて一冊ずつ本の表紙を読む代わりに、目的の分野の本棚に直接向かって選ぶことができるでしょう。

SQLインデックスにもこれと同じ機能があります。テーブルの各行にフィールドの値へのクイック参照を提供することで、パフォーマンスを向上させています。

インデックスの設定は、最適なSQLパフォーマンスを得られるようにクラスを準備する際の主なステップの1つです。

この記事では、次のことについて説明します。

  1. インデックスとは何か。いつ、なぜそれを使用するか。
  2. どのようなインデックスが存在するか、どのようなシナリオに適しているのか。
  3. インデックスの例
  4. 作成方法
  • インデックスが存在する場合、どのように扱うのか。
  • この記事では、Sampleスキーマのクラスを参照します。 このスキーマは以下に示すGitHubリポジトリにあります。また、CachéとEnsembleでインストールされるSamplesネームスペースでも提供されています。

    0
    0 612
    記事 Mihoko Iijima · 5月 12, 2021 2m read

    これは InterSystems FAQ サイトの記事です。

    InterSystems IRISでは、サンプル定義の一部は、GitHub上に公開しています。

    本FAQ内で登場する Sample.Person のクラス定義とサンプルデータについては、こちら からダウンロードいただけます。
    手順は以下の通りです。

    1. Zipとしてダウンロード
    2. 1を展開
    3. 展開フォルダ内 以下階層のクラス定義をターミナルを利用してIRISへインポートし、インポート後 Build()メソッドを実行します。

    Samples-Data-master\buildsample\Build.DataSample.cls をフルパスで指定してインポートします(Sample-Data-masterフォルダを c:\kit へコピーした状態での例です)。

    do $system.OBJ.Load("C:\kit\Samples-Data-master\buildsample\Build.DataSample.cls","ck")  

    データ生成のBuild() メソッド実行例は以下の通りです。

    do ##class(Build.DataSample).Build() 

     

    実行例(全体):

    0
    0 289
    記事 Makiko Kokubun · 5月 11, 2021 1m read

    *この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。

    国や地域のニーズに合わせて何のデータをどこにどのように格納するのかを定める共通ルールである FHIR プロファイルは、FHIR による標準化において、非常に重要な要素です。

    この動画では、InterSystems IRIS for Health における FHIR リポジトリの構築・設定~ FHIR プロファイルの追加の方法を、最新バージョンおよび今後のバージョンでのサポート内容を含めてご紹介いたします。

    この開発者コミュニティでは他にも IRIS の FHIR 機能に関連した多くの記事を公開しています。 FHIR にご興味ある方はぜひご覧ください。

    0
    0 343
    お知らせ Mihoko Iijima · 5月 5, 2021

    開発者の皆さん、こんにちは!GW は、のんびりゆったり良いお休みになりましたでしょうか🎏?

    休み明けにぴったりのコンテストテーマが発表されました!今回は 🔥 FHIR Accelerator 🔥 です!

    🏆 InterSystems FHIR Accelerator Programming Contest 🏆

    InterSystems FHIR-as-a-service on AWS を使用する、または、InterSystems IRIS FHIR Accelerator を使用したソリューションの開発に役立つアプリケーションを開発し、ご応募ください!

    応募期間は 2021年5月10日~5月30日 です!

    💰 賞金総額: $8,750 💰

    (投票期間は 2021年5月31日~6月6日、勝者発表は 6月7日を予定しています)

    優勝特典

    1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。

    🥇 1位 - $4,000 

    🥈 2位 - $2,000 

    🥉 3位 - $1,000

    2、開発者コミュニティで多く票を集めたソリューションには、以下の賞金が贈られます。

    🥇 1位 - $1000 

    🥈 2位 - $500 

    🥉 3位 - $250

    複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。

    参加資格

    1
    0 167
    記事 Toshihiko Minamoto · 5月 11, 2021 9m read

    1. ブロックチェーン

    この記事を書いている時点(2019年2月)で、ビットコインの価値はそれが絶頂期だったころの 5 分の 1 未満に下落しています。 そのため、ブロックチェーンの私の体験について誰かに話すときに最初に耳にするのは、「今頃ブロックチェーンを欲しがる人がいるのか」という偽りなく懐疑的な言葉です。

    その通り。ブロックチェーンの盛り上がりは衰退しています。 ところが、それが基づいているテクノロジーはここにとどまり、特定の分野で使用され続けるでしょう。一般的にインターネットではこのテクノロジーの使用方法が記述された資料でいっぱいです。 

    0
    0 258
    お知らせ Mihoko Iijima · 5月 8, 2021

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

    いよいよ 🏆 InterSystems FHIR Accelerator Programming Contest 🏆 への応募が開始されます!

    今回のコンテストに参加するためには、InterSystems IRIS FHIR Accelerator Service (FHIRaaS) を AWS で利用する必要があります。

    FHIRaaS の利用を開始するための最初の手続きとして、特別なコードを含めた URL を使用して ISC Dev FHIR Portal でユーザ情報を登録する必要があります。

    「特別なコードを含んだ URL」って?

    以下例のように「特別なコード」をクエリパラメータに指定して、ポータルサイトにアクセスします。

    👉🏼 https://portal.trial.isccloud.io/account/signup?code=特別なコード
     

    ポータルサイトを利用するための「特別なコード」は、以下いずれかの方法で入手できます!

    • コミュニティ上で @Irina Podmazko へダイレクトメッセージを送付する
    • DC Discord channel にアクセスして、またはプライベートメッセージでコンテスト担当者に連絡する
    • このお知らせのコメント欄に「コード希望!」を記入する(担当者からダイレクトメッセージでコードをお知らせします)
    0
    0 204
    記事 Mihoko Iijima · 5月 7, 2021 10m read

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

    この記事では、Java から IRIS へ接続する方法の中から XEP(ゼップ)を利用して、GPS (GPX)データを高速に取り込むサンプルをご紹介します。

    Java の実行環境や IRIS がお手元になくても大丈夫です!コンテナ 🐳 のビルド+開始で体験できる「実行環境テンプレート」をご用意しました。

    ソースコードは コミュニティの Git で公開 していますので、docker、docker-compose 、git がインストールされた環境であれば、すぐにお試しいただけます(Javaの実行環境はコンテナでご提供するので準備不要です)。

    操作方法は、Gitの README に記載しています。ぜひお試しください。

    この記事の中では、コード解説を追加しています。ぜひ、最後までお付き合いください!

     

    1)処理概要

    GPX データを IRIS へ渡す迄の流れにリアクティブプログラミングが行える RxJava2 のライブラリを使用しています。

    メモ:サンプルコードの中では、GPS データを直接受信するのではなく、Google マイマップやサンプル GPS データから GPX ファイルに変換したデータを入力に使用しています。

    0
    0 268
    お知らせ Toshihiko Minamoto · 5月 6, 2021

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

    開発者コミュニティの2021年4月の変更内容をお届けします。 主な機能は以下の通りです。

    • ソースコードでのクリップボードへのコピーボタン
    • 翻訳ページの投稿
    • 投稿へのプライベートリプライ
    • インターシステムズの公式リリース、アラートページ

    詳細は以下をご覧ください<--break-><--break-><--break->

    0
    0 131
    記事 Mihoko Iijima · 5月 6, 2021 2m read

    これは InterSystems FAQ サイトの記事です。

    インターシステムズ オンラインラーニングでは、InterSystems IRIS 概要や IRIS の各機能について 2~5分でご覧いただける QuickStart ページ(説明ビデオと操作方法を解説、サンプル用 Git の使い方をまとめたページ)をご用意しています。

    • InterSystems IRIS Data Platform について
    • Multi-Model
    • Embedded Python QuickStart
    • Interoperability
    • Java
    • .NET
    • Node.js
    • Python
    • SQL での開発

    *日本語字幕をオンにする方法は こちらをご覧ください

    開発者向けまとめページでは、QuickStart 以外にもドキュメントや開発者コミュニティへのリンク、IRIS を簡単に始めることのできるクラウド(AWS/Azure/GCP)のマーケットプレイスへのリンクなどまとめています。

    ぜひご活用ください。

    開発者コミュニティにもサンプルコード付き記事の投稿があります。ぜひご参照ください。

    0
    0 165
    記事 Toshihiko Minamoto · 5月 6, 2021 4m read

    中間データベースを使用して、Grafana と IRIS(または Cache/Ensemble)を使用する方法を説明した非常に有益な記事がコミュニティにいくつか掲載されています。

    しかし私は、IRIS 構造に直接アクセスしたいと考えていました。 特にこのリンクで説明しているように、SQL でアクセス可能なCaché履歴モニターのデータにアクセスしたかったのです。

    https://community.intersystems.com/post/apm-using-cach%C3%A9-history-monitor

    また、データをいじりたくもありませんでした。

    必要とするデータを返すクラスクエリはすでにあったので、それらを、JSON を返す REST クラスに埋め込むだけで良かったからです。 クラス Grafana.MonitorData はまだ含めていません。それでなければならないという理由があるわけではなかったためですが、要望があれば、含めることは可能です。

    0
    0 236
    記事 Toshihiko Minamoto · 5月 4, 2021 2m read

    ObjectScriptには、エラー(ステータスコード、例外、SQLCODEなど)を処理する方法が少なくとも3つあります。 ほとんどのシステムコードにはステータスが使用されていますが、例外は、いくつかの理由により、より簡単に処理することができます。 レガシーコードを使用している場合、さまざまな手法の変換にいくらか時間が掛かりますが、 参考として、次のスニペットをよく使用しています。 皆さんのお役にも立てればと思います。

    0
    0 606
    記事 Megumi Kakechi · 4月 29, 2021 2m read

    これは InterSystems FAQ サイトの記事です。

    InterSystems のミラーリングを使用することで、以下2つの目的を達成できます。

    1. 自動フェイルオーバ
    2. ディザスタリカバリや、ビジネスインテリジェンスのためのデータベースの複製

    1 については、2台の InterSystems 製品を利用し、プライマリサーバの InterSystems 製品に障害が発生した場合は、もう片方の InterSystems 製品に自動フェイルオーバが行えるミラーリング構成です。

    2 については、1台のプライマリサーバである InterSystems 製品から、遠隔地も含め、任意の拠点にある複数台の InterSystems 製品へ(=非同期ミラーメンバ)データベースファイル(InterSystems IRISは「IRIS.DAT」、Caché/Ensemble/HealthShareは「CACHE.DAT」)のミラーリングを行います。
    (また、複数のプライマリサーバから1台の非同期メンバのInterSystems 製品へのミラーリングも行えます。)
     

    詳細は以下ドキュメントをご参照ください。
    InterSystems IRIS ミラーリングについて【IRIS】
    ミラーリングについて
     

    あわせて、以下の記事も是非ご覧ください。
    Cache Mirroring 101:簡単なガイドとよくある質問  
     

    ★おまけ

    0
    0 773
    記事 Toshihiko Minamoto · 4月 28, 2021 5m read

    数年ほど前、Caché Foundationsの講座(現「Developing Using InterSystems Objects and SQL」)において、%UnitTestフレームワークの基礎を講義していたことがあります。 その時、ある受講者から、ユニットテストを実行している間に、パフォーマンス統計を収集できるかどうかを尋ねられました。 それから数週間後、この質問に答えるために、%UnitTestの例にコードを追加したのですが、 ようやく、このコミュニティでも共有することにしました。

    0
    0 183
    記事 Makiko Kokubun · 4月 27, 2021 1m read

    *この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。
     

    機械学習やAIの進歩が、社会的にも大きな話題になっています。 しかしながら、実際に機械学習を活用したシステムを開発し、ビジネスに生かすところに到達するまでには様々な課題があります。例えば、データサイエンティストと呼ばれる高度なスキルを持った人材の不足もその一つです。

    InterSystems は、アプリケーション開発者の方々が、IRIS data platform に保存されているデータとSQLを用いて、機械学習を容易に利用できる仕組み「IntegratedML」を開発しました。この動画では、IntegratedML の仕組みや使い方について解説します。

    間もなくリリース予定の InterSystems IRIS 2021.1 に、IntegratedML が含まれます。
    現在 2021.1のプレビュー版を公開中です。 詳しくはこちらをご覧ください。

    本動画ではデモを行っています。デモをご覧になりたい方は 16:36 からご覧ください。

    0
    0 151
    お知らせ Mihoko Iijima · 4月 27, 2021

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

    第11回 InterSystems IRIS プログラミングコンテスト(開発者ツール) への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。

    今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!

    🏆 Experts Nomination - 特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。  

    🥇 1位 - $4,000 は Server Manager for VSCode を開発された @John Murray さんに贈られました!

    🥈 2位 - $1,500 は Config-API を開発された @Lorenzo Scalese さんに贈られました!

    🥈 2位 - $1,500 は zpm-explorer を開発された @Henrique Dias Dias さんと @José Roberto Pereira さんに贈られました!

    🏆 Community Nomination - 最も多くの票を獲得したアプリケーションに贈られます。

    🥇 1位 - $750 は Server Manager for VSCode を開発された @John Murray さんに贈られました! 

    0
    0 99
    記事 Toshihiko Minamoto · 4月 26, 2021 41m read

    この記事には、IAM の基本概念を学習するための、教材、例、演習が含まれます。

    すべてのリソースはこちらの git から入手できます: https://github.com/grongierisc/iam-training

    ソリューションは training ブランチにあります。

    この記事では、次の点について説明します。

    0
    0 671
    InterSystems公式 Toshihiko Minamoto · 4月 24, 2021

    みなさん、こんにちは。
    今回はInterSystems Container Registryを発表できることをうれしく思います。 これはコンテナベースのリリースやプレビューにアクセスする新たな配布チャンネルです。すべてのコミュニティエディションのイメージはログイン不要の公開リポジトリにあります。すべてのリリースイメージ(IRIS, IRIS for Health, Health Connect, System Alerting and Monitoring, InterSystems Cloud Manager) やユーティリティイメージ(アービター、 Web Gateway、PasswordHash等) にはWRCアカウントの認証情報から生成されるログイントークンが必要です。

    0
    0 406