ビジネスお役立ち情報 > ビジネスColumn

ビジネスColumnビジネスColumn CADを利用して設計を行う際に必要なノウハウを紹介。

ビジネスColumnのトップへ

変化に強い企業システムの構築
サービスを組み合わせるSOA

従来までの企業システムは、必要な業務単位を個別に一から構築されてきた。そのため業務プロセスの更新には柔軟性やコストの課題などが指摘されていた。これを解決するものとして注目されているのがSOA(Service Oriented Architecture)というシステム構築アーキテクチャである。

企業における業務プロセスを処理する
従来のシステム構築手法の課題

これまでに企業へ導入された業務システムは、業務プロセス単位で個別に構築されることが多かった。例えば、自社製品を顧客から受注するシステム、製品の在庫管理を行うシステム、製品を製造する生産管理システム、顧客への請求処理を行うシステム、こうしたシステムがそれぞれ個別に構築され、相互に連携することなく使われてきた。データ連携を行う場合には、CSVファイルなどの汎用ファイルを介してデータを受け渡したり、もしくは複数のシステム間でコピー&ペーストしたりといったように、オペレータの人手を必要とすることがほとんどだった。

こうした企業システムでは、いろいろな課題がある。まずは、信頼性の課題だ。人手を介したオペレーションではヒューマンエラーが必ず発生するものだ。システム間が連携する機能が用意されていなければ、いつかはヒューマンエラーによる事故が発生する。ひとたび事故が発生すれば、企業は莫大な損害や信用の失墜を被る危険性もある。事故の芽を摘み取るには、システム間の連携機能を持たせ、そのオペレーションを自動化することが最適解になる。

信頼性以外にも課題はある。コストの問題だ。システムがバラバラのままでは、全体の業務プロセスの中に同じような機能が重複してあったとしても、その機能を必要な数だけ実装しなければならない。データベースもシステムの数だけ増えていってしまう。これが1つのシステムとして連携していれば、同じ機能は集約でき、構築のための開発コストも、保守メンテナンスのための運用コストも大きく削減できる。

また、初期設計時の仕様のまま変更が効かず、変化するビジネスの形態によって業務プロセスに変更が生じた場合にも即応できないなどの欠点があり、新しい企業システムの構築手法が求められてきた。

状況へ即応する柔軟なシステムへ
いよいよ到来するSOAの時代

こうした従来のシステム構築手法の課題を解決するものとして注目されているのが「SOA(Service Oriented Architecture)」である。

これまで業務プロセスごとに別々で作られてきたシステムそれぞれをサービスとして構築し、そのサービスを実行するためのプラットフォームを用意して統合しようというものだ。SOAを採用したシステムでは、サービスを組み合わせることで業務プロセスを実現する。つまり、業務プロセスはサービスを入れ替えるだけで新しいビジネスの変化に即応できる。

SOA導入前の既存システムも、スクラップにするのではなくサービスとして取り込め、条件によっては外部に用意されたサービスも活用できる。システムを構築するのではなく、システムを組み合わせて使用するのがSOAなのだ。なお、SOAはこうしたサービスを組み合わせて処理を行う設計の考え方を指し、具体的な製品や技術を表すものではない。

実は、既存システムの中にも将来の拡張性を考慮して作られてきたものがある。モジュールやコンポーネント単位で開発するオブジェクト指向は従来から存在してきた。そのため、システムの開発部門にとってのSOAは、便利であると同時に比較的受け入れやすいシステム構築の方法論だと言える。

そしてSOAの利点は、こうしたモジュールやその開発言語などにとらわれない、より高い柔軟性にある。一定のインターフェースとプロトコルが定められれば、そのすべてのアプリケーションはサービスとしてシステムに取り入れることができる。

このSOAが新しい企業システムのあり方として注目され始めてから、多くの企業がシステム構築の新しい手法としてSOAの有用性を認識している。多くのベンダーが自社製品を積極的にSOAに対応させ、導入成功事例も増えていることから、既にSOAの導入は本格化して普及期に入っている見方もある。

既存のシステム資産をSOAに
強みを活かした段階的な移行

今の課題は、稼働中のシステムをどのようにSOAへ取り込んでいくのか、という点だ。SOAの仕組みは理解できても、SOAのプラットフォームをどのように設計して既存システムと連携させるのか、具体的な移行手順が明確にならなければ企業としては導入に踏み切れない。

こうした悩みを解決するために、現在は多くのシステムベンダーあるいはコンサルティングファームがさまざまなソリューションを提供している。重要なのは、どうやってシステムをSOAに対応させていくのかという点だが、多くのベンダーは段階的なSOAへの移行を推奨している。つまり、既存システムを活用しながら、新しい業務プロセスを新規にシステム化したり、ビジネスの変化に合わせてシステムを刷新したりするところからSOAを導入していき、段階的に拡張しようというものだ。

そして更改が差し迫った既存システム本体をSOAに移行するには、既存システムの中で残すべき「強み」の部分と、外部のサービスを利用すれば賄える部分とに分類する。この「強み」の部分だけにリソースを集中することで、開発期間とコストを最適化し、強み以外の部分に起因する開発の難化や長期化を避けられる。これがSOA移行への基本シナリオだ。

SOAの説明の1つとして「SOA≒Webサービス」という考え方がある。確かにWebサービスは、Webアーキテクチャに則ってアプリケーションをサービスとして提供し、組み合わせることで大きなシステムを構築することができる。また、既存システムをSOAの一部として活用する際、そのサービスのアダプタの部分に、標準技術として確立されているWebサービスを構築することもある。SOAの一面を表しているが、これがすべてではない。今後、SOAによるシステムはより普及し、その持つ意味もさらに広がりを見せていくだろう。

(掲載:2008年9月)

関連リンク

企業のITセキュリティ講座