クライアント型SOAの設計方法と開発方法

2005年10月3日(月)
吉政 忠志

クライアント型SOA開発のポイント

クライアント型SOAの開発ポイントは1も2もなく、システムの部品化です。スモール・アンド・クイックスタートを実現したシステムは柔軟性を加味することにより、その価値は飛躍的に高まります。このシステムの部品化はできる限り、小さな単位でコンポーネント化し、このコンポーネントの交換だけで、メンテナンス性の向上と、柔軟性を高めます。詳しくは「IdbAで構築する生産性が高いリッチクライアント」を参照下さい。

オリエント貿易のクライアント型SOAの実装事例

クライアント型SOAの実装例として、オリエント貿易の事例を紹介いたします。

 

システム案件の背景

商品先物取引大手のオリエント貿易株式会社は、ネットトレードに創世記から参画している先進的な企業です。オリエント貿易はネットトレード部門で1万人の新規顧客と100億円の預かり高を獲得するべく、オリエントアグリゲーションサービスを含めたサービス展開を拡充しています。

同社のホームトレードサービス「浪漫飛行」の急激な利用者増と、顧客ニーズの変化に対応するために、柔軟かつ短期間での開発が求められた同システムでは、クライアント型SOAを採用しました。クライアント型SOAの実装により従来のサーバ型と比較して1/3の期間と開発コストで機能更新に柔軟なアグリゲーションサービスを構築できました。
 

アグリゲーションサービスとは
インターネット上で銀行口座、証券口座などのアカウント(口座)の管理・運営を一元的かつ一括で行うサービスです。近年、金融サービス企業では顧客サービスレベルの向上のため、本サービスを採用するニーズが高まってきています。


サーバ型とクライアント型SOAの比較

システムの検討時には従来工法のサーバ型でのシステム構築を検討されていました。しかしながら、従来のサーバ間接続のシステムでは表5のようなデメリットがあることがわかり、クライアント型SOAをベースにアグリゲーションサービス・システムを構築いたしました。
 

  1. 利用者のアクセスが集中するため、中央に大規模なサーバシステムの構築が必要となり、コストが逼迫する
  2. サーバ間接続の場合、接続先の金融サービス他社との交渉が必要となり、交渉・システム開発などに多大な時間を要する
  3. サーバ型のシステム構成の場合、利用者が所持する他の金融サービスの口座情報(ID、パスワードなども含む)を同社が管理しなくてはならないため、個人情報の観点から非常に高いリスクを負うことになる

表5:サーバー間接続によるシステムのデメリット


  1. 利用者がアクセスするのは接続先の金融サービス他社のWebサービスとなるため、中央に独自のサーバシステムを構築する必要がない(低コストでの実現)
  2. 利用者は各金融サービス他社へのWebサービスに対し同社のアグリゲーション・クライアントを通して接続するしくみであるため、各金融サービス他社のサービス約款の範囲で実現できる。よって、各金融サービス他社との交渉、提携などの時間をかける必要がない(一般的な金融サービス企業の約款には利用者が管理しなくてはならない口座情報を原則として第三者に貸与、管理移管することは禁じられています)
  3. 利用者が所持する他の金融サービスの口座情報を同社が管理する必要が一切ないため、個人情報保護の観点で非常にリスクが低い

表6:クライアント型SOAによるシステムのメリット


サーバ型との比較
図5:サーバ型との比較
(画像をクリックすると別ウィンドウに拡大図を表示します



クライアント型SOAの実装により、短期間・低コスト・低リスクでのアグリゲーションサービスを構築することができました。同システムのシステムイメージ図は図6の通りです。
 

システムイメージ
図6:システムイメージ
 
吉政創成株式会社 代表取締役

IT業界のマーケティング分野で20年近い経験を持つマーケッター。株式会社トゥービーソフトジャパンをはじめとするベンチャー企業から大手企業まで幅広くマーケティング支援を行う。現在はマーケティングアウトソーシング会社である吉政創成株式会社の代表取締役を務めつつ、PHP技術者認定機構 理事長、Rails技術者認定試験運営委員会 委員長、ビジネスOSSコンソーシアム・ジャパン 理事長も兼任。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています