検索

クリアフィルター
お知らせ
Mihoko Iijima · 2020年9月1日

★優勝作品紹介★ Henrique Gonçalves Dias さんが開発された IRIS FHIR Portal(第5回 InterSystems IRIS プログラミングコンテスト:FHIRコンテスト)

皆さん、こんにちは! FHIR コンテストで🎊優勝🎊された Henrique Gonçalves Dias さんの優勝作品 IRIS FHIR Portal をビデオでご紹介します。 Henrique Gonçalves Dias さんが日本語訳を付けてくれた IRIS FHIR Portal 概要ページもあります。ぜひご参照ください。 過去のコンテストも含めコードは全て OpenExchange で公開されています。 ダウンロードやコンテナ開始までの手順は、OpenExchange の IRIS FHIR Portal ページをご参照いただくか、コンテスト用テンプレートの使い方ビデオの 0:28~1:04/3:04~ をご参照ください(コンテスト用テンプレートをベースに開発いただいているので、基本的な手順は同じです)。 Henriqueさん、おめでとうございます!! 紹介ビデオを作ってくださいましてありがとうござます。とてもわかりやすく、嬉しかったです。
お知らせ
Toshihiko Minamoto · 2023年5月24日

IRIS、IRIS for Health 2025.1 より Zen レポートは削除されます

Intersystems IRISおよびIRIS for Health 2025.1より、Zen レポートのメンテナンスが終了することをお知らせします。 これは、2018年のInterSystems IRIS発表時に非推奨となり、その後、2020年のInterSystems Reportsの搭載により、代替のレポート機能を提供したためです。 時系列の概要は以下の通りです。 2018年3月 InterSystems IRIS 2018.1導入 Zen Reportsの非推奨を発表、既存アプリケーションの継続性を確保するため出荷を継続 2020年4月 InterSystems IRIS 2020.1発表 InterSystems IRISおよびIRIS for Healthのユーザライセンス、Advanced ServerライセンスにIntersystems Reportsを組み入れる。 2023年5月 Zen レポートのメンテナンス終了のお知らせ 2024年の2H Zen レポートがipmモジュールとして利用可能 2025 年 1 月 (InterSystems IRIS 2025.1) Zen Reports パッケージが InterSystems IRIS および IRIS for Health のキットから削除 インターシステムズは、InterSystems IRISおよびIRIS for Health 2020.1より、組み込み型レポートソリューションとして、insightsoftware社(旧Logi Analytics社)のLogi Reportsを搭載したInterSystems Reportsを発表しました。InterSystems Reportsは、InterSystemsの顧客とパートナーに、ドラッグ&ドロップで利用できる最新のレポートソリューションを提供します。 Zen Reportsは、IPM(InterSystems Package Manager)を使用した独立したパッケージに移行し、InterSystems IRISおよびIRIS for Healthバージョン2025.1とともにZen Reportsの出荷を停止する予定です。Zen レポートは今後もIPMモジュールとして利用可能であり、配布される可能性がありますが、インターシステムズ社による保守は行われません。 WRCは、Zen レポートを含むCacheおよびIRISの旧バージョンに関するサポートを継続しますが、Zen レポートの更新は予定されていません。 InterSystems Reports の使用開始に関する詳細については、こちらをご覧ください。 InterSystems ラーニングパス InterSystems ドキュメント グローバルサミットセッション: インターシステムズ・アプリケーション・サービスによる Zen Reports から InterSystems Reports への移行 insightsoftware社 Logi Report ドキュメントならびにチュートリアル 本発表に関するご質問は、以下のコメントまたは dbpprodmgrs@intersystems.com までご連絡ください。 こちらの Zen Report の削除時期は延期となり、「2025.3 から削除予定」 に変更されました(情報元)終了時期が確定次第、あらためてコミュニティで発表予定です。

#Web Gateway

15 投稿0 フォロワー
記事
Mihoko Iijima · 2020年4月28日

GitLabを使用したInterSystemsソリューションの継続的デリバリー - パートIII:GitLabのインストールと構成

この連載記事では、InterSystemsの技術とGitLabを使用したソフトウェア開発に向けて実現可能な複数の手法を紹介し、議論したいと思います。 次のようなトピックについて説明します。 Git 101 Gitフロー(開発プロセス) GitLabのインストール GitLabワークフロー 継続的デリバリー GitLabのインストールと構成 GitLab CI/CD 第1回の記事では、Gitの基本、Gitの概念を高度に理解することが現代のソフトウェア開発にとって重要である理由、Gitを使用してソフトウェアを開発する方法について説明しています。 第2回の記事では、アイデアからユーザーフィードバックまでの完全なソフトウェアライフサイクルプロセスであるGitLabワークフローについて説明しています。 この記事では以下について説明します。 GitLabのインストールと構成 利用環境のGitLabへの接続 GitLabのインストール GitLabをオンプレミス環境にインストールします。 GitLabのインストール方法は多彩で、ソースやパッケージからインストールしたり、コンテナーにインストールしたりできます。 ここではすべての手順を実際に説明するつもりはありませんが、そのためのガイドを紹介します。 ただし、それでもいくつか注意すべき点があります。 前提条件: 独立したサーバー - ウェブアプリケーションであるGitLabはかなりのリソースを消費するため、独立したサーバーで実行することをお勧めします。 Linux (任意ですが強く推奨)ドメイン - ページを実行し、セットアップ全体を保護するために必要です。 構成 まず、通知メールを送信する必要があるかと思います。 次に、Pagesをインストールすることをお勧めします。 前の記事で説明したように、スクリプトのアーティファクトはGitLabにアップロードできます。 ユーザーはそれらのアーティファクトをダウンロードできますが、ブラウザで直接開くことができれば便利です。そのためにページが必要になります。 Pagesが必要な理由: プロジェクト用に生成されたWikiや静的ページを表示するため HTMLアーティファクトを表示するため Pages を使ってその他のことを実現するため また、HTMLページはonloadでリダイレクトを設定できるため、必要な場所へユーザーをリダイレクトさせることができます。 例えば、最後に実行されたユニットテスト(HTMLを生成した時点)にユーザーをリダイレクトするHTMLページを生成するコードは次のとおりです。 ClassMethod writeTestHTML() { set text = ##class(%Dictionary.XDataDefinition).IDKEYOpen($classname(), "html").Data.Read() set text = $replace(text, "!!!", ..getURL()) set file = ##class(%Stream.FileCharacter).%New() set name = "tests.html" do file.LinkToFile(name) do file.Write(text) quit file.%Save() } ClassMethod getURL() { set url = "http://host:57772" set url = url _ $system.CSP.GetDefaultApp("%SYS") set url = url_"/%25UnitTest.Portal.Indices.cls?Index="_ $g(^UnitTest.Result, 1) _ "&$NAMESPACE=" _ $zconvert($namespace,"O","URL") quit url } XData html { <html lang="en-US"> <head> <meta charset="UTF-8"/> <meta http-equiv="refresh" content="0; url=!!!"/> <script type="text/javascript">window.location.href = "!!!"</script> </head> <body> If you are not redirected automatically, follow this <a href='!!!'>link to tests</a>. </body> </html> } ただし、私がPagesを使用した際にはバグが発生しました(アーティファクトを閲覧中に502エラーが発生しました)。こちらで修正されています。 利用環境のGitLabへの接続 CDスクリプトを実行するには、アプリケーションを実行するように構成されたサーバー環境が必要です。 LinuxサーバーにInterSystems製品がインストールされていると仮定します(InterSystems IRISだけでなく、これはCachéとEnsembleでも動作します)。以下の手順では、環境をGitLabに接続します。 GitLab Runnerをインストールする ランナーをGitLabに登録する ランナーがInterSystems IRISを呼び出せるようにする GitLab Runnerのインストールについて重要な注意事項があります。GitLab Runnerをインストールした後にサーバーの複製を作成しないでください。その結果は予測不能であるため、まったく推奨されません。 ランナーをGitLabに登録する まず、以下を実行します。 sudo gitlab-runner register その後、いくつかのプロンプトが表示されます。ほとんどの手順は非常に簡単ですが、中には複雑なものもあります。 このランナーのgitlab-ciトークンを入力してください 以下のような複数のトークンを利用可能です。 システム全体用(管理設定で利用可能) 各プロジェクト用(プロジェクト設定で利用可能) ランナーを接続して特定のプロジェクトのCDを実行する際には、そのプロジェクトのトークンを指定する必要があります。 このランナーのgitlab-ciタグを入力してください(カンマ区切り): CDの構成では、どのスクリプトをどのタグで実行するかを絞り込むことができます。 そのため、最も単純なケースでは環境名となるタグを1つ指定します。 次のいずれかのexecutorを入力してください:ssh、docker+machine、docker-ssh+machine、kubernetes、docker、parallels、virtualbox、docker-ssh、shell: docker Dockerのない通常のサーバーを使用している場合は、shell を選択してください ランナーがInterSystems IRISを呼び出せるようにする ランナーをGitLabに接続した後、InterSystems IRISとやり取りできるようにする必要があります。 gitlab-runnerユーザーがcsessionを呼び出せるようにする必要があります。 そのためには、該当ユーザーを irisusr (irisuser) または cacheusrグループに追加します。 usermod -a -G irisusr gitlab-runner InterSystems IRISで gitlab-runner ユーザーを作成し、CDのタスク(DBへの書き込みなど)を行う役割を付与してください。 OSレベルの認証を許可します。 2と3に関してはユーザーやパスの受け渡しといった他の方法を使用できますが、OS認証が望ましいと思います。 まとめ このパートでの実施内容: GitLabをインストールしました 環境をGitLabに接続しました リンク インストール手順 Pages Runner パート I:Git パートII:GitLabワークフロー 次の内容 次のパートでは、継続的デリバリーの構成を書きます。
記事
Mihoko Iijima · 2020年7月6日

GitLabを使用したInterSystemsソリューションの継続的デリバリー - パートVIII:ICMを使用したCD

この連載記事では、InterSystemsの技術とGitLabを使用したソフトウェア開発に向けていくつかの可能性のあるアプローチをを紹介し、議論したいと思います。 今回は以下のようなトピックを取り上げます。 Git 101 Gitフロー(開発プロセス) GitLabのインストール GitLabワークフロー 継続的デリバリー GitLabのインストールと構成 GitLab CI/CD コンテナを使用する理由 コンテナインフラストラクチャ コンテナを使用したCD ICMを使用したCD この記事では、InterSystems Cloud Managerを使用して継続的デリバリーを構築ドします。 ICMは、InterSystems IRISをベースとしたアプリケーション用のクラウドプロビジョニングおよびデプロイメントソリューションです。これにより、 必要なデプロイ構成を定義することができ、ICMが自動的にプロビジョニングします。 詳細については、First Look: ICM をご覧ください。 ワークフロー 継続的デリバリーの構成では、次のようになります。 GitLabリポジトリにコードをPushする Dockerイメージをビルドする Dockerレジストリにイメージを公開する テストサーバーでテストする テストに合格した場合は、本番サーバーにデプロイする または図解では以下の通りです: ご覧のとおり、Dockerコンテナを手動で管理する代わりにICMを使用すること以外は、ほとんど同じです。 ICMの構成 コンテナのアップグレードを開始する前に、コンテナをプロビジョニングする必要があります。 そのためには、私たちのアーキテクチャを説明する defaults.json と definitions.json を定義する必要があります。 ここでは、LIVEサーバ用に2つのファイルを提供します。TESTサーバーの 定義 は同じで、 デフォルト も Tag と SystemMode の値以外は同じです。 defaults.json : { "Provider": "GCP", "Label": "gsdemo2", "Tag": "LIVE", "SystemMode": "LIVE", "DataVolumeSize": "10", "SSHUser": "sample", "SSHPublicKey": "/icmdata/ssh/insecure.pub", "SSHPrivateKey": "/icmdata/ssh/insecure", "DockerImage": "eduard93/icmdemo:master", "DockerUsername": "eduard93", "DockerPassword": "...", "TLSKeyDir": "/icmdata/tls", "Credentials": "/icmdata/gcp.json", "Project": "elebedyu-test", "MachineType": "n1-standard-1", "Region": "us-east1", "Zone": "us-east1-b", "Image": "rhel-cloud/rhel-7-v20170719", "ISCPassword": "SYS", "Mirror": "false"} definitions.json [ { "Role": "DM", "Count": "1", "ISCLicense": "/icmdata/iris.key" }] ICMコンテナ内で/icmdata フォルダーがホストからマウントされ、 TESTサーバー定義が /icmdata/test フォルダーに配置されます LIVEサーバー定義は /icmdata/live フォルダーに配置されます 必要なすべてのキーを取得した後で: keygenSSH.sh /icmdata/sshkeygenTLS.sh /icmdata/tls そして、必要なファイルを/icmdata に配置します。 iris.key gcp.json(Google Cloud Platformへのデプロイ用) ICMを呼び出してインスタンスをプロビジョニングします。 cd /icmdata/testicm provisionicm runcd /icmdata/liveicm provisionicm run これにより、1台のTESTサーバーと1台のLIVEサーバーをプロビジョニングし、 それぞれにスタンドアロンのInterSystems IRISインスタンスがプロビジョニングされます。 より詳細な説明については、First Look: ICM を参照してください。 ビルド まず、イメージをビルドする必要があります。 コードはいつものようにリポジトリに保存され、CDの設定は gitlab-ci.yml に保存されますが、それに加えて(セキュリティを高めるために)いくつかのサーバー固有のファイルをビルドサーバーに保存します。 iris.key ライセンスキーです。サーバーに保存するのではなく、コンテナのビルド中にダウンロードすることもできます。 リポジトリに保存するのは安全ではありません。 pwd.txt デフォルトのパスワードを含むファイル。 繰り返しますが、リポジトリに保存するのは安全ではありません。 また、別のサーバーでprod環境をホストしている場合は、デフォルトのパスワードが異なる可能性があります。 load_ci_icm.script 初期スクリプトは: インストーラをロード インストーラがアプリケーションの初期化を行う コードをロードする set dir = ##class(%File).NormalizeDirectory($system.Util.GetEnviron("CI_PROJECT_DIR"))do ##class(%SYSTEM.OBJ).Load(dir _ "Installer/Global.cls","cdk")do ##class(Installer.Global).init()halt 最初の行は意図的に空欄にしてあります。 これまでの例とは異なる点がいくつかあります。 1つ目は、ICMはGitLabの代わりにコンテナと直接やり取りするため、OS認証を有効にしていない点です。 2つ目は、インストーラマニフェストを使ってアプリケーションを初期化し、初期化のさまざまな方法を示している点です。 インストーラについて詳細はこの記事のインストーラの詳細をご参照ください。 最後に、イメージをDocher Hubでプライベートリポジトとして公開します。 Installer/Global.cls インストーラマニフェストは以下の通りです。 <Manifest> <Log Text="Creating namespace ${Namespace}" Level="0"/> <Namespace Name="${Namespace}" Create="yes" Code="${Namespace}" Ensemble="" Data="IRISTEMP"> <Configuration> <Database Name="${Namespace}" Dir="${MGRDIR}/${Namespace}" Create="yes" MountRequired="true" Resource="%DB_${Namespace}" PublicPermissions="RW" MountAtStartup="true"/> </Configuration> <Import File="${Dir}MyApp" Recurse="1" Flags="cdk" IgnoreErrors="1" /> </Namespace> <Log Text="Mapping to USER" Level="0"/> <Namespace Name="USER" Create="no" Code="USER" Data="USER" Ensemble="0"> <Configuration> <Log Text="Mapping MyApp package to USER namespace" Level="0"/> <ClassMapping From="${Namespace}" Package="MyApp"/> </Configuration> <CSPApplication Url="/" Directory="${Dir}client" AuthenticationMethods="64" IsNamespaceDefault="false" Grant="%ALL" /> <CSPApplication Url="/myApp" Directory="${Dir}" AuthenticationMethods="64" IsNamespaceDefault="false" Grant="%ALL" /> </Namespace></Manifest> そして、以下の変更が実装されています。 アプリケーションのネームスペースを作成します。 アプリケーションコードデータベースを作成します(データはUSERデータベースに格納されます)。 コードをアプリケーションコードデータベースにロードします。 MyAppパッケージをUSERネームスペースにマップします。 HTML用とREST用の2つのWebアプリケーションを作成します。 gitlab-ci.yml 次は、継続的デリバリーの構成についてです: build image: stage: build tags: - master script: - cp -r /InterSystems/mount ci - cd ci - echo 'SuperUser' | cat - pwd.txt load_ci_icm.script > temp.txt - mv temp.txt load_ci.script - cd .. - docker build --build-arg CI_PROJECT_DIR=$CI_PROJECT_DIR -t eduard93/icmdemo:$CI_COMMIT_REF_NAME . ここでは何が起きているのでしょうか? まず、docker buildはベースとなるビルドディレクトリのサブディレクトリににしかアクセスできないので秘密」ディレクトリ (iris.key、pwd.txt、およびload_ci_icm.script があるディレクトリをクローンしたリポジトリをコピーする必要があります。 次の最初のターミナルアクセスにはユーザとパスの入力が必要なので、load_ci.script に追加します(load_ci.script の先頭行の空行はそのためのものです)。 最後に、dockerイメージをビルドして次のように正しくタグを付けします。 $ eduard93/icmdemo:$CI_COMMIT_REF_NAME ここで $CI_COMMIT_REF_NAME は、現在のブランチの名前です。 イメージタグの最初の部分は、GitLabのプロジェクト名と同じ名前にする必要があることに注意してください。GitLabのレジストリタブで確認することができます(タグ付けの方法はレジストリタブで確認することができます)。 Dockerfile DockerイメージのビルドはDockerfile を使って行います。 FROM intersystems/iris:2018.1.1-released ENV SRC_DIR=/tmp/srcENV CI_DIR=$SRC_DIR/ciENV CI_PROJECT_DIR=$SRC_DIR COPY ./ $SRC_DIR RUN cp $CI_DIR/iris.key $ISC_PACKAGE_INSTALLDIR/mgr/ \ && cp $CI_DIR/GitLab.xml $ISC_PACKAGE_INSTALLDIR/mgr/ \ && $ISC_PACKAGE_INSTALLDIR/dev/Cloud/ICM/changePassword.sh $CI_DIR/pwd.txt \ && iris start $ISC_PACKAGE_INSTANCENAME \ && irissession $ISC_PACKAGE_INSTANCENAME -U%SYS < $CI_DIR/load_ci.script \ && iris stop $ISC_PACKAGE_INSTANCENAME quietly 基本的なIRISコンテナから開始します。 まず、コンテナ内にリポジトリ(と「秘密」ディレクトリ)をコピーします。 次に、ライセンスキーをmgrディレクトリにコピーします。 次に、パスワードを pwd.txt の値に変更します。 この操作ではpwd.txtが削除されることに注意してください。 その後、インスタンスが起動され、load_ci.scriptが実行されます。 最後に、IRISインスタンスを停止します。 ここで注意したいのは、Docker executorではなく GitLabShell executor を使用していることです。Docker executorはイメージ内の何かが必要な場合に使用します。例えば、Androidアプリケーションをjavaコンテナで構築していて、apkだけが必要な場合などです。 この場合はコンテナ全体が必要になり、そのためにShell executorが必要になります。 そのため、GitLab Shell executorを使ってDockerコマンドを実行しています。 公開 Docker Hubでイメージを公開しましょう publish image: stage: publish tags: - master script: - docker login -u eduard93 -p ${DOCKERPASSWORD} - docker push eduard93/icmdemo:$CI_COMMIT_REF_NAME 変数${DOCKERPASSWORD} に注意してください。これはGitLab 秘密変数です。 GitLab>プロジェクト>設定> CI / CD>変数でそれらを追加できます。 ジョブログには、パスワードの値は含まれません。 Running with gitlab-runner 10.6.0 (a3543a27) on icm 82634fd1Using Shell executor...Running on docker...Fetching changes...Removing ci/HEAD is now at 8e24591 Add deploy to LIVEChecking out 8e245910 as master...Skipping Git submodules setup$ docker login -u eduard93 -p ${DOCKERPASSWORD}WARNING! Using --password via the CLI is insecure. Use --password-stdin.Login Succeeded$ docker push eduard93/icmdemo:$CI_COMMIT_REF_NAMEThe push refers to repository [docker.io/eduard93/icmdemo]master: digest: sha256:d1612811c11154e77c84f0c08a564a3edeb7ddbbd9b7acb80754fda97f95d101 size: 2620Job succeeded そして、Docker Hubで新しいイメージを確認できます。 実行 イメージが作成されました。次に、テストサーバーで実行してみましょう。 スクリプトは以下とおりです。 run image: stage: run environment: name: $CI_COMMIT_REF_NAME tags: - master script: - docker exec icm sh -c "cd /icmdata/test && icm upgrade -image eduard93/icmdemo:$CI_COMMIT_REF_NAME" ICMでは、1つのコマンド( icm upgrade )を実行するだけで、既存のデプロイメントをアップグレードできます。このコマンドは icm コンテナ内で指定されたコマンドを実行する "docker exec icm sh -c "を実行して呼び出します。 最初に、ICMデプロイメント定義がTESTサーバー用に定義されている /icmdata/test にモードを切り替えます。 その後、 icmアップグレード を呼び出して、既存のコンテナを新しいコンテナに置き換えます。 テスト テストをいくつか実行してみましょう。 test image: stage: test tags: - master script: - docker exec icm sh -c "cd /icmdata/test && icm session -namespace USER -command 'do \$classmethod(\"%UnitTest.Manager\",\"RunTest\",\"MyApp/Tests\",\"/nodelete\")' | tee /dev/stderr | grep 'All PASSED' && exit 0 || exit 1" 繰り返しになりますが、ここでも、icmコンテナ内で1つのコマンドを実行しています。 icmセッションは、デプロイされたノードでコマンドを実行します。 コマンドはユニットテストを実行します。 その後、すべての出力を画面にパイプし、ユニットテストの結果を見つけるために grep にもパイプして、正常かエラーでプロセスを終了します。 デプロイ 本番サーバーへのデプロイは、LIVEデプロイメント定義用の別のディレクトリを除いては、テストのデプロイとまったく同じです。  テストが失敗した場合、このステージは実行されません。 deploy image: deploy image: stage: deploy environment: name: $CI_COMMIT_REF_NAME tags: - master script: - docker exec icm sh -c "cd /icmdata/live && icm upgrade -image eduard93/icmdemo:$CI_COMMIT_REF_NAME" まとめ ICMは、クラウドインフラストラクチャをプロビジョニングとサービスをデプロイするための シンプルで直感的な方法を提供します。これにより、大規模な開発や再構築を行わなくても、クラウドにアクセスできるようになります。 コードとしてのインフラストラクチャ(IaC)およびコンテナ化されたデプロイメントの利点により、InterSystems IRISベースのアプリケーションをGoogle、Amazon、Azureなどのパブリッククラウドプラットフォーム、またはプライベートのVMware vSphereクラウドに簡単にデプロイできます。 必要なものを定義し、いくつかのコマンドを発行すれば、後はICMが行います。 すでにクラウドインフラストラクチャ、コンテナ、またはその両方を使用している場合でも、ICMを使用することでアプリケーションのプロビジョニングとデプロイに必要な時間と労力を大幅に削減します。 リンク 記事のコード テストプロジェクト ICMドキュメント First Look: ICM
お知らせ
Mihoko Iijima · 2022年4月24日

【アーカイブ配信のお知らせ】「InterSystems Japan Virtual Summit 2022」技術セッション YouTubeに公開します!

開発者の皆さん、こんにちは! 2022年3月9日開催「InterSystems Japan Virtual Summit 2022」技術セッションのアーカイブをYouTubeに順次公開していきます! このお知らせでは、公開スケジュールと、過去のイベント・コンテスト記事の素早い💨探し方をご紹介します! まずはスケジュールから:「毎週月曜日公開」 4/25 FHIR SQL Bulder 5/2 ストレージの節約方法 5/9 ミラーリングを使用した HA および DR の構成例 5/16 VSCode、Jenkinsを使用したCICD環境の構築 5/23 オープンソースだけでIRIS on Kubeernetesを動かそう 5/30 SQLでどこまでできる?~データロードから機械学習まで~ 6/6 Embedded Pythonで広がるInterSystems IRISの世界 続いて、過去のイベントやコンテスト記事の素早い探し方についてご紹介します。 コミュニティページ画面上に、「イベント」のメニューがあります。 「イベント」をクリックし、「イベントカレンダー」をクリックします。 イベント情報が表示されるので、参照したいイベントをクリックします。 各お知らせ記事内にアーカイブのお知らせや関連記事へのリンクが下の絵のように付いていますので、こちらから辿っていただくと、情報が追いやすいです。 ぜひご利用ください!
お知らせ
Toshihiko Minamoto · 2022年8月5日

[ウェビナー] ECPを使用したAmazon Web ServicesでのInterSystems FHIR Serverのスケールアウト

開発者の皆さん、こんにちは! コミュニティウェビナーの再開をお知らせします!​​​​​ 今回は、@Ron.Sweeney1582による「Scaling InterSystems FHIR Server on Amazon Web Services with ECP」というウェビナーに皆さんをご招待します。 このウェビナーでは、Amazon Web Services 上の InterSystems FHIR Server を Enterprise Cache Protocol (ECP) を使ってスケールアウトする技術的な詳細、デモ、ベンチマークを紹介します。 ⏱ 日時: 8月18日(木)午前8時(東部標準時)、午後9時(日本標準時)👨‍🏫 スピーカー: @sween, Integration Required社 フルスタックアーキテクト Integration Required社について 私たちは、お客様のInterSystems® 製品の包括的なテクニカルデリバリーチームであり、お客様のセキュリティとデプロイ基準の要件に合ったシステムを提供します。10年にわたるInterSystems®とのパートナーシップと、顧客満足度の追求で、私たちはベストプラクティスを提案できると自負しています。 FHIR、ECP、AWSのスケーリングとそのミックス方法について詳しく知ることができるこの機会をお見逃しなく! >> お申し込みはこちら <<
記事
Megumi Kakechi · 2021年9月21日

Windows のシャットダウン時にInterSystems製品を自動停止することはできますか?

これは InterSystems FAQ サイトの記事です。 Windowsのグループセキュリティポリシーに停止コマンドを記述したバッチファイルを登録する事により可能です。 手順は以下のとおりです。 1.Windowsのローカルコンピュータ・ポリシーのシャットダウンスクリプトに停止コマンドを登録します。  停止コマンドを含んだbatファイルを作成します。  CacheStop.bat ※InterSystems Caché の場合 c:\intersystems\cache\bin\ccontrol stop CACHE  IRISStop.bat ※InterSystems IRIS の場合 c:\intersystems\IRIS\bin\iris stop IRIS 2.[ファイル名を指定して実行(R) ]で mmc と入力し、管理コンソールを起動します。 3.管理コンソールから[スナップインの追加と削除]を選択します。 4.スナップインの追加と削除で「グループ ポリシー オブジェクト エディタ」を選択し、追加します。 5.グループ ポリシー オブジェクトの選択画面で完了ボタンを押します。 6.OKをクリックして完了します。 7.シャットダウンスクリプトを登録します。   [コンソールルート] > [ローカルコンピュータポリシー] > [コンピュータの構成] > [Windowsの設定] > [スクリプト] > [シャットダウン]  ダブルクリックまたは右クリック > [プロパティ] から設定します。  ※Caché の場合は、CacheStop.batを設定します。 8.最後にコンソールを終了し設定を任意名で保存して終了します。 Microsoft管理コンソール(MMC: Microsoft Management Console)の使用方法については、添付資料をご覧ください。 【注記】 OSシャットダウン時には明示的なInterSystems製品の停止を推奨しております。OSシャットダウン時にInterSystems製品がそれを検出できた場合、messages.log/cconsole.log に次のように記録して緊急シャットダウンを試みます。 Caché - Performing emergency Cache shutdown due to Operating System shutdownIRIS - Operating System shutdown! InterSystems IRIS performing fast shutdown. 次回起動時には以下のようなエラーが記録されます。 Previous system shutdown was abnormal, system forced down or crashed もし、この緊急シャットダウンが完了する前にOSのシャットダウンが進行してしまうと、緊急シャットダウンが間に合わず、データベースファイルへの書き込みやトランザクションのロールバックが正常に行われない場合もあります。もちろん、次回開始時にWIJおよびジャーナルファイルを使用した回復は行われますが、極力そのような状況にならないように明示的なシャットダウンを行うのが安全です。 以下の関連トピックもあわせてご覧ください。 Linuxでシステム開始/停止時に、インターシステムズ製品を自動起動/停止することはできますか?マシン名(ホスト名)を変更後OSを再起動すると、InterSystems IRIS が開始しなくなる

#管理ポータル

16 投稿0 フォロワー
記事
Megumi Kakechi · 2024年5月6日

LinuxでJDBC接続を行う方法

前回、LinuxでODBC接続を行う方法 をご紹介しました。 今回は、LinuxでJDBC接続を行う方法 をご紹介します。作業は、root ユーザ で行います。 はじめに、Linuxのバージョンを確認します。 $ cat /etc/os-release NAME="Red Hat Enterprise Linux" VERSION="9.4 (Plow)" : 1. yumパッケージのアップデートを行います $ su - Password: Last login: Tue May 7 01:04:35 UTC 2024 on pts/0 # yum update 2. Java をインストールします 今回は、Adoptium OpenJDK の Version 8 - LTS を使用してテストします。※ *.tar.gz は、/usr/java 以下にダウンロードします。 # cd /usr/java # ls OpenJDK8U-jdk_x64_linux_hotspot_8u412b08.tar.gz # tar zxvf OpenJDK8U-jdk_x64_linux_hotspot_8u412b08.tar.gz : # ls jdk8u412-b08 OpenJDK8U-jdk_x64_linux_hotspot_8u412b08.tar.gz 3. IRISクライアントをインストールします Linuxのバージョンにあったインストーラを使用してください。 # cd IRIS-2024.1.0.262.0-lnxrh9x64 # ./irisinstall_client Your system type is 'Red Hat Enterprise Linux 9 (x64)'. Enter a destination directory for client components. Directory: /intersystems/iris Directory '/intersystems/iris' does not exist. Do you want to create it <Yes>? Installation completed successfully ※JDBC ドライバのみダウンロードしたい場合は、こちら から行えます(JDBC のリンクをクリック)。 4. 環境変数の設定を行います (JAVA_HOME、PATH、LD_LIBRARY_PATH、CLASSPATH) JAVA_HOME --- JDKがインストールされているディレクトリ PATH --- $JAVA_HOME/bin + <IRISクライアントインストールディレクトリ>/bin LD_LIBRARY_PATH --- $JAVA_HOME/lib CLASSPATH --- <IRISクライアントインストールディレクトリ>/dev/java/lib/1.8/intersystems-jdbc-*.*.*.jar # export JAVA_HOME=/usr/java/jdk8u412-b08 # export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_HOME/lib # export PATH=$PATH:$JAVA_HOME/bin # export PATH=$PATH:/intersystems/iris/bin # ls /intersystems/iris/dev/java/lib/1.8 intersystems-binding-3.2.2.jar intersystems-messaging-1.3.0.jar intersystems-cloudclient-1.2.2.jar intersystems-persister-1.0.0.jar intersystems-cloud-manager-1.6.15.jar intersystems-rgateway-3.2.0.jar intersystems-enslib-jms-3.2.0.jar intersystems-uima-1.0.0.jar intersystems-jdbc-3.8.4.jar intersystems-utils-4.1.5.jar intersystems-loader-1.2.3.jar intersystems-xep-3.2.1.jar # export CLASSPATH=$CLASSPATH:/intersystems/iris/dev/java/lib/1.8/intersystems-jdbc-3.8.4.jar ※すべてのユーザで使用できるよう、環境変数を永続化させる場合は、/etc/profile に追加します。 確認します。 $ which java /usr/java/jdk8u412-b08/bin/java $ which javac /usr/java/jdk8u412-b08/bin/javac $ java -version openjdk version "1.8.0_412" OpenJDK Runtime Environment (Temurin)(build 1.8.0_412-b08) OpenJDK 64-Bit Server VM (Temurin)(build 25.412-b08, mixed mode) 5. IRISへのJDBC接続確認をします こちらのサンプルでは、DriverManager クラスを使用した接続テスト を行います。※現在のネームスペース内の全てのテーブル (およびビュー) に関する INFORMATION.SCHEMA.TABLES の情報をSelectするサンプルです。 /// JDBCSample.java import java.sql.*; public class JDBCSample { public static void main(String[] str) throws Exception { String url = "jdbc:IRIS://***.***.***.***:1972/USER/"; java.util.Properties prop = new java.util.Properties(); prop.put("user", "_System"); prop.put("password", "SYS"); // Replace _SYSTEM and SYS with a username and password on your system Connection connection = DriverManager.getConnection(url,prop); Statement statement = connection.createStatement(); String query = "SELECT top 5 TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE FROM INFORMATION_SCHEMA.TABLES"; ResultSet resultSet = statement.executeQuery(query); System.out.println("Printing out contents of SELECT query: "); while (resultSet.next()) { System.out.println(resultSet.getString(1) + ", " + resultSet.getString(2) + ", " + resultSet.getString(3)); } resultSet.close(); statement.close(); connection.close(); } } コンパイル&実行します。 # javac JDBCSample.java # java JDBCSample Printing out contents of SELECT query: %CSP_Util, CSPLogEvent, SYSTEM TABLE %CSP_Util, Performance, SYSTEM TABLE %Calendar, Hijri, SYSTEM TABLE %Compiler_Informix, ConversionRule, SYSTEM TABLE %Compiler_Informix, ImportedObject, SYSTEM TABLE ※IRISDataSource を使用する場合は以下のようになります。 import com.intersystems.jdbc.IRISDataSource; import java.sql.*; public class JDBCSample { public static void main(String[] str) throws Exception { IRISDataSource ds = new IRISDataSource(); ds.setURL("jdbc:IRIS://***.***.***.***:1972/User"); ds.setUser("_system"); ds.setPassword("SYS"); Connection connection = ds.getConnection(); // 以下、DriverManager のサンプルと同じ : 詳細は以下のドキュメントをご覧ください。JDBC ドライバの使用法InterSystems SQL の基礎 : JDBC とインターシステムズのデータベース

#Open Exchange

92 投稿0 フォロワー

#Supply Chain Orchestrator

2 投稿0 フォロワー
お知らせ
Yoichi Miyashita · 2020年7月10日

System Alerting and Monitoring バージョン 1.0 リリース

InterSystems System Alerting and Monitoring (InterSystems SAM) の最初のバージョン v1.0 をリリースしました。 InterSystems SAM v1.0 は、InterSystems IRISベースの製品に最新の監視ソリューションを提供します。アラート通知に加え、クラスタの高レベルビューや単一ノードのドリルダウンしたメトリック可視化をおこないます。この最初のバージョンでは100を超える InterSystems IRIS カーネルのメトリックを可視化し、デフォルトで提供される Grafana テンプレートを好みに応じて拡張することができます。 v1.0 はシンプルで直感的なベースラインとなることを目的としています。ぜひお試しいただき、ご要望等のフィードバックをお寄せください。 InterSystems SAM は、バージョン 2020.1 以降のインターシステムズベース製品の情報を表示できます。 InterSystems SAM はコンテナ形式でのみ使用可能です。SAM Managerコンテナに加えて、追加のオープンソースコンポーネント(Prometheus とGrafana)が必要です。これらの追加コンポーネントはコンポーズファイルで自動的に追加されます。 InterSystems SAM コンポーネントおよび SAM Manager コミュニティエディションは WRC Direct の Online Distribution ページから入手可能です。Components で SAM Components を、 Containers で SAM Manager がダウンロードできます。 外部サイトでは、SAM コンポーネントが GitHub のこちらのページ、 https://github.com/intersystems-community/sam SAM Managerは Docker Hub から入手可能です。 https://hub.docker.com/_/intersystems-system-alerting-and-monitoring InterSystems SAMのドキュメント(英語)はこちらをご覧ください。 https://docs.intersystems.com/sam/csp/docbook/Doc.View.cls?KEY=ASAM

#求人情報

0 投稿4 フォロワー