島根県松江市のRubyによる基幹システム
島根県松江市のRubyによる基幹システム
[画像のクリックで拡大表示]

 「COBOL技術者がRubyで島根県松江市役所の基幹業務を開発した」---独立行政法人 情報処理推進機構(IPA)オープンソフトウェアセンターは2008年5月20日,「自治体等におけるオープンソースソフトウェア活用に向けての導入実証」の成果報告会を開催した。

 同事業は,電子政府へのオープンソース採用の実証と課題解決を目的とする事業。IPAが経済産業省の委託を受け2005年度から行っている。開発したソフトウエアはいずれもオープンソース・ソフトウエアとして公開する予定だ。

Java上のRuby「JRuby」を帳票で使用

 島根県松江市では,「高額医療・高額介護合算制度」に基づく支給額を算出するシステムを構築した。「Rubyによる初めてのバッチ処理を含む基幹業務システム」(構築を担当したテクノプロジェクト 部長 室脇俊二氏)。Java VM上でRubyを実行するJRubyも採用した。オープンソースのJava帳票ツールJasper Reportとの連携にJRubyを使用している。

 このプロジェクトのもうひとつの特徴は,まったくRubyの経験がないCOBOL技術者が担当したことだ。COBOLしか知らない技術者は最初戸惑ったが,その経験を「つまづき集」としてまとめた。またRubyで基幹業務をスムーズに開発するためのコーディング規約も作成。これらのノウハウはドキュメントとして公開する。

 課題としては「初めて基幹システムに取り組んだため,Rubyのメリットである生産性を生かし切れなかった」(室脇氏)ことがある。今後は基幹システムにおいても生産性向上に取り組む。「今回の実証事業で基盤環境が整った。今後資産を蓄積していけば生産性は向上すると見ている」(室脇氏)。

 松江市 健康福祉部介護保険課長 兒玉渉治氏は,「今年度策定した『松江市総合計画』においても『Rubyを核として,ソフトウエア等に関する研究・開発・交流活動を支援し,地域産業の振興を図る』と定めている。松江市が名実ともに『Rubyのメッカ』となることを目指す」と語った。

 今回開発したシステムは今年度,「高額医療・高額介護合算制度」施行にともない,実際の業務に本格導入する。そこでコスト効果の本格的なを検証を行う予定だ。