検索

クリアフィルター
お知らせ
Mihoko Iijima · 2021年8月26日

テクノロジーボーナス詳細:InterSystems IRIS Analytics コンテスト 2021

開発者の皆さん、こんにちは! InterSystems Analytics コンテストのテクノロジーボーナスが発表されました! Adaptive Analytics (AtScale) キューブの使用- 4 ポイントInterSystems Adaptive Analytics では、分析ソリューションに AtScale キューブを作成して使用するオプションを提供しています。 今回、コンテスト用に準備した AtScale サーバ(URLと認証情報は Discord チャンネルで確認できます)にあるキューブを使用するか、JDBC 経由で IRIS サーバに接続し、新しいキューブを作成することもできます。 AtScale を使用した Analytics ソリューションの可視化レイヤでは、Tableau、PowerBI、Excel、Logi を利用することができます。 Adaptive Analytics のドキュメント/AtScale documentation オンラインラーニング(InterSystems IRIS Adaptive Analytics Essentials) Tableau, PowerBI, Logi の利用 - 3 ポイント Tableau、PowerBI、Logi のいずれかを使用して作成したビジュアルについて、それぞれ 3 ポイント獲得できます。 Tableau、PowerBI、Logi を使用したビジュアルの作成については、IRIS BI サーバに直接接続する、または AtScale に接続することで作成できます。 InterSystems Reports では、Logi を利用しています。インストールキットは、InterSystems WRC からダウンロードできます。一時的なライセンスは discord channel で取得できます。 InterSystems Reports のドキュメント オンラインラーニング(Getting Started with InterSystems Reports) InterSystems IRIS BI - 3 points InterSystems IRIS Business Intelligence は、IRIS の機能の1つで、IRIS の永続データに対して BI 用キューブやピボットの作成、インタラクティブなダッシュボードを使って作成した情報をユーザに提供できます。 ドキュメント(InterSystems IRIS Business Intelligence の概要) IRIS BI キューブ、ピボット、ダッシュボードの例が含まれているテンプレートもあります(iris-analytics-template)。 開発テンプレート(IRIS Analytics Template)の使い方のご紹介(第8回 InterSystems IRIS Analytics コンテスト) 以下、IRIS BIソリューションの例をご紹介します。 Samples BI Covid19 analytics Analyze This Game of Throne Analytics Pivot Subscriptions Error Globals Analytics Creating InterSystems IRIS BI Solutions Using Docker & VSCode (video) The Freedom of Visualization Choice: InterSystems BI (video) InterSystems BI(DeepSee) Overview (online course) InterSystems BI(DeepSee) Analyzer Basics (online course) InterSystems IRIS NLP (iKnow) - 3 ポイント InterSystems NLP(旧 iKnow)は、InterSystems IRIS の機能の1つで自然言語テキスト内のエンティティ (フレーズ) とその意味的なコンテキストを識別する自然言語処理用のライブラリです。使用できる言語は、English、German、Dutch、French、Spanish、Portuguese、Swedish、Russian、Ukrainian、Czech、Japanese です。 Learn more about iKnow on Open Exchange 例: Covid iKnow Text Navigator Samples Aviation その他 Analytics ソリューションの中に非構造データを管理するために iKnow を使用すると1ポイント獲得できます。 Docker コンテナの利用 - 2 ポイント 応募するアプリケーションが Docker コンテナ版 InterSystems IRIS を使用している場合、Docker コンテナボーナスポイントを獲得できます。テンプレートの用意もあります。 ZPM Package のデプロイ - 2 ポイント  フルスタックアプリケーションの ZPM(ObjectScript Package Manager) パッケージをビルドして公開し、一緒にデプロイできるようにすると、ボーナスポイントを獲得できます。 zpm "install your-multi-model-solution" ZPM クライアントをインストールして IRIS にログインしてコマンドを実行します。 ZPM について/ZPM Documentation Unit Testing - 2 ポイント InterSystems IRIS コードのユニット・テストを実施したアプリケーションは、ボーナスポイントを獲得できます。 ObjectScript Unit Test については詳しくは、ドキュメントや開発者コミュニティをご参照ください。 あなたのアプリケーションのオンラインデモを作成する - 3 ポイント オンラインデモとしてアプリケーションをクラウドにプロビジョニングすると、さらに3ポイント獲得できます。 開発環境テンプレートやその他のデプロイメントオプションを使用することができます。例 サンプルアプリケーションの使用方法についてはビデオをご参照ください。 Code quality analysis with zero bugs - 2 ポイント コード管理のために、Githubアクションに code quality を含め(例)、ObjectScript のバグを 0 にした場合にボーナスポイントを獲得できます。 開発者コミュニティに記事を Upする - 2 ポイント 作成したアプリケーション/プロジェクトの概要を開発者コミュニティの記事として投稿した場合、1 記事に対して 2 ポイント獲得できます。 また、他言語へ記事を翻訳し、掲載した場合も同様にポイントを獲得できます。 Video on YouTube - 3 ポイント 開発した作品の動画を作成し、YouTube に掲載した場合、3ポイント獲得できます。 ※ ボーナスポイントについては、変更される可能性もあります。予めご了承ください。
記事
Makiko Kokubun · 2021年6月8日

動画:InterSystems IRIS へのデータ移行方法

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。 現在使用している Caché/Ensemble システムから InterSystems IRIS に移行する場合、マイグレーション(インプレース変換)を行うのでなければ現行環境と新環境を一時的に並行稼働させる必要があるかもしれません。 この動画では、そのような場合のインストールや構成についての注意点やデータ移行にどのような技術が利用可能かについてご紹介します。 Caché/Ensemble から IRIS へのマイグレーションについては、こちらもご覧ください。
記事
Toshihiko Minamoto · 2021年9月16日

InterSystems IRIS for Health 2020.1 の HL7 のベンチマーク

## はじめに InterSystemsは最近、HL7バージョン2の相互運用性に焦点を当てた、IRIS for Health 2020.1のパフォーマンスとスケーラビリティのベンチマークを完了しました。 この記事では、さまざまなワークロードで観察されたスループットを説明し、IRIS for HealthをHL7v2メッセージングの相互運用性エンジンとして使用しているシステムの一般的な構成とサイジングのガイドラインを提供します。 ベンチマークは本番環境にほぼ一致するように設計されたワークロードをシミュレーションしています。 シミュレーションの詳細は、「ワークロードの説明と方法」セクションで説明しています。 テストされたワークロードは、HL7v2 Patient Administration(ADT)とObservation Result(ORU)ペイロードで構成され、変換と再ルーティングが含まれました。 IRIS for Healthの2020.1バージョンは、第2世代のIntel® Xeon® スケーラブルプロセッサとIntel® Optane™ SSD DC P4800XシリーズSSDストレージを使用したコモディティサーバーで、1日当たり23億件を超えるメッセージ(インバウンドとアウトバウンドの合計)スループットの持続を実証しました。 これらの結果は、以前のEnsemble 2017.1 HL7v2スループットベンチマークのスケーラビリティの2倍以上です。 これらのテストでは、IRIS for Healthは、先入先出(FIFO)の順序を保持し、インバウンドメッセージとアウトバウンドメッセージのメッセージとキューを完全に永続化するように構成されました。 キューとメッセージを永続化することで、IRIS for Healthはシステムがクラッシュした際に、データ保護と、履歴メッセージの完全な検索と再送機能を提供することがでます。 さらに、構成ガイドラインは以下のセクションで説明されており、ワークロードのパフォーマンスとスケーラビリティの要件を適切に満たす構成とデプロイを選択する上で役立てられます。 この結果は、IRIS for Healthがコモディティハードウェアで極端なメッセージングスループットを満たすことができ、ほとんどの場合において、1つの小さなサーバーで組織全体にHL7の相互運用性を提供できることを示しています。 * * * ## 結果の概要 HL7相互運用性アクティビティのさまざまな側面を表すために、次の3つのワークロードが使用されました。 * **T1ワークロード:** 単純なHL7メッセージのパススルーを使用します。インバウンドメッセージごとに1つのアウトバウンドメッセージが使用されます。 メッセージは、ルーティングエンジンを使用せずに、Ensemble Business Serviceから直接Ensemble Business Operationに渡されました。 ルーティングルールは使用されず、変換も実行されませんでした。 データベースには、インバウンドメッセージごとに1つのHL7メッセージインスタンスが作成されました。 * **T2ワークロード:** ルーティングエンジンを使って、インバウンドメッセージの平均4つのセグメントを変更し、それを1つのアウトバウンドインターフェースにルーティングします (変換を使用して1対1)。 各インバウンドメッセージでは、1つのデータ変換が実行され、2つのHL7メッセージオブジェクトがデータベースに作成されました。 * **T4ワークロード:** ルーティングエンジンを使用して、個別に変換されたメッセージをそれぞれ4つのアウトバウンドインターフェースにルーティングします。 平均して、インバウンドメッセージの4つのセグメントが変換ごとに変更されました(4 つの変換で1件のインバウンドから4件のアウトバウンド)。 各インバウンドメッセージでは、4つのデータ変換の実行により4つのメッセージがアウトバウンドに送信され、5つのHL7メッセージオブジェクトがデータベースに作成されました。 上記の3つのワークロードは、Red Hat Enterprise Linux 8を実行する2つの750GB 2つのIntel® Optane™ SSD DC P4800X SSDドライブとIntel® Scalable Gold 6252プロセッサを備えた物理48コアシステムで実行されました。 データは、1秒当たり(および1時間当たり)のインバウンドごとのメッセージ数、1秒当たりの(および1時間当たり)のアウトバウンドごとのメッセージ数、および1日10時間のメッセージ合計数(インバウンドとアウトバウンド)で表示されています。 また、特定のレベルのスループットにおいて利用可能なシステムリソースの測定値として、CPU使用率が表示されています。  ### スケーラビリティの結果 _表1: このテスト済みのハードウェア構成における4つのワークロードのスループットの要約: _ ![](/sites/default/files/inline/images/images/table-1.png) * 25%のT1/ 25%のT2 / 50%のT4ワークロードの比率で組み合わされたワークロード * * * ## ワークロードの説明と方法 テストされたワークロードには、HL7v2 Patient Administration(ADT)とObservation Result(ORU)メッセージが含まれ、平均1.2 KBのサイズと平均14のセグメントが含まれました。 変換によっておよそ4つのセグメントが変更されました(T2およびT4ワークロード)。 テストは、TCP/IPを介してメッセージを送受信する48件から128件のインバウンドと48件から128件のアウトバウンドのインターフェースを表します。 T1ワークロードでは、それぞれに16個のインターフェースを持つ4つの個別のネームスペースが使用され、T2ワークロードでは、それぞれに16個のインターフェースを持つ3つのネームスペースが使用され、T4ワークロードでは、それぞれに32個のインターフェースを持つ4つのネームスペースが使用され、最後の「混合ワークロード」では、T1ワークロードに16個、T2ワークロードに16個、T4ワークロードに32個を持つ3つのネームスペースが使用されました。 スケーラビリティは、各インターフェースのトラフィックを徐々に増やして許容可能なパフォーマンス基準で最高のスループットを見つけることで測定されました。 許容可能なパフォーマンスを得るには、メッセージがキューイングやメッセージの配信に測定可能な遅延のない持続的な速度で処理され、平均CPU使用率が80%未満である必要があります。 以前のテストでは、使用されたHL7メッセージのタイプはEnsembleのパフォーマンスやスケーラビリティにとって重要ではありませんでしたが、インバウンドメッセージ数、インバウンドとアウトバウンドメッセージのサイズ、ルーティングエンジンで作成される新しいメッセージの数、および変更されたセグメント数が重要でした。 さらに、以前のテストでは、データ変換でHL7メッセージの個別のフィールドを処理することは、通常、パフォーマンスに影響がないことが示されています。 これらテストの変換では、かなり単純な割り当てを使用して、新しいメッセージが作成されています。 複雑な処理(データ変換での広範なSQLクエリの使用など)によって、結果が異なる場合があることに注意してください。 以前のテストではまた、ルール処理は通常重要でないことも確認されています。 これらのテストで使用されたルーティングルールセットは平均32個のルールで、すべてのルールは単純です。 ルールセットが極端に大きいか複雑な場合は、結果が異なる場合があります。  ### ハードウェア  #### サーバーの構成 テストでは、2.1 GHzの48コアの2ソケットシステムで、192 GB DDR4-2933 DRAMと10 Gb Ethernetネットワークインターフェースを使用するソケットごとに24コアを提供する第2世代Intel® Scalable Gold 6252「_Cascade Lake_」プロセッサを搭載したサーバーが使用されました。 このテストでは、Red Hat Enterprise Linux Server 8オペレーティングシステムでInterSystems IRIS for Health 2020.1を使用しました。 #### ディスクの構成 IRIS for Healthを通過するメッセージは、ディスクに完全に永続されます。 このテストの場合、システム内部の2つのIntel 750GB Intel® Optane™ SSD DC P4800X SSDドライブを使用して、片方をデータベース用、もう片方をジャーナル用として分割しました。 さらに、実際の比較を実現できるにように、ジャーナルの同期コミットを有効にして、データの耐久性を強化しています。 前述のT4ワークロードの場合、各インバウンドHL7メッセージはおよそ50 KBのデータを生成しますが、これを表2に説明するように分類できます。 トランザクションジャーナルは通常、メッセージデータやログよりも短い時間オンラインに保持されるため、必要な合計ディスク容量を計算する際に、このことを考慮する必要があります。 _表2: インバウンドHL7 T4メッセージあたりのディスク要件 _ | 項目 | データ要件 | | -------------- | ------ | | セグメントデータ | 4.5 KB | | HL7メッセージオブジェクト | 2 KB | | メッセージヘッダー | 1.0 KB | | ルーティングルールログ | 0.5 KB | | トランザクションジャーナル | 42 KB | | 合計 | 50 KB |   T4ワークロードはルーティングエンジンを使用して、個別に変換されたメッセージをそれぞれ4つのアウトバウンドインターフェースにルーティングすることを思い出しましょう。 平均して、インバウンドメッセージの4つのセグメントが変換ごとに変更されました(4 つの変換で1件のインバウンドから4件のアウトバウンド)。 各インバウンドメッセージでは、4 つのデータ変換の実行により 4 つのメッセージがアウトバウンドに送信され、5 つの HL7 メッセージオブジェクトがデータベースに作成されました。 本番環境で使用するシステムを構成する場合、HL7メッセージの1日あたりのインバンドボリュームとパージスケジュール、およびジャーナルファイルの保持ポリシーを考慮して、正味要件を計算する必要があります。 また、適切なジャーナルファイルの容量は、ジャーナルディスクボリュームがいっぱいになるのを防ぐようにして構成する必要があります。 ジャーナルファイルは、パフォーマンスと信頼性を考慮して、データベースファイルから物理的に離れたディスクに存在する必要があります。 ## まとめ これらのテストで示されたInterSystems IRIS for Health HL7v2メッセージスループットは、適度な2ソケットコモディティサーバー構成での大規模なスループット性能によって、組織における要求の最も厳しいメッセージワークロードをサポートできることを示しています。 また、InterSystemsは、最新のサーバーとクラウドテクノロジーを活用しながら、バージョンごとにパフォーマンスとスケーラビリティを改善することに絶えず取り組んでいます。 以下のグラフでは、スループットの増加について、Intel® E5-2600 v3(_Haswell_)を使用したEnsemble 2015.1とEnsemble 2017.1のベンチマークと第1世代Intel® Scalable Platinum Series(_Skylake_)プロセッサを使用したEnsemble 2017.1のベンチマークをそれぞれ第2世代Intel® Scalable Gold Series(_Cascade Lake_)プロセッサでIRIS for Health 2020.1を実行した場合の最新の結果と比較しています。 _グラフ1: 単一サーバーでの1日10時間当たりのメッセージスループット(百万単位)。 _ ![](/sites/default/files/inline/images/images/picture-1.png) InterSystems IRIS for Healthは、バージョンが上がるたびに、接続機能の柔軟性を提供するとともに、相互運用性スループットの水準を引き上げ続けています。 上記のグラフからわかるように、メッセージスループットは大きく増加しており、同じ10時間の期間と、**23億件以上**という24時間の合計メッセージ速度を維持したまま、T2ワークロードの場合には2017の2倍、2015と比較すると3倍以上に増加しています。 IRIS for Healthの進歩を示すもう1つの重要な指標は、T1ワークロードの純粋なパススルー操作とは対照に、変換とルーティングルーツが組み込まれたより複雑なT2とT4ワークロードでのスループットの向上です。   InterSystemsでは、企業や組織におけるインターオペラビリティ(相互運用性)のニーズに対するソリューションのご相談をお待ちしております。
お知らせ
Mihoko Iijima · 2021年9月6日

★投票開始!★InterSystems Analytics コンテスト2021

開発者の皆さん、こんにちは! 今週は、InterSystems Analytics コンテスト2021 の投票週間です!InterSystems IRIS を使い開発されたベストソリューションに投票お願いします! 🔥 投票はこちらから! 🔥 投票方法については、以下ご参照ください。 Experts nomination: 今回は、インターシステムズの経験豊富な審査員がベストアプリを選び、Expert Nominationで賞品をノミネートします。 ⭐️ @Evgeny.Shvarov, Developer Ecosystem Manager⭐️ @Carmen.Logue, Product Manager - Analytics and AI⭐️ @Benjamin.DeBoe, Product Manager⭐️ @Asaf.Sinay, Analytics Technologies Support Manager ⭐️ @akoblov, Senior Support Specialist⭐️ @Peter.Steiwer, Senior Support Specialist ⭐️ @deirdre.viau, Support Specialist⭐️ @Samuel.Duncan, Support Specialist Community nomination: 開発者コミュニティのメンバーは、お好みのアプリケーションに対して1位~3位を指定しながら投票できます。 開発者コミュニティでのあなたの状態 順位 1位 2位 3位 開発者コミュニティに記事を掲載したり、OpenExchange(OEX)にアプリをアップロードしたことがある方 9点 6点 3点 開発者コミュニティに1つの記事を掲載した、または 1アプリケーションを OEX にアップロードしたことがある方 6点 4点 2点 開発者コミュニティへコメントや質問を投稿したことがある方 3点 2点 1点 エキスパートレベル 順位 1位 2位 3位 グローバルマスターズの VIP レベル または、InterSystems Product Managers 15点 10点 5点 グローバルマスターズの Ambassador レベル 12点 8点 4点 グローバルマスターズの Expert レベル または DC モデレーター 9点 6点 3点 グローバルマスターズの Specialist レベル 6点 4点 2点 グローバルマスターズの Advocate レベル または インターシステムズの従業員 3点 2点 1点 今回も「ブラインド投票」します 各応募作品への投票数は、誰にも分らないようになっています。1日1回、この記事のコメント欄に投票数を公開する予定です。 コンテストページ の表示順は、コンテストに応募した時期が早ければ早いほど、上位に表示されます。 メモ:新しいコメントの通知を受けるために、この投稿を購読することをお忘れなく!(記事末尾の ベルのアイコンをクリックするだけ!) 投票に参加するには Open Exchange へのサインインします(開発者コミュニティのアカウントを使用してください)。 投票ボタンは、開発者コミュニティ内で、質問/回答/記事の掲載/投稿に対するコメント など 記載いただいた方に対して有効になります。 ボタンが押せない場合は、コミュニティへのコメントやオリジナルの記事など、書き込みお願いします!詳細は、こちらの記事をご参照ください。 気が変わった場合は? - 選択をキャンセルして別のアプリケーションに投票できます。 ぜひ 🔥これだ🔥 と思う作品に投票お願いします! メモ:コンテストへ応募された作品は、投票週間中にバグを修正したり、アプリケーションを改良したりすることができますので、アプリケーションのリリースを見逃さずに購読してください。
お知らせ
Mihoko Iijima · 2020年8月31日

★受賞者発表!★第5回 InterSystems IRIS プログラミングコンテスト(FHIRコンテスト)

皆さんこんにちは。 第5回 InterSystems IRIS プログラミングコンテスト(FHIRコンテスト) への応募は終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。 今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します! 🏆 審査員賞 - 特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。 🥇 1位 - $1,500 は iris-fhir-portal を開発された Henrique Gonçalves Dias さんに贈られました! 🥇 1位 - $1,500 は iris4health-fhir-analytics を開発された José Roberto Pereira さんに贈られました! 🥉 3位 - $500 は fhir-chatbot を開発された Renato Banzai さんに贈られました! 🏆 開発者コミュニティ賞 - 最も多くの票を獲得したアプリケーションに贈られます。 🥇 1位 - $1,000 は iris-fhir-portal を開発された Henrique Gonçalves Dias さんに贈られました! 🥈 2位 - $500 は iris4health-fhir-analytics を開発された José Roberto Pereira さんに贈られました! 🎊 受賞者の皆様、おめでとうございます!👏 このエキサイティングなプログラミングコンテストにご注目いただき、また開発いただきありがとうございました! 見事 🥇 1位! に輝いた Henrique Gonçalves Dias さんの iris-fhir-portal についてですが、投票終了と同時にご本人による日本語の解説記事がUpされました! Henriqueさん、ありがとうございます! 皆様、ぜひ、ご参照ください! さて、次回はどんなコンテストでしょう?(全体スケジュールはこちらからご参照いただけます。) InterSystems IRIS プログラミングコンテストシリーズは、開発者の皆様をお待ちしております! 次のコンテストは、まもなく発表されます。コンテスト最新情報のチェックもお忘れなく!
記事
Tomohiro Iwamoto · 2021年2月16日

InterSystems IRIS デプロイガイド - AWS CloudFormation テンプレート - Windows編

## 目的 CloudFormationの記事は、Linux系のものが多いですが、Windowsでも自動化したいという需要がありそうですので、[オリジナル記事](https://jp.community.intersystems.com/post/intersystems-iris-%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E3%82%AC%E3%82%A4%E3%83%89-aws-cloudformation-%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88-%C2%A0)を元に、CloudFormationを使用してミラークラスターをWindowsサーバにデプロイする例を実装してみました。また、簡単な実行例も追加しました。 ソースコード一式はこちらの[Gitレポジトリ](https://github.com/IRISMeister/AWSIRISDeployment)にあります。 更新: 2021年3月1日 ワンライナーで踏み台ホスト経由でWindowsに公開鍵認証する方法を追記しました 更新: 2022年11月29日 [QuickStart](https://aws.amazon.com/jp/quickstart/architecture/intersystems-iris/)の形式に合わせて大幅に変更しました。以前の内容は[こちら](https://github.com/IRISMeister/AWSIRISDeployment/releases/tag/v0.1)に保存してあります。 更新: 2022年12月21日 踏み台ホストの使用を止め、代わりにAWS System Manager(SSM)を有効化しました。プライベートサブネット上のインスタンスへのアクセスが簡素化されます。以前の内容は[こちら](https://github.com/IRISMeister/AWSIRISDeployment/releases/tag/v0.2)に保存してあります。 ## 事前準備 [QuickStart](https://aws.amazon.com/jp/quickstart/architecture/intersystems-iris/)のデプロイ方法に従います。 非公開のS3バケットにIRISのキット及びライセンスキーをアップロードします。 - IRISをWindowsにデプロイする場合 ```bash S3BucketName= aws s3 mb s3://$S3BucketName aws s3 cp iris.key s3://$S3BucketName aws s3 cp ISCAgent-2022.1.0.209.0-lnxrh7x64.tar.gz s3://$S3BucketName aws s3 cp IRIS-2022.1.0.209.0-win_x64.exe s3://$S3BucketName ``` - IRISをLinux(AmazonLinuxあるいはRedHat7/x64)にデプロイする場合 ```bash S3BucketName= aws s3 mb s3://$S3BucketName aws s3 cp iris.key s3://$S3BucketName aws s3 cp ISCAgent-2022.1.0.209.0-lnxrh7x64.tar.gz s3://$S3BucketName aws s3 cp IRIS-2022.1.0.209.0-lnxrh7x64.tar.gz s3://$S3BucketName ``` - IRISをLinux(Ubuntu/x64)にデプロイする場合 ```bash S3BucketName= aws s3 mb s3://$S3BucketName aws s3 cp iris.key s3://$S3BucketName aws s3 cp ISCAgent-2022.1.0.209.0-lnxrh7x64.tar.gz s3://$S3BucketName aws s3 cp IRIS-2022.1.0.209.0-lnxubuntu2004x64.tar.gz s3://$S3BucketName ``` > このテンプレートは、AmazonLinuxを使用しています。RedHat7もしくはUbuntuを利用する場合は、別途「[カスタマイズ候補](#linux)」のチャプターの作業が必要です また、事前にAWS上に用意されているテンプレートではなく、カスタマイズを行ったテンプレートを使用するので、下記を実行します。 > QSS3BucketNameはS3BucketNameと同じでも、異なっていても構いません。 ```bash $ git clone https://github.com/IRISMeister/AWSIRISDeployment.git --recursive $ cd AWSIRISDeployment ``` Windowsにデプロイする場合 ```bash QSS3BucketName= aws s3 cp quickstart-intersystems-iris-windows s3://$QSS3BucketName/quickstart-intersystems-iris-windows --recursive aws s3 cp submodules/quickstart-aws-vpc/templates s3://$QSS3BucketName/quickstart-intersystems-iris-windows/submodules/quickstart-aws-vpc --recursive aws s3 cp submodules/quickstart-linux-bastion/templates s3://$QSS3BucketName/quickstart-intersystems-iris-windows/submodules/quickstart-linux-bastion --recursive aws s3 cp submodules/quickstart-linux-bastion/scripts s3://$QSS3BucketName/quickstart-intersystems-iris-windows/submodules/quickstart-linux-bastion --recursive ``` Linuxにデプロイする場合 ```bash QSS3BucketName= aws s3 cp quickstart-intersystems-iris s3://$QSS3BucketName/quickstart-intersystems-iris --recursive aws s3 cp submodules/quickstart-aws-vpc/templates s3://$QSS3BucketName/quickstart-intersystems-iris/submodules/quickstart-aws-vpc --recursive aws s3 cp submodules/quickstart-linux-bastion/templates s3://$QSS3BucketName/quickstart-intersystems-iris/submodules/quickstart-linux-bastion --recursive aws s3 cp submodules/quickstart-linux-bastion/scripts s3://$QSS3BucketName/quickstart-intersystems-iris/submodules/quickstart-linux-bastion --recursive ``` ## 実行例 以下、既存VPCにWindows版IRISのミラー構成をデプロイする際の実行例です。 > VPCを新規作成する場合は、下記の[VPC関連の事前準備](#VPC関連)は不要です。 ### 事前準備 #### VPC関連 既存VPC上に、以下のリソースを事前に用意しました。 > デプロイ実行時にNATゲートウエイが無いと、スタックの作成に失敗します。必ず用意してください。 - パブリックサブネット ![image](/sites/default/files/inline/images/cfwindows_pub_subnet.png) - プライベートサブネット ![image](/sites/default/files/inline/images/cfwindows_subnet.png) - ルートテーブル/ルート ![image](/sites/default/files/inline/images/cfwindows_route_0.png) - ルートテーブル/サブネットの関連付け ![image](/sites/default/files/inline/images/cfwindows_route-assoc_0.png) - NATゲートウエイ ![image](/sites/default/files/inline/images/cfwindows_natgw.png) #### S3への各種ファイルのアップロード ```bash S3BucketName=iwamoto-cf-templates aws s3 mb s3://$S3BucketName aws s3 cp ISCAgent-2022.1.0.209.0-lnxrh7x64.tar.gz s3://$S3BucketName aws s3 cp iris.key s3://$S3BucketName aws s3 cp IRIS-2022.1.0.209.0-win_x64.exe s3://$S3BucketName git clone https://github.com/IRISMeister/AWSIRISDeployment.git cd AWSIRISDeployment # キットファイル格納先と同じbucketを使用しています QSS3BucketName=iwamoto-cf-templates aws s3 cp quickstart-intersystems-iris-windows s3://$QSS3BucketName/quickstart-intersystems-iris-windows --recursive aws s3 cp submodules/quickstart-aws-vpc/templates s3://$QSS3BucketName/quickstart-intersystems-iris-windows/submodules/quickstart-aws-vpc --recursive aws s3 cp submodules/quickstart-linux-bastion/templates s3://$QSS3BucketName/quickstart-intersystems-iris-windows/submodules/quickstart-linux-bastion --recursive aws s3 cp submodules/quickstart-linux-bastion/scripts s3://$QSS3BucketName/quickstart-intersystems-iris-windows/submodules/quickstart-linux-bastion --recursive ``` このような内容になります。 ``` aws s3 ls s3://$QSS3BucketName --recursive 2022-06-15 07:48:57 675737136 IRIS-2022.1.0.209.0-win_x64.exe 2022-10-12 01:09:57 16139988 ISCAgent-2022.1.0.209.0-lnxrh7x64.tar.gz 2022-03-29 07:11:24 546 iris.key 2022-11-25 09:15:50 0 quickstart-intersystems-iris-windows/ 2022-11-25 09:16:05 0 quickstart-intersystems-iris-windows/scripts/ 2022-11-28 05:34:49 6008 quickstart-intersystems-iris-windows/scripts/MirrorInstaller.xml 2022-11-28 13:34:52 0 quickstart-intersystems-iris-windows/submodules/ 2022-11-28 13:34:52 0 quickstart-intersystems-iris-windows/submodules/quickstart-aws-vpc/ 2022-11-28 13:34:52 0 quickstart-intersystems-iris-windows/submodules/quickstart-aws-vpc/templates/ 2022-11-28 13:34:52 59966 quickstart-intersystems-iris-windows/submodules/quickstart-aws-vpc/templates/aws-vpc.template.yaml 2022-11-28 13:34:52 0 quickstart-intersystems-iris-windows/submodules/quickstart-linux-bastion/ 2022-11-28 13:34:52 0 quickstart-intersystems-iris-windows/submodules/quickstart-linux-bastion/scripts/ 2022-11-28 13:34:52 531 quickstart-intersystems-iris-windows/submodules/quickstart-linux-bastion/scripts/auditing_configure.sh 2022-11-28 13:34:52 881 quickstart-intersystems-iris-windows/submodules/quickstart-linux-bastion/scripts/banner_message.txt 2022-11-28 13:34:52 11763 quickstart-intersystems-iris-windows/submodules/quickstart-linux-bastion/scripts/bastion_bootstrap.sh 2022-11-28 13:34:52 0 quickstart-intersystems-iris-windows/submodules/quickstart-linux-bastion/templates/ 2022-11-28 13:34:52 24068 quickstart-intersystems-iris-windows/submodules/quickstart-linux-bastion/templates/linux-bastion.template 2022-11-25 09:16:16 0 quickstart-intersystems-iris-windows/templates/ 2022-11-28 09:35:42 6059 quickstart-intersystems-iris-windows/templates/iris-cluster-arbiter-node.template.yaml 2022-11-28 09:35:42 21529 quickstart-intersystems-iris-windows/templates/iris-cluster-iris-node.template.yaml 2022-11-28 09:35:42 13736 quickstart-intersystems-iris-windows/templates/iris-cluster-main.template.yaml 2022-11-28 09:35:43 10403 quickstart-intersystems-iris-windows/templates/iris-entrypoint-new-vpc.template.yaml ``` ### (オプション)全パラメータ設定済みyamlの編集 繰り返し実行することを考慮して、パラメータを全て指定した状態のテンプレートを作成しておくと便利です。 ```bash vi test-iris-cluster-main-windows.yaml ``` > 編集後のファイルをうっかり公開してしまわないよう注意してください 編集時の注意 - BastionSubnetIdParameterには、異なるAZに属する2つのpublic subnetを指定してください。 - InstanceSubnetIdParameterには、異なるAZに属する3つのsubnetを指定してください。はじめの2つがIRISホスト、最後に指定したサブネットがArbiterホストが稼働するサブネットになります。 - IRISをインストールするホストは、インストール作業の際にインターネットへのアクセスを行います。具体的にはs3アクセスのためにaws cliが必要(amazon linuxと違ってUbuntuにはプリインストールされていません)なのですが、その他にもchocolateyを使用してaws cliをインストールしています。NATゲートウェイ等を構成済みのプライベートサブネットを構築済みで無い場合は、[こちら](NATGW.yaml)を参考にして一時的に追加してください。 > NATゲートウェイは存在するだけでコストが発生します。(VM起動直後のS/Wインストール時など)必要な時に作成し、不要になったらすぐ削除したかったので、別のCFテンプレートにしています。 ### コンソールからCloudFormationの実行 1. スタックを「新しいリソースを使用」して作成します。 テンプレートソースには「テンプレートファイルのアップロード」を選択し、先ほど編集したファイル(test-iris-cluster-main-windows.yaml)を指定します。 「スタックの詳細を指定」画面でパラメータを設定します。 |パラメータ|設定値例| | --- | --- | |BastionSubnetIdParameter|subnet-0f7c4xxxxxxxxxxxx,subnet-05b42xxxxxxxxxxxx| |IRISPasswordParameter|SYS1| |InstanceSubnetIdParameter|subnet-0180bxxxxxxxxxxxx,subnet-03272xxxxxxxxxxxx,subnet-08e8fxxxxxxxxxxxx| |QSS3BucketName|iwamoto-cf-templates| |QSS3BucketRegion|ap-northeast-1| |QSS3KeyPrefix|quickstart-intersystems-iris-windows/| |S3BucketNameParameter|iwamoto-cf-templates| |SshKeyParameter|aws| |VpcIdParameter|vpc-0e538xxxxxxxxxxxx| 「スタックオプションの設定」画面に特に設定はありません。実行がうまくいかない場合は、スタックの作成オプションの「失敗時のロールバック」を無効にしておくと、作成された環境がロールバックされずに残りますので、問題の解析がしやすくなります(不要になったら、忘れずに削除すること)。 「レビュー」画面で、「The following resource(s) require capabilities:」で、下記にチェックをいれる必要があります。 - AWS CloudFormation によって IAM リソースがカスタム名で作成される場合があることを承認します。 - AWS CloudFormation によって、次の機能が要求される場合があることを承認します: CAPABILITY_AUTO_EXPAND 「スタックの作成」ボタンを押します。複数のネストされたスタックの作成が開始されます。 2. 出力内容を確認します。 スタックのステータスがCREATE_COMPLETEになるまで待機します(15分ほどかかりました)。 スタック(アップロードしたスタックではなく、ネストされたxxx-IRISStack-xxxx)の出力を表示します。ギアアイコンで行の折り返し指定が出来ます。 |Stack|キー|値|説明| | --- | --- | --- | --- | |IRIStack|JDBCEndpoint|jdbc:IRIS://xxxx-NLB-xxxxx.elb.ap-northeast-1.amazonaws.com:51773/DATA| JDBC Connection String| |IRIStack|Node01InstanceId|i-xxxxxxxxxx|Node 01 Instance ID| |IRIStack|Node01PrivateIP|10.0.12.85|Node 01 Private IP| |IRIStack|Node02InstanceId|i-xxxxxxxxxx|Node 02 Instance ID| |IRIStack|Node02PrivateIP|10.0.10.159|Node 02 Private IP| これらの出力値を記録しておいてください。 ### IRIS管理ポータルへのアクセス Node01ホスト(ミラープライマリサーバ)の管理ポータルに接続します。下記のコマンドを実行します。 - 踏み台ホストを使用しない場合 セッションマネージャのポート転送を利用します。事前に[AWS CLIのインストール・構成](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html)と[SSMプラグインのインストール](https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html)が必要です。私はWindows10+WSL2(Ubuntu)を使用していますので、下記を実行しました。 ``` $ curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb" $ sudo dpkg -i session-manager-plugin.deb ``` ``` $ export instanceid=i-xxxxxxxxxx $ aws ssm start-session --target $instanceid \ --document-name AWS-StartPortForwardingSession \ --parameters '{"portNumber":["52773"],"localPortNumber":["52773"]}' ``` > [SSHトンネルを作成する方法](https://aws.amazon.com/jp/premiumsupport/knowledge-center/systems-manager-ssh-vpc-resources/)もあります。 - 踏み台ホストを使用する場合 ```bash BastionPublicIP=54.168.xxx.xxx Node01PrivateIP=10.0.12.85 ssh -i aws.pem -L 52773:$Node01PrivateIP:52773 ec2-user@$BastionPublicIP ``` この時点で、http://localhost:52773/csp/sys/UtilHome.csp で管理ポータルにアクセスできます。アカウントはSuperUser、パスワードはスタックのパラメータで指定したものを使用します。ミラーの状態を確認するために、管理ポータルのホーム画面の右端に「ミラー・モニターを表示」というリンクがありますので、クリックします。以下の画面のように表示されていれば正常です。 ![image](/sites/default/files/inline/images/cfwindows_mirror_0.png) ### WindowsへのRDP接続 RDP接続する場合は、(推奨に従って)Node01をプライベートサブネットに作成している場合、ssh同様、RDPも直接接続できません。フリートマネージャーをRDPの代替えとして利用可能です。 ![image](/sites/default/files/inline/images/fleet-manager_1.png) フリートマネージャーを使しない場合は、下記のようなコマンドをローカルで実行し、localhostから転送する必要があります。 - 踏み台ホストを使用しない場合 ``` $ export instanceid=i-xxxxxxxxxx $ aws ssm start-session --target $instanceid \ --document-name AWS-StartPortForwardingSession \ --parameters '{"portNumber":["3389"],"localPortNumber":["33389"]}' ``` - 踏み台ホストを使用する場合 ``` ssh -i aws.pem -L 33389:$Node01PrivateIP:3389 ec2-user@$BastionPublicIP ``` Windowsのパスワードは、AWSコンソールからのRDP接続方法で取得します。 その上で、RDPでlocalhost:33389に接続し、Administrator/取得したパスワード、でログインします。 ### Linuxへの接続 - 踏み台ホストを使用しない場合 SSMのセッションマネージャを使用します。 ![image](/sites/default/files/inline/images/session-manager_0.png) あるいは、~/.ssh/configを[設定する](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-enable-ssh-connections.html)ことで、SSM経由でSSHアクセスすることも可能です。 ``` $ export instanceid=i-xxxxxxxxxx $ ssh -i aws.pem ec2-user@$instanceid ``` - 踏み台ホストを使用する場合 ```bash BastionPublicIP=54.168.xxx.xx Node01PrivateIP=10.0.12.85 ssh -i aws.pem -L 52773:$Node01PrivateIP:52773 ec2-user@$BastionPublicIP ssh -i aws.pem -L 33389:$Node01PrivateIP:3389 ec2-user@$BastionPublicIP ssh -i aws.pem -oProxyCommand="ssh -i aws.pem -W %h:%p ec2-user@$BastionPublicIP" ec2-user@$Node01PrivateIP or ssh -i aws.pem -oProxyCommand="ssh -i aws.pem -W %h:%p ec2-user@$BastionPublicIP" ubuntu@$Node01PrivateIP ``` > BastionPublicIPは、事前に用意した踏み台ホストの公開IPです。 ### 動作確認 - 外部ロードバランサ経由のアクセス この時点で、JDBC経由でアクセス可能になっているはずです。JDBCEndpointを使用してアクセスします。 > 手順は省略します。実行にはJDBCドライバが必要です。 ## カスタマイズ候補 ### Windows iris-cluster-iris-node.template.yamlでPSファイル等を作成しています。下記の箇所は、環境・目的に応じて変更してください。 - Windows環境のローカライズ(timezone, firewall設定) - c:\cfn\scripts\Setup-config.ps1 ***注意) firewallを無効に設定しています*** - ドライブの作成、割り当て - Resourcesセクション ``` Resources: NodeInstance: Properties: BlockDeviceMappings: ``` - c:\cfn\scripts\drives.diskpart.txt - IRISインストール先など - c:\cfn\scripts\Install-IRIS.ps1 ``` $irisdir="h:\InterSystems\IRIS" $irissvcname="IRIS_h-_intersystems_iris" $irisdbdir="I:\iris\db\" $irisjrndir="J:\iris\jrnl\pri" $irisjrnaltdir="K:\iris\jrnl\alt" ``` このpsファイルは、実行時に作成される/temp/envs.ps1と組み合わせれば、IRISの無人インストール用のスクリプトとして機能します。 - プリインストールするソフトウェア - c:\cfn\scripts\Install-choco-packages.ps1 s3からファイルを入手する場合、awscliは必須です。利便性のためnotepadplusplus, google chromeを追加インストールしています。 ### Linux - O/Sの指定 現在、O/Sは利便性によりAmazon Linuxを指定してあります。 O/SをRedHatに変更するには下記ファイルの内容を変更してください。 quickstart-intersystems-iris\templates\iris-cluster-iris-node.template.yaml ``` LatestAmiIdParameter: Type: AWS::EC2::Image::Id Default: ami-0be4c0b05bbeb2afd ``` O/SをUbuntuに変更するには下記ファイルの内容を変更してください。 quickstart-intersystems-iris\templates\iris-cluster-iris-node.template.yaml ``` LatestAmiIdParameter: Type: 'AWS::SSM::Parameter::Value' Default: /aws/service/canonical/ubuntu/server/focal/stable/current/amd64/hvm/ebs-gp2/ami-id ``` ``` IRISKitNameParameter: Type: String Default: IRIS-2022.1.0.209.0-lnxubuntu2004x64 ``` ## オリジナル(quickstart)との差異 デプロイ先をWindowsに変更する際に、Linux版との互換性を維持したままで、いくつかの修正を加えました。 - Windowsの起動に時間がかかるため、デフォルトのInstance typeをm5.largeからm5.xlargeに変更。gp2をgp3に変更。IOPSを指定。 - LatestAmiIdForIRISParameterパラメータを新設。Windowsのキット(日本語版、英語版等)の指定。 - IRISKitNameParameterパラメータを新設。キット名の指定。 - RDPアクセス用にSecurityGroupIngress(ポート:3389)を追加 - SE.ShardInstallerクラス修正 - CreateMirrorSet(), JoinAsFailover()を変更 \#\#class(SYS.Mirror).CreateMirrorSet(),JoinAsFailover()実行時のECPAddressのデフォルト($system.INetInfo.LocalHostName())が、Windowsでは"EC2AMAZ-F1UF3QM"のようなWindowsホスト名になる。このホスト名では他のホストからDNSで名前解決できないので、JoinMirrorAsFailoverMember()がエラーになる。そのため、下記を追加。 CreateMirrorSet() ``` set mirror("ECPAddress") = hostName // Windows on AWS need this ``` JoinAsFailover() ``` set MirrorInfo("ECPAddress") = hostName // Windows on AWS need this ``` - Roleを追加 ``` キット用S3バケットに対するs3:GetObject ec2:Describe* ec2:DeleteRoute ec2:CreateRoute ec2:ReplaceRoute セッションマネージャ有効化のため AmazonSSMManagedInstanceCore ``` - Linux用のcloud-initのUserData(初回起動時に実行されるshell)にO/SがUbuntu,RedHat7の場合分けを追加 - 踏み台ホストをデプロイしない代わりにAWS System Managerを有効化 ## その他 ### 1. LBのヘルスチェック値 LBのヘルスチェックのデフォルト値を使用しています。quickstart-intersystems-iris-windows\templates\iris-cluster-main.template.yamlのコメントを解除して適切な値に調整してください。 ``` #HealthCheckTimeoutSeconds: 10 #HealthCheckIntervalSeconds: 10 #UnhealthyThresholdCount: 3 ``` ### 2. テンプレートとAWSリソースの関係 以下、テンプレートと作成されるAWSリソースの関係です。 |テンプレート名|作成されるリソース| | --- | --- | |iris-cluster-iris-node.template.yaml|スタンドアロン| |iris-cluster-iris-main.template.yaml|ミラー環境| |iris-entrypoint-new-vpc.template.yaml|VPC+ミラー環境| AWS System Managerを有効化しているため、いずれも踏み台ホストは作成しません。必要であれば、この[テンプレート](BastionNode.yaml)を参考にして作成しください。 ### 3. テンプレートのデフォルト値 環境の明滅を繰り返し実行する可能性がある場合、パラメータを全て指定した状態のテンプレートを別途作成しておくと便利です。 |テンプレート名|O/S|用途| | --- | --- | --- | |test-iris-cluster-iris-node-linux.yaml|Linux| スタンドアロン| |test-iris-cluster-iris-node-windows.yaml|Windows| スタンドアロン| |test-iris-cluster-iris-main-linux.yaml|Linux| ミラー環境| |test-iris-cluster-iris-main-windows.yaml|Windows| ミラー環境| |test-iris-entrypoint-new-vpc-linux.yaml|Linux| VPC+ミラー環境| |test-iris-entrypoint-new-vpc-windows.yaml|Windows| VPC+ミラー環境| 例えば、スタンドアローン構成でIRISを起動したい場合は、下記のファイルを編集します。 ```bash $ #デプロイするサブネット(InstanceSubnetIdParameterの値)には既存のパブリックサブネットを指定してください $ vi test-iris-cluster-iris-node-linux.yaml ``` スタック作成時に、test-iris-cluster-iris-node-windows.yamlを指定すれば、スタンドアローン構成でIRISを起動することが出来ます。 ### 3. WindowsへのSSH SSMのセッションマネージャを使用します。 > 踏み台ホストの使用を止めたため、下記内容は無効になりました。下記の方法を試す場合は、別途、[こちらのような](BastionNode.yaml)テンプレートを利用して踏み台ホストを作成してください。 IRIS稼働ホストにOpenSSHをインストールすれば、踏み台ホスト経由で、IRISホストにSSHする事が可能です。ただし、Linux版に比べて、Windows版のIRISではCLIで実行できることが限られているため、効果は限定的です。 IRIS稼働ホストで実行。 ```powershell PS C:\Users\Administrator> Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 PS C:\Users\Administrator> Start-Service sshd ``` Windowクライアントからアクセスする際には、Windows版OpenSSHクライアント固有の問題「posix_spawn: No such file or directory」を回避するために、Git同梱のBashを使用しました。 ```bash user@DESKTOP-XXXX MINGW64 ~ ssh -oProxyCommand="ssh -i aws.pem -W %h:%p ec2-user@54.95.xxx.xxx" Administrator@10.0.0.62 Administrator@10.0.0.62's password: RDP接続の際に取得したパスワード ``` (load pubkey "aws.pem": invalid format が出ますが無視) また、ひと手間いりますが、踏み台ホストの.ssh/authorized_keys(パブリックキー)を、デプロイ先のWindowsにコピーすれば、ワンライナーで公開鍵認証できます。 ```bash user@DESKTOP-XXXX MINGW64 ~ ssh -i aws.pem -oProxyCommand="ssh -i aws.pem -W %h:%p ec2-user@54.95.xxx.xxx" Administrator@10.0.0.62 ``` Adminグループには特別の設定が必要でした。[こちら](https://www.concurrency.com/blog/may-2019/key-based-authentication-for-openssh-on-windows )のConfiguring the Serverを参考にしました。 ### 4. cfn-init.logにPythonのエラーが出る場合 cfn-init.logに下記のようなエラーが出ることがあるようです。 ``` 2021-02-12 02:50:32,957 [ERROR] -----------------------BUILD FAILED!------------------------ 2021-02-12 02:50:32,957 [ERROR] Unhandled exception during build: 'utf8' codec can't decode byte 0x83 in position 8: invalid start byte ``` 回避されることを期待して、Install-IRIS.ps1に、以下の命令を追加しています。 ``` [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 ``` ## 参考にしたサイト 下記のサイトを参考にしています。 - https://aws.amazon.com/jp/quickstart/architecture/intersystems-iris - https://dev.classmethod.jp/articles/about-windows-cfn-init-non-ascii-encoding-error/ - https://dev.classmethod.jp/articles/aws-cloudformation-setup-windows-server-2016/ - https://aws.amazon.com/jp/premiumsupport/knowledge-center/cloudformation-drive-letters-windows/ - https://www.concurrency.com/blog/may-2019/key-based-authentication-for-openssh-on-windows
お知らせ
Mihoko Iijima · 2021年4月27日

★受賞者発表!★第11回 InterSystems IRIS プログラミングコンテスト(開発者ツール)

開発者の皆さんこんにちは! 第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 さんと @José Roberto Pereira さんに贈られました! 🏆 Community Nomination - 最も多くの票を獲得したアプリケーションに贈られます。 🥇 1位 - $750 は Server Manager for VSCode を開発された @John Murray さんに贈られました! 🥈 2位 - $500 は zpm-explorer を開発された @Henrique Dias さんと @José Roberto Pereira さんに贈られました! 🥉 3位 - $250 は Config-API を開発された @Lorenzo Scalese さんに贈られました! 🎊 受賞者の皆様、おめでとうございます!👏 今回も、コンテストにご注目いただきありがとうございました! 次のコンテストは・・・・・・・・? 近日公開予定です!お楽しみに!
お知らせ
Mihoko Iijima · 2021年4月19日

★投票開始!★第11回 InterSystems IRIS プログラミングコンテスト(開発者ツール)

開発者の皆さん、こんにちは! 第11回 InterSystems IRIS プログラミングコンテスト: 開発者ツール の投票が開始されました! 🔥 これだ!と思う一押し作品に投票お願いします! 🔥 投票期間:4月19日~26日 (1週間) 投票方法は? コミュニティメンバーはどなたでも投票いただけます! 投票種別は、Expert Nomination と Community Nomination に分かれています。コミュニティメンバーは、Community Nomination を選択いただき、どの作品がどの順位になるかを指定しながら投票してください! Community Leaderboard: 開発者コミュニティのメンバーは、お好みのアプリケーションに対して1位~3位を指定しながら投票できます。 開発者コミュニティでのあなたの状態 順位 1位 2位 3位 開発者コミュニティに記事を掲載したり、OpenExchange(OEX)にアプリをアップロードしたことがある方 9点 6点 3点 開発者コミュニティに1つの記事を掲載した、または 1アプリケーションを OEX にアップロードしたことがある方 6点 4点 2点 開発者コミュニティへコメントや質問を投稿したことがある方 3点 2点 1点 Experts Leaderboard: エキスパートノミネーションでは、エキスパートのレベルが上がると獲得できるポイントも増えます! エキスパートレベル 順位 1位 2位 3位 グローバルマスターズの VIP レベル または、InterSystems Product Managers 15点 10点 5点 グローバルマスターズの Ambassador レベル 12点 8点 4点 グローバルマスターズの Expert レベル または DC モデレーター 9点 6点 3点 グローバルマスターズの Specialist レベル 6点 4点 2点 グローバルマスターズの Advocate レベル または インターシステムズの従業員 3点 2点 1点 エキスパートリーダーボードの投票権をお持ちの方は、コミュニティリーダーボードにも自動的にポイントが加算されます。 投票方法 詳細 Open Exchange にログインします(開発者コミュニティのアカウントでログインできます)。 投票ボタンは、開発者コミュニティ内で、質問/回答/記事の掲載/投稿に対するコメント など 記載いただいた方に対して有効になります。 ボタンが押せない場合は、コミュニティへのコメントやオリジナルの記事など、書き込みお願いします! 詳細は、こちらの記事をご参照ください。 世界の IRIS 開発者が作成した ✨素敵なアプリ✨ が公開されています!ぜひ 🔥これだ🔥 と思う作品に投票お願いします! 投票期間であれば、一度投票した後も別のアプリケーションへ投票し直すこともできます(投票期間は1週間あります)。 なお、コンテスト参加者は投票週間の間にバグの修正やアプリケーションの改善を行うことができますので、アプリケーションのリリース情報についてもお見逃しなく!(サブスクリプション登録が行えます) ➡️ InterSystems オンラインコンテストの新しい投票ルールについて詳細はこちらをご参照ください。
お知らせ
Mihoko Iijima · 2021年2月1日

★受賞者発表!★第9回 InterSystems IRIS プログラミングコンテスト(マルチモデルコンテスト)

開発者の皆さんこんにちは! 第9回 InterSystems IRIS プログラミングコンテスト(マルチモデルコンテスト) への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。 今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します! 🏆 Experts Nomination - 特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。 🥇 1位 - $2,000 は iris-image-index-demo を開発された @José Roberto Pereira さんに贈られました! 🥈 2位 - $1,000 は zapm を開発された @Sergey Mikhailenk さんに贈られました! 🥉 3位 - $500 は iris-multimodel-suite を開発された @Renato Banzai さんに贈られました! 🏆 Community Nomination - 最も多くの票を獲得したアプリケーションに贈られます。 🥇 1位 - $1,000 は HealthInfoQueryLayer を開発された @Botai Zhang さんに贈られました! 🥈 2位 - $500 は ris-vaccine-tracker を開発された @Henrique Gonçalves Dias さんに贈られました! 🥉 3位 - $250 は iris-image-index-demo を開発された @José Roberto Pereira さんに贈られました! 🎊 受賞者の皆様、おめでとうございます!👏 今回も、コンテストにご注目いただきありがとうございます! さて、次回のコンテストは・・・・・・? InterSystems グランプリ・プログラミングコンテストの開催が発表されました!! なんと、賞金総額ですが 過去最高の 16,000ドル! です!ぜひ、チャレンジしてみてください! ご応募、お待ちしております!☺
お知らせ
Mihoko Iijima · 2021年3月16日

第11回 InterSystems IRIS プログラミングコンテスト(開発者ツール)開催!

開発者の皆さん、こんにちは! 世界中の開発者からの熱いご要望により、新たなコンテストの開催が決定しました! 🏆 InterSystems IRIS プログラミングコンテスト: 開発者ツール 🏆 応募期間は 2021年3月29日~4月18日 です! 💰 賞金総額: $8,500 💰 (投票期間は 2021年4月19日~25日、勝者発表は 4月26日を予定しています) InterSystems IRIS を使用して、開発の迅速化、より質の高いコードの提供、テスト、デプロイ、サポート、またはソリューションの監視を支援するアプリケーションやツールを開発し、ご応募ください! 優勝特典 1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。 🥇 1位 - $4,000 🥈 2位 - $2,000 🥉 3位 - $1,000 2、開発者コミュニティで多く票を集めたソリューションには、以下の賞金が贈られます。 🥇 1位 - $750 🥈 2位 - $500 🥉 3位 - $250 複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。 参加資格 どなたでもご参加いただけます!(InterSystems 開発者コミュニティのアカウントを作成するだけでご応募いただけます) 👥 開発者がチームを組んで共同でアプリケーションを作成し、応募することもできます! 1チーム 2~5名 までご参加いただけます。 チームでご応募いただく場合は、アプリケーションの README にチームメンバー名の記載をお忘れなく!!(開発者コミュニティのプロファイルのリンクもお願いします) コンテストのスケジュール 3月29日~4月18日 応募期間(Open Exchange へ作成されたアプリケーションをアップロードいただける期間=3週間です。この期間内であればアップロード後も自由に編集できます。) 4月19日~25日 投票(1週間) 4月26日 勝者発表(US時間に発表します) コンテストのテーマ 💡 InterSystems IRIS 開発者ツール 💡 このコンテストでは、IRIS を使用する開発者のエクスペリエンスを向上させ、より迅速な開発を可能にし、より質の高いコードを提供し、InterSystems IRIS を使用したソリューションのテスト、デプロイ、サポート、またはモニタリングが行えるアプリケーションをご応募ください。 応募要件は以下の通りです。 テーマとするアプリケーションの種類:フレームワーク、IDE、データベース管理、モニタリング、デプロイメント・ツールなど。 アプリケーションの動作環境:IRIS Community Edition、IRIS for Health Community Edition、IRIS Advanced Analytics Community Edition のいずれかで動作すること 公開方法:アプリケーションはオープンソースとして GitHub で公開してください。 READMEの記述について:インストール手順の記載と、アプリケーションがどのように動作するのかを説明するビデオ、または説明を記載してください。 ※上記要件は変更される場合があります。 Helpful resources アプリケーション例は以下の通りです。 iris-rad-studio - RAD for UI cmPurgeBackup - backup tool errors-global-analytics - errors visualization objectscript-openapi-definition - open API generator Test Coverage Tool - test coverage helper その他 開発環境テンプレートは以下の通りです(1から環境を作成せずにすむのでお勧めです!)。 日本語で解説を付けたページもご用意しています。詳細はこちらの記事をご参照ください。 objectscript-docker-template rest-api-contest-template native-api-contest-template iris-fhir-template iris-fullstack-template iris-interoperability-template iris-analytics-template コンテスト応募方法(このページ末尾のビデオをご参照ください) 審査及び投票ルール(英語) インターシステムズ社のプロダクトマネージャ、Developer Communityのモデレータ、グローバルマスターアドボケイト(VIPレベル)等、Developer Community 内での投票も行われます。 コンテストの審査および投票ルールについて詳細はこちらをご覧ください。 ❗️ コンテスト規約については、こちらをご参照ください。❗️ ご応募方法について 以下の応募方法ビデオをご参照ください。 以下、コンテストに応募する迄の手順をご説明します。 コンテスト応募までの流れは以下の通りです(※ビデオでは、3番以降の内容をご紹介しています)。 1、IRISプログラミングコンテスト用テンプレートを使用して、開発環境を準備します。 2、コンテスト用アプリケーションを作成します。 3、コンテストの準備が完了したら、ソースコードをローカルのGitリポジトリへコミットします。 初回コミット時に、Gitの初期設定がないためコミットが失敗することがあります。その場合は、以下のコマンドでGitユーザ名とEmailを設定します。 git config --global user.name "ここにユーザ名" git config --global user.email "ここにメールアドレス” 4、ローカルのGitリポジトリのコミットが完了したら、リモートのGitリポジトリを作成します。 リポジトリ作成後、リモートリポジトリのURLをコピーします。 5、リモートのGitリポジトリへPushします。 git push ここにリモートのリポジトリのURL 6、OpenExchangeにログインし、アプリケーションを追加します。 ※事前にDeveloper communityでユーザアカウントを作成する必要があります。ログイン後、Profile→Applications から Application をクリックし、4 でコピーしたリモートのGitリポジトリのURLを設定します。アプリケーションを登録すると、画面右上に「Send Approval」のボタンが表示されるので、クリックします。再度作成したアプリケーションを開くと、「Apply for Contest」ボタンが表示されるので、クリックすると応募が完了します。
お知らせ
Mihoko Iijima · 2021年3月29日

テクノロジーボーナス詳細:第11回 InterSystems IRIS プログラミングコンテスト(開発者ツール編)

開発者の皆さん、こんにちは! 第11回 IRIS プログラミングコンテスト - 開発者ツール編 の 続報 📣 の「テクノロジーボーナス」についてご紹介します。 今回のコンテストも、チームで開発した作品もご応募いただけます!ぜひコンテスト詳細ページもご確認ください! Docker container usage - 2 points アプリケーションがコンテナ版 IRIS を使用している場合「Docker container」ボーナスを獲得できます! シンプルな開発環境テンプレートをご用意しています。ぜひご利用ください。 ZPM Package deployment - 2 points フルスタックアプリケーション用の ZPM(ObjectScript Package Manager) パッケージをビルドして公開し、それを使用してデプロイできるようにすると2ポイント獲得できます。 以下のコマンド実行例は、 IRIS に ZPM クライアントをインストールしパッケージをインストールしている例です。 zpm "install your-multi-model-solution" 詳しくは、ZPM client や ドキュメント をご参照ください。 Unit Testing - 2 points InterSystems IRIS のユニットテストを実施しているアプリケーションは、ボーナスポイントを獲得できます。 ObjectScript のユニットテストの詳細については、ドキュメントと開発者コミュニティを参照してください。 Online Demo of your project - 3 points オンラインデモとしてプロジェクトをクラウドにプロビジョニングすると、さらに3点のボーナスポイントを獲得できます! このテンプレートやその他のデプロイメントオプションを使用することができます。デプロイメントについて詳細は、2021年03月30日(火) 00:00 開始(EDT 米国東部標準時:2021年03月29日(月) 11:00)のキックオフウェビナーをご参照ください。 Code quality analysis with zero bugs - 2 points コード管理用に code quality Github action を含め、ObjectScriptのバグが 0 の場合、ボーナスポイントを獲得できます。 詳細については、2021年03月30日(火) 00:00 開始(EDT 米国東部標準時:2021年03月29日(月) 11:00)のキックオフウェビナーをご参照ください。 Article on Developer Community - 2 points 作成したアプリケーション/プロジェクトの概要を開発者コミュニティの記事として投稿した場合、1 記事に対して 2 ポイント獲得できます。 また、他言語へ記事を翻訳し、掲載した場合も同様にポイントを獲得できます。 Video on YouTube - 3 points 開発した作品の動画を作成し、YouTube に掲載した場合、3ポイント獲得できます。 ※ ボーナスポイントについては、変更される可能性もあります。予めご了承ください。
お知らせ
Mihoko Iijima · 2021年5月8日

InterSystems IRIS FHIR Accelerator Service (FHIRaaS) をAWSで利用するには?

開発者の皆さん、こんにちは! いよいよ 🏆 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 にアクセスして、またはプライベートメッセージでコンテスト担当者に連絡する このお知らせのコメント欄に「コード希望!」を記入する(担当者からダイレクトメッセージでコードをお知らせします) コードを入手されたら、ポータル用 URL のクエリパラメータに code=入手したコード を指定してアクセスし、ユーザ情報を登録してください。 コンテストに関する質問は、このお知らせ記事のコメントや、discord-contests channel でお知らせください! FHIR Accelerator のコンテストに参加して、InterSystems の FHIRaaS を使いこなせるようになりましょう!✌🏼 ✨ Happy coding ✨
お知らせ
Mihoko Iijima · 2020年6月25日

第4回 InterSystems IRIS プログラミングコンテスト(AI/MLコンテスト)

応募期間は 2020年6月29日~7月12日 です! 優勝特典 1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。 🥇 1位 - $2,000 🥈 2位 - $1,000 🥉 3位 - $500 2、Developer Community で多く票を集めたソリューションには、以下の賞金が贈られます。 🥇 1位 - $1,000 🥈 2位 - $500 複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。 参加資格 どなたでもご参加いただけます。 コンテストのスケジュール 6月29日~7月12日 応募期間7月13日~7月19日 投票7月20日 優秀者発表 コンテストの課題 AI / MLInterSystems IRIS を使った AI/ML ソリューションの開発。 InterSystems IRIS を使用して開発された AI/ML ソリューションの中から、優秀アプリケーションに賞が贈られます。アプリケーションは、ライブラリ、パッケージ、ツール、または InterSystems IRIS を使用した AI/ML ソリューション等です。 アプリケーションは、IRIS Community Edition、IRIS for Health Community Edition、IRIS Advanced Analytics Community Editionのいずれかで動作する必要があります。 アプリケーションはオープンソースであり、GitHub で公開されている必要があります。 特別な技術を活用して開発されたアプリケーションは、テクノロジボーナスの対象となります。ボーナスの詳細については、このページで後日お知らせします。 ※コンテスト用テンプレートをご用意しています。テンプレート利用方法については、以下の動画をご参照ください(ページ内の テンプレート環境説明 もご参照ください。) テンプレートへのURL InterSystems IntegragedML Template IntegratedMLのGit InterSystems PythonGateway Template PythonGatewayのGit 参考情報 ドキュメント:IntergratedML(英語) オンラインコース(英語) InterSystems IRIS の IntegragedML について学ぶ 機械学習を行う前のデータの準備 機械学習ツールキットを使用した予測モデリング 参加要件(英語) コンテストの応募要件については、こちらをご覧ください。 審査員 インターシステムズ社のプロダクトマネージャ、Developer Communityのモデレータ、グローバルマスターアドボケイト(VIPレベル)等、Developer Community 内での投票も行われます。 審査及び投票ルール(英語) コンテストの審査および投票ルールはこちらをご覧ください。 テンプレ―トの環境説明 (1) 事前準備 Dockerのインストール (コンテナを管理するアプリ) Gitのインストール (ソースを管理するアプリ) VSCodeのインストール (IDE) (2) コマンド実行例 cd 任意のディレクトリgit clone [gitのURL] コンテナ作成のためのビルドdocker-compose build コンテナの開始docker-compose up -d コンテナの停止docker-compose stop コンテナ一覧を表示docker ps コンテナ一覧に表示されるコンテナ名を使用してコンテナにログインします。docker exec -it [コンテナ名] bash (3) 説明内容補足 (3)-1 IntegratedML テンプレート(00:46~17:55)補足情報 Jupyter起動用URL (4:00頃)http://localhost:8896/tree (3)-2 PythonGateway テンプレート(18:00~) 補足情報 Python Gateway コミュニティの記事(英語) PackageSample.ObjectScriptのTest()メソッド実行例(19:11~) コンテナにログインdocker exec -it pythongateway-template_iris_1 bash IRISにログインiris session IRIS 以下、PythonGatewayコンテナ起動中のURL(ポートを変更されている場合はURLをご変更ください) チュートリアル用URL (22:30~) チュートリアル:プロダクション用URL(ユーザ名:Admin、パスワード:SYS) グラフ表示(ユーザ名:Admin、パスワード:SYS) 応募方法 以下の応募方法ビデオをご参照ください。 以下、コンテストに応募する迄の手順をご説明します。 コンテスト応募までの流れは以下の通りです(※ビデオでは、3番以降の内容をご紹介しています)。 1、IRISプログラミングコンテスト用テンプレートを使用して、開発環境を準備します。 2、コンテスト用アプリケーションを作成します。 3、コンテストの準備が完了したら、ソースコードをローカルのGitリポジトリへコミットします。 初回コミット時に、Gitの初期設定がないためコミットが失敗することがあります。その場合は、以下のコマンドでGitユーザ名とEmailを設定します。 git config --global user.name "ここにユーザ名"git config --global user.email "ここにメールアドレス” 4、ローカルのGitリポジトリのコミットが完了したら、リモートのGitリポジトリを作成します。 リポジトリ作成後、リモートリポジトリのURLをコピーします。 5、リモートのGitリポジトリへPushします。 git push ここにリモートのリポジトリのURL 6、OpenExchangeにログインし、アプリケーションを追加します。 ※事前にDeveloper communityでユーザアカウントを作成する必要があります。 ログイン後、Profile→Applications から Application をクリックし、4 でコピーしたリモートのGitリポジトリのURLを設定します。 アプリケーションを登録すると、画面右上に「Send Approval」のボタンが表示されるので、クリックします。 再度作成したアプリケーションを開くと、「Apply for Contest」ボタンが表示されるので、クリックすると応募が完了します。
記事
Toshihiko Minamoto · 2020年11月19日

InterSystems IRIS 用の Power BI コネクタ パート I

企業は変化の激しい業界で競争力を維持するため、イノベーションを起こす必要があります。 この製品は企業が迅速かつ安全な意思決定を行い、より正確な将来の実績を目指せるようにします。 ビジネスインテリジェンス(BI)ツールは、企業が試行錯誤に頼ることなくインテリジェントな意思決定を行うのに役立ちます。 このようなインテリジェントな決定は市場で成功するか失敗するかを決定付けます。 Microsoft Power BI は業界をリードするビジネスインテリジェンスツールの 1 つです。 Power BI では数回クリックするだけでマネージャーやアナリストが企業のデータを簡単に探索できます。 これは重要なことです。容易にデータにアクセスして視覚化できれば、それがビジネス上の意思決定に使用される可能性が高くなるからです。 ![](/sites/default/files/inline/images/images/image5.jpg) Power BI には、さまざまなグラフ、チャート、表、マップが含まれています。 そのため、常にデータに合った視覚化を見つけることができます。   ただし、BI ツールの有効性はそれを裏付けるデータによって決まります。 Power BI は多くのデータソースをサポートしており、最近になって InterSystems IRIS がサポート対象のソースに最近追加されました。 Power BI では IRIS に格納されているデータを刺激的な新しい方法で探索できるため、ここではこれら 2 つのすばらしいツールを一緒に使用する方法を取り上げます。   この記事では実際のデータに基づいて IRIS テーブルと Power BI を一緒に使用する方法を説明します。 後続の記事では、IRIS キューブで Power BI を使用する方法について説明します。   プロジェクトの前提条件とセットアップ 開始するには、次のものが必要です。   InterSystems IRIS Data Platform Microsoft Power BI Desktop(2019 年 4 月リリース以降) InterSystems Sample-BI データ   この記事では InterSystems IRIS Data Platform を使用するため、続行するには IRIS のインストール環境にアクセスする必要があります。 必要に応じて InterSystems Web サイトから試用版をダウンロードできます。   Microsoft Power BI Desktop のインストール方法は 2 つです。 インストーラをダウンロードするか、Microsoft Store 経由でインストールしてください。 InterSystems IRIS をインストールしたマシン以外のマシンから Power BI を実行している場合は、そのマシンに InterSystems IRIS ODBC ドライバーを個別にインストールする必要があります。   Power BI でダッシュボードを作成するには、いくつかのデータが必要です。 この記事では InterSystems がこちらの GitHub で提供している HoleFoods データセットを使用します。 続行するには、このリポジトリをクローンするかダウンロードしてください。   私は IRIS で SamplesBI というネームスペースを作成しました。 これは必須ではありませんが、新しいネームスペースを作成する必要がある場合は、IRIS Management Portal で [System Administration] > [Configuration] > [System Configuration] > [Namespace] に移動し、[New Namespace] をクリックしてください。 名前を入力し、データファイルを作成するか既存のファイルを使用します。   InterSystems IRIS ターミナルで、データをインポートする先のネームスペースを入力します。 この場合は SamplesBI を入力しています。     buildsample/Build.SampleBI.cls のフルパスと "ck" コンパイルフラグを指定して $System.OBJ.Load() を実行します。     次のように Build.SampleBI クラスの Build メソッドを実行し、サンプルファイルを含むディレクトリのフルパスを入力します。   Power BI と IRIS の接続 次に、Power BI を IRIS に接続します。 Power BI を開き、[データの取得] をクリックします。 [データベース] を選択すると、InterSystems IRIS コネクタが表示されます。     ホストアドレスを入力します。 ホストアドレスは InterSystems IRIS インスタンス(私の場合は localhost)のホストの IP アドレスであり、ポートはインスタンスのスーパーサーバーポート(IRIS のデフォルトは 57773)であり、ネームスペースは HoleFoods データが配置されている場所です。   常に最新のデータを表示できるよう、[データ接続モード] では「DirectQuery」を選択します。   ![](/sites/default/files/inline/images/images/image6.jpg)   次に、ユーザー名とパスワードを入力して IRIS に接続します。 デフォルトは「_SYSTEM」と「SYS」です。   ![](/sites/default/files/inline/images/images/image2.jpg) IRIS で作成したテーブルとキューブの両方をインポートできます。 まずはいくつかのテーブルをインポートしましょう。   [テーブル] の HoleFoods の下にある以下の項目を確認します。   Country Outlet Product Region SalesTransaction     あともう少しです! テーブル間のリレーションシップについて Power BI に通知するため、[リレーションシップの管理] をクリックします。     次に、[新規] をクリックします。     「SalesTransaction」と「Product relationship」の 2 つのリレーションシップを作りましょう。   上にある「SalesTransaction」テーブルを選択し、「Product」列をクリックします。 次に「Product」テーブルを選択し、「ID」列をクリックします。 [基数] が自動的に「多対一 (*:1)」に変わったことを確認できます。     次の組み合わせでこの手順を繰り返します。   「SalesTransaction(Outlet)」と「Outlet(ID)」 「Outlet(Country)」と「Country(ID)」 「Country(Region)」と「Region(ID)」     これらのリレーションシップは、外部キーと表現されている場合は自動的にインポートされています。   Power BI にはリレーションシップのスキーマビューアーも備わっています。 アプリケーションの左側にあるボタンをクリックすると、データモデルが表示されます。 ![](/sites/default/files/inline/images/images/image24.jpg)   ダッシュボードの作成 これで、ダッシュボードを作成するために必要なものがすべて揃いました。   まずは左側のボタンをクリックし、スキーマビューからレポートビューに切り替えましょう。 [ホーム] タブの [挿入] グループにある [テキストボックス] をクリックしてタイトルを追加します。   [挿入] グループには、レポートを拡張するために使用できるテキスト、図形、画像などの静的要素が含まれています。     最初の視覚化を追加しましょう! [フィールド] ペインで、「Product」の「名前」と「SalesTransaction」の「UnitsSold」を確認します。     次に [スタイル] に移動し、[太字のヘッダー] を選択します。     次に、データ変換を行います。 [フィールド] ペインの [SalesTransaction] の横にある省略記号をクリックします。     次に [クエリの編集] をクリックします。 「Power Query Editor」が開きます。     「DateOfSale」列を選択し、「重複する列」をクリックします。     この新しい列の名前を「Year」に変更し、「日付」をクリックして「年」を選択します。     これらの変更を適用します。 次に新しい列を選択し、[モデリング] タブで [既定の概要] を [集計しない] に変更します。     「折れ線グラフ」視覚化を追加してから Year を軸にドラッグし、「Name」を「Region」から凡例にドラッグし、「AmountOfSale」を「SalesTransaction」から「値」にドラッグします。     HoleFoods の営業チームが 2000 台の販売を目標としていると想定してください。 この場合、チームが目標を達成しているかどうかをどのように判断できますか?   この質問に答えるため、メトリックと目標値のビジュアルを追加しましょう。   [フィールド] ペインの「SalesTransaction」で、「UnitsSold」をオンにして、[ゲージ] グラフをクリックします。 [スタイル] プロパティで [最大値] を 3000 に、[目標値] を 2000 に設定します。     KPI(主要業績評価指標)は有用な意思決定ツールであり、Power BI では便利な KPI ビジュアルを使用できます。   これを追加するには「SalesTransaction」で「AmountOfSale」をオンにし、[視覚化] で [KPI] を選択します。 次に、「Year」を [トレンド軸] にドラッグします。     すべてのグラフとビジュアルの位置を揃えるには、ビジュアルをクリックしてドラッグしてください。エッジまたは中心が別のビジュアルまたはビジュアル一式のエッジまたは中心と位置が揃いそうになると、赤い破線が表示されます。     [表示] タブに移動して、[枠線の表示] と [描画オブジェクトをグリッドにスナップ] を有効にすることもできます。     最後に、HoleFoods のグローバルプレゼンスを示すマップを追加します。 [モデリング] タブで、「Outlet」の Longitude と Latitude を[要約しない] に設定します。     マップツールは、[視覚化] ペインにあります。 マップを追加した後、Latitude フィールドと Longitude フィールドを Outlet からマップ上のそれぞれのプロパティにドラッグします。 また、SalesTransaction から AmountOfSale を [サイズ] プロパティにドラッグし、UnitsSold を [ヒント] にドラッグします。     そして、最終的にダッシュボードが完成しました。   ダッシュボードは Power BI サービスに公開すると共有できます。 そのためには、Power BI アカウントにサインアップする必要があります。 まとめ わずか数分で Power BI を InterSystems IRIS に接続し、素晴らしくインタラクティブな視覚化を行うことができました。   開発者としては、これを素晴らしいことだと思っています。 管理者向けのダッシュボードの開発に数時間や数日を費やすことなく、数分で作業を完了できるからです。 さらに素晴らしいのは、マネージャーが自分でレポートをすばやく簡単に作成する方法を示すことができることです。   開発者は往々にして視覚化の開発を業務の一環として行いますが、普通はその時間をミッションクリティカルなアーキテクチャとアプリケーションの開発に費やしたほうがよいでしょう。 IRIS と Power BI を一緒に使用すると、開発者が時間を効率的に使用できるようになり、マネージャーはダッシュボードの開発、テスト、本番環境への展開を数週間も待つことなく、データにすぐにアクセスして視覚化できるようになります。  
記事
Toshihiko Minamoto · 2021年1月13日

Docker コンテナ内で InterSystems IRIS と Package Manager を併用する場合について。

デベロッパーの皆さん、こんにちは! InterSystems Package Manager (ZPM) は、素晴らしいツールですが、インストールせずにすぐ使用できたら、さらに便利です。 それを実現する方法はいくつかあります。以下に dockerfile を使って ZPM をビルドした IRIS コンテナを用意する方法をご紹介します。 [リポジトリ](https://github.com/intersystems-community/objectscript-zpm-template)を作成し、その[dockerfile に数行のコード](https://github.com/intersystems-community/objectscript-zpm-template/commit/6c1018312ca3214048dbed1b7c4307a65fa8563f)を記述しました。これを使えば、最新バージョンの ZPM をダウンロードし、インストールできます。  IRIS コミュニティエディション用のあなたの dockerfile にこれらのコマンドを追加すれば、ZPM がインストールされ、使用できるようになります。 最新の ZPM クライアントをダウンロードするコマンドは以下の通り。 RUN mkdir -p /tmp/deps \ && cd /tmp/deps \ && wget -q https://pm.community.intersystems.com/packages/zpm/latest/installer -O zpm.xml IRIS に ZPM をインストールするコマンドは以下の通り。 " Do \$system.OBJ.Load(\"/tmp/deps/zpm.xml\", \"ck\")" \ これで完了です! このリポジトリで ZPM を試すには、以下を実行します $ git clone https://github.com/intersystems-community/objectscript-zpm-template.git リポジトリをビルドして実行します $ docker-compose up -d Open IRIS terminal: $ docker-compose exec iris iris session iris USER> ZPM を読み出します USER>zpm zpm: USER> ウェブターミナルをインストールします zpm: USER>install webterminal webterminal] Reload START [webterminal] Reload SUCCESS [webterminal] Module object refreshed. [webterminal] Validate START [webterminal] Validate SUCCESS [webterminal] Compile START [webterminal] Compile SUCCESS [webterminal] Activate START [webterminal] Configure START [webterminal] Configure SUCCESS [webterminal] Activate SUCCESS zpm: USER> 是非ご活用ください! ![](/sites/default/files/inline/images/images/Screenshot%202019-09-06%2012_46_59.png) 全体のプロセスはこちらの GIF をご覧ください。 ![](/sites/default/files/inline/images/images/webterm2.gif)