基幹業務システムは,クライアントからWebサーバーまでを含めたフロント層,業務・ロジックを担うアプリケーション層,バックエンドのデータベース層という3層で構成されている。3層のシステム階層のうち,ミドルウエアが最も重責を担うのは,アプリケーション層においてであろう。ミドルウエアが提供するアプリケーションの基盤を利用することで,多様な業務アプリケーションを効率的に開発できる。しかも,基幹業務に耐え得る信頼性も確保してくれる。
富士通の「Interstage」にはフロント統合サービスや帳票サービス,情報活用サービスなど,数多くの製品群から構成されているが,注目すべきは,オープンなミッション・クリティカル・システムを構築するミドルウエア製品であるオンライン処理基盤の「Interstage Business ApplicationServer」と,バッチ処理基盤の「InterstageJob Workload Server」だ(図1)。
図1●富士通の提供するアプリケーション・プラットフォームInterstage製品群
ミッション・クリティカル・ミドルウエアとして,オンライン処理基盤のInterstage Business Application Server,バッチ処理基盤のInterstage Job Workload Serverが中核をなす。ほかにもSOAのサービス・バスを構築するInterstage Service Integratorなどの製品群からなる |
 |
この2つのミドルウエアは,アプリケーションのエラーによるデータ・ロストや,アクセスの集中によるシステムダウンが許されないような,ミッション・クリティカルな業務システムに利用されるものであり,「ミッション・クリティカル・ミドルウエア」と呼んでもいい。
そして,PRIMEQUESTとInterstageBusiness Application Server,Interstage Job Workload Serverで構築したミッション・クリティカル・システムを,SOA(サービス指向アーキテクチャ)対応にするため,SOAに必須となるサービス・バス「Interstage Service Integrator」がある。これにより変化に強い柔軟なシステムとなる。
 |
オンライン処理の業務ロジックを支援する |
一般的にオープンシステムはオンライン処理など同期系アプリケーションの開発が容易である。しかし,メッセージ・キューを介した非同期系アプリケーションとなると開発は容易ではない。これはメインフレームでいうところのDC(Data Communication)機能が欠落していることが理由である。
Interstage Business ApplicationServerは,オンライン業務の実行基盤になるミドルウエアなので,業務ロジックに従ってアプリケーションを効率的に開発できるのは当然であるが,データの整合性を確保するトランザクション機構と,業務の継続性を確保する自律機構に特色がある。非同期系アプリケーションの難しい開発も,トランザクション機構と自律機構の支援を受けて,大幅に簡略化した開発ができる(図2)。
図2●Interstage Business Application Serverの機能概要
オンライン業務アプリケーションの処理基盤であるInterstage Business Application Serverは,業務継続のための自律機構や,データ整合性のためのトランザクション機構を備え,Java/COBOL/C言語によって開発されたアプリケーションが動作可能 |
 |
トランザクション機構には,(1)ルーティング制御,(2)メッセージ保証,(3)ジャーナル・ログ機能,といった信頼性確保の機能がある。複数のアプリケーションがメッセージのやり取りをして業務処理をしているとき,メッセージの受け手になるアプリケーションに異常が発生しても,そのままメッセージが消失してしまうのではなく,事前にメッセージを格納しておき,アプリケーションを再起動した上で,メッセージの再送を行うような仕組みを設けている(メッセージ保証)。たとえ一部のアプリケーションに異常が起こっても,データ矛盾を起こさないように,別途リカバリ処理で矛盾を解消できるように開発できる(ルーティング制御)。ほかにもデータベース破損に備えて,データベースの更新履歴を記録しておける(ジャーナル・ログ機能)。
業務の継続性を確保する自律機構とは,処理要求をいかに取りこぼしなくスムーズに処理するかといった機能が集積されたものだ。処理要求を平準化するため,最初の入口で過度な処理要求にはいったんエラーを返したり,受け取った処理要求に応じて複数のプロセスに処理させたりしている。また,プーリングによるシステム・リソースの最適化,アプリケーション異常の予兆監視,ひとたび異常が起こっても再起動させる自動復旧,一部のアプリケーションに負荷が集中したときの代行ルート機能などがある。
Interstage Business Application Serverのフレームワークに従って作成されたアプリケーションは,GUIベースのフロー定義ツールで処理順序,分岐などを指定しながら構築できる。複数のアプリケーションを組み合わせて業務の流れを構築できるのである。開発言語は,Java,COBOL,C言語のどの言語を使用しても構わない。またアプリケーション間の連携も,SOAに対応しており,相手のアプリケーションの言語の違いを意識する必要はない。
さらに,フレームワークに組み込むトラッキング機能を,統合運用管理ソフトウエアSystemwalkerで利用することで,クライアントから,アプリケーション層,データベース層までの応答時間を調べることが可能となり負荷状況によるサーバー・リソースの割り振り,投入した資源の効果の測定といった全体の資源最適化も可能となる。
 |
高度なバッチ処理を提供
煩雑なジョブ作業を解消 |
企業のITシステムの重要な部分はバッチ処理で構成されている。例えば,日時更新などの集計処理や,在庫の一括引き当てなど細かいものも含め,多数のバッチ処理で構成されている。
しかし,オープンシステムはバッチ処理が弱い。スクリプトでバッチ処理を行うこともできるが,ジョブと言う概念がないためスクリプトの作成や保守は非常に労力がかかる。バッチ処理のスケジューリングや,イベントに対応して同期,異常終了への対処などをスクリプトで実現しようとすると,大きな開発工数を要することになる。ジョブ監視や資源の割り当て,異常時のキャンセルといった作業をミドルウエアなしで行うことは不可能に近い。しかし,オープンなミッション・クリティカル・システムでは,メインフレームと同等レベルの強力なバッチ処理環境が必須なのである。
Interstage Job Workload Serverはメインフレームと同等のバッチ環境を提供するミッション・クリティカル・ミドルウエアだ。ジョブ定義と作成支援,スケジュール,ジョブの起動,稼働状況の監視などの機能を備えている(図3)。またジョブ間でのファイル排他制御とファイル破壊防止,異常終了時のリソース開放といった機能も提供される。
図3●Interstage Job Workload Serverの機能概要
バッチ処理実行基盤であるInterstage Job Workload Serverは,バッチ環境であるジョブ定義を作成しそれをスプールに投入し,優先順位やファイル排他状況などによりバッチ・アプリケーションを起動し一連のジョブを実行していく。スケジューラを使って定刻にジョブを起動したり,Systemwalkerなどからのトリガを基にジョブを起動することもできる |
 |
月次や期末の集計や一括更新といった負荷の高いバッチ処理の場合,時間がかかるためトラブル発生時に速やかにリトライする必要があるが,安全にバッチ処理を行える環境がないと,排他制御や中間ファイルの消去ミスなどで思わぬ二次災害を行き起こすこともある。Interstage Job Workload Serverを導入すれば,このような心配も皆無になる。
途中までバッチ処理が進んだ段階で,エラーが発生して中断しても,ファイルを自動的に回収するため,未回収ファイルを探し出して削除する手間がない。バッチ処理を再開したとしても,最初からジョブを実行するのではなく,異常終了した場所から再開できるので時間の短縮ができる
 |
SOA対応のためのインフラ提供Service Integrator |
これからの業務システム構築のトレンドは,SOAへと向かっている。SOAは,サービスとして作成された業務ロジック間をサービス・バスでつなぐことで全体の業務を組み立てるものである。これによって,メインフレーム,UNIX,Linux,Windowsなど異なる環境で作成されたアプリケーションの統合が可能となる。データをやり取りするためには,XML形式で保持する。これは企業間の電子商取引を行うため,業界ごとの標準化も進んでいる。開発支援ツールで利用されるリポジトリがXML形式で相互利用可能となれば,異種システムを混在したSOAでのアプリケーション運用が可能となる。
富士通の「Interstage ServiceIntegrator」は,サービス・バスを提供し,アプリケーション相互のデータ整合性を取るメディエーション機能を持つ(図4)。GUIベースでインタフェース定義(XML)を作成し,サービス・バスはそれを元にデータ変換を行い,サービスを起動して全体の機能を構築できる。旧来のCOBOLなどで作成されていたアプリケーションの大半はレコードの並び替えやデータ変換であり,この部分が定義ベースで行えれば,大幅なコスト削減と維持コスト軽減につながる。
さらに,SOAも含めたシステムのモニタリングを行うミドルウエア「Interstage BPM Monitoring」を併用することで,サービス・バス上でやり取りされるサービスの処理状況や業務データのモニタリングも可能となる。
図4●Interstage Service IntegratorでSOA環境を構築する
SOAはサービス・バスを使って,アプリケーション相互のデータ整合を取り,受け渡すことで異種プラットフォームで稼働する業務アプリケーションを統合し運用することができる。データの整合はXMLで記述されたデータ定義を基にインタフェース変換が行われ,ゲートウエイに定義したサービスへ渡される。バックエンドがどのようなシステムで構築されていてもフロント側からは一貫したアプリケーションに見えるため,現実的なアプリケーション統合の手段として期待される |
 |
|