みなさんこんにちは!
今日はOMGで規定されているアーキテクチャフレームワークであるUAF(Unified Architecture Framework)を紹介します。
UAFはエンタープライズシステムのアーキテクチャを記述するための枠組みです。ここで「エンタープライズシステム」とは、大きな企業や官公庁などの組織、複数のシステムが連携するシステムなどを指します。このようなエンタープライズシステムを効率化したり変革したりするためには、様々な観点から多くの課題を整合的に解決する必要があります。そのような時考えるのがエンタープライズシステムのアーキテクチャであるエンタープライズアーキテクチャであり、その記述のための雛形のようなものがUAFになります。エンタープライズアーキテクチャを構築する際には様々な課題がありますが、UAFでは主に次の課題を解決しようとしています。
- ステークホルダーが多く、それらが異なる観点を持ち、その調整が難しい
- 抽象度の異なる様々な概念を整合的に記述するのが難しい
エンタープライズシステムでなくても、最近のシステム開発ではこのような課題が発生することが多いと思います。そのような場合でもUAFの適用が有効であることは多いと思いますのでぜひ一緒に学んでいきましょう。
それではさっそくUAFの中身を見てみましょう。UAFでは大きく次の二つが提供されています。
- ビューポイントの定義
- ドメインメタモデルの定義
1のビューポイント(Viewpoint)とはアーキテクチャを記述する際の観点で、ステークホルダーが持つ関心事や懸念事項に基づいて定義されます。UAFでは15のビューポイントが定義されていて、エンタープライズシステムのステークホルダーの関心事や懸念事項はおおむねどこかに含まれているようになっています。UAFで提供されているビューポイントは次の表でまとまっています。

(Unified Architecture Framework(UAF) Domain Metamodel Version1.2から引用)
ここで、行がビューポイントで、列はそれをどのようなモデルで表現するかを表していて、UAFではアスペクト(aspect)と呼ばれています。
2のドメインメタモデル(Domain Metamodel)は、エンタープライズアーキテクチャを記述する際の概念が定義されているものです。どのようなシステムでも、抽象的な戦略から、具体的なシステムなどによるソリューションまで、整合的に記述しなければならない場面は多いと思いますが、UAFでは、それのベストプラクティスが提供されているといえます。
今回はビューポイントの例を見ていきましょう。ビューポイントの例として、リソースビュー(Resource View)の定義の最初の部分を見てみましょう。ここでは、UAFの仕様書であるUnified Architecture Framework(UAF) Domain Metamodel Version1.2から該当部分を仮に翻訳したものを掲載します。
8.1.7 ビュー仕様::リソース
ステークホルダー: システムエンジニア、リソース所有者、実装者、ソリューション提供者、ITアーキテクト
関心事・懸念事項: 運用に関する要求事項を実装するためのソリューションアーキテクチャの定義
定義: 運用に関する要求事項を実現する、組織的、ソフトウェア、アーティファクト、ケーパビリティコンフィグレーション、自然資源などのリソースからなるソリューションアーキテクチャを捉える。リソースのより詳細な設計は、典型的にはSysMLやUMLにより記述される。
前に述べたとおり、ビューポイントはステークホルダーの関心事や懸念事項に基づいて定義されますので、まずはそれらが示されています。ここでは、リソースビューポイントは、システムエンジニアなど、技術者よりのステークホルダーの関心事を表現するためのものであることが分かります。さらに、関心事としては、ソリューションアーキテクチャの定義とあります。これは、エンタープライズアーキテクチャのなかでも、解決策を検討するためのソリューションアーキテクチャがここで明らかになることを示しています。定義では、具体的にリソースになりうるものが列挙されているとともに、それらを用いて定義されたソリューションアーキテクチャにより、運用に関する要求事項を満たすことが目標であることが述べられています。最後の一文は、UAFの範囲では個別リソースの設計までには立ち入らないことを言っています。
このようにUAFではエンタープライズシステムに関わりうるステークホルダーの関心事や懸念事項が必要十分に記述できるようさまざまなビューポイントの定義が提供されています。さらに、それらの間で利害関係の調整や抽象度の異なる概念間の整合性をとれるよう、ドメインメタモデルが提供されています。次回はドメインメタモデルのもう少し詳しい説明、さらにその次からは各ビューポイントについて、関係するドメインメタモデルも交えて紹介していこうと思います。さらに、UAFの仕様書だけからは分からないTipsや効果的な使い方もここに書いていければと考えています。
それでは、皆さんお楽しみに!