先週(2008年6月2日)SOA Softwareは新しいRepository Manager 6.0(旧Logidex)(source)のリリースを発表した。Repository Managerはサービス/再利用可能な資産のレポジトリで、社内のSOAおよびその他のソフトウェア資源を効率よく管理できるようにする。Repository Managerによって、社内にどんな資産があり、自分たちのビジネス/技術面の特質は何であり、それらがどこにあるのかを把握することができる。Reporistory ManagerはSOA Softwareの(統合)SOA製品の一部で、このスイート製品には他にPolicy Manager、Service Managerが含まれる。
Repository ManagerはSOA管理に必要となる次のような核となる機能を提供する。
- 開発管理:サービス製品や要件定義から開発に至るプロセスをコントロールできるようにする。グラフィカルな表示によってアセット(アーティファクト(成果物)の集合)間の関係を把握でき、ドラッグアンドドロップでプロジェクトや取扱製品に求められることを満たすように開発管理ルールを作ることができる。レポジトリは単一の承認ポリシーのようなシンプルな管理ポリシーから承認や確認が複数レベルに渡るような管理ポリシーまでサポートする。
- 主要なサービスレジストリとの連携:HP SOA Systinet、IBM WSRR、TIBCO ActiveMatrixと相互にサービスの定義やメタデータや管理状態を同期させることができる。
- アセットの効果的な管理と配備:実行可能なモジュール、WSDLのファイルやモデルや文書といったアーティファクトをRepository Managerから適切な開発ツールへと直接送ることができる。
- アセットやサービスの協調的発見:単純なキーワードを広範囲に渡って検索できる。
- 各地域のレポジトリ連携のサポート:世界中でアセットを共有することが可能であるのと同時に、サービスがどのように生成され閲覧され使われたかをきちんとコントロールする。
InfoQはSOA SoftwareのAlan Himler氏とBrent Carlson氏に話を聞いた。
InfoQ: 今回のリリースで取り入れられた機能の中で、どれが一番重要だと考えていますか?
SOA Software: Policy Managerと連携するRepository Managerによって、ユーザーはサービス開発プロセスの様々なところでポリシーが守られているかの検証(Policy Managerの機能)を自動的に行うことができます。Policy Managerと連携するRepository Managerは、Repository ManagerとPolicy Managerの間でサービスの定義やメタデータそして管理状態を同期することもできます。
サービスレジストリやサービスレポジトリとの連携によって、これらを個別に管理する労力を軽減させます。
Repository Managerに組み込まれている開発プロセスは、開発ライフサイクルの様々な段階に渡ってソフトウェア資産の状態を管理しレポートするフレームワークとなります。
主要なIDEやSCMと密に連携することで、既存の開発環境へのRepository Managerの導入を簡素化しています。:
InfoQ: Repository Managerでサポートされているアーティファクトのカスタム分類についてはどうでしょう?
SOA Software: Repository Managerでは特許を取得している動的なアセットテンプレート構造を用いています。これにより、アセットに検索・把握・レポートするための情報や他のアセットとの関係情報を記述した分類メータデータ(例えばキーと値のペア)を持たせることができます。
InfoQ: Repository Managerは企業の標準、たとえば命名規則やアーティファクトの内容などが守られているかアーティファクトを検証するのでしょうか?
SOA Software: Repository ManagerとPoclicy Managerの強力なポリシー適合エンジンによって内容の検証を行うことができます。Repository Managerを設定して、様々なソフトウェア開発工程の管理段階で自動的にPolicy Managerの適合エンジンを動かすことができます。 Poilcy Managerは自動的に関連するポリシーを適用し、Repository Managerが追加対応を行えるよう結果を返します。Repository Managerには「ハード」と「ソフト」の2つの適合方法があり、「ハード」適合では検証に通らなかったアセットをその提出者に返し、「ソフト」適合では検証したアセットを一人あるいは複数人のレビュア(アーキテクト、ドメインアナリストなど)に送って検証エラーが許可されるものか拒否されるものかを決めることになります。
InfoQ: Repository ManagerはRAS(Reusable Assets Specification)といったアーティファクトパッケージング標準をサポートしますか?
SOA Software: LogicLibrary(SOA Softwareが2008年5月に買収)はRASのスポンサでしたし、Repository ManagerはRASに基づいています。
InfoQ: Repository ManagerはSCMやドキュメントレポジトリといった外部のレポジトリに存在するアセットへのリンクをサポートしますか?
SOA Software: Repository Managerは、SCMやその他URLベースのアクセスをサポートする主要な記録システム内にあるアーティファクトに対して、URIベースの参照型リンクをサポートします。Repository ManagerのAnySource Artifact Adapterツールキットを使うとURLベースのアクセスを提供していない外部レポジトリへのアクセスも可能になり、基本的にアーティファクトがどんな外部レポジトリにあってもアクセス可能になります。
InfoQ: Repository Managerはカスタマイズ可能な承認ワークフローをサポートしていますか?
SOA Software: はい、まずSmart Controlsが開発プロセスのワークフローを事前設定してチェックポイントをピックアップするので、ユーザーは会社の必要に応じてそれらのプロセスを設定することができます。
InfoQ: Repository Managerはアーティファクトのバージョン管理をサポートしますか?
SOA Software: はい、Repository Managerに収められた各アセットおよび各アーティファクトはユニークなIDを持ったユニークなインスタンスとして管理されます。アーティファクトは通常新しいアセットバージョンを作ることでバージョン管理されます。Repository Managerにはワンクリックで新しいバージョンを作る機能があり、この時ローカルで管理されているアーティファクトをディープコピーすることもできます。
InfoQ: Repository Managerは任意の深さだけ依存ツリーを走査することをサポートしますか?
SOA Software: Repository Managerはハイパーリンクベースの方法と動的にグラフィカルな依存グラフビューを生成する方法とで任意の深さの依存ツリー捜査をサポートします。依存グラフビューはアセットと関係性の種類の2つの要素を指定してフィルタリングすることができます。全てのアセットと関係性情報はリードオンリーのSQL ビューで表すこともできます。このことでユーザーは自分たちの依存グラフ解析を行うことができます(たとえば、オープンソースであるEclipse BIRT(Business Intelligence and Reporting Tools:レポート作成ツール)Designerを使ってレポートを作ったり、Repository Managerのランタイムに含まれているBIRTレポーティングエンジンにユーザーがデータを渡したりできます)。
InfoQ: Repository Managerはどのようにアーティファクトの変更通知をサポートしますか?
SOA Software: Repository Managerのユーザーは、アセットを「購読」すればそのアセットの状態のどんな変更(アーティファクトの変更も含みます)もe-mailやRSSで受け取ることができます。
InfoQ: Repository Managerはサービス利用、現在のサービス利用者、負荷、サービスレベルの維持(SLA)といった情報をサポートしますか?
SOA Software: はい、SOA SoftwareのService Managerを使うことでサポートできます。
InfoQ: WebSphere Registry Repository(WSRR)と連携する時、カスタム分類やカスタムオブジェクトをどのようにRepository Manager内のアーティファクトへとマッピングさせるのですか?
SOA Software: Repository Managerは動的なアセットテンプレート構造を使ってWSRR仕様のOWL(ウェブのオントロジ(メタデータに関する体系)を記述する言語)オントロジへ関連付けます。自動WSRR連携はRepository Manager向けに定義されたどんな管理プロセスに対しても設定可能です。このような連携がされる時、Repository Managerは関連付けされた分類メタデータを準備し、それによってRepository ManagerからWSRR向けに生成されたオブジェクトをWSRRのオントロジのコンテキスト内でカテゴライズします。関連付けされていない Repository Managerの分類の場合は単純なプロパティとしてWSRRに渡します。