[事例研究] 三菱重工株式会社 神戸造船所

技術コラム:
「システム統合」と「ワークフロー」の二面を持つBizTalk Server 2000


新野淳一/@IT
2001/12/06


 BizTalk Server 2000(以下BizTalk Server)は、XMLをベースに企業間連携、いわゆるBtoBや、企業内アプリケーション統合(EAI:Enterpirse Application Integration)を実現する機能を備えた製品だ。BizTalk Serverには、SQL ServerやExchange Server、Oralceといったデータベースや、SAPなどのさまざまなERP製品、それにVisual Basic(以下VB)などで作成したアプリケーションとの接続機能がある。また、接続したアプリケーション間でデータ交換ができるように、XMLベースのデータの変換機能も備えている。

Microsoft BizTalk Server 2000 Enterprise Edition
XMLをベースとする企業間連携(BtoB)や企業内アプリケーション統合(EAI:Enterpirse Application Integration)を実現する機能を備える。

 さらに、どのシステムからどのシステムへ通信を行うのか、どういったデータを送るのか、といった設定をノンプログラミングでビジュアルに行える機能もある。BizTalk Serverのこれらの機能を利用して、企業間、企業内の業務プロセスの自動化と統合化が実現される。

 BizTalk Server は、このように「システム統合」の機能と、システム間のデータの流れを制御する「ワークフロー制御」の機能の2つを統合したものだといえるだろう。

■あらゆるシステムに対する接続機能を備える

 この2つの側面に着目して、BizTalk Serverの機能を見ていこう。まず、インターネット越しに外部システムとの統合を実現するのが「BizTalkメッセージング・サービス」だ。Internet Information Server(IIS)やExchange 2000 Serverと連携して、HTTPSMTPFTPといったプロトコルをサポートする。当然ながらデータフォーマットとしてXMLをサポートするため、SOAPはもちろん、RosettaNetやcXMLといったさまざまな業界標準に対応する。と同時に、BizTalkメッセージング・サービスでは、受け取ったデータフォーマットの変換や暗号化、電子署名といった処理も行う。つまり、相手がBizTalk Serverでなくとも、これらのプロトコルとデータフォーマットをサポートしていればよいということだ。

 一方、ファイアウォールの手前にある社内のサーバとの間で、COMコンポーネントの呼び出しやOLE DB、MSMQといった手段を利用しての接続については、BizTalk Serverのもう1つの機能「BizTalkオーケストレーション・サービス」を用いる。COMによりWindows上で開発されたアプリケーションとの接続が手軽に実現され、OLE DBを用いればデータベースとの接続も自由だ。メインフレームとも、Microsoft Host Integration Serverを経由して接続できる。

 こうしたBizTalk Serverの接続機能を利用すれば、社内システムとの統合と、インターネット越しの社外システムとの統合を同時に行える。たとえそれぞれにデータフォーマットが異なるとしても、BizTalk Serverの持つデータ変換機能により、それぞれのシステム間のデータはシームレスにやりとりされる。

■ロング・トランザクションに対応したフロー定義

 プロトコルとデータが統合されたら、次はそのデータの流れを制御する機能が必要だ。例えば、メインフレーム上のデータが追加されたら、それを社内の部門で運用されているSQL Serverのデータベースへ送って反映し、同時に社外の取引先に対しては、取り扱い製品の変更情報として送信する、といった一連の流れを制御するワークフロー(もしくはビジネス・プロセス)の制御が必要になる。こうしたシステム全体のデータの流れを制御できて初めて、システムを統合した意味が出てくる。

 このワークフローはトランザクションとして扱われなければならない点に注意したい。先の例でいえば、メインフレーム上のデータ追加を発端に、部門サーバのデータ変更と、取引先への告知は確実に行わなければならない。通信回線などの不良で取引先への告知が失敗したならば、全体のトランザクションがロールバックする、といったトランザクションの管理が可能でなければ、BizTalk Serverで統合されたシステム間にデータの食い違いが発生してしまうからだ(こうした、ワークフローなどの上で数時間から数日にわたって管理されるトランザクションのことを、通常は数秒から数時間で終了するデータベース系のオンライントランザクションと対比して、一般に「ロング・トランザクション」と呼ぶ)。前述した「BizTalkオーケストレーション・サービス」には、ロング・トランザクションに対応したワークフロー作成機能が備わっている。それが「BizTalkオーケストレーション・デザイナー」だ。

 BizTalkオーケストレーション・デザイナーは、Visioのユーザーインターフェイスを利用しており、画面上の部品を組み合わせてつなげていくことで、グラフィカルにフローを含むシステム連携を表現できる。定義されたシステム連携は「XLANG」と呼ばれるフォーマットのXML文書に保存される。

■BizTalk Server最大の特徴はビジュアル開発環境

 いわゆるWebアプリケーションサーバを利用することでも、BtoBも含むシステム統合や連携を実現できる。しかし、こうしたWebアプリケーションサーバとBizTalk Serverを比較した場合、BizTalk Serverの最大の特徴は、システム連携をグラフィカルに作成できる点になるだろう。実際、BizTalk Serverではプログラミングという作業はほとんど必要ない。社内のシステムも社外のシステムも、プロトコルとデータ形式を設定し、それをグラフィカルな画面でどのように連携させるかを定義すればいい。

 COMやOLE DB、MQやホスト連携といった接続性の面では、Webアプリケーションサーバでも、多くのベンダがコネクタに力を入れているため、BizTalk Serverとの機能差はそれほど大きくない。しかし、Webアプリケーションサーバでロング・トランザクション処理を含むワークフローを定義しようとすると、ほとんどの製品ではJavaのServletやBeanによるプログラミングが必須だ。

 Javaプログラミングを行えば、およそロジックとしてあらゆる表現が可能になるが、開発効率という面では、グラフィカルにフローを表現するBizTalk Serverには及ばない。Webアプリケーションサーバでは、フロー以外にも、会計計算や文書処理、ページ生成といった複雑な処理にも対応するために、Javaプログラミングという手段を取らざるを得ない。一方、BizTalkはシステムの統合と連携という目的に特化しているため、それを表現するための命令セットだけがあればよく、その結果グラフィカルな開発ツールによるフロー制御という、効率的な開発環境が実現されたといえるだろう。もちろん、複雑な処理が必要になった場合には、フローの途中でVBで開発されたモジュールを呼び出すことも容易である。これは目的に対するアプローチが、WebアプリケーションサーバとBizTalk Serverで異なるだけだともいえる。

■標準技術を取るか、開発効率を取るか

 このアプローチによる違いは、Javaのような標準技術を取るか、BizTalk Serverの開発環境を選ぶか、という点で利用者を悩ませることになる。BizTalk Serverでは高い開発効率を実現する代わりに、それがBizTalk Server独自の機能であるため、BizTalkから他のサーバに乗り換えるには、またゼロからシステム統合アプリケーションを作り直す必要がある。また、BizTalk Server上の開発で得られたノウハウは、BizTalk Server以外では生かしにくい。しかし、統合システムの多くがマイクロソフト製品であるとか、開発チームがVBなどのマイクロソフトの開発環境になじんでいるのであれば、BizTalk Serverの特徴は非常に魅力的だろう。

 一方、Javaでプログラミングする限り、Webアプリケーションサーバを他社のWebアプリケーションサーバへ乗り換えることは比較的容易だ。コネクタの部分にベンダ独自の機能を使っていたとしても、ロジックを表すJavaやServletの部分なら、製品に依存する命令を使う必要はほとんどないだろう。また、Javaの開発によって得たノウハウは、他のWebアプリケーションサーバを利用したシステムの開発でも生かすことができるだろう。

 しかし、それぞれの利点はあくまで現時点のものである。グラフィカルにワークフローを定義することで、Javaのアプリケーションを生成するような高い開発効率を実現するツールが近い将来ベンダから提供されることは、十分あり得る。一方、BizTalk ServerのXLANGのように、ワークフローを表現する言語そのものをXML文書で定義する動きもあるし、先日マイクロソフトが.NET対応のJ#言語を発表したように、BizTalk ServerにJavaのテクノロジを取り入れることもあるかもしれない。

 いずれにせよ、ここで見てきたように、BizTalk ServerはBtoBだけでなく、企業のシステム統合を実現する機能を十分に備えている。導入に当たってその特徴を上手に生かすことで、他の製品では実現できない短期間かつ容易なシステム構築を行える能力を秘めている。End of Article

 

 INDEX
  [事例研究]三菱重工株式会社 神戸造船所
    1.安全で効率的な船の運航を可能にする「24時間常時稼動の無人支援システム」の必要性
    2.VBでコンポーネントを開発、BizTalk Serverでそれらを連携させる
    3.コンポーネント化とオーケストレーションにより、柔軟なシステムを構築
    技術コラム:「システム統合」と「ワークフロー」の二面を持つBizTalk Server 2000
 
事例研究


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間