目次


SOA ベースの統合環境で共通情報モデル (CIM) が持つさまざまな様相

Comments

概要

SOA ベースのアーキテクチャー・スタイルで、業界固有の共通情報モデル (CIM: Common Information Model) を組み合わせたサービスを作成するには、CIM を拡張する必要があります。これは、CIM は概念上のものであり、大抵の場合は直接実装するには不適切であることから、属性、オブジェクト、関係、操作、インターフェースなどのレベルでの拡張が必要になってくるためです。つまり、標準的な SOA ベースの環境には、コア CIM と拡張 CIM が存在することになります。拡張 CIM はさらに、Weaker CIM と Weakest CIM に二分することができます。この 2 つの層はそれぞれに固有のカテゴリーのエントリー・ポイントを所有し、特性も異なるため、別々に管理する必要があります。一般に、1 つのサービスにはこの 3 つすべての層のエンティティーが含まれることに注意してください。

CIM 層の概要

図 1 に、CIM ベースの SOA 環境内にあるさまざまな層を示します。各層に示されているシャボン玉のような丸印はその層へのエントリー・ポイントです。各層には、上位にあるどの層からもエントリー・ポイントを介してアクセスすることができます。つまり、各層は特定のカテゴリーに限定されていますが、その層と接している上位の層だけが関係するわけではないのです。以降のセクションで、それぞれのエントリー・ポイントについて詳しく説明します。

図 1. CIM 層
CIM 層
CIM 層

コア CIM 層

コア CIM 層は、業界が公開しているそのままのモデルからなります。例えば、電気通信業界では TMF (TeleManagement Forum) の SID (Shared Information Data) モデル、金融業界では IFW という名前が付けられた、属性および関係を持つ抽象エンティティーが含まれる IBM の金融サービス・モデルなどです。

コア CIM の特性

  • コア CIM はほぼ静的な層ですが、不足している部分が見つかった場合には、設計者がこの層をカスタマイズすることもできます。
  • 不足しているケースとして考えられるのは、データ定義が欠如しているケースや、さまざまな関係において一意に決まる名前を使用した ID が欠如しているケースなどです。
  • このような CIM モデルからサービス仕様を生成するツールは、別の基本層でその不足部分を管理する必要があります。つまり、拡張層/サービス運用層に対してエントリー・ポイントを提供する一方で、基本層を分離することによって、将来、基本層の新しいバージョンが出たときに置き換えられるようにするということです。
  • エントリー・ポイントは、コア CIM のオブジェクト、そしてオブジェクトの属性、関係、オブジェクトのインターフェースを介してアクセスを提供します。Weaker CIM はこのすべてのカテゴリーにアクセスすることができますが、Weakest CIM 層とサービス層は専用のインターフェースを持っているかどうかに関わらず、コア CIM のオブジェクトまたは関連インターフェースにしかアクセスすることができません。以下に記載するのは、コア CIM のオブジェクトにアクセスする場合の典型的な例です。
    • TMF が指定する SID 内では、GeographicAddress オブジェクト (コア CIM) に含まれる Weaker CIM の AddressDetails 属性によって非構造化アドレスが有効にされます (図 2 を参照)。
    • サービス操作による Address オブジェクト (コア CIM) へのアクセスを RetrieveAddressDetailsRequest やそのレスポンスで実現します (図 3 を参照)。
    • 例えばトランザクション ID やシステム詳細を含めるための TransactionDefinition オブジェクトなど、統合に固有の要素 (Weakest CIM) に対するアクセスを実現します。ただし、アクセスは図 4 に示すようにサービス操作を介して行われます (注: 上記の例で説明したように、Weakest CIM には複雑な要素を含めることはできないまでも、基本要素を含めることはできます)。
図 2. GeographicAddress
GeographicAddress
図 3. RetrieveAddressDetailsRequest
RetrieveAddressDetailsRequest
RetrieveAddressDetailsRequest
図 4. TransactionDefinition
TransactionDefinition
TransactionDefinition

Weaker CIM 層

この層には、純粋なビジネスの意味を伝達して存続させるための拡張 CIM エンティティーが含まれます。ここで強調する言葉は、「ビジネスの意味」です。というのも、モデル設計者は、ビジネスの観点から正当化されない限り、ビジネス要素をサービス・インターフェースに組み込むのではなく、ビジネス要素の表明をサービス・インターフェースで視覚化し、さらに十分に抽象化された用語で表現する必要があるからです。

Weaker CIM には以下のエンティティーを含めることができます。

  • 属性
  • オブジェクト
  • 関係
  • IFW などのモデルに含まれるインターフェースおよびメソッド・レベル

Weaker CIM の特性

  • この層は動的であり、ビジネスに固有の拡張エンティティーの大部分がここに含まれます。
  • 有効化ツールはこの層を他とは切り離して管理する必要がありますが、サービス運用層に対するエントリー・ポイントは一緒に管理します。
  • エントリー・ポイントは、サービス操作がオブジェクト、メソッド、インターフェースを介して、操作対象にアクセスできるようにします。以下は典型的なアクセス例です。
    • サービス操作 SearchPhoneNumberRequest による TelephoneNumber オブジェクトへのアクセスを可能にします (図 5 を参照)。
図 5. SearchPhoneNumberRequest
SearchPhoneNumberRequest
SearchPhoneNumberRequest
  • サービス操作がメソッドを介してアクセスできるようにします。図 6 は、IFW モデルから抜粋した例で、InvolvedPartyInformationMaintenance サービスには Weaker CIM 層の getPassportRegistrationInformation メソッドが必要です。
図 6. getPassportRegistrationInformation メソッド
getPassportRegistrationInformation メソッド
getPassportRegistrationInformation メソッド

Weakest CIM 層

最後に紹介する CIM 層には、単に統合するために必要なオブジェクト、属性、インターフェース、およびメソッドが含まれます。例えば、メッセージ・ヘッダー関連のエンティティーや、結果を操作するために必要なエンティティー、そしてサービス操作と Weaker/コア CIM 層に接続するためのエンティティーです。注意する点として、この最後の層は常に下位の Weaker CIM 層およびコア CIM 層と共存する必要がありますが、これらの層にはサービス操作を介して接続されます。

Weakest CIM の特性

  • この層も動的ですが、Weaker CIM と比べ、その拡大速度は極めてゆっくりしています。
  • この層は純粋に、統合を促進し、関数を制御するエンティティーを保持することを目的としています。
  • 下位層の抽出を可能にするために、ツールはこの層を他とは切り離して管理する必要があります。
  • エントリー・ポイントは、以下の例のように、サービス操作がスタンドアロンの基本要素、オブジェクト、またはインターフェースとメソッドを介して、操作対象にアクセスできるようにします。
    • コントローラーの基本要素 returnResult で返される結果の数を指定することによって、RetrieveAddressResponse サービス操作にアクセスします (図 7 を参照)。
図 7. RetrieveAddressResponse
RetrieveAddressResponse
RetrieveAddressResponse
  • TransactionDefinition (Weakest CIM オブジェクト) にアクセスする ITransactionDefinition (インターフェース) を指定することによってサービス操作へのアクセスを有効にします (図 8 を参照)。前述のとおり、Weakest CIM は単独で存在することはできず、常に下位層に依存しますが、その結合はサービス操作を介して行われます。
図 8. ITransactionDefinition
ITransactionDefinition
ITransactionDefinition

まとめ

CIM 層を論理的および物理的に分離することが、SOA ベースの環境で疎結合を実現する鍵となります。さらに層の分離では上位層が利用するためのエントリー・ポイントを定義することから、管理が容易なエンタープライズ向けエコシステムのコアの部分が作成されます。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=SOA and web services
ArticleID=548910
ArticleTitle=SOA ベースの統合環境で共通情報モデル (CIM) が持つさまざまな様相
publish-date=08242010