システム間アイリスを用いた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 , 変更を作成し、プル要求を送信します.
    あなたの貢献を見るのが大好き!畝