記事
· 2023年4月28日 2m read

python openpyxl ライブラリを利用してクエリの結果を xlsx ファイルに変換する本番モジュールの実装

本番環境でのopenhl pythonモジュールの使用に関する作業の説明の続きです。

Embedded Pythonを搭載しているirisは、まだ最終リリースがされていません(原文投稿当時)が、現時点で本番で使用する必要があります。 そこで、リクエストをxlsxファイルにエクスポートするサービスは別サーバーにバックアップし、クエリ結果は別データベースのグローバルに保存することにしました。

このデータベースは、ネットワーク化され、サービスサーバーはローカル、本番サーバーはリモートとしています。本番サーバー、サービスサーバ間のコミュニケーションは、REST サービスを使って実装しています。

つまり、クライアントアプリケーションのサーバー上では、ユーザーは大きなレポートを発行します。レポートはバックグラウンドで作成され、グローバルに保存されています。
リモートデータベース上では、グローバルへの完全な参照をパラメータとしてRESTサービスが呼び出されます。 このサービスはバックグラウンドで起動し、Excelファイルに内容をエクスポートし、その後、合図として生成されたファイルへのリンクでRESTサービスを呼び出します。 メッセージを受け取った本番サーバーのサービスは、Excelファイルをアーカイブして、クライアントにメールで送信します。
そして、ここで忘れてはならないのは、リモートとローカルのデータベースは単一のリソースで保護されなければならず、その特権はファイルを生成するユーザーに割り当てられなければならないことです。

これにより、プロダクトサーバーで%SYS.ZENReportExcelExporterを置き換えています。
将来的には、このソリューションの発展形として、メールによるファイル送信を、準備完了の通知によりユーザが独自にダウンロードできる生成ファイルのリンクパネルに置き換えることを計画しています。

ディスカッション (0)2
続けるにはログインするか新規登録を行ってください