Please note that JavaScript and style sheet are used in this website,
Due to unadaptability of the style sheet with the browser used in your computer, pages may not look as original.
Even in such a case, however, the contents can be used safely.

横浜市様

横浜市様

オープンで標準化された情報共有基盤システム上で
Javaによる大量のバッチ処理を安定的かつ効率的に実現

横浜市様
業種自治体・公共業務共通業務
製品アプリケーションサーバ/Webサーバソリューション・サービスその他ソリューション

横浜市様は、業務システムの開発および運用効率の低下やコスト増大などの課題を解決するため、オープンかつ標準化された情報共有基盤システムを構築。同時に、福祉保健システムの再構築に取り組みました。新しい福祉保健システムの構築を担当したNECは、大量のバッチ処理をJavaで実行する際の課題を解消するため、オープンなフレームワークに準拠した「WebOTX Batch Server」を提案。30万件を超える児童手当の支給など、大量のバッチ処理を安定的かつ効率的に実現できる環境を整備しました。

事例のポイント

課題

  • 情報共有基盤システムの構築に伴い、ベンダー・ロックインの排除を目的として「AIST包括フレームワーク(※)」の採用が決定していました。しかし、「AIST包括フレームワーク」では、当時バッチ処理構築に関する規定がありませんでした。また横浜市でもJavaでのバッチ処理構築は初めてでしたので、全くの手探り状態で、不安がありました。
  • ホストで構築された住民記録システムに登録されたデータを、オープン系の福祉保健システムに準リアルタイムで取り込む要件がありましたが、これをJavaで実現したときに、十分な性能を満たせるかという懸念がありました。
※独立行政法人産業技術総合研究所が開発した、特定業者に依存しない標準的なソフトウェアの開発手法、共通ソフトウェア、開発規約などを定義したフレームワーク

成果

  • Javaにおけるバッチ処理の標準的なフレームワークである「Spring Batch」を内包した「WebOTX Batch Server」を採用し、安定的に大量のバッチ処理を実行できる環境が整いました。
    「Spring Batch」は、「AIST包括フレームワーク」で採用している「Springフレームワーク」をベースとしているため、本システムの要件に合っていました。
  • 「WebOTX Batch Server」を導入することにより、毎回Java VMを起動することなくバッチ処理を実行することができるため、住民記録システムのデータを30秒に1回福祉保健システムへ取り込む準リアルタイム処理を実現し、住民サービス向上と窓口業務円滑化を実現しました。

導入前の背景や課題

業務システムの個別最適化とコストの増大が課題

360万人超という市町村では日本最大の住民人口を誇る横浜市様は、大都市特有の課題を抱えていました。それは、他都市では年間数件程度にとどまる例外処理が日常的に発生することです。この理由からパッケージ・アプリケーションを利用できず、業務システムを個別最適化せざるを得ませんでした。その結果、同一機能の重複開発の発生や、データ連携が困難といった問題が発生していました。

特に、福祉保健分野は、法改正に合わせて頻繁に改修が行われるため、複雑化が進み、システムがブラックボックス化してベンダー・ロックインが起こり、コストが高止まりしていました。

横浜市様では、こうした課題を解決するため、産業技術総合研究所様と協定を締結し、「AIST包括フレームワーク」に準拠した情報共有基盤システムを構築するとともに、これまで個別に開発・運用していた福祉保健システムと障害福祉システムを一から作り直すことになりました。

選択のポイント

Javaで大量のバッチ処理を安定的に実行するために

横浜市総務局 IT活用推進部 情報システム課 基盤担当 緑川 貴夫 氏横浜市総務局
IT活用推進部 情報システム課
基盤担当 緑川 貴夫 氏

新しい福祉保健システムの構築を担当したのがNECです。情報共有基盤システム上で稼働する新しい福祉保健システムを構築するに当たり、重要なテーマとなったのが大量のバッチ処理でした。「AIST包括フレームワーク」では、Javaで構築するように規定されていますが、バッチ処理に関しては規定がありませんでした。また、JavaはVM(仮想マシン)起動に時間がかかるため、連続して実行するバッチ処理に時間がかかるといった性能不安もありました。この課題を解消するため、NECはOSSの「Spring Batchフレームワーク」を活用して大量のバッチ処理を安定的に実行できるソリューション「WebOTX Batch Server」を提案しました。

「横浜市は、児童手当の支給処理だけで30万件を超えており、ほかにも毎日何らかのバッチ処理を実行しています。そのため限られた時間内に安定的なバッチ処理を行うことは、重要な要件でした。今回、AIST包括フレームワークによる情報共有基盤システムの構築自体が全国初の試みでしたが、横浜市も産業技術総合研究所もJavaによる大量のバッチ処理の経験がなかったため、過去の事例やノウハウを基に効果的なソリューションを提案してくれたNECに感謝しています」と横浜市総務局 IT活用推進部情報システム課基盤担当の緑川貴夫氏は、当時を振り返ります。この提案を受けた横浜市様は、産業技術総合研究所様と協議し、「Spring Batch」ベースの「WebOTX Batch Server」がAIST包括フレームワークに準拠していることを確認し、正式に採用する決断を下しました。

導入ソリューション

夜間大量処理と準リアルタイムという2つのバッチ処理機能を実装

新しい福祉保健システムでは、児童や高齢者、障害を持つ住民に対する手当や給付など、さまざまな福祉関連情報のバッチ処理を「WebOTX Batch Server」で実行しています。「WebOTX Batch Server」は、Java VMを常駐化させてスレッド上でバッチ処理を並列実行することにより、メモリ消費量を抑制し、安定稼働を実現します。また、ホストで構築されている住民記録システムに登録されたデータを30秒に1回のバッチ処理で福祉保健システムへ移行する準リアルタイム処理機能も実装しました。さらに、ほぼ同一の機能を有する帳票サーバーと「WebOTX Batch Server」を冗長化し、障害発生時には、相互の機能を補完し合う正副構成にすることで可用性を高めています。


横浜市が構築したJavaバッチ処理のイメージ拡大図

導入後の成果

安定したバッチ処理が業務効率化と住民サービス向上に貢献

横浜市総務局 IT活用推進部 情報システム課 担当係長 豊田 訓久 氏横浜市総務局
IT活用推進部 情報システム課
担当係長 豊田 訓久 氏

福祉保健システムは、毎日のオンライン業務終了後にバックアップを行い、その後バッチ処理を走らせることで業務をまわしてきました。しかし、年々増え続ける住民人口と業務量増加に比例して処理量も増大の一途をたどっており、近年では、朝までに処理を終了できるか、気が気ではない状態が続いていました。

「WebOTX Batch Server 導入後は、バッチ処理が高速、安定化したおかげで、オンライン業務に十分な時間を割けるようになりました。また、準リアルタイム処理機能を実装したおかげで、転入手続きをした住民の方がその日のうちに福祉課窓口で手続きを完了でき、住民サービス向上と窓口業務円滑化という成果が得られました。システム本稼働から約1年経ちますが、この2つのバッチ処理は安定稼働しており、業務効率化のみならず可用性の面でも効果を感じています」と緑川氏は、導入後の効果を話します。

また横浜市総務局IT活用推進部情報システム課担当係長の豊田訓久氏は、「今回のシステム構築に際し、NECは技術面からのアプローチだけではなく、横浜市の業務内容まで踏み込んで、業務的な課題を認識した上で解決策を一緒に考え、最適なソリューションを提案してくれました」とNECの提案力を評価します。

今後の展望

多様化する住民ニーズに応えるためWebOTX Batch Serverを活用したい

こうして情報共有基盤システムを構築した横浜市様では、全体最適に向けて、ベンダー・ロックインを排除した新しい福祉保健システムへの移行を実現しました。これにより、ベンダー・ロックインを排除して調達の公平性を実現しただけではなく、競争原理を取り入れて開発および運用のコストを削減できる環境が整いました。最後に緑川氏は今後の展望を次のように語ります。

「今後住民のニーズが多様化する中で、法制化が予定されるマイナンバーと、自治体の情報を連携させた個別の住民サービスが求められることが予想されます。そうなると、業務システム間の有機的なデータ連携が頻繁に行われるようになるので、今後はWebOTX Batch Serverが持つバッチの並列処理機能を活用して、そうしたニーズに応えていきたいと考えています」

開発担当SEの声

「WebOTX Batch Server」においては、すべてのバッチ処理を常駐化したJavaプロセス(バッチコンテナ)上で起動させることができるため、Java VM起動時のオーバーヘッドの影響を受けずに即時起動することが可能になりました。これによりホストからのデータを福祉保健システムに取り込む準リアルタイムバッチ処理は8秒程度で実行できています。「WebOTX Batch Server」無しではこの処理は30秒程度かかっていたのではないかと思います。

また、「WebOTX Batch Server」ではバッチ処理をJava VM上のスレッドとして実行するため、バッチ処理を並列実行する際にJavaのライブラリなどがメモリ上に共有され、メモリを非常に効率的に使用することができます。

さらに、「Spring Batch フレームワーク」を内包しているため、バッチ処理に関する共通処理(ループ処理、トランザクション管理)を考慮する必要がなくなり、ビジネスロジックの実装に専念することができ、生産性の向上という効果も得られました。

お客様プロフィール

神奈川県横浜市

所在地 神奈川県横浜市中区港町1-1
人口 3,697,035人(平成25年1月1日現在)
職員数 24,354名(平成24年4月1日現在)
URL http://www.city.yokohama.lg.jp/

(2013年3月22日)

共有する: