今回は前回に引き続き、エンタープライズHUB内のもう1つの柱であるトランザクションHUB(略称TR-HUB)をご紹介する。このTR-HUBの発想は、3つの基幹系アプリケーションの同時並行開発並びにダウンサイジングを18か月で完成させるというニーズに端を発する。また当時、相次ぐシステム開発の結果、類似トランザクションが乱立し、いわゆるスパゲッティ化の様相を呈していた。これらの課題解決に際して、“マスタHUBがあるならトランザクションHUBもあるハズ!“というアーキテクト的仮説を基にTR-HUBの開発に至った。
まず、共用性の高いトランザクションをHUB内にDB化し格納。更新と参照を疎結合な形で一元管理する。ここでの問題は、原本から複写&変換された派生形トランザクションが、その“姿かたち“を変えて多数存在している事である。これらを業務別に取りまとめて1つのエンティティ・タイプとしDB化する。ここでの状態遷移は”ステータス”として汎化される。
ここ迄でかなりスパゲッティ化は解消するが、さらに工夫をしてみる。業務毎に束ねられた各種イベント・トランザクションは5W1Hの属性に共通点を見出すことができる。ここでの業務の種類は“イベント種別“として汎化される。一見、関係の薄そうなトランザクション同志を一つのエンティティ・タイプに汎化してDB化することで、更新、参照のプロセス部品の共有化を図ることができる。結果、企業内のシステム間をまたがるイベントDBは数種類にまで統合することが可能となる。このようなモデリング・アプローチの末に出来上がった産物がTR-HUBである。図1にそのイメージを掲載した。HUBと銘打った事で読書の皆さんはESB(Enterprise Service Bus)と思われるかもしれないが、HUB内に明細DBを保有し、主要トランザクションを汎化して格納する点が大きく異なる。
このTR-HUBのもたらすメリットは当初の想定以上に大きく、その最たるものは、周辺に位置する各業務アプリケーシヨンがプラットフォーム非依存となった事である。DBを介してお互いが疎結合となるので、アプリ毎に最適ソリューションの組合せが可能である。DB側から見ればアプリケーションは大きなサービスと捉えることができ、そこにはクラウド・サービスも含まれる。また、トランザクションの一極化によりマネジメントの集中が可能となり、システム管理面でも大きな効果をもたらす。主要トランザクションのメタデータの規定からインスタンスのバリデート(値の範囲チェック)に至るトランザクションデータ管理(TDM:筆者の造語)が実現できる。これによりTR-HUB内の取引明細は自社で管理し、その他はアウトソースするとように、メリハリを付けることも出来る。
アーキテクチャ主導によって創造されたこのTR-HUB。今では社内で“トラハブ“という愛称で親しみを込めて呼ばれている。“複雑性と冗長性の低減“という観点において、既に企業のROIに十分な貢献を果たしている。今後は、接続アプリをプラットフォーム・フリーにできる特性から、各種クラウド・サービスとオンプレミス環境のインターフェースとして機能し、ハイブリッドなクラウド環境をささえるバックボーンとして、さらなるROI貢献が期待される。