Ministry of Finance Baden-Württemberg
バーデン・ヴュルテンベルク州財務省

COBOLとJava: 2つの世界のベストを

Highlights

Business Requirement

戦略計画の横断的な中枢として、バーデン・ヴュルテンベルク州財務省はさまざまな任務を遂行しています。その中には予算政策、財務政策、課税政策、建物や不動産の管理、そして郡内の人的政策などがあります。

The Challenge

バーデン・ヴュルテンベルク州財務省ではKOMFISという大規模な財務システムを使用しており、2001年だけでも65億ユーロの取扱額がありました。同財務省ではKOMFISの旧式なキャラクターベースのユーザーインターフェイスを刷新するとともに、保守とサポートにかかるコストを削減する必要に迫られていました。

The Solution

●Micro Focus Net Express

Results/ROI

●COBOLで書かれた中核のビジネスロジックは変えずに、Javaを使ってグラフィカル・フロントエンドとそれにリンクする処理システムをデザインすることでユーザーインターフェイスを刷新

●組織内の非効率的業務サイクルの無駄を省き、コア・アプリケーションの品質が向上

ドイツの憲法により、連邦の各郡は市や自治体がそれぞれの義務を果たすための適切な財務設備を備える義務を負っています。この法令がもとになり、連邦の各郡や市の間で財政面でのさまざまな複雑性が発生しています。バーデン・ヴュルテンベルク州政府の中で、郡と自治体の間の財政的な関係を担当しているのは財務省です。歳入補償のためのこの法律には、これらの財政的関係を規制する基本方針が含まれ、国内税収の面で郡が自治体を考慮する必要がある場合にその資金を1,110の自治体、35の行政区域および2つの郡慈善団体にどの程度まで、またどのようにして配分するかを規定しています。

税収(法人取引税、固定資産税、国内税収の自治体準備金、付加価値税)および郡からの財政配分(たとえば国内税収分配金、割当投資資金、看護学校の設立財源など)が、自治体の主な収入源です。バーデン・ヴュルテンベルク州財務省の自治体財政部門では、年間数十億ユーロにも上る自治体の歳入補償および付加価値税の自治体準備金の計算と支払処理に、KOMFIS(Kommunalfinanz-Informationssystem)アプリケーションを使用しています。

KOMFISは、法律で義務付けられている地方自治体予算の支払処理と計画データの計算のための、バーデン・ヴュルテンベルク州の中核をなすツールの1つです。地方の歳入補償の支払を処理するため、同財務省では40から45もあるさまざまな作業段階を個別に計算して報告しなければなりません。更なる法的進展と財政計画に向けて、このアプリケーションは単一でタスク指向の作業段階を結合し、拡張機能の備わったCOBOLプログラムを使用することができます。

fig01
The Ministry of Finance, Baden-Württemberg.

バーデン・ヴュルテンベルク州の財務省では、1960年代の後半からCOBOLプログラムで書かれたKOMFISアプリケーションを使っています。元はIBMメインフレーム上で稼動していたものを1990年代前半にWindows環境へ移行し、現在では32ビットのWindows OS用COBOL開発環境であるMicro Focus Net Expressで維持管理されています。今回、キャラクターベースだったユーザーインターフェイスは、Javaで書かれたグラフィカル・ユーザーインターフェイスに完全に刷新され、リプレースされました。既存のCOBOL資産を再利用しオブジェクト指向テクノロジと連携させることにより、メンテナンスとサポートのコスト削減を目指したのです。

●Javaのフロントエンドを使用した、将来的に保証されたユーザーインタラクション

同財務省の自治体財政部門のITチームは、ユーザーインターフェイスを完全に刷新する機会として、このテクニカル・アップグレード・プロジェクトを利用しました。「COBOLで書かれたビジネスロジックはこのプロジェクトで影響を受けませんでした。Micro Focus Net Expressは、コア・アプリケーションの維持管理と拡張のための効果的で完成された開発ツールを提供してくれますので、当部門の業務プロセスに影響を与える法律の改正などに対応できます」と、自治体財政用ソフトウェア管理の責任者であるThomas Gaiser氏は話しています。

今回のプロジェクトではグラフィカル・ユーザーインターフェイスとそれにリンクした制御システムに重点を置いており、インターフェイスはJavaでデザインされました。「オブジェクト指向のテクノロジを採用することで、メンテナンスとサポートにかかるコストの大幅な削減が期待できます」と、自治体財政部門のスタッフはプロジェクトの目的の1つについて説明しています。メインフレームからワークステーションに移行した際に、インターフェイスは実際のビジネスロジックからほぼ完全に切り離されていました。そのため同財務省では、大量のデータと計算を素早く処理できるCOBOLの強みを引き続き活用しながら、同時にインターフェイスのデザインと取り扱いでJavaを有効利用することができたのです。KOMFISを展開する中で租税行政府と密接に連携することで、同省では郡のIT要件ならびに郡政府の情報および通信技術基準に完全に準拠することができたのです。また同アプリケーションは対応するタスクの記述による、早期採用プロジェクトでの業務部門の協力を仰いでいます。

fig02
Technology configuration Solution in T-Stich.

ユーザーインターフェイス用にJavaを採用することを決定するまでに、技術面および将来的な保証面を見極めるためにさまざまなソリューションや手法の評価が行われました。HTMLスクリプトやWindows-APIプログラミングなど、画面デザインのいろいろなテクノロジが検討されました。しかしながらGaiser氏によると、これらは技術的にもその他の面でも要件を満たさなかったとのことです。最終的に自治体財政部門では、最も多く使われているJava開発環境であるBorland Jbuilderを選択しました。

●T-Stichプロトタイプ化モデルを使用して実現可能性の調査が完了

プロジェクトの構想は2000年と2001年に行われたワークショップでの討議で最初に表出し、その結果T-Stichプロトタイプ化モデルと呼ばれる実現可能性調査(フィージビリティ・スタディ)を行うことになりました。T-Stichモデルでは計画されたシステム全体の中の、機能の単一セグメントのデザインとプログラミングを扱います。その中で実現概念に必要となるタスクの実現可能性、パフォーマンスおよび安定度に対して、テクノロジと要件が検証確認されます。さらにT-Stichでは、早期段階における潜在的な問題の識別が可能です。

構造上、考慮しなければならないことにビジネスロジックとユーザーインターフェイスの分離(COBOLのコンポーネントとインターフェイスのデザイン)、ならびにCOBOLとJava間の相互運用レベルを極力低くするデザインがあります。制御システムのロジックおよびJavaとCOBOL間のコミュニケーションの認識は重要です。なぜならJavaがCOBOLを呼び出し、COBOLがJavaを呼び出すからです。展開において自治体財政部門では、Micro Focus Net Expressに含まれているCOBOL-Java-Domainを通した直接的アプローチを採用することにしました。これによってCOBOLとJavaの間の双方向のコミュニケーションが可能になります。

fig03
fig04

JavaとCOBOLの接点における特定の問題を解決することも重要でした。たとえばデータ型の変換も問題の1つでした。Javaでは2バイト(UNICODE)で文字が保存されますが、COBOLのデフォルトで使うのは1バイト(ASCII)です。それに関連するもう1つの問題として、使用される各フォントタイプの変換もあります。たとえば公式文書では重要な役割を持つ段落文字「§」を、一貫性を持って正確に使用しなければなりません。プログラムコードの絶え間ないデバッグ処理も、対処する必要のある課題でした。Gaiser氏は次のように説明しています。「外部のコンサルタント会社による指導によって、プロジェクトチームはJava特有の問題に対処することができました。少人数の開発チームでは、計画された複数の言語使用(COBOLとJava)やプロシージャ・コードとオブジェクト指向の手法が混ざり合ったものに対応するのは、極めて困難です。」また各部門からの要請により、技術的に詳細にわたるコンセプトも改善する必要がありました。

●教訓

アプリケーションのプロトタイプが開発されると、早期採用者からのフィードバックに基づいてプロジェクトの技術的要件が形作られました。その過程でユーザー側からの更新および変更要求が体系的に集められ、実現可能性に向けてチェックされました。Gaiser氏は次のように報告しています。「専門的な要件を更なる技術開発に組み込むのが、非常に上手くいきました。専門的な汎用ロジックの理解により技術構築との連携が容易にでき、長年使われていた機能でももはや不要になったものがあることが分かりました。付随的なメリットして、組織内の非効率的なサイクルが検討されて適正になるべく無駄を省き、結果としてコア・アプリケーションの品質向上につながりました。」

-----