クライアント型SOAの設計方法と開発方法
クライアント型SOA開発のポイント
クライアント型SOAの開発ポイントは1も2もなく、システムの部品化です。スモール・アンド・クイックスタートを実現したシステムは柔軟性を加味することにより、その価値は飛躍的に高まります。このシステムの部品化はできる限り、小さな単位でコンポーネント化し、このコンポーネントの交換だけで、メンテナンス性の向上と、柔軟性を高めます。詳しくは「IdbAで構築する生産性が高いリッチクライアント」を参照下さい。
オリエント貿易のクライアント型SOAの実装事例
クライアント型SOAの実装例として、オリエント貿易の事例を紹介いたします。
システム案件の背景
商品先物取引大手のオリエント貿易株式会社は、ネットトレードに創世記から参画している先進的な企業です。オリエント貿易はネットトレード部門で1万人の新規顧客と100億円の預かり高を獲得するべく、オリエントアグリゲーションサービスを含めたサービス展開を拡充しています。
同社のホームトレードサービス「浪漫飛行」の急激な利用者増と、顧客ニーズの変化に対応するために、柔軟かつ短期間での開発が求められた同システムでは、クライアント型SOAを採用しました。クライアント型SOAの実装により従来のサーバ型と比較して1/3の期間と開発コストで機能更新に柔軟なアグリゲーションサービスを構築できました。
インターネット上で銀行口座、証券口座などのアカウント(口座)の管理・運営を一元的かつ一括で行うサービスです。近年、金融サービス企業では顧客サービスレベルの向上のため、本サービスを採用するニーズが高まってきています。
サーバ型とクライアント型SOAの比較
システムの検討時には従来工法のサーバ型でのシステム構築を検討されていました。しかしながら、従来のサーバ間接続のシステムでは表5のようなデメリットがあることがわかり、クライアント型SOAをベースにアグリゲーションサービス・システムを構築いたしました。
- 利用者のアクセスが集中するため、中央に大規模なサーバシステムの構築が必要となり、コストが逼迫する
- サーバ間接続の場合、接続先の金融サービス他社との交渉が必要となり、交渉・システム開発などに多大な時間を要する
- サーバ型のシステム構成の場合、利用者が所持する他の金融サービスの口座情報(ID、パスワードなども含む)を同社が管理しなくてはならないため、個人情報の観点から非常に高いリスクを負うことになる
- 利用者がアクセスするのは接続先の金融サービス他社のWebサービスとなるため、中央に独自のサーバシステムを構築する必要がない(低コストでの実現)
- 利用者は各金融サービス他社へのWebサービスに対し同社のアグリゲーション・クライアントを通して接続するしくみであるため、各金融サービス他社のサービス約款の範囲で実現できる。よって、各金融サービス他社との交渉、提携などの時間をかける必要がない(一般的な金融サービス企業の約款には利用者が管理しなくてはならない口座情報を原則として第三者に貸与、管理移管することは禁じられています)
- 利用者が所持する他の金融サービスの口座情報を同社が管理する必要が一切ないため、個人情報保護の観点で非常にリスクが低い
クライアント型SOAの実装により、短期間・低コスト・低リスクでのアグリゲーションサービスを構築することができました。同システムのシステムイメージ図は図6の通りです。