そごうソフトウェア研究所

SOA、開発プロセス、ITアーキテクチャなどについて書いています。Twitterやってます@rsogo

SOA実装プロジェクトでの苦労と対策

SOAというと企業システムの課題をいろいろ解決してくれるだろうということで、実際プロジェクトを開始するといろいろと大変なこともあります。(SOAだけではないと思いますけど・・・)。

SOA実装プロジェクトで何が大変かということをいくつかのプロジェクトで調査したことがありました。
その中でまず最初にあがるのが、プロジェクトの中で構築するアプリケーションから、既存のアプリケーションを呼び出すのが大変だということでした。


これまでは新しいアプリケーションで既存のアプリケーションが持つデータを参照する必要があれば、データを定期的にコピーして新しいアプリケーション内に持っていましたが、リアルタイム性やデータの正確性を求めてデータのオーナーを定義し、オーナーのアプリケーションをサービスとして公開することにしたので、当然、リモート呼び出しが発生します。

ところが、実際呼び出してみると正常に呼び出せないのですWSDLでインターフェイスはきっちり定義されていますが、例えばコード体系が異なっていたりしました。


これは2つの要因が考えられます。

  1. 既存のアプリケーションを設計した際には、他のアプリケーションから呼び出されるということが、想定されていなかったため
  2. 他アプリケーションは管理主体が異なり、情報が伝達されていなかったため


この対策としては、、、、
一つはコード体系やデータフォーマットの標準化を行うことでアプリケーション間での変換処理を抑制することが考えられます。これは予めアプリケーション間の連携が発生する想定で設計することであり、単純に1アプリケーションを設計するよりもオーバヘッドが発生しますが、複数のアプリケーションを連携させながら業務プロセスを完結していくようなシステムを早く、安く構築するためには必要な活動だと思います。

二つ目はそのアプリケーションがどのようなインターフェイスを持っていて、どのように使えば良いのかという情報が公開されていることだと思います。

最後に、対策では無いですが、一度、公開したサービスはテスト済みであり、実績があるため、同じサービスが他で利用される場合には初回に比べてコスト、労力はかなり抑えられるはずです。