SQL Server Blob Adapter

今回は、前々回の記事でで前フリしていたSQL Server Blob Adapterについて説明します。
このアダプタはGOTDONETで公開されているサンプルで、下記URLからダウンロード可能です。

http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=189360ed-b216-45d2-b11a-b42828a3697d

どのようなアダプタかというと、受信/送信のアダプタが用意されていて、
受信アダプタは、指定されたテーブルを定期的にポーリングし、
新しいメッセージが格納されていれば取り出してBizTalkへ渡します。
また送信アダプタは、BizTalkから渡されたメッセージを
指定されたテーブルのイメージ列にそのまま格納(送信)します。

このアダプタを使用するメッセージポートでは、パススルーパイプラインを使用して
どのような形式のメッセージでも受け渡しできる構成にしています。
またソースコード一式も付属してますので、SQL Serverでのイメージ列操作や
BizTalkアダプタ作成のサンプルとしても参考になります。

とは言え、このアダプタをシステム開発の現場でそのまま使用できるかと言うと微妙です。
巨大なデータをどのように扱うかは、BizTalk内部だけでどうこうすべき問題ではなく、
例えばメッセージを送る側で細かく分割して送れないか?など、
より大きな視点で議論するテーマだからです。

BizTalk Serverの処理の傾向として、巨大なサイズの1つのメッセージを処理するよりも
より小さいサイズのメッセージを複数処理したほうが早く処理が終了する場合が
多いことを覚えておいてください。

アダプタの内部構造や作り方に関しては、そのうちまとめたいと思います。
では、また次回。