TOPキーパーソンインタビュー> 日立製作所 Special Interview
現場の業務カイゼンを最大限にはかれる日本型SOA
第2回:SOAの実現を支えるコンポーネントベースモデリング
株式会社日立製作所 桐越 信一

株式会社日立製作所
ソフトウェア事業部 Java/XMLソリューションセンタ
ソリューションビジネス推進部長   桐越 信一

1974年に日立製作所入社。以来、情報システム部門において情報インフラの構築、業務AP開発などの業務に従事。2000年10月よりUML・MDAなどのモデリング技術を用いて、顧客システム開発時のコンサルタント業務に従事。

1   2  3  次のページ
日立製作所ではSOAが話題となる前、EA(Enterprise Architecture)によって多くの企業のシステムが構築されている時代からSOAにつながる技術を培ってきた。本インタビューでは、日立が考えるSOAの在り方やその実装に向けたアプローチである「コンポーネントベースモデリング」について、日立製作所 ソフトウェア事業部 Java/XMLソリューションセンタ ソリューションビジネス推進部長である桐越 信一氏に伺った。

— 日立製作所が考えるSOAについて教えてください


桐越氏:SOAの定義はベンダ各社によって異なっています。しかし「業務に必要となる機能を再利用可能な『サービス』として作成し、それらを柔軟に組み合わせることによってシステムを構築する」という基本的な方向性は各社で共通していると思います。

ソフトウェアを部品(コンポーネント)化し、それらを組み合わせて全体を構成するコンポーネントベースの開発アプローチは以前から存在しました。日立製作所(以下、日立)のソフトウェア事業部 Java/XMLソリューションセンタではSOAが本格的に普及する前からコンポーネントベースモデリングのコンサルテーションサービスを提供し、これまで数多くのシステム開発案件を支援してきました。そして、そこで日立製作所が培った技術やノウハウはSOAを実現する上で不可欠の要素となっています。


— SOAを実現する上で重要なことは何ですか


桐越氏:SOAでまず重要となるのが一連の業務処理からどのような機能・粒度(大きさ)で「サービス」を切り出すかということであり、そのためにコンポーネント化へのアプローチが必須となってきます。そもそもサービスというのはコンポーネントの集まり、あるいはコンポーネントそのものをいいます。

日立ではサービスを構成するコンポーネントを機能の粒度によって3つのレイヤに分類しています。最も粒度が小さいのは「システム機能コンポーネント」であり、登録や更新や削除といった様々な業務から共通して利用される部品となります。これらを組み合わせたものが「業務機能コンポーネント」であり、見積回答作成など業務処理を構成する最小単位となります。そして業務機能コンポーネントの組み合わせからなり、一連のまとまった業務処理に対応するのが「ビジネスコンポーネント」です。既存システムやパッケージなどがこのレイヤに相当します。

SOAにおけるサービスとコンポーネントの関係
図1:SOAにおけるサービスとコンポーネントの関係
(画像をクリックすると別ウィンドウに拡大図を表示します)


— 業務のモデリングを行う段階からコンポーネント化を意識しなくてはならないのですね

桐越氏:SOAを実現するために、より効率的に再利用性の高いサービスのコンポーネントを切り出す必要がありますが、そのために日立はコンポーネントベースモデリングというモデリング手法を使用しています。従来のシステム開発では、上流工程においてコンポーネント化が意識されていませんでした。そのため、業務モデリングで導き出された膨大な事例から複雑なクラス図が作成され、下流工程でのコンポーネントの切り出しが非常に困難となっていたのです。

これに対してコンポーネントベースモデリングでは、分析工程でユースケースによる業務モデリングを行う段階からシステム化の範囲を分割し、あらかじめコンポーネントを見い出しておきます。そうすることによって、適切な機能および粒度のコンポーネント設計を促進することが可能となるのです。


— 具体的にコンポーネントベースモデリングはどのように実現されるのですか

株式会社日立製作所 桐越 信一 桐越氏:コンポーネントベースモデリングは、MDA(Model Driven Architecture:モデル駆動型アーキテクチャ)というモデリングの標準技術体系を適用することによって実現されます。

MDAには2つの利点があります。1つ目は「モデルを一度作ればそこから次のステップが駆動できること」です。例えばUMLのツールでクラス図を書けば、そこからソースコードが自動的に生成されます。この点はMDAの大きな特長としてクローズアップされることが多いです。

2つ目は「分析モデルをプラットフォームに依存せずに設計モデルと独立して定義できること」です。MDAでは、分析モデルであるCIMおよびPIMと設計モデルのPSMをそれぞれ独立したモデルで定義します。そして、プラットフォーム決定時に分析モデルと設計モデルをマッピングしてソースコードを生成し、実装へとつなげていくのです。

分析モデルはプラットフォームに依存しませんので、例え現在多くのシステムで採用されているJavaが将来使われなくなったとしても、別のマッピングルールを適用すれば分析モデルを再利用できるというメリットがあります。


1   2  3  次のページ

INDEX
第2回:SOAの実現を支えるコンポーネントベースモデリング
日立製作所と他ベンダとのSOAの捉え方に違いはありますか
  MDAによるアプローチによって、開発において重複する部分がなくなるのですね
  どのようにMDA支援ツールがITアーキテクトの代わりにマッピングをするのですか