Comments
Description
Transcript
バッチ高速化ソリューションによる 銀行システムの開発効率化へ
バッチ高速化ソリューションによる 銀行システムの開発効率化への取組み Project on Efficiency Enhancement for Banking System Development through High-speed Batch Processing Solution ● 成嶋光輝 あらまし 企業経営に不可欠な情報システムは,データ量の増加やスピーディーなサービス提供 などに対応する必要がある。また,こうした時代のニーズに応えつつ,肥大化するシス テムのコストも削減する必要がある。FUJITSU Software Interstage Data Effector (以 下,Data Effector) は,フラットファイルの大量データ処理を高速化するデータ加工ツー ルであり,CSV/XML形式のデータを高速・簡単に仕分け・結合・集計できる。これによ り,富士通の独自技術を活用した高速なデータ加工,および定義体ベースの記述が容易 なアプリケーション開発による効率化を実現する。その具体的な効果は 「アプリケーショ ン開発規模の削減」 「バッチジョブ数の削減」 「処理時間の短縮」である。今回,これらの 効果を最大化するため,Data Effector適用に向けたポイントを整理した。併せて,更な る効率化の施策として銀行情報系システム商談を通じ,定義体作成ツールと開発標準を 整備した。これにより,アプリケーション開発効率化を実現するバッチ高速化ソリュー ションを確立した。 本稿では,Data Effectorによるバッチ高速化ソリューションとその効果について述べる。 Abstract IT systems, being an indispensable tool for business management today, are expected to deliver the performance that meets the demands for processing an increasing volume of data and providing a timely service. At the same time, reducing the ever-increasing cost in operating the system is also important. FUJITSU Software Interstage Data Effector is a data-processing tool that can quickly handle voluminous flat file data, and it is capable of sorting, combining and aggregating CSV/XML data simply and fast. Leveraging Fujitsu s unique technology, the project aims to enhance efficiency through developing an application program capable of high-speed data processing and definition base inscription. Expected results include the downsized application development project and reduction of batch job numbers as well as the processing time. We have reviewed these advantages and, in addition, some points concerning the adoption for actual use. Furthermore, as a measure to attain better efficiency, we have developed a definition generation tool and development standards through our business negotiations about banking information systems. We have thus established a high-speed batch processing solution that enables application development to be more efficient. This paper describes the enhanced solution for batch processing using the Data Effector, and the results obtained with it. 38 FUJITSU. 66, 3, p. 38-43(05, 2015) バッチ高速化ソリューションによる銀行システムの開発効率化への取組み Data Effector適用による効果 ま え が き 銀 行 で は, サ ー ビ ス や セ ー ル ス 情 報 提 供 の ス (注1) ピードアップ,バーゼルⅢ などの制度対応に向 け,システム再構築が行われている。このシステ ム再構築においては,サービス提供のスピードアッ プとコスト削減の両立が求められている。今回紹 介する事例は,銀行の情報系システムの再構築商 本章では,Data Effector適用による効果につい て述べる。 ● 効果のポイント Data Effector適 用 に よ る 効 果 は 以 下 の 三 つ で ある。 (1)アプリケーション開発規模の削減 談 に お い てFUJITSU Software Interstage Data Data EffectorはJavaなど従来のプログラム言語 Effector(以下,Data Effector) の適用を検討し と異なり,プログラム作成が不要である。定義体 たものである。本商談では,既存システムで採用 をベースに開発することで,開発量を削減できる。 (1) しているETL(Extract/Transform/Load)ツール (2)バッチジョブ数の削減 をそのまま利用することが前提であった。そのた Data Effectorに適用した富士通の独自技術(注2)に め,ETLツールと併用する形でData Effectorの適 より,マッチング編集や集計処理の事前ソート処 用を検討した。この再構築は,勘定系・情報系を 理が不要となる。また,複数条件の一括処理(異 含む広範囲で膨大なコストの発生が予想されてお なる抽出条件を1処理に集約)が可能なため,ジョ り「コスト削減」が必須となっていた。また,デー ブ数を削減できる。 タ量の増加で処理が長時間化していることから「大 (3)処理時間の短縮 Data Effectorに よ る 大 量 デ ー タ の 高 速 処 理 に 量データの処理時間短縮」も課題となっていた。 今回,Data Effectorによるバッチ高速化ソリュー よ り, バ ッ チ 処 理 時 間 を 大 幅 に 短 縮 で き る。 ま ションにより,アプリケーション開発効率化と た,処理時間短縮によりテスト期間も短縮でき バッチ処理時間の短縮手法を確立した。本稿では, る。従来のETLツールなどと異なり,プログラム Data Effectorによるバッチ高速化ソリューション 工程のみならずテスト工程の開発効率化が図れる の適用効果,適用ポイント,今後の課題について述 (図-1)。 以下に,これらの効果を具体的に紹介する。 べる。 (注1) バーゼル銀行監督委員会が公表する国際的に活動する 銀行の自己資本比率や流動性比率などに関する国際統 一基準。自己資本比率規制が厳格化,定量的な流動性規 制,過大なリスクテイクを抑制するためのレバレッジ比 率を新たに導入。 (注2) CSV/XML形式のデータに対し,当該データ内の複数・ 任意項目の値に基づくソートを実現した。一般ソート技 術はデータ件数に応じた指数関数的な処理時間が必要で あるが,本技術は線型時間・リアルタイムで処理が可能。 【従来のアプリ開発】 設計工程 詳細設計 プログラミング工程 プログラム設計 コーディング テスト工程 単体テスト プログラムレス・スリム化 詳細設計 定義体 生成 【Data Effectorのアプリ開発】 ロジック テスト プログラミング工程を中心に 約30%工数削減 結合テスト 高速データ処理 テスト ※事例に基づく想定値 図-1 開発効率化(イメージ) FUJITSU. 66, 3(05, 2015) 39 バッチ高速化ソリューションによる銀行システムの開発効率化への取組み ● アプリケーション開発規模の削減 定義体ベースの開発により,従来のプログラム 言語と比較し,処理あたりの実装STEP数を削減で 抑えられる。実機検証に基づく想定では,ETLツー ルによる現行処理時間と比較し,約60%の処理時 間短縮が可能である。 きる。例えば,顧客情報を管理するCIF(Customer こ う し た 効 果 に よ り, 従 来 のETLと 比 較 し 約 Information File)データを,顧客番号の下1桁で 30%の開発工数の削減と,約20%の開発スケジュー 10分割する処理があるとする。入出力定義や環境 ル短縮が可能と考える。 定義を除き,従来のプログラム言語であれば実装 適用に向けたポイント に数十STEP程度を要する。 一 方,Data Effectorは10STEPで 実 装 で き る。 本章では,前章で述べた適用効果を最大化する 定義体ベースの記述により,10分割するための条 ためのポイントについて,Data Effector適用まで 件を極力シンプルな記述で実装できる。実機検証 のプロセスを述べる。大きな流れは次のとおりで では,Data EffectorとJavaで実装規模を比較した。 ある。 その結果を踏まえると,Javaと比較し約30%の削 ・適用指針の明確化 減が可能である。 ・適用領域の選定 ● バッチジョブ数の削減 ・処理時間見積もり Data Effectorは,前述の富士通独自技術により 入力データを1回読み込むだけでソート・集計が完 了する。その際,内部的にソートが完結するため, ・定量的な評価 以下に,これらを具体的に説明する。 ● 適用指針の明確化 従来必要であった事前ソートが不要となる。通常, Data Effectorの適用においては,その特性を見 JavaやETLツールでは,大量データの項目結合や 極める必要がある。適用効果が期待できる業務は, マッチングなどを実施する際,事前に入力データ 抽出・連結・集計・ソートの4機能を使った以下の をソートする。そうすることにより,後続処理の ようなシンプルなフラットファイルの大量データ 時間短縮を図っている。情報系システムにおける 処理である。 既存業務においても,同様に事前にソートする必 ・件数や単項目チェックなどのファイルチェック 要があった。 ・様々な条件,複数条件一括処理による抽出 一 方,Data Effector適 用 に よ り, 事 前 の ソ ー トが一切不要となる。現行システムと比較し,約 ・顧客情報など,ユニークキーを基にした結合 ・商品コードマスタなどを入力とした商品コードの 20%のジョブ数削減が可能である。更に,必要に 変換など 応じて複数条件の一括処理もできる。それにより, 一方,適用に向けData Effectorを直接利用しな 複数の抽出条件を別処理していたものを1処理に集 い処理は次のとおりである。これらは,ミドルウェ 約できる。その機能により,更なるジョブ数の削 ア,プログラム言語,またはData Effectorから呼 減が可能である。 び出すユーザー関数で対応が必要となる。 ● 処理時間の短縮 ・DBへの直接アクセス 通常,処理時間はデータ量に応じ幾何級数的に 増 加 す る。 一 方,Data Effectorは デ ー タ を 一 度 読み込むだけでソート・集計が完結する。従来の ETLツールは,独自のロジックにより処理が最適 化される。しかし,内部構造がブラックボックス 化され,性能チューニングの負担が大きい。一方, ・レコード間をまたがる処理(前レコードの情報を 保持し次レコードを処理) ・ユーザー固有のカレンダーを使用した営業日算出 処理 ・期間指定でのマッチング処理(一定の預入期間で 変動する利率を求める処理) Data Effectorはデータ量に応じたリニアな性能を ・コード変換など 発揮する。そのため,大量データに対しても安定 ● 適用領域の選定 した高速処理が可能である。このため,処理時間 適用指針に基づき,以下のとおり適用対象業務 の予測も容易であり,性能チューニングの負担を を選定した。なお,今回の事例は既存システムで 40 FUJITSU. 66, 3(05, 2015) バッチ高速化ソリューションによる銀行システムの開発効率化への取組み 採用したETLツールとの併用が前提となっていた。 (1)実機検証による適用効果の確認 領域を選定した。 ・代表的な処理パターン(項目抽出,情報付与など) ま ず, 適 用 指 針 に 合 致 し 情 報 系 業 務 の 代 表 パ ・データ形式(CSV形式など) ターン(ソート,マッチング,データ分割など) ・データ連携方式(DB連携有無) を網羅する業務処理を複数ピックアップした。続 ・データサイズ,データ件数 く実機検証では,下記の三つの観点で評価しData (4)適用領域の確定 Effector適用の妥当性を検証した。 今回,再構築対象となった範囲は情報系システ ・適合性(Data Effectorでの実装可否) ムの中でDWH(Data WareHouse)とDM(Data ・ジョブ数の削減 Mart)を構築する領域である。DWHは,勘定系 ・処理時間の短縮 システム・外部システムなどから大量データを受 (2)適用対象業務のパターン化 領し,共通的な情報を一元管理する。DMは,主に 適用対象を具体的な業務処理レベルに落とし込 DWHの情報を基に計数管理,収益管理など目的別 むため,関係者へのヒアリングを実施した。関係 の情報を加工・蓄積し一元管理する。ヒアリング 者全てがData Effectorを理解しているわけではな 結果とその後の検討により,最終的に大きく以下 かったため,可能な限り業務目線で理解できるヒ の二つの適用領域が候補となった(図-2)。 アリング内容とした。まず,適用指針に合致する ・DWHにおける各業務の時系列データ(流動性預 業務領域として,他システムと連携するインター フェース部分を選定した。その後,実機検証で効 金,定期性預金,外国為替など)の一時加工 ・DMで保有する差分データ(CIFなど)の全件突 果が確認できた処理をモデルとして,業務横断的 合によるデータチェック にヒアリングできるよう五つ程度の業務パターン これらはいずれもフラットファイルの大量デー に集約しフローとして整理した。 タ処理である。そのほか,計数管理などDM内の処 理 やDMか らEUC(End User Computing) な ど, (3)適用候補のヒアリング 整理した業務パターンを基に関係者へヒアリン 他システムへのデータ提供なども候補となった。し グし,適用対象業務を抽出した。適用見極めの精 かし,データ量が少量(数百MB ∼数GB程度)で 度を上げるため,以下の内容も併せて回答いただ あり,お客様による検討結果も踏まえ対象外とし いた。こうしたヒアリングを通じ,具体的な適用 た。なお,データ量が少量でもジョブ数削減効果 勘定系 外部システム 周辺システム 元帳データ 大量データ加工処理 DWH 情報系 DM 収益 管理 アプリ群 融資稟議 名寄せ 管理 計数 管理 CRM データ 提供系 データチェック ロード DWH DB ALM 図-2 適用領域の候補(イメージ) FUJITSU. 66, 3(05, 2015) 41 バッチ高速化ソリューションによる銀行システムの開発効率化への取組み の観点からData Effectorを適用することもできる。 ● 処理時間見積もり 処理時間は,実機検証から得られた基礎値を基 具 体 的 に は, 設 計 書 で あ る「 バ ッ チ 処 理 定 義 書」「データレイアウト仕様書」により定義体を 自動生成する。バッチ処理定義書により,入出力 に,下記作業を通じた見積もりが必要である。 ファイルと処理ロジックを定義体として自動生成 ・Data Effector適用後のジョブフローの作成 する。また,データレイアウト仕様書により,入 ・処理単位の実装機能(抽出・連結・集計・ソート) 出力データ項目を定義体として自動生成する。項 のマッピング 目名や関数の選択はプルダウンの入力サポートに まず,Data Effector適用後の処理フローを作成 より,入力ミスを極力排除している。また,定義 し,処理全体の流れを整理する。事前ソート・複 体と併せ,実行用のバッチ,シェルも自動生成す 数条件一括処理によるジョブの集約など,Data るようにした。これにより,属人性や入力ミスの Effectorによる効果を考慮する。その後,実機検証 排除と,大量なデータ項目の適格な記述によるア で収集したData Effectorの機能単位のスループッ プリケーションの品質確保を実現した。他プロジェ トを基に,入力データ量から処理時間を見積もる。 クトの事例から,アプリケーション実装作業にお ● 定量的な評価 いて約70%の開発効率化を確認した。更に,自動 適用に際し定量的な評価を実施し,処理時間・ 生成した定義体をサーバへアップロードし実行す メモリ・ディスクに対する見積もりを精緻化する るWebベースの単体テスト支援機能も開発した。 必要がある。データ量に応じリニアな性能を発揮 DE Editorにより,プログラミングから単体テスト するという特長を生かし,処理時間を算出する。 まで一連の作業を効率化できた。また,DE Editor これは,処理条件がある程度同じなら,実機検証 の開発に伴い,従来のプログラム開発と流れが変 で得た標準的な業務処理のスループットを基に処 わる部分を開発標準として整理した。PERT図によ 理時間算出が可能である。 る成果物,および作業の流れをまとめ,これらを 更なる効率化と品質確保に向けた施策 明確化した。 今後の課題 前述の効果や適用ポイントに加え,今回開発し た定義体作成ツール「DE Editor」により,更なる Data Effectorは,その特徴から大量データの高 開発効率化と品質確保を実現した。Data Effector 速化に幅広く活用でき,適用業種も選ばない。し は,定義体ベースの開発により従来のプログラム かし,バッチ業務全体などシステム全体の最適化 言語と比較し,開発規模を削減できる。しかし, を実現するためには,更なる機能拡充が必要であ 定義体作成においても以下の課題を解決し,プロ る。例えば,以下のような機能,ソリューション グラム開発同様の作業の均質化やスキル是正が必 との組合せによって,より効果的なものになる。 要であった。 ・文字コード変換 ・開発スキルにおける属人性の排除 ・辞書によるデータ統制 ・大量なデータ項目の適格な記述 ・Hadoopなどビッグデータソリューション連携など こうした課題を解決するため,開発を効率化す 文字コード変換については,FUJITSU Software るツールが必要である。そこで,DE Editorによ Interstage Charset Managerを組み合わせること り,上流設計を流用しプログラミング工程を極力自 で,様々な文字コード変換に対応する。今後の検 動化することでこの課題を解決した。DE Editorは 討が必要であるが,業務プログラム開発支援ツー 富士通ミッションクリティカルシステムズが開発・ ルFUJITSU Software Interdevelop Designerの 製品化したツールであり,主な機能は以下のとお データ辞書と連携することで,データ統制を実現 りである。 する方法も考えられる。 ・定義体の自動生成 また,業務横断的な適用により,利用シーン・ ・実行用バッチ,シェルの自動生成 効果・ポイントを蓄積し,更なる適用範囲の拡大 ・GUIベースによる単体テスト支援機能 を目指す必要がある。以下のような大量データ処 42 FUJITSU. 66, 3(05, 2015) バッチ高速化ソリューションによる銀行システムの開発効率化への取組み 理が必要となる領域への幅広い適用により,業種・ まで一例であり,他システムへのインターフェー 業務に依存しないソリューションを確立する必要 ス部分に当たるシステムの上流と下流の領域を中 がある。 心に様々な業種に適用できる。 ・市場リスクのデータ収集 本ソリューションは,基幹系システムで開発を ・基幹系システムのバッチ業務 進める様々なプロジェクトで適用予定である。こ ・基幹系システムのビックデータの集計・分析 うした実績を通じ,最適な利用シーンを蓄積,整 ・データ移行 理していくことで,更にビジネスを拡大できると ・大量データの全件突合によるデータチェック 考える。時代のニーズにマッチしたソリューショ ・EUCなど ンとして更にブラッシュアップし,様々なお客様 む す び FUJITSU Software Interstage Data Effectorは, 富士通の独自技術を採用した「開発効率化」と「処 に満足いただけるよう提案していきたい。 参考文献 (1) 富 士 通:CSV/XMLデ ー タ 加 工 ツ ー ルFUJITSU 理時間短縮」を同時に実現するバッチ高速化ソ Software Interstage Data Effector. リューションである。本稿で紹介した事例はあく http://interstage.fujitsu.com/jp/dataeffector/ 著者紹介 成嶋光輝(なるしま みつてる) 金融システム事業本部 所属 現在,銀行基幹系システムのSI提案と 構築に従事。 FUJITSU. 66, 3(05, 2015) 43