InterSystems IRIS 2024.1でWSGI準拠のWebアプリケーションを管理できるようになりました(試験リリース)。
当プロジェクトはIRISにデプロイすることを想定したデモ用途のWSGI準拠Webアプリケーションです。
IRIS上に作成した人物テーブルを名前で検索して表示する、シンプルなWebアプリケーションです。
WSGIに準拠したWebフレームワーク・Flaskを利用しています。 InterSystems IRIS 2024.1以降で利用することを想定しています。
-
create-table.sqlのSQLを任意のネームスペースで実行します。
- create-table.sql はtest.personテーブルを作成します。
-
必要なライブラリのインストール
例)
(WebフレームワークFlask)
python3 -m pip install --target <IRISインストールディレクトリ>/mgr/python flask
(ダミーデータ生成用)
python3 -m pip install --target <IRISインストールディレクトリ>/mgr/python faker
python3 -m pip install --target <IRISインストールディレクトリ>/mgr/python sqlalchemy-iris
- ダミーデータの生成
-
insert-dummy-data.pyをPythonで実行します (事前にinsert-dummy-data.pyのIRIS接続情報を書き換えてください。)
- 例)
<IRISインストールディレクトリ>/bin/irispython insert-dummy-data.py
- 例)
-
insert-dummy-data.pyはtest.personテーブルへダミーデータを登録します。
-
src配下をIRISがアクセスできる場所(インストールディレクトリ配下等)へ配置します。
IRIS管理ポータルで下記を実行します。
[システム管理]→[セキュリティ]→[アプリケーション]→[ウェブアプリケーション]→[新しいウェブ・アプリケーションを作成]
一般タブ:
下記を入力し、保存します。
- 名前
- /flasktest (アクセスする際のURLとなる)
- ラジオボタン
- WSGI [Experimental]を選択
- アプリケーション名
- flasktest (Pythonのファイル名)
- Callable Name
- app (Flaskをインスタンス化した際の変数名)
- WSGI App Directory
- ソースコードを配置したフォルダを指定
アプリケーション・ロールタブ:
データベースアクセスに必要なロールを付与します。
※下図では全ての権限を持つものを付与していますが、本運用では必要な権限を持つもののみ付与してください。
http://(Webサーバ)/flasktest にアクセスすると、下図のような画面が表示されます。※Webサーバの設定により、URLはhttp://(Webサーバ)/csp/flasktest の場合もあります
IRISに登録されたPersonテーブルのデータを名前で検索することができます。
- ソースコードはデモンストレーション用途を前提としています。
- セキュリティやエラー処理が十分に考慮されていない可能性がありますので、ご留意ください。
- こちらのソースは下記で紹介されているPythonコードをベースに作成しています。