法令作成の苦労
コロナ禍で明らかになったように、日本の社会は未だにハンコと紙、FAXで業務を進めており、大企業や政府、官庁は特にその傾向が強い。
例えば、次のような記事がある。
法令の作成は、多くが手作業で行われた。改め文や新旧対照表の作成も人手で行っていたが、プログラムを開発することで、人手で30時間かかった作業を、10秒に短縮した。
改め文や新旧対照表の作成は官僚の間で「霞が関の伝統芸能」と揶揄されていたのだ。このルールは見た目の美しさを追及する意味があったとみられるが、若手の官僚にとっては実質的な利点が理解し難い代物になっていた。
ところが、新しいデータベースは、プログラム言語の変更により、改正部分を旧法令と自動で照合して、資料を自動作成してくれるようになったのだ。以前は30時間ほどかかることもあった作業が10秒程度で完了する。
EUでは、LEOSという法律作成支援システムを作った
法令の作成現場では、上に上げたような人手に依存する作業が多く残っている。その苦労は海外でも同じようで、EUでは法令の作成を支援する、LEOSというシステムを作ったそうだ。
LEOSのドラフトのプレゼンテーションPDFでは、法律を作る際の苦労として
- 複雑なプロセス
- 数多くのステークホルダー
- 紙とデジタル両方の媒体の作成
- バージョン管理
を上げている。これは、日本の官庁でも同じ苦労をしているのだろう。
LEOSを手元で立ち上げてみる。
LEOSを触ることで、本邦で法令作成支援システムを作るとしたらどのような機能が必要か一つの準拠軸になるんじゃなかろうかと考え、ローカルのマシンで立ち上げて触ってみることにする。
LEOS自体は、オープンソースで配られており、windowsで動くことを想定している。今回は最新の、LEOS pilot 3.0.0
を手元で動かしてい見ることにする。LEOSはjavaで書かれている。
LEOSのダウンロード
LEOSはこちらでダウンロードできる。今回は最新の、 LEOS Pilot 3.0.0 をダウンロードした。
LEOSの動かし方
LEOSの動かし方は、ダウンロードした、LEOS Pilot 3.0.0.zip
の中に、 README.txt
にあるように、 run-all.bat.
を起動すれば、4つのプロセスが立ち上がり、 http://localhost:8080/leos-pilot/ui へアクセスすれば、このような画面が見られる。
とかけば簡単そうだが、実際は色々苦労したのでその苦労した点を書いていく。
LEOSを動かす上での注意点
CPUは4コア以上
プロセスが立ち上がる前にコンパイルするため、CPUは4コア以上あると良い。2コアだと、遅かった。
javaのバージョン
javaのバージョンは1.8固定になっている。java13で起動しようとしたらエラーで落ちた。
JREのパスに注意
途中で
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
というエラーが出る場合は、JREのpathがJDK似同封のJREになっていないので、JDK付属のJREに切り替える。
oracleのインストーラーが commonpath
みたいなpathを勝手に追加するのでそれは、環境変数から削除する。
JAVA_HOMEの設定はなしでも行けた。
詳しくはこちら。
https://qiita.com/yuji38kwmt/items/658eeb02c596d252c30f
JREのパスは、JDKの中のパスにする。
https://qiita.com/takaaki4cards/items/639b4cd7544944d5e5c4
mavenのライブラリにダウンロードに時間がかかる
mavenでのライブラリダウンロードに時間がかかるのでサービスがタイム・アウトする場合は何回か試す。
jettyのタイムアウト
LEOS-pilot の起動時に、
Java.lang.Exception: Timeout scanning annotations
というエラーが出る場合には、
./modules/web/src/etc/jetty/jetty.xmlの
<Call name="setProperty" class="java.lang.System">
<Arg>org.eclipse.jetty.annotations.maxWait</Arg>
<Arg>120</Arg>
</Call>
maxWaitを120->240にしたら、timeoutせずに起動した。
GCPのポートを開けるとともに、windowsのfirewallのポートも開ける。
外部から参照する場合、GCPのポートは、ヴァーチャルネットワークのファイアウォールルールに追加すればよいが、それと同時に、windows defered firewall のポートも開けないと外部からつながらない。普段linuxばかり触っていたので、windows defered firewallは盲点だった。
デジタルの肩の上に乗る
法令作成は、大変な作業だ。ただでさえ大変なのに、改め文の作成なども人間がやるのはとても大変だ。せっかく、デジタル環境が進化したので、その肩の上に乗るのはとても大事だ。