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

2.VBでコンポーネントを開発、BizTalk Serverでそれらを連携させる


デジタルアドバンテージ
2001/12/06


 ここで、今回開発された“DOCTOR DIESEL”の構成を見てみよう。

“DOCTOR DIESEL”の構成
船舶に搭載するディーゼル・エンジンに取り付けられている各種センサーから得られたログ・データをXML形式にしてインターネット・メールに添付し、通信衛星経由で地上局側に送る。メールを受け取った地上局側では、BizTalk Serverのオーケストレーション機能を使って、ログ・データのデータベースへの登録、分析処理、グラフ作成処理など、一連のロング・トランザクション処理を実行する。最終的な分析情報は、再度メールで船舶に戻されると同時に、船の運航を管理する運航管理会社にも送られる。

 船舶には、通常ディーゼル・エンジンに取り付けられている各種センサーからの情報を収集するデータ・ロガーが取り付けられており、一定時間ごとに、エンジンの状態がモニタされ、その情報がPCに伝えられる。“DOCTOR DIESEL”の構成機器である船舶側のPCでは、この受け取ったデータにXML形式のタグを付けてXMLファイルに変換し、それをインターネット・メールに添付して、通信衛星(インマルサット)経由で地上局側に送信する。データ形式としてXMLを選択したのは、将来的な応用を見越してのことだ。「エンジンのログ・データですから、データ自体にそれほど複雑な構造があるわけではありません。その意味でXML化は必須ではなかったかもしれませんが、将来的な応用も念頭に置き、“DOCTOR DIESEL”には汎用性と柔軟性の高いXML形式を採用しました」(三菱重工 神戸造船所 小野直樹 氏) 船舶側はそれほど重い処理は行わないので、“DOCTOR DIESEL”の第1号搭載船では、MMX Pentium-300MHz/64Mbytesメモリを搭載したWindows 98マシンを使っている。

 メールを受け取った地上局側では、メールに添付されたXMLファイルの内容を読み出し、データをSQL Server 2000で構築されたデータベースに登録する(図の「DB登録スクリプト」)。次に、登録されたデータを基にして、エンジンの分析と自動診断を行う(図の「分析COM」)。このとき、一定の範囲や条件値を超える異常が見つかった場合には、警告を発する。また、ExcelをCOMコンポーネントとしてドライブし、エンジンのトレンド・グラフ(エンジンの動作状態などを表すグラフ)を作成する(図の「グラフ作成COM」)。分析処理、グラフ作成処理が完了したら、警告情報(存在する場合)や作成したグラフをメールで船舶と運航管理会社の双方に送信する。COMやスクリプトを使ったこれら一連のトランザクション処理を統括するのがBizTalk Server 2000というわけだ。

 “DOCTOR DIESEL”の将来的な普及を見込んで、地上局側のサーバには、Pentium III-866MHz+512MbytesメモリのIAサーバと、Windows 2000 Advanced Server、BizTalk Server 2000 Enterprise Edition、SQL Server 2000 Enterprise Editionを採用した。「現在、三菱重工が製造したディーゼル・エンジンを搭載して就航している船は400隻程度あります。最終的にはこれらすべての船に搭載していただきたいと考えていますが、まずは50隻程度を目標にしたいと考えています」(三菱重工 神戸造船所 須藤俊氏)

三菱重工業(株)
神戸造船所
企画経理部 システム推進グループ
グループ長
渡辺 重
「将来的なシステムの強化では、サーバ・システム自体を追加するスケールアウトを採用する予定です。BizTalk Server 2000 Enterprise Editionを導入していますから、BizTalk Serverによるオーケストレーションを複数のサーバで並列実行し、同期させることが可能です」

 「隻数が増えることに対してシステム的に強化する方法に関し、必要なら、現在のサーバ・システムにCPUやメモリを追加して強化することも可能ですが、将来的なシステムの強化では、サーバ・システム自体を追加するスケールアウトを採用する予定です。BizTalk Server 2000 Enterprise Editionを導入していますから、BizTalk Serverによるオーケストレーションを複数のサーバで並列実行し、同期させることが可能です」(三菱重工 神戸造船所 渡辺 重氏)

コンポーネントの連携処理では、Visioによるグラフィカル・ツールを活用

 使い慣れたVBを開発言語に選択したとはいえ、コンポーネント・ベースのシステム開発は初めての経験であり、苦労も多かったという。「従来より『ウォーター・フォール』型のシステム開発を採用してきました。そのため、必要な機能をコンポーネントとして独立させ、それを必要に応じて組み合わせるというコンポーネント・ベースのシステム開発は、頭では分かっていても、当初はなかなか切り替えができませんでした。開発期間は、開発着手から総合テストまでおおよそ7〜8カ月程度でといったところでしょうか」(三菱重工 神戸造船所 佐々木康成氏)

 「開発スタイルの違いには戸惑いましたが、コンポーネントを連携させる部分では、BizTalk Serverが大いに私たちを助けてくれました。まず、コンポーネントをどのように連携させるかという設計は、BizTalk Serverに付属するドローイング・ツールのVisio 2000で行うことができます。どのコンポーネントをどのように呼び出すのかといった設計は、このグラフィカルな設計ツールで効率的に実行できました。デバッグ・フェーズでは、BizTalk Serverのログ機能が大いに役立ちました。何か問題が生じてトランザクション処理が途中で停止してしまった場合でも、BizTalk Serverのログを追跡すれば、どのコンポーネントがトラブルを起こしているのかすぐに分かります」(三菱重工 神戸造船所 佐々木康成氏)

BizTalk Server 2000のオーケストレーション・デザイナー
BizTalk Server 2000では、付属するVisioを使って、コンポーネントの連携をデザインできる。今回の“DOCTOR DIESEL”においても、コマンドラインなどを使うことなく、コンポーネント連携の設計はこのビジュアル・ツールだけで実行できた。
 

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


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

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間