メットライフ アリコ(旧 アリコジャパン)

*本文中は、取材当時の旧社名表記となっております。

アリコジャパン

開発生産性向上プロジェクト第二弾
保険金額通算システムをCOBOLとJavaでダウンサイジング

Highlights

Business

1973年、日本で最初の外資系生命保険会社として産声をあげて30年。アリコジャパンは、日本の生命保険のあり方を根本から変えるという大きな志を掲げて今日まで「創造と挑戦」を続けている。同社の強みはその商品力にあり、日本で初めて無配当の定期保険、疾病保険(医療保険)、三大疾病保険など、新商品を次々と提供してきた。

Challenge

保険金額通算システムは、メインフレームベースのアプリケーションであったが、利用時間の制限やパフォーマンス等いろいろと課題があった。そこでWebベースの3階層システムにダウンサイジングすることを決意する。

Solution

保険金額通算システムの業務ロジックは、数百通りの計算パターンが考えられる複雑なもの。開発生産性を上げ、プログラム品質を維持し、COBOL資産を再利用。保障内容計算機能をダウンサイジングした実績からMicro Focus Net Expressが選択された。

Results

COBOL&Java連携開発のスタイルを確立させるとともに、開発プロセス、テスト工数プロセスの削減を実現。メインフレームのシステム負荷軽減も期待される。

アリコジャパンは、「創造と挑戦」をスローガンに創業以来30年にわたって日本市場に画期的な保険商品を提供し続ける外資系生命保険会社。システム企画部では、システム全体の最適化を図るとともに、開発生産性およびプログラム品質の向上をめざした取り組みを展開しており、保障内容計算機能のダウンサイジングに続くプロジェクトとして保険金額通算システムをWebアプリケーション環境にダウンサイジング。大掛かりで複雑な業務ロジック部分はメインフレームのCOBOLプログラムを有効活用。今回の開発で同社はCOBOL&Java連携開発のスタイルを確立するとともに、開発プロセス、テスト工数プロセスの削減を実現しました。

●The company

 1973年、日本で最初の外資系生命保険会社として産声をあげて30年。アリコジャパンは、日本の生命保険のあり方を根本から変えるという大きな志を掲げて「創造と挑戦」を続け、今日では6千人を超える社員を擁し、400万件の個人保険契約を保有するビッグカンパニーに成長するまでになりました。
 同社の強みは、経営理念にも示されているように何といってもその商品力にあります。営業開始時、日本で初めて無配当の定期保険を発売したのを皮切りに、疾病保険(医療保険)、三大疾病保険など、新商品を次々と提供してきました。「はいれます終身保険」「てごろでがっちり入院保険」「すこしであんしん終身医療保険」などといった個人向け商品はあらゆる世代に高い知名度を誇り、景気の低迷や金融システムへの不安感などにより厳しい事業環境に取り巻かれている生命保険業界にあっても、極めて順調に業績を伸ばし続けています。

●The challenge

経営効率化のため、システム全体の最適化に注力

 業界で競争優位性を保ち、成長を続けていくために掲げている目標が、同社には5つあります。1つめが商品・販売チャネルの強化、2つめに顧客サービスの向上、3つめとして健全性・リスク管理の強化、4つめに経営の効率化の推進、そして最後の5つめが、コンプライアンス体制の強化です。
 システム開発を担う部門もまた、これらの目標の達成が厳しく求められます。続々と投入される新商品をシステム上で管理する仕組みを迅速に用意する必要がある一方で、最近は販促/販売チャネルおよび顧客サービスチャネルとしてのインターネットの重要性も日ごとに増しています。企業情報システムという経営資源を最大限に有効活用する使命を負うとともに、それはまた法令を誠実に遵守し、企業倫理にかなうことを約束するものでなければなりません。
 同社の保険業務システムは主にメインフレーム上で運用されているのですが、その一方で、さまざまな情報系システムがクライアント/サーバ型システムやWebアプリケーションとして構築されています。一つの業務ロジックが複数のプラットフォームで重複してサポートされるということが、これまではありました。
 そのため、アリコジャパン システム企画部では、システム全体の最適化を図るとともに、開発生産性およびプログラム品質の向上をめざした取り組みを行っています。
 具体的には、共通インフラや品質管理体制の整備、開発手順の標準化などです。そしてその共通インフラの整備の中に、これまでさまざまなシステムで重複して利用されてきた機能を汎用機能として統合し、業務ロジックの再利用性を高めるという方針があります。
 その第一弾が、保障内容機能のWebアプリケーション化で行われました。その際、メインフレーム上の現況案内システムの中で使われている保障内容計算のロジックをそのまま利用することになりました。現況案内システムというのは、顧客に年に一度加入している保険の内容を確認してもらうべく、その内容をプリントアウトして現況案内として郵送するために構築されているメインフレームベースのシステム。メインフレームで利用されているCOBOLの業務ロジックが、JavaベースのWebアプリケーションの中でそのまま利用されることとなったのです。それによって、プログラム品質は維持したまま、短期間での開発が実現したのです。ここでCOBOLとJavaの連携に有用性に力を得たシステム企画部は、第二弾のプロジェクトに着手します。それが保険金額通算システムです。

保険金額通算システムの概要
保険金額通算システムの概要

顧客の保険金、給付金の合計金額を計算するプログラム

 保険金額通算システムとは、顧客がアリコジャパンで加入しているすべての保険の保険金と各種給付金の総額を算出し、診査にあたって必要となる契約固有の情報や保険金支払歴等を抽出するシステムです。このシステムの結果が、「通算保険金額が規定以内であるか」「診査基準内であるか」「契約取扱上の諸制限内であるか」といった新契約査定業務で使用されます。
 保険金額通算システムは保険会社の基幹業務システムといえるものですが、このシステムを呼び出している新契約システムにおいてはメインフレームのオンライン稼動状況に依存せず通算機能の呼び出しを可能とし、更にパフォーマンスの向上が期待されていました。また、Micro Focus Net Expressを利用した次のダウンサイジングの対象を検討していたこともあり、その利用実績をもとに保険金額通算システムのダウンサイジングプロジェクトが始まりました。

●The solution

保障内容計算での実績を評価して、Micro Focus製品を選択

 アーキテクチャとして選ばれたのは、Webアプリケーションです。サーバOSにMicrosoft Windows2000、WebアプリケーションサーバにIBM WebSphere Application Server(以下、WebSphere)が採用されました。またデータベースサーバは、データベースとしてSybaseが導入されている既存のサーバが使用されることになりました。「どのジャンルも、AIGグループの標準、あるいは過去に採用実績があるソフトウェアコンポーネントを選びました」アリコジャパン システム企画部 システム企画グループ 主任 浦啓三郎氏は語ります。
 インフラ構築の部分はWebSphereの統合開発環境WebSphere Studio Application Developerなどを使ってJavaで、業務ロジックの部分はマイクロフォーカスのMicro Focus Net Expressで開発されました。採用されたのはやはり保障内容計算での実績が評価されたからです。金融機関で世界的に幅広く利用されているという背景ばかりではなく、今日的拡張としてオブジェクト指向COBOLの構文をサポートし、COBOL統合開発環境であるNet ExpressがWebSphereに対応し、COBOLのDLLを呼び出すJavaクラスを用意するなど開発支援の機能を十分に備えているという製品の特長もまた、アリコジャパンにとって大きな魅力でした。
「特に今回の保険金額通算システムの業務ロジックは、同社の多くの保険商品を対象に計算処理を実行するため、計算パターンの組み合わせは数百にも上ります。それをもし他の言語で一から書き直すとしたら、金額を扱うプログラムということもあり、そのテスト工数は膨大なものになったでしょう。手を入れようという気にはとてもならないほど、大掛かりで複雑なものでした。COBOLプログラムが再利用できたのは、非常に幸いなことでした」アリコジャパン システム開発1部 基幹システム開発室 システム開発第3グループ 主任 立野信之氏はこう語っています。Javaによるインフラ部分の開発をサポートした有限会社スマート・ビジョン 代表取締役 広瀬一英氏は、開発を振り返って語ります。「COBOLとJavaの連携で気を使ったのは、データベースアクセスのコネクションプールです。データベースアクセスの汎用クラスを開発したのですが、WebSphereに登録されたコネクションプールのデータソースに対して、JNDI(Java Naming and Directory Interface、Javaでネーミングおよびディレクトリ機能を利用できるようにするAPI)によりリソース検索するようにしました。焦点となったのはここでJava→COBOL→Javaという流れで検索が実行可能かどうかだったのですが、見事クリアすることができました。型の違いによる問題を回避するため、Javaからはすべてストリング型でデータをCOBOLに渡しています」
 保険金額通算システムのダウンサイジングプロジェクトにおいて、Micro Focus Net Expressを使ってのアプリケーション開発をサポートした株式会社富士総合研究所 システムインテグレーション事業本部 保険ソリューション部 新井武彦氏は、その使用実感を次のように語ります。「機能としていいなと思ったのはアニメータですね。Net Expressがプログラムを検証して見直すべきポイントがビジュアルで示されるので、開発担当者はデバッグ作業が効率よく進めることができました。単体テストまでは実行環境を使わずに開発ができるので、メインフレームのシステムリソースに負荷をかけたくない場合などのメインフレーム用プログラム開発にも便利そうですね」

JavaとCOBOLの連携
JavaとCOBOLの連携
J2EEによる独自実装での呼び出し
J2EEによる独自実装での呼び出し

異種クライアントからの接続を考慮して、Webサービスに対応

 このようにWebアプリケーション版保険金額通算システムはCOBOLとJavaの連携が最大の特長ですが、もう1つWebサービスに対応したこともポイントとして上げられるでしょう。
 現行はクライアント/サーバ型システムからのアクセスも考えられるため、実際には2種類の構成が存在します。
 1つはWebサービスを利用できない既存のクライアント環境のための、サーブレットとJSPを使った簡易型RPCの実装です。
 もう1つは、SOAPのAPIを利用したWebサービスの実現です。まず前者に関してですが、同社では汎用的に利用可能な業務ロジックを呼び出すためのインフラをCLL(Common Logic Library)と名づけています。今回、保険金額通算を実行するCLLに対してラッパープログラムとJSP(Java Server Pages)を作成し、既存のクライアントがCLLクライアントプログラム、CLLサーブレットを介してこのアプリケーションにアクセスできるようにしました。ちょうどJSPとCLLサーブレットがRPCルータに似た役割を果たしています。
 後者の場合も、業務ロジック、COBOLをJavaでラップするラッパークラスなどの部分は同様で、異なっているのは、CLLサーブレットとJSPではなくSOAPのAPIを利用したWebサービスによる接続であるところです。WebSphere Studio Application Developerのサポートにより、予想より早く実装が完成したとのことです。

Webサービスでの呼び出し
Webサービスでの呼び出し

●The result

業務効率の向上が期待される新システム

 Webアプリケーション版保険金額通算システムは、2004年2月の本格稼動をめざして現在最終調整に入っています。このシステムがカットオーバーした後には、利用者は現行より長く使用することができるようになります。そればかりでなく通常のレスポンスも数秒以下になるので、パフォーマンスの向上が期待できます。
 今回の開発では、メインフレームのCOBOL資産を有効利用し、Javaと連携させることにより、開発生産性の向上、テスト工数の削減を実現しました。同社の開発方針について、アリコジャパン システム企画部 システム企画グループ 企画担当マネージャー 野田充氏は次のように語ります。「基本的には適材適所。すべての開発がCOBOLとJavaの連携で解決すると考えているわけではありません。しかし、保険業務の大半をメインフレーム上で運用している当社は、再利用可能なCOBOLプログラムを数多く有しているのも事実です。資産の継承、開発生産性の向上、テスト工数の削減、プログラム品質の維持という点から、COBOLに活躍してもらう余地はまだまだかなりあるでしょう」

前列左より、立野氏、野田氏、浦氏。後列左より、広瀬氏、新井氏
前列左より、立野氏、野田氏、氏。後列左より、広瀬氏、新井

Technical Keyword

JavaとCOBOLの連携によるWebアプリケーション開発
メインフレームの既存COBOLアプリケーションを有効活用

ユーザープロフィール

アリコ(アメリカン・ライフ・インシュアランス・カンパニー)

本社:米国デラウェア州
創立:1921年6月
資本金:300万米ドル(2002年12月末)

アリコジャパン

所在地:東京都千代田区
日本支社開設:1954年
従業員数:6,038名(2003年9月末)
収入保険料:5,393億円(2003年9月末)
事業内容:生命保険業
URL:http://www.alico.co.jp/

-----