大量データを処理する大規模アプリケーションをJavaで実現する「大規模Java」の時代がすぐそこに来ている。銀行の要である口座振替システムや組立型製造業の心臓部にあたる部品表管理システムをJavaで実現しようとする企業が、日本でも登場した。
いまこそ覚悟を決めて、大規模Javaの大海原に飛び込むべきだ。だが、大規模Javaは甘くない。安易に手を出すと、大やけどはまぬがれない。Javaの長所と短所を理解し、オブジェクト指向開発のメリットを生かし、かつ大規模開発をスムーズに進める体制や開発手順を整えることが必須である。

(西村 崇)

読者限定 【本特集の“予習”】を読む

3社の決意Javaで“超”大規模開発に挑む
三つの課題「ドットコム流」では行き詰まる
とるべき対策技術/組織の両面から体制を整備せよ
米国最新報告進化を続けるJava、キーワードは「EoD」


【無料】サンプル版を差し上げます本記事は日経コンピュータ2003年7月14日号からの抜粋です。そのため図や表が一部割愛されていることをあらかじめご了承ください。本「特集」の全文をお読みいただける【無料】サンプル版を差し上げます。お申込みはこちらでお受けしています。なお本号のご購入はバックナンバー、または日経コンピュータの定期ご購読をご利用ください。

 Javaが正式に登場したのは1996年1月。以来7年半が経過し、Javaは企業システム開発言語の「4番打者」への道を着実に歩んでいる。基幹系システムをJavaで構築する企業もいまでは数多い。

 Javaが普及している最大の理由は、現時点で次世代企業システムの開発言語としての条件を最も多く満たしているからだ。オブジェクト指向言語である、同じプログラムを異なるOSで使えるといったJava自身の特徴はもちろん、サーバー向けJava仕様である「J2EE」の存在が大きい。Webページの生成からサーバー側アプリケーションのソフト部品化、トランザクション管理やセキュリティに至る企業システムに必要な仕組みの多くがJ2EEで標準化されている。J2EE準拠をうたった製品を入手すれば、これらの機能をそのまま使えることになる。

 Javaの勢いはとどまるところを知らない。今後数年で「大規模Java」の時代が確実に訪れる。メインフレームの牙城といわれる大量バッチ処理システムをJavaで実現することをもくろむUFJ銀行は、典型的な先進ユーザーである。同行は1日当たり最大1000万件もの大量データを一括処理する口座振替システムの開発言語としてJavaを採用。来年秋の稼働を目指す。実現できれば、世界にも類を見ない大規模Javaシステムとなる。「今後勘定系システムを更新する際は、すべてJavaを使っていく」と、UFJ銀行システム企画部の滝沢卓調査役は明言する。

 中部電力は工事、資材、経理の3部門にわたる大規模システムを開発工数1万人月をかけて主にJavaで開発し、今年10月をめどに順次稼働させる。ほかにも日立ホーム&ライフソリューションなどJavaで大規模な基幹業務システムの刷新を進める企業は枚挙にいとまがない。

 大規模Javaシステムの構築に挑む企業はますます増えるだろう。ここで注意すべき点が一つある。UFJ銀行や中部電力のように大規模Javaに挑戦する“資格”のある企業は、ごくわずかしか存在しないことだ。

 大規模Java開発では、システム全体を綿密にモデリングすることが不可欠である。開発標準を作り、開発チームに徹底することも欠かせない。JavaやJ2EEの長所や短所を理解して、どの技術や製品を使うかも見極めなければいけない。JavaでWebアプリケーションを数カ月で作るのと同じ体制や考え方がそのまま通用するほど、大規模Javaは甘くない。

 もはや大規模Javaの流れはだれも止められない。大規模Java構築に耐えられる体制作りを、いまから始めるしか手はない。先進事例を通じて、大規模Javaに関する課題と解決策を浮き彫りにしていく。

3社の決意
Javaで“超”大規模開発に挑む

UFJ銀行
目指すは1日1000万件のバッチ処理

 「時期尚早だと思います」。UFJ日立システムズでプロダクト開発第2部 口座振替システムグループのグループマネジャーを務める小松高子氏は、協力会社であるシステム・インテグレータの担当者にきっぱり言われた。昨年夏に、「UFJ銀行の口座振替システムをJavaで再構築したい」と伝えたときのことだ。UFJ日立システムズはUFJ銀行のシステム子会社で、勘定系システム開発を主に手がけている。

 口座振替システムは、預金者の口座からサービス料金などを引き落とすためのもの。大量データを処理する典型的なバッチ処理システムだ。UFJ銀行の場合、ピーク時の処理データ数は1日当たり最大1000万件に上る(図1[拡大表示])。これほど大量のデータ処理をこなすシステムは、日本でも数えるほどしかない。「大量データを一括処理するうえに、システムの障害は許されない。そんな分野にJavaを採用するのはリスクが大きすぎる」というのが、インテグレータ担当者の意見だった。

図1●UFJ銀行が進める口座振替システム刷新プロジェクトの概要

 それでもUFJ銀行はJavaの採用にこだわった。同行は現行の口座振替システムを、30年来メインフレームで動かしている。「振替結果をすぐに顧客企業に通知するといった新サービスを提供するにはさすがに限界だった」と、UFJ日立システムズの関根靖プロダクト開発第2部長は説明する。

 そこで口座振替システムを再構築するにあたり、オープン系プラットフォームの採用と同時に、「開発したソフト部品を再利用できる、プラットフォームに依存しない点を買って」(UFJ日立システムズの蒲原寧プロダクト開発第6部長)Javaの採用を決めた。

「処理性能には自信がある」

 だが、ピーク時で1日1000万件のデータ処理をこなすシステムをJavaで実現して、処理性能に問題はないのか。「当社で性能を検証した結果、本番環境でも十分な性能が得られることを確認できた」と蒲原部長は自信をみせる。

 UFJ日立システムズは昨年末から今年初めにかけて、2種類のプロトタイプ・システムで性能を評価した。片方は本番環境の3分の1、もう一方は3分の2のハード構成をもつ。業務ロジック部分には、サーバー向けソフト部品仕様のEJBを採用。EJB部品から処理を受け継ぎ、SQL文をデータベースに発行するミドルウエアを独自に開発した。この2種類のシステムで口座振替データ100万件を処理させて、単位時間当たりの処理件数を測定した。

 いまUFJ日立システムズは、開発要員100人体制で大規模Javaに挑戦している。「1000万件のデータをいくつかに分割して処理したらどうか」など、開発メンバーから出たアイデアを検証し、来年9月に予定する稼働を目指す。


続きは日経コンピュータ2003年7月14日号をお読み下さい。この号のご購入はバックナンバー、または日経コンピュータの定期ご購読をご利用ください。