01 FINALUNA API (3.2.0) | 2012-02-20 18:00 |
02 API詳細設計書.doc (3.2.0) | 2012-02-20 18:00 |
FINALUNAとは、NTTDATAが金融機関のシステムニーズを踏まえて、TERASOLUNAを拡張して作成したソリューションです。
FINALUNA APIは、機能要件を実現するビジネスロジックと、処理方式や非機能要件を実現するフレームワークを、独立したコンポーネントとして分離させることを目的に策定した、ビジネスロジック用Javaインタフェースです。
コンポーネント間の依存関係を無くすことにより、各コンポーネントは独立して発展することができるようになります。具体的には、ハード・ミドルウェア製品のバージョンアップや他社製品への乗換え、フレームワークや処理方式の変更等から、ビジネスロジックを独立して長期間保守できるようになります。
○ニーズ
○実現方法
○FINALUNA APIの構成概要図
それぞれのAPIについての説明を以下に示します。
○FINALUNA型
業務ロジック内では、FINALUNA型を使用することで、より標準化を図った業務ロジックを記述することができます。FINALUNA型は、ベースとなるFINALUNA型、もしくは既存のFINALUNA型を拡張することで、プロジェクト毎に追加することが可能です。
○電文I/O
業務ロジックとフレームワークのデータの入出力は、すべてDTOを介して行います。実際の入力元となるリソース(ファイルやデータベース)からのデータの抽出、出力先へのデータの書き込みはフレームワークが担います。このため、開発者は入出力リソースを意識することなく、業務ロジックの開発に注力することが可能です。
DTOは、Javaの標準APIの型とFINALUNA型との変換ルール等の情報を保持します。
(※) このルールは業務開発者が設定する必要があり、設定方式には、JavaやXMLが考えられますが、FINALUNAでは前者を採用しています。
理由は、XMLに比べJavaの可読性が高いことと、JavaはIDE(統合開発環境)によるコンパイルチェックがサポートされているため、開発効率が向上すると考えられるためです。
○DB、ファイル I/O、共有変数
業務ロジック内で、ファイルやデータベース、共有変数などの外部リソースへアクセスする際には、FINALUNAが提供するDAOを使用します。DAOを使用することにより、開発者は外部データへのアクセス方法を知らなくてもデータの参照、更新等を行うことが可能です。また、業務ロジックとDAOの間のインタフェースには、先述したDTOが用いられます。共有変数へのアクセスは参照のみ可能です。
○業務ロジック
業務ロジックには汎用処理を除外した純粋な業務ロジックのみを、FINALUNA APIを使用して記述します。これにより、保守性の高い業務ロジックをより効率的に作成可能です。また、業務ロジックのインタフェースは、オンライン、バッチで共通であるため、業務ロジックをこれらの処理で共有することが可能です。
○例外処理
標準のJava APIにはその用途に応じて多くの例外クラスが用意されています。これは発生した例外を特定するのに非常に有用である反面、開発者によりスローする例外が異なり、プロジェクトとしての統一が取れなくなる危険性も含んでいることとなります。そのため、FINALUNAでは業務ロジック内でスローする例外を特定することでこれを解消します。また、システム運用者による発生した例外の特定は、例外スロー時に設定されているメッセージにより行います。スローする例外は、アプリケーション用例外を拡張することで、プロジェクト毎に追加することも可能です。
FINALUNA APIのJava Doc、Java Sourceファイル、ドキュメントは以下からダウンロード出来ます。
FINALUNA frameworkは、ビジネスロジック用Javaインタフェース(FINALUNA API)のリファレンス実装です。NTTデータの金融系システムで数多くの適用実績(2010年4月時点で、5MStep以上のJavaソースコードが稼動)を持つフレームワークです。
(FINALUNA frameworkの公開は終了しました。)
NTTデータでは、豊富な金融系情報システム開発実績に基づくノウハウを、技術参照モデルに相当するFINALUNA(フィナ・ルナ)推奨構成として整備しています。
FINALUNAでは、図のように、金融機関のオープン系システム構築の効率化を目的に、NTTデータのソリューションを活用して、下表の4つの体系でノウハウのコンポーネント化を推進しています。
対応アプリケーションサーバと動作確認状況。