やさしく解説するマイクロソフトの最新技術(第6回)

マイクロソフト株式会社 ソリューションデベロッパー事業部
デベロッパー製品部 テクニカル・エバンジェリスト
熊谷 恒治
kojik@microsoft.com


Microsoft BackOfficeプロダクトについて

 今まではどちらかと言うとWindowsプラットフォームのテクノロジーをベースに解説してきましたが、今回は趣向を変えて弊社のBackOfficeプロダクトについて解説をしたいと思います。

 最近コンピュータ関連のニュースを見ていますと、インターネットを利用した商取引のシステムが結構紹介されています。インターネットコマースと言われているのがそれにあたりますが、ちょっと前までは一般消費者向けのインターネットショップのみが紹介されていました。しかし、昨今は企業向けシステムのインターネット化が注目され事例も少しずつですが、出てきているようです。今までVANなどで提供されてきたシステムをインターネット経由で実現しようと言う動きもその中に入っています。
 そして、この動きに対応すべくMicrosoftから提供されているのが、Microsoft Site Server Commerce Edition 3.0です。
 Site Serverは、今までもインターネットコマースを構築するプラットフォームとしてさまざまな所で活用されてきましたが、昨日発売開始になった3.0はインターネットショップを含むインターネット経由の商取引の機能が大幅に強化されました。特にコマースインターチェンジパイプライン機能の提供により、企業間取り引きを強く意識した構成になっています。
 Commerce Serverでは、このコマース インターチェンジ パイプラインとオーダー プロセス パイプラインが重要な位置を占めます。そこで当解説では、この二つに絞って説明していきたいと思います。


●オーダー プロセス パイプライン(OPP)
 電子商取引サイトは、既存のシステムと統合できなければなりません。さらに電子商取引サイトのオーダー処理は、現在企業で行われているオーダー処理の方法と簡単に統合できなければなりません。当然新しい機能追加要求にも柔軟に対応できなくてはなりません。
 オーダー プロセス パイプライン(OPP)は、これらのすべての要求を実現します。OPPは、それらを実現するために電子商取引サイトでの一連のオーダー処理手続きを定義した以下のような一連の処理ステージを持っています。

(商品情報-マーチャント情報-買物客情報-オーダー初期化-オーダー確認-品目価格-品目価格調整-オーダー価格-オーダー価格調整-オーダー小計-配送料-手数料-税金-オーダー合計-在庫-購入確認-支払い-受注)

 OPPにおけるオーダー プロセスは、上から順に次のステージを実行します。
 各OOPステージではそれぞれ必要な処理を行い、データを次のステージに受け渡します。各ステージの処理は、ビジネス オブジェクト(業務の処理)に対して何らかの操作を行うように定義されたCOMのオブジェクトとして実装されている1つまたは複数のパイプライン コンポーネントが行います。各コンポーネントは、先に説明したとおり前のコンポーネントからデータを受け取ると、オーダーに対して所定の処理を行った後、結果を次のコンポーネントで利用できるように返します。(図1参照)

図1 OOP業務システムとの連携

 標準的なコンポーネントはマイクロソフトから提供されていますが、開発者はOPPコンポーネントを追加することで自分の電子商取引アプリケーションに適した機能を追加できるようにすることが可能です。これらは、既にパッケージとしてもしくはパッケージのアドオンとして、決済パッケージやEDI用のメッセージ交換サーバーそしてERPパッケージ連携用コンポーネントとして市場に提供されています。さらにユーザー独自の実装、例えば在庫処理ステージでメーカーへの発注処理を行うために既存の発注システムと連携するためのコンポーネントを作成する、もしくはメーカーへの発注依頼メッセージをメールシステムに流す等といった実装を行うことも可能です。このようにOPPを使うことで電子商取引に必要な機能を既存システム及びSite Serverそのものに大幅な変更を加えることなく柔軟に提供できるのがOPPです。

●コマース インターチェンジ パイプライン(CIP)
 コマース インターチェンジ パイプライン(CIP)は企業間取り引きにおけるビジネスデータの交換をWebアプリケーションに統合する機能を提供します。今までのコマースシステム、特にインターネットショップでは単独の組織で運営され複数企業システムが連携したシステム構成をとっていませんでした。これは企業間のメッセージ連携機能をWebアプリケーションが提供していないためであり、同様の理由で企業間取り引きのシステムではWebベースのアプリケーションが使われていませんでした。
 CIPを使用すれば、異なる企業で使われているアプリケーション同士がオブジェクトまたはEDI形式のビジネス データをインターネット上で交換できるようになります。CIPは、企業間で交換される注文書、請求書、見積り書などの情報をHTTPや電子メールを介してインターネット経由で交換したり、サードパーティのEDI VANなどの公衆ネットワークを介して、アプリケーション間で安全に交換できる環境を提供します。
 ここで重要なことは、データフォーマットと通信プロトコルの取り扱いです。企業間で交換されるデータフォーマット及びプロトコルは、業界標準もしくは企業内標準などさまざまな形式が存在します。これをアプリケーション毎に意識して実装していったのでは非常に開発負荷の高いものになりますし、アプリケーションの透過性の観点から言っても問題があります。
 CIPは、データ フォーマットやプロトコルには依存ぜずXMLやXMLでラップされたCOMバイナリ オブジェクト、および各種EDIフォーマットをサポートしアプリケーション間でデータ オブジェクトを転送することができます。EDIフォーマットをサポートするには、サードパーティ製のEDIトランスレータアドオンが必要です。CIPはSMTP、HTTP、DCOMを標準サポートし、またサードパーティアドオンとの組み合せでEDI VANもサポートします。このようにCIPもOPPと同様各機能(CIPではメッセージフォーマット及びプロトコル)をコンポーネント化し、アプリケーションから切り離すことでシステムの柔軟な構成を可能にしています。(図2、3参照)

図2 コマースインターチェンジパイプライン(CIP)

図3 企業間アプリケーション連携イメージ

 さまざまなフォーマットやプロトコルをサポートするCIPの構成情報は、パイプラインエディタにより簡単に作成できます。パイプラインエディタで作成したPCFファイル(パイプライン構成情報ファイル)をCIP呼び出しの際に指定します。
 さらにパイプラインは、メッセージの暗号化やデジタル署名などの機能をWindows NTのPublic Key Crypto System (PKCS)セキュリティ インフラストラクチャを使用して提供します。この機能により、インターネットをバックボーンとした商取引を安全に利用することも可能になっています。
 先に述べたとおり、CIPはメッセージ生成やプロトコルの部分がコンポーネント化されており、ISVはこのコンポーネントを作成することで、利用者に幅広いメッセージフォーマットやプロトコルの選択肢を提供することができます。
 また自社開発アプリケーションやサードパーティ アプリケーション用にCOMインターフェイスも提供しています。これにより自社開発会計、カスタマ サービス、ERPなどの業務を受け持つ企業アプリケーションを構築する開発者は、CIPのインスタンスを作成して実行するだけで簡単にCIPを使用できます。これは既存のシステムもしくはパッケージに一部手を加えるだけでさまざまなメッセーフォーマットのサポート及び通信プロトコルのサポートを実現することを意味します。
 サードベンダーは自社アプリケーションをこれらOPP、CIPに対応することで企業間取り引き機能の実装やインターネットショップとの連携などの新しい機能を提供できるとともに、将来の拡張性をも獲得します。さらに既存パッケージとのコネクタとして商品を開発することもできるわけです。
 さて紙面も尽きてきたことですので、Site Serverの説明はここでひとまず終わりにします。もしこの様なビジネスに興味をお持ちでしたらぜひご連絡いただければと思います。


Contents         Windows Consortium ホームページ