本文へジャンプ


WebSphere > WebSphere Developer Domain > 

WebSphereでビジネス統合を実現する

第3回 新規・既存のアプリケーションの統合(ビジネス・ロジック要素)

 
レベル: 初級・中級者向け
2005年10月05日(水)
WebSphereテクニカル・セールス 豊村明彦
Separation of Concerns(関心事の分離)とリファレンス・アーキテクチャー
現在、オンデマンド・ビジネスを実現するIT基盤を構築するにはSeparation of Concerns(SOC:関心事の分離)が必要であると言われます。IT的なSeparation of Concernsとは、ビジネス・アプリケーションにとって必要な機能やサービスを再利用可能な部品に分割することです。分割された部品の中には、一方ではビジネスに直結する機能があり、また一方ではIT的には意味があってもビジネス的には意味がない機能もあるでしょう。ビジネスに直結する機能はユーザーのビジネス・アプリケーション構築にあたっての部品となります。ビジネスに直結しない機能、たとえばデータ送受信機能やアプリケーション間のデータ・フォーマットの変換などは、オペレーティング環境に組み込んでユーザーのアプリケーションが共通に利用できる部品にする、というのがWebSphere Integration Reference Architecture(以下、WIRF)の基本となる考え方です。

図1
図1 Separation of Concerns(関心事の分離)

WIRFの最終的な目標は、ビジネス・アプリケーションを開発する際には、ビジネス・ロジックだけ考えればプログラムを組み立てられるような基盤(=オペレーティング環境)を提供し、ビジネスのプロフェッショナルがITを自由自在に使えるようにすることです。これは、ビジネス・ロジックとITロジックの間のギャップを埋めてオンデマンド・ビジネスの実現を目指すことに他なりません。現在はSOAがオンデマンド・ビジネスを実現するためのベスト・プラクティスと考えられており、従ってWIRFの実装もサービス指向になっているのです。

今回は、主に新規・既存のアプリケーションに対するアクセス方法について考えてみましょう。これもビジネス・ロジックとは無関係なIT基盤ですので、オペレーティング環境が共通の部品として提供しなくてはなりません。

上に戻る
Business Application Services
オンデマンド・ビジネスを実現するための新しくビジネス・アプリケーションを作るには、柔軟に変更可能、再利用可能といった要件を満たすようにデザインすることが必要です。 ここでの主役はWebSphere Application Server(以下、WAS)です。WASはメモリーやプーリングなどのリソース管理(Core Services)、コンテナーによるトランザクション管理(Component Services)、データベース・アクセスやメッセージング・インターフェース(Interface Services)などの機能でビジネス・ロジック以外のアプリケーション開発負荷を低くします。WASはJ2EE標準をサポートしていますので、トランザクションやメッセージング、コネクターなどのインターフェースはJTAやJMS、JCAといったものになります。最近では扱うデータに関しても標準的なビジネス・オブジェクトの仕様が作られつつあり、出来上がったアプリケーションは移植性が高く、部品として容易に再利用できるものになります。

このように新規に作るアプリケーションは、アーキテクチャーを踏まえて現在考えられる最良の部品で構成することができるでしょう。では、既存のアプリケーションの場合はどうでしょうか。

上に戻る
Application and Information Assets
ほとんど全ての企業は既存のコンピューター・システムを持っており、それらは日々の業務に欠かせないものとなっています。新しいシステムを構築しようとしても全てのシステムを置き換えるわけではなく、好むと好まざるとに関わらず、既存のシステムは使い続けなくてはなりません。既存のアプリケーションは独自のAPIや通信方法を持っているものです。それらは簡単に変えることが出来ません。何とかして既存のアプリケーション自体には変更を加えず、他の新規アプリケーションとの間は新しい標準インターフェースで連携できるようにしなくてはならない、ということになります。
双方向のコミュニケーションのためにオペレーティング環境が用意しなくてはならない機能は次のとおりです。
1. アプリケーションとのやりとりで使用するデータをメタ・データ形式で抽出する機能
2. アプリケーション間で異なっているデータ・フォーマットを変換し、それぞれのアプリケーションが理解できる通信手段でのコミュニケーションを仲介する機能
3. アプリケーションで発生するイベントを検知して他のアプリケーションに報せる機能

WebSphare Business Integration Adapters(以下、WBI Adapters)は、アプリケーション・サーバー(WAS)やEAIハブ(WBI Message Broker)を介してこれらの機能を実現するための製品群です。 WBI AdaptersはWASやWBI Message Brokerといったハブと既存アプリケーションの間に位置し、既存アプリケーションとはSAPのIDoc、BAPIなどの固有のAPIやMQ、FTP、JDBC等の標準インターフェースでコミュニケーションをします。一方WBI AdaptersとEAIハブとの間の連携はMQによって実装されています。

WASやWBI Message Brokerがハブとしてアダプターを呼び出し、既存のアプリケーション間連携を行なう場合の基本的な動作は、次のようになります。

1. JMSメッセージを送信することでアダプターを起動します。
2. アダプターはメッセージをBO(ビジネス・オブジェクト)と呼ばれる内部データに変換します。
3. アダプターは既存アプリケーションのAPIを呼び出したり、JDBCやFTPプロトコルで通信したりします。
4. 結果を再びメッセージとしてハブに戻します。

次の図は、WBI Message BrokerにてWBI Adapter for JDBCアダプターを利用してデータベースの同期を実装した例です。

図2
図2 WBI Message Brokerを使用したJDBCアダプターによるDB更新処理の同期

既存のアプリケーション同士がコミュニケーションを行なう場合は、双方のアプリケーションに対応したアダプターが必要であることはお分かりいただけると思います。WBI AdaptersはEAIハブとの間のやりとりをJ2EE標準に準拠したメッセージング・インターフェースJMSで実装しています。

アプリケーション・サーバー上の新規アプリケーションと、既存のアプリケーションはWBI Adaptersを介してどのようにしてコミュニケーションするのでしょうか。WASのアプリケーションから見ると、WBI AdaptersはWeb Servicesとしてアクセスすることができます。WBI AdaptersはそのためにWSDLを出力し、これをインポートすることによってアダプターはWebサービスとしてラップされ、EJB経由でメッセージを送信、受信することができます。ということは、WASにて開発された新規アプリケーションからみると、既存のアプリケーションはWBI Adaptersを経由してWebサービスとして実装することができるということです。

図3
図3 WebSphere Application ServerによるWBI Adapterの実装

2005年9月14日にはJ2EE標準のJCA(Java Connector Architecture)V1.5に準拠したアダプターが発表されています(WebSphere Adapters)。このJCAアダプターを使用すると、アプリケーションの呼び出しを同期的なトランザクションとして扱うことができるので、データベースのツー・フェイズ・コミットなども実装できるようになります。WBI Adaptersとの大きな違いは、WebSphere Adapterは同期的な呼び出しであることと、それゆえにWASのトランザクション管理下にあるということでしょう。

図4
図4 JCA対応アダプター WebSphere Adapters
上に戻る
前頁へ  |  次頁へ
この記事についてどう思われますか?
  
  
  
  
  



  
レベルマークについて

このページで紹介されている情報はレベル別にカテゴライズされています。

上級者向け
中級者向け
初級者向け
入門者向け

製品紹介
WebSphere MQ