LoginSignup
5
6

More than 3 years have passed since last update.

EUのデジタル法令作成支援システム LEOSを立ち上げてみた

Last updated at Posted at 2020-07-01

法令作成の苦労

コロナ禍で明らかになったように、日本の社会は未だにハンコと紙、FAXで業務を進めており、大企業や政府、官庁は特にその傾向が強い。
例えば、次のような記事がある。

働くママが終止符を打った霞が関の“伝統芸能

法令の作成は、多くが手作業で行われた。改め文や新旧対照表の作成も人手で行っていたが、プログラムを開発することで、人手で30時間かかった作業を、10秒に短縮した。

改め文や新旧対照表の作成は官僚の間で「霞が関の伝統芸能」と揶揄されていたのだ。このルールは見た目の美しさを追及する意味があったとみられるが、若手の官僚にとっては実質的な利点が理解し難い代物になっていた。

 ところが、新しいデータベースは、プログラム言語の変更により、改正部分を旧法令と自動で照合して、資料を自動作成してくれるようになったのだ。以前は30時間ほどかかることもあった作業が10秒程度で完了する。

EUでは、LEOSという法律作成支援システムを作った

法令の作成現場では、上に上げたような人手に依存する作業が多く残っている。その苦労は海外でも同じようで、EUでは法令の作成を支援する、LEOSというシステムを作ったそうだ。

LEOSのドラフトのプレゼンテーションPDFでは、法律を作る際の苦労として

image.png

  • 複雑なプロセス
  • 数多くのステークホルダー
  • 紙とデジタル両方の媒体の作成
  • バージョン管理

を上げている。これは、日本の官庁でも同じ苦労をしているのだろう。

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 へアクセスすれば、このような画面が見られる。

image.png

とかけば簡単そうだが、実際は色々苦労したのでその苦労した点を書いていく。

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は盲点だった。

デジタルの肩の上に乗る

法令作成は、大変な作業だ。ただでさえ大変なのに、改め文の作成なども人間がやるのはとても大変だ。せっかく、デジタル環境が進化したので、その肩の上に乗るのはとても大事だ。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6