RSA V8にみる最新UMLモデリング
SOAをモデリングする
サービス指向アーキテクチャ(以下SOA)は大規模なシステムを「サービス」の集まりとして構築する設計手法のことですが、一時期のブームののち現在は成長期に入り、サービス設計から真剣に取り組みたいという企業が増えているように感じます。
そこで毎回聞かれるのは、「サービスってどう切り出したらいいの?」「サービスの粒度は?」「サービス設計の方法は?」です。これは1996年にガートナー社がSOAの概念を提唱したころから続いている質問です。
IBMは長年SOAに取り組んできました。そして大きく「サービス識別」「サービス仕様」「サービス実現」という3つの柱からなるサービス指向モデリング/アーキテクチャ(以下SOMA)としてSOA開発方法論を確立しています。SOMAはIBM社内のものでしたが、Rational SOMAという形でRational Method Composerに同梱され、プロセスのオーサリングを行うことが可能です。またRSAではプロセス・ブラウザの中にRational SOMAが同梱され参照することが可能です(図4)。
図4:プロセス・ブラウザによるRational SOMA 2.9の参照(クリックで拡大) |
RSA V8はRational SOMA 2.9というバージョンに対応しています。Rational SOMA 2.9ではOMGで仕様化されているSoaML(Service oriented architecture Modeling Language)が採用されており、またRSA V8ではSoaMLに対応したサービス・モデリングを実施することが可能です。SoaMLは多くの企業が仕様策定にかかわっていますので、今後の発展が期待されます。
UMLモデリングのチーム開発に必要なもの
最近オフショアで中国やインドに開発を委託するケースが増えています。今の中心はコード開発ですが、今後は設計分野まで広がっていくことが予想されます。その時に重要となる技術がUMLです。ここで冒頭の言葉を思い出してください。
「ソースコードよりも高い抽象度での理解により、属人性を軽減する」
UMLは世界共通であり、また曖昧さを排除しアーキテクチャを管理することが可能となります。オフショア開発にUMLは活用できる点を覚えておいていただければと思います。
最後にUMLモデリングのチーム開発について見ていきましょう。チーム開発で必要なものにはいくつかありますが、特に以下の点は重要です。
- 並行開発を行う上での比較やマージ機能、またマージ作業を軽減する仕組み
- チーム開発を行う上でのコミュニケーションを促進する仕組み
一般的には構成管理製品と組み合わせることで実現します。例えばRSAの場合、動画のようにビジュアルなモデル比較を行うことが可能です。
ページの都合上、詳しい話はできませんでしたので、詳細は大規模モデリング並行開発ガイドをご参照ください。またチーム開発のコミュニケーション・プラットフォームとしてIBMはRational Team Concertを出荷しています。
次回からはこのRational Team Concertを活用した連載をお届けしていきます。