Skip to content

Intersystems-jp/selflearning-interoperability

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Interoperability(相互運用性)を使ってみよう

このGitでは、InterSystems IRIS / InterSystems IRIS for Health の Interoperability メニューの使い方をサンプルを利用しながら確認できるコンテナを提供しています。

このサンプルのコンテナは、InterSystems IRIS Community Editionのイメージを使用しています(Pullできない場合はイメージ、タグ名をご確認ください)。

Intersystems IRIS for Health の Community Edition のイメージもあります。お好みでイメージを切り替えてご利用ください。

この他、JDBCでの接続が行えるように OpenJDK もインストールしています。 詳細は、Dockerfile をご参照ください。

サンプルコードの中では、天気の情報を取得するため OpenWeather の Web API を使用しています。

この API を実行するためには事前にアカウントを登録し API key を取得する必要があります。お試しいただく前に、こちらのページ で API key を取得してください。サンプルコードへの設定方法については後述します。

開発者コミュニティにサンプルについての解説を記述しています。

索引ページ:https://jp.community.intersystems.com/node/483021

ディレクトリ/サンプルファイルについて

サンプルファイルについて詳細は以下の通りです。

種別 ファイル 説明
ビジネス・サービス FileBS.cls ファイルインバウンドアダプタを利用したビジネス・サービスクラス
ビジネス・サービス WebServiceBS.cls Webサービス用のビジネス・サービスクラス
ビジネス・サービス NonAdapterBS.cls アダプタを使用しないビジネス・サービスクラス(ストアドプロシージャ/RESTから呼び出すときに使用する)
ビジネス・プロセス WeatherCheckProcess.cls お天気APIとデータベースの更新処理を順序を守って実行するビジネス・プロセスクラス
ビジネス・オペレーション GetKionOperation.cls お天気APIにアクセスして指定する都市の天気情報を取得するビジネス・オペレーションクラス
ビジネス・オペレーション InsertOperation.cls IRIS内データベースにINSERTを実行するビジネス・オペレーションクラス(コンテナ開始時このクラスを利用しています)
ビジネス・オペレーション SQLInsertOperation.cls SQLアウトバウンドアダプタを利用したビジネス・オペレーションクラス(コンテナ開始時JDBCで接続できるように設定されています)
メッセージ Request.cls プロダクション内で使用する要求(リクエスト)メッセージクラス
メッセージ Response.cls プロダクション内で使用する応答(レスポンス)メッセージクラス
プロダクション Production.cls 管理ポータルで設定する定義を保存しているプロダクション用クラス(このクラスの修正は管理ポータルで行います)
データ登録用クラス WeatherHistory.cls データ登録用クラス(テーブル)で取得した天気の情報と購入商品名を登録するテーブル
インストーラー用クラス Installer.cls コンテナビルド時に初期実行する内容を含めたインストーラークラス メモ:インストーラーについて

コンテナ起動までの手順

詳細は、docker-compose.yml をご参照ください。

Git展開後、./ は コンテナ内 /irisdev/app ディレクトリをマウントしています。 また、IRISの管理ポータルの起動に使用するWebサーバポートは 52773 が割り当てられています。

git clone このGitのURL

cloneしたディレクトリに移動後、以下実行します。

$ docker-compose build

ビルド後、コンテナを開始します。

$ docker-compose up -d

コンテナを停止する方法は以下の通りです。

$ docker-compose stop

プロダクションにデータを送信してみる

コンテナ開始後、以下のURLにアクセスします。ユーザ名(_system)とパスワード(SYS)を指定してログインします。

http://localhost:52773/csp/sys/UtilHome.csp

管理ポータル > [Interoperability] > [構成] > [プロダクション] を開きます。

(コンテナ作成時にプロダクション:Start.Production を自動起動する設定としているためプロダクションは開始しています)

事前に取得した OpenWeather の API key を ビジネス・オペレーション:Start.GetKionOperation の 設定タブにある [OpenWeatherMap] > [appid] の欄に設定します。

appidの設定

また、コンテナ作成時に REST 用のベース URL(/start)が設定されています。 以下URLにアクセスしてプロダクションにデータを送信します。

例) http://localhost:52773/start/weather/ちくわ/豊橋市

正しく情報が送信できると、以下の文字列が表示されます。

表示例) {"Message":"天気情報確認:依頼しました","Status":1}

天気を取得し、データベースに登録できているかどうかは、メッセージの参照とStart.WeatherHistoryテーブルを参照して確認します。

  • メッセージの確認
    • 管理ポータル > [Interoperability] > [表示] > [メッセージ] を開き「ソース」欄に「Start.NonAdapterBS」が表示されている行を探し、セッション番号をクリックしてトレースを確認します。

メッセージの参照

  • テーブルデータの確認
    • 管理ポータル > [システムエクスプローラ] > [SQL] > (ネームスぺースがUSERであることを確認) > スキーマ:Start > テーブル:WeatherHistory > 画面右端「テーブルを開く」クリック

テーブルの参照

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published