はじめに
dxの流れで情報の一元管理をしたいと言う話がよく出るだろう。一元管理というと聞こえが良いが、ちゃんと管理する場合はそれなりの処理を加える必要があり、結局簡単にエクセルでということがないだろうか。そしてたくさんのエクセルに溺れる。ちゃんと管理する基盤が簡単に扱えると良いが、基盤を作るベンダーとしては基盤は作ったのであとは教育をとなるだろう。そして、基盤システムは葬り去られる
そうならないようにしたい
作った基盤は一応はそれなり議論された上でのものであり、まったく変なものではない。とにかく使いづらいという話だ。だとするとフロントエンド側(インターフェース)でどうにかしたくなるだろう。しかし、ベンダーに話すと、教育をしたほうが早いとなる。どういった業務要件からインターフェースを作るのか?という逆質問を受け、意気消沈。幸いにも基盤システムにAPIがあれば、ユーザー部署で開発はできる。
なにをするか
では何をすべきかということになるが、まずは何ができそうか一通りやってみると良いだろう。私はstreamlitを使ってみた。理由はユーザーにソフトのインストールをさせたくない。バージョンアップは一箇所で。と考えた上で。pythonが母体になっているので、割と使いやすい。requestとかは普通に使えるので、データベース側にアクセスでき、表示も割とカスタマイズできる。基盤側の改修だとベンダー領域なのでうるさい。から、抜け道として良い。データベースでは縦持ちのデータを扱うが、ユーザーは横持ちのデータで色々見たがるので、表示はインターフェース側で工夫。グラフを出して比較などもpython だと簡単だ。ARASだと大変(言っちゃった)。
結局なにが言いたいか
ベンダーに色々作らせるとき、ものが出来ると、あとはユーザー頑張れになり、なぜ頑張れないか現状ありで進めようとする。もうちょっと格好良く解決してほしいが、慎重に進めようとするため、STREAMLITのような飛び道具は出ない。こんなときにAPIがあるだけで割といい方向にいけそうという話。
キントーンとかはユーザーが直接画面を作るのでこんなことは起きないのか?
プロキシ
ちなみに会社ではネットワークや管理者権限がうるさくやりたいことがやりずらくはないだろうか。私も会社ではstreamlit入れられず、在宅で非vpnのもとpipを実行。会社のデスクトップに入れたかったので、自分のノートpcのcドライブ近辺に入れ、デスクトップの同じ場所に仮想環境をコピペ。configファイルのパスの修正も必要。また仮想環境のパスが変わるとうまくいかない。streamlitに関しては実行ファイル(EXE)にpython の在り処(仮想環境上)がバイナリで刻まれてる気がする。地道にファイルをダウンロードしてpipするのも手だが面倒なのでやめた。
社内ネットワークでトライ
今まではstreamlitをローカルホストでやっていたが第三者が入れるか気になるところ。pythonのファイアウォールを停止と、8501のポートを開放すると、社内ネットワーク環境下でつながった。

コメント