第10章エンタープライズアーキテクチャーとソリューションアーキテクチャーの管理
Conceptual Questions概念を考える問題
1. Can object-oriented concepts such as inheritance and composition be used to assemble patterns? Provide examples to illustrate your answer.
1. 継承やコンポジションなどのオブジェクト指向の概念を、パターンの組み立てに使うことはできるか。解答を説明する例を示しなさい。
2. Why is it difficult to build complete solutions by assembling patterns at various levels of specialization?
2. 具体化のレベルがさまざまなパターンを組み合わせて、完全な解決策を構築するのはなぜ難しいのか。
3. How does the enterprise architecture as a strategy process pattern apply to the foundation for execution?
3. 「戦略としてのエンタープライズアーキテクチャ」というプロセスパターンは、実行基盤にどのように適用されるか。
4. What is the major difference between ArchDev and DevOps?
4. ArchDevとDevOpsの主な違いは何か。
5. The approach discussed in this chapter appears to be top-down as it comes to deriving solution architectures from higher levels of architecture scope. Is it possible to start from a solution architecture and establish the architecture scopes that correspond to it at the portfolio and enterprise levels?
英語のヒント
5. 本章で述べた手法は、より上位のアーキテクチャの適用範囲からソリューションアーキテクチャを導くという点で、トップダウンのように見える。ソリューションアーキテクチャを出発点として、それに対応するポートフォリオレベルと企業レベルのアーキテクチャの適用範囲を定めることはできるか。
6. Does a software stack relate to a particular implementation style? Assuming that the target solution architecture implements more than one style, how is it generally possible to establish a software stack for it?
英語のヒント
6. ソフトウェアスタックは、特定の実装スタイルに関係しているか。対象のソリューションアーキテクチャが複数のスタイルを実装すると仮定した場合、一般に、そのためのソフトウェアスタックをどのように定めることができるか。
Practice Exercises練習問題
Exercises 1–5練習問題 1–5
1. Provide examples of architectural styles, architectural patterns, and design patterns for the business, application, information, and technology domains.
1. 業務・アプリケーション・情報・技術の各領域について、アーキテクチャスタイル、アーキテクチャパターン、デザインパターンの例を挙げなさい。
2. Provide an example of architectural patterns in our daily activities.
2. 日常生活の活動におけるアーキテクチャパターンの例を挙げなさい。
3. Research how large corporations such as Amazon and Netflix have adopted microservices. What are the benefits of implementing a microservice design pattern according to these companies?
3. AmazonやNetflixなどの大企業が、マイクロサービスをどのように採用したかを調べなさい。これらの企業によると、マイクロサービスのデザインパターンを実装する利点は何か。
4. Give an example of a framework that can be used to integrate the TOGAF architecture domains. What is the benefit of integration?
4. TOGAFのアーキテクチャ領域を統合するために使えるフレームワークの例を挙げなさい。統合にはどのような利点があるか。
5. Research Zachman and FEAF. Which framework has views and viewpoints very similar to TOGAF?
5. ZachmanとFEAFを調べなさい。ビューと視点がTOGAFと非常によく似ているのは、どちらのフレームワークか。
Exercises 6–9練習問題 6–9
6. State process patterns that are used for solution architecture management purposes as part of software engineering.
6. ソフトウェア工学の一環として、ソリューションアーキテクチャの管理に使われるプロセスパターンを挙げなさい。
7. Give examples of enterprise technical architecture frameworks that can be used to construct cloud-based solutions.
7. クラウドを基盤とする解決策の構築に使える、エンタープライズ技術アーキテクチャのフレームワークの例を挙げなさい。
8. Research examples of full stack technologies for different application types. Is there a fixed number of tools and technologies that meet the full stack definition? What is the main driver to determine the number of tools and technologies needed in a stack?
8. さまざまな種類のアプリケーションに用いられる、フルスタックの技術の例を調べなさい。フルスタックの定義を満たすツールと技術の数は決まっているか。スタックに必要なツールと技術の数を決める主な要因は何か。
9. How would the system deployment environment affect the possible technology stack used to implement a solution? Provide a specific example of how we could not use a given technology for a given deployment environment.
9. システムの配置先の環境は、解決策の実装に使える技術スタックに、どのような影響を与えるか。特定の配置環境では特定の技術を使えない、という場合の具体例を示しなさい。
Problem Set A問題集A
Exercises 1–5練習問題 1–5
1. Document the design patterns set forth by Erich Gamma in terms of the pattern template, pattern hierarchy, pattern catalog, and pattern languages that are provided to work with these patterns. Documentation about Erich Gamma’s catalog of design patterns is widely available on the Internet.
英語のヒント
1. エーリヒ・ガンマが示したデザインパターンを、それらを扱うために用意されているパターンテンプレート、パターン階層、パターンカタログ、パターン言語の観点から記述しなさい。エーリヒ・ガンマのデザインパターンのカタログに関する資料は、インターネットで広く入手できる。
2. Perform some research on the Internet and explain the difference between OMG’s OMA architectural style and the microservices architectural style.
2. インターネットで調べ、OMGのOMAアーキテクチャスタイルと、マイクロサービスのアーキテクチャスタイルとの違いを説明しなさい。
3. Perform some research on the Internet to become familiar and explain/document the following common industry standards and acronyms: PRINCE2, ITIL, US NIST, US FIPS, SIB, COBIT, and ATAM.
3. インターネットで調べて、次の一般的な業界標準と略語への理解を深め、説明をまとめなさい。PRINCE2、ITIL、US NIST、US FIPS、SIB、COBIT、ATAM。
4. Perform some research on the Internet and provide a pattern catalog for HCC architecture models.
4. インターネットで調べ、HCCのアーキテクチャモデルのパターンカタログを作成しなさい。
5. Perform some research on the Internet and provide a pattern catalog for cloud-based architecture models.
5. インターネットで調べ、クラウドを基盤とするアーキテクチャモデルのパターンカタログを作成しなさい。
Exercises 6–10練習問題 6–10
6. Perform some research on the Internet and provide a pattern catalog for cloud-based implementation architectures (it is fine to limit the scope of vendors used to implement the solution).
6. インターネットで調べ、クラウドを基盤とする実装アーキテクチャのパターンカタログを作成しなさい。解決策の実装に使うベンダーの範囲を限定してもよい。
7. Perform some research on the Internet and provide a pattern catalog for microservices implementation architectures (it is fine to limit the scope of vendors used to implement the solution).
7. インターネットで調べ、マイクロサービスの実装アーキテクチャのパターンカタログを作成しなさい。解決策の実装に使うベンダーの範囲を限定してもよい。
8. What is the difference between an architectural pattern and a design pattern?
8. アーキテクチャパターンとデザインパターンの違いは何か。
9. Provide an example of a technology stack that could be utilized to create a cloud-based application.
9. クラウドを基盤とするアプリケーションの作成に利用できる、技術スタックの例を挙げなさい。
10. Research commercially available development tools. Provide an example of a company and product line that are available to meet full-stack development needs.
英語のヒント
10. 市販の開発ツールを調べなさい。フルスタック開発の必要を満たすために利用できる企業と製品群の例を挙げなさい。
Problem Set B問題集B
Exercises 1–5練習問題 1–5
1. Pattern catalogs that enable the classification and retrieval of software patterns at various levels of specialization are quite limited in existence today. Cataloging typically takes into account the architecture domain, the architecture scope, and the degree of specialization. Can you identify additional criteria that would be useful to provide a more comprehensive way to catalog software patterns?
英語のヒント
1. 具体化のレベルがさまざまなソフトウェアパターンを分類・検索できるパターンカタログは、現在、ごく限られている。カタログ化では一般に、アーキテクチャの領域、アーキテクチャの適用範囲、具体化の程度を考慮する。ソフトウェアパターンを、より包括的にカタログ化するために役立つ追加の基準を挙げられるか。
2. Demonstrate how complex architectures may be derived by combining architectural styles.
2. アーキテクチャスタイルを組み合わせることで、複雑なアーキテクチャをどのように導けるかを示しなさい。
3. Perform some research on the Internet and identify implementation styles that correspond to implementations of the microservices architectural style.
3. インターネットで調べ、マイクロサービスのアーキテクチャスタイルの実装に対応する、実装スタイルを特定しなさい。
4. Consider various large companies you know about and state their operating model (i.e., diversification, unification, coordination, replication). Explain your reasoning.
4. 自分が知っているさまざまな大企業を取り上げ、それぞれの運営モデル、すなわち多角化・統一・協調・複製のいずれに当たるかを述べなさい。その理由を説明しなさい。
5. Consider creating a vaccine passport as a smart contract on the blockchain platform. Create conceptual business, information system, and technology architecture blueprints to document the architecture of such a solution at a high level.
5. ブロックチェーンのプラットフォーム上で、スマートコントラクトとしてワクチンパスポートを作成することを考えなさい。その解決策のアーキテクチャを大まかなレベルで記述するために、業務・情報システム・技術について、概念レベルのアーキテクチャの設計図を作成しなさい。
Exercises 6–10練習問題 6–10
6. Leverage patterns and create logical business, information system, and technology architecture blueprints for the vaccine passport as a smart contract on the blockchain platform.
6. パターンを活用し、ブロックチェーンのプラットフォーム上のスマートコントラクトとしてのワクチンパスポートについて、業務・情報システム・技術の論理アーキテクチャの設計図を作成しなさい。
7. Leverage patterns and create information system and technology architecture implementation blueprints for a vaccine passport as a smart contract on the blockchain platform.
7. パターンを活用し、ブロックチェーンのプラットフォーム上のスマートコントラクトとしてのワクチンパスポートについて、情報システムと技術のアーキテクチャの実装設計図を作成しなさい。
8. Provide a technical implementation architecture for a vaccine passport as a smart contract on the blockchain platform.
8. ブロックチェーンのプラットフォーム上のスマートコントラクトとしてのワクチンパスポートについて、技術の実装アーキテクチャを示しなさい。
9. What is a software stack and what role does it play in solution architecture management?
9. ソフトウェアスタックとは何か。また、ソリューションアーキテクチャの管理でどのような役割を果たすか。
10. Research what the term full stack developer means. Why would this skill set be useful to an organization? Do you think this skill set provides an opportunity for career development into technical leadership positions?
英語のヒント
10. フルスタック開発者という言葉の意味を調べなさい。その技能の組み合わせは、なぜ組織にとって役に立つのか。その技能によって、技術を率いる立場へキャリアを発展させる機会が得られると思うか。
Exercises 11練習問題 11
11. Research commercially available development tools. Provide pros and cons of using an approach that utilizes a commercially available technology stack tool set.
英語のヒント
11. 市販の開発ツールを調べなさい。市販の技術スタックのツール一式を利用する手法の、長所と短所を示しなさい。