SOAマニフェスト (SOA Manifesto) 日本語版
バズワードとして消費され切った感のあるSOA (サービス指向アーキテクチャ) ですが、今改めて「SOAとは何か?」という共通認識を確立するためのワーキング グループが作業を始めています。
ワーキング グループには、Burton GroupのAnne Thomas Manes ( http://www.bowlight.net/ )、多数のSOA関連書籍の著者 Thomas Erl ( http://www.thomaserl.com/ )、スリーアミーゴスの1人 Grady Booch ( http://www.booch.com/architecture/blog.jsp ) といった、著名なメンバーが名を連ねており、Oracleからも、David Chappel ( http://blogs.oracle.com/davidchappell/ ) やClemens Utschig-Utschig ( http://blogs.oracle.com/soabpm/ ) が参加しています。
先週ロッテルダムで開催された「2nd International SOA Symposium」において、「SOA Manifesto」と「Guiding Principles」がアナウンスされ、公式サイト http://www.soa-manifesto.org/ にも掲載されました。
簡潔な英語なので翻訳するまでもないかもしれませんが、勢いで翻訳してしまったので、参考までにここに載せておきます。(誤訳の指摘、より良い訳の提案などあれば、お知らせください。)
- 2nd International SOA Symposium (2009/10/22-23)
- Twitter > #soasym09
- SOA Manifesto関連ブログ エントリ
- http://blogs.oracle.com/davidchappell/2009/10/soa_manifesto_published.html
- http://blogs.oracle.com/archbeat/2009/10/17-way_tag_team_produces_soa_m.html
- http://blogs.oracle.com/soacommunity/2009/10/soa_symposium_2009_by_thomas_e.html
- http://blogs.oracle.com/soacommunity/2009/10/soa_manifesto_by_anne_thomas_m.html
- http://soamastery.blogspot.com/2009/10/soa-manifesto-presented.html
- http://www.ebizq.net/blogs/soainaction/2009/10/soa_symposium_soa_manifesto.php
- http://www.deltalounge.net/wpress/2009/10/soa-manifesto-declared-at-soa-symposium-2009/
- SOA Manifesto
サービス指向は、あなたが行うことの枠組みを示すパラダイムです。サービス指向アーキテクチャ (SOA) は、サービス指向を適用することに由来する、アーキテクチャの一種です。組織が、高い俊敏性とコスト効率性で、ビジネスの必要性に従って、持続可能なビジネス価値を一貫して提供することを助けるために、我々はサービス指向を適用してきました。
我々は、この作業を通じて、
- 技術的戦略よりも、ビジネス価値を
- プロジェクト固有の利益よりも、戦略的目的を
- カスタム統合よりも、本質的な相互運用性を
- 特定目的の実装よりも、共有サービスを
- 最適化よりも、柔軟性を
- 初期段階での完全性の追求よりも、進化的な改善を
優先するようになりました。つまり、我々は左側の項目を重視していますが、右側の項目をより重視しています。
- SOA Manifesto Guiding Principles
我々は、次の原則に従います。
- 組織の社会構造および権力構造を尊重しましょう。
- SOAが究極的には多くのレベルで変化を求めることを、認識しましょう。
- SOA採用のスコープは様々です。取り組みを、管理可能なものにし、意味のある範囲内に収めましょう。
- SOAは、様々な技術や標準を介して実現可能です。
- 業界標準、事実上の標準、コミュニティの標準を基にした、企業の標準とポリシー 一式を確立しましょう。
- 内部では多様性を許しながら、外部では均一性を追求しましょう。
- ビジネスと技術の利害関係者の協調を介して、サービスを識別しましょう。
- 現行および将来の利用のスコープを考慮することで、サービス使用量を最大化しましょう。
- サービスがビジネスの要求と目的を満たすことを確認しましょう。
- 現実の利用に応えて、サービスとその組織を進化させましょう。
- 異なる速度で変化するシステムの異なる側面を、分離しましょう。
- 堅牢性を高め、変化の影響を減らすために、暗黙的な依存性を減らし、すべての外部依存性を公開しましょう。
- あらゆる抽象化レベルにおいて、凝集的で管理可能な機能単位で各サービスを編成しましょう。