システム間アイリスを用いたCOVID - 19解析
毎日ジョンズホプキンス大学はコロナウイルスcovid - 19パンデミックステータスに新しいデータを発行します.
私は建築simple InterSystems IRIS Analytics dashboard チェッカーのシステム間のアイリスコミュニティ版を使用している.
このダッシュボードは、どのようにCSVからの情報がIRIS Analyticsで分析されることができて、Chre Intersystem Irisコミュニティ版の形でGCP Kubernetesに配備されることができる方法の例です.
追加interactive map of the USA :
The next dashboard shows the timeline :
と国によってフィルタリングすることができます.例えばこちらはin the USA:
アプリケーションのソースコードはavailable on Open Exchange.
どうやって動くの?
システム間のアイリスコミュニティ版のDockerコンテナを使用してデモを実行し、MDX 2 JSON REST APIを介してDeepSeeのWeb表現層を使用してintersystemsアイリスBIダッシュボードを公開します.そのGCPに展開し、Google Kubernetesエンジン(GKE)を使用して動作します.
どのように開発された
データはJohns Hopkins repository CSV形式で.
クラス、キューブ、および最初のピボットはAnalyzethis モジュール、ありがとう
スティイパー!
インポートメソッドは、csvtoclassメソッドを使用して導入されました.レビリユ!
ダッシュボードはDeepSee Web (DSW) モジュールです.
アイリスビartifacts (pivots, dashboards) によってエクスポートされたISC.DEV モジュール
IRISAPP> d ##class(dev.code).workdir("/irisdev/app/src") IRISAPP> d ##class(dev.code).export("*.dfi")
The code has been developed using VSCode ObjectScript, thanks .Maslennikov.
Building docker image for development and deployment
All the deployment sits in Dockerfile. With Dockerfile we build an image with data, web apps and modules installed and properly setup and then we deploy the image to GCP Kubernetes.
This Dockerfile is a modified version of this Template Dockerfile which is described very well in this article.
So I will stop only on new parts.
17 COPY data files
here we copy CSV files from data folder to the container
set pfile = "/opt/irisapp/files/covid-"_$tr($zd($h-1),"/","-")_".csv", rc=0 \ do ##class(AnalyzeThis.Generated.covid03162020).Import(,pfile,",", ,1,.rc) \ write "imported records: "_rc \ do ##class(%DeepSee.Utils).%BuildCube("covid03162020") \
This code imports the latest data and builds a cube.
zpm "install dsw" \
Here we install DeepSee Web.
do EnableDeepSee^%SYS.cspServer("/csp/irisapp/") \
This enables IRIS Analytics (DeepSee) for /csp/irisapp web app.
zn "%SYS" \ write "Modify MDX2JSON application security...",! \ set webName = "/mdx2json" \ set webProperties("AutheEnabled") = 64 \ set webProperties("MatchRoles")=":%DB_IRISAPP" \ set sc = ##class(Security.Applications).Modify(webName, .webProperties) \ if sc<1 write $SYSTEM.OBJ.DisplayError(sc)
This code is needed to make the analytics web app be available without credentials.
COPY irisapp.json /usr/irissys/csp/dsw/configs/
And this command helps to set DSW configuration.
Deployment to Kubernetes
The deployment procedure is being processed by Github Actions - and this workflow handles it on every commit to the repository.
Github workflow uses Dockerfile we built on a previous step along with Terraform and Kubernetes settings.
The procedure is identical to the one described in this article by .Khomenko.
How to run and develop it locally
You are very welcome to run, develop and collaborate with this project.
To run it locally using docker do:
Clone/git pull the repo into any local directory
$ git clone https://github.com/intersystems-community/objectscript-docker-template.git
このディレクトリで端末を開き、実行します.$ docker-compose build
アイリスコンテナを実行します
$ docker-compose up -d
コンテナがビルドされたら、アプリケーションを開きます.Localhost : Yourport/DSW/インデックス.HTMLとは国/国.ダッシュボード?ns = irisapp
ハウツーとスタイル
このリポジトリは、ObjectScriptプラグインでvscodeでコード化する準備ができています.インストールするVSCode ,畝Docker ○○ObjectScript プラグインを開き、フォルダを開きます.
貢献方法
フォークthe repository , 変更を作成し、プル要求を送信します.
あなたの貢献を見るのが大好き!畝
Reference
この問題について(システム間アイリスを用いたCOVID - 19解析), 我々は、より多くの情報をここで見つけました https://dev.to/intersystems/covid-19-analytics-using-intersystems-iris-gejテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol