• HOME >
  • News Release

News Release

2008年5月16日

Rubyによる自治体基幹業務開発の実証結果について
〜 Ruby基幹業務開発の手法確立 〜

 テクノプロジェクト(本社:島根県松江市、代表取締役社長:黒田 高史)は、ネットワーク応用通信研究所(本社:島根県松江市、代表取締役社長:井上 浩)、伊藤忠テクノソリューションズ(略称:CTC、本社:東京都千代田区、代表取締役社長:奥田 陽一)とコンソーシアム(共同企業体)を結成し、Rubyによる自治体基幹業務開発の実証実験を完了しました。この実証実験は、経済産業省の独立行政法人である情報処理推進機構(略称:IPA)の2007年度公募事業「自治体等におけるオープンソースソフトウェア活用に向けての導入実証」の採択を受け、松江市役所様のご協力の下、2008年度から始まる医療・介護高額合算制度をシステム化したものです。
 これまで、Rubyのシステム開発事例は、ほとんどがWebアプリケーションによるオンライン業務を実現するものでした。今回の実証実験では、大量のデータ処理を行なうバッチ業務をカバーしており、システム全体をRubyで開発したものです。Rubyによる基幹業務開発の手法の一つが、初めて実証されたことになります。
 今回の成果である医療・介護高額合算システムのソースコードは、2008年5月下旬にオープンソースとして公開する予定であり、今後、Rubyによる基幹業務開発の普及に貢献していくとともに、地域のIT企業が自治体のシステム導入のサポートを行なえることを期待しています。

医療・介護高額合算制度
 2008年度から始まる75歳以上の後期高齢者医療保険制度に併せて、世帯当たりの自己負担額が高額にならないよう、所得に応じて高額医療費および高額介護費を支給する制度です。毎年8月から翌年7月までの医療保険ならびに介護保険に係る自己負担額を対象としており、2009年度より一定額以上の自己負担がある世帯について、申請を受付け、支払いを行います。

Rubyのバッチ基盤技術の開発
  今回の実証実験のなかで、基幹業務を動かすために不足した機能の開発を行ないました。
 @ジョブ管理機能
     大量データを処理する場合、コンピュータに処理依頼する一つの仕事のまとまりを管理する
  機能。

  • ジョブの種類や、実行順序、日付などのパラメータを事前に設定できる機能
  •    
  • ジョブの実行結果の確認が翌日以降にできる機能(夜間自動運用の対応)
  •    
  • ジョブ中で実行されるプログラム(タスク)実行結果を判定し、次のプログラムの実行を停止/続行 する機能
 A印刷スプール機能
   帳票印刷を制御する機能。
  • 帳票作成後、いつでもプリンター出力できる機能
  •    
  • 画面上でプレビューする機能
  •    
  • ページ指定でプリンター印刷する機能
  •    
  • プリンター印刷中にキャンセルする機能

Rubyの開発手法確立
 今回の実証実験のなかで、Rubyによる基幹業務開発手法の一つを確立しました。
@設計方法 : 構造化(手続き型)設計
Rubyはオブジェクト指向言語であり、一般的にはオブジェクト指向開発に適したUML設計が行なわれますが、お客様の理解しやすさを考慮し、「構造化設計」を行なっています。構造化設計の中で、仕事の流れを示す業務フロー図や機能単位に概要設計書・詳細設計書などを作成し、お客様とシステム要件をまとめています。
A開発方式 : ウォーターフォール開発
RubyやRuby On Railsは、一般的に「アジャイル開発」が向いていると言われていますが、今回の基幹業務開発では、設計・製造・テストの順に一度の開発でシステムを作り上げています。アジャイル開発は、設計・製造・テストを何度も繰り返すことにより、お客様のシステム要件に近づけていく方法です。ウォーターフォール開発は、設計をきっちり行い、お客様の承認をもらってから次の製造工程に入っていく方法です。今回は、基幹業務ということもあり、繰り返し開発ではなく、1回の開発を選択しました。これは、業務の設計をするエンジニアが自治体業務に精通していること、お客様側に専任の開発要員がいないこと、基幹業務開発で繰り返し開発を行なうと開発量が増大すると想定されることなどによります。
Bプロジェクトチーム編成
開発チームは、高額合算の業務システムを開発するグループと開発のための基盤を提供する技術グループとの2つから構成しました。    業務開発グループは、お客様の業務要件をまとめ、オンラインのプログラムやバッチのプログラムを開発します。共通技術グループは、Rubyの開発環境を整えたり、バッチ基盤技術の開発を行なうグループです。役割を明確にし、効率的な開発を行なうことができました。
C標準化
基幹業務は10年20年と長期間使われるシステムであり、ニーズの変化や制度の見直しにより、保守が必要となります。システム寿命が長期間になるため、保守をするエンジニアも交替することがあり、誰でもが同じように保守できることが要求されます。従って、エンジニアが自由にプログラムを組むことを極力制限し、コーディング規約・開発規約に沿ったプログラム開発を行ないました。

セキュリティ診断の結果
 今回開発したシステムに対してセキュリティの脆弱性を診断した結果、システム全体として堅牢であるとの総合評価を得ました。セションの一元管理やActiveRecordの活用などRuby on Railsが提供する機能を正しく利用することで、業務システム分野においても充分セキュアなシステムが構築できることが実証できたと評価しています。

利用者のアンケート結果
  松江市役所様の業務担当者4名に、構築したシステムに対するアンケートを実施しました。回答欄は、1:非常に良い、2:良い、3:普通、4:悪い、5:非常に悪いの5段階から1つ選ぶ方法を取っています。  その結果、システム要件面では全員が上から2番目(良い)の回答であり、満足できるという評価でした。Webアプリケーションの操作性は、良いが3名、悪いが1名でした。悪いという評価も、他のレガシーシステムとの比較であり、実用上問題ないとコメントがありました。バッチ業務の運用については、非常に良いが2名、良いが1名、普通が1名でした。全体としての評価は、十分に実務で使えるという高い評価を頂きました。

「高額合算システム:被保険者状況照会」画面
「高額合算システム:被保険者状況照会」画面

「高額合算システム:支給申請入力」画面
「高額合算システム:支給申請入力」画面


本件に関するお問い合わせ
  潟eクノプロジェクト   オープンシステム部 室脇、高木
  電話 0852−32−1148   E-mail ruby-info@tpj.co.jp