第10章エンタープライズアーキテクチャーとソリューションアーキテクチャーの管理
Analysis and Design Model Patterns分析・設計モデルのパターン
A blueprint is a high-level plan used in the development stage, and an enterprise architecture (EA) is a conceptual blueprint that defines the structure and operation of organizations. Design modeling provides a variety of different views of the system like architecture plans for the enterprise. Examples of a design-centric architectural style are microservices. An example of a corresponding implementation-centric implementation style is REST Services. When the problem appears, an architectural pattern embodies architectural design decisions that are applicable to a recurring design problem parameterized to account for different solution development contexts.
英語のヒント
設計図は、開発段階で使う高水準の計画であり、エンタープライズアーキテクチャ(EA)は、組織の構造と運営を定める概念的な設計図である。設計モデリングは、企業の建築計画のように、システムをさまざまな視点から示す。設計中心のアーキテクチャスタイルの例には、マイクロサービスがある。対応する実装中心の実装スタイルの例は、RESTサービスである。問題が発生すると、アーキテクチャパターンは、繰り返し生じる設計上の問題に適用できる設計判断を具体化する。この問題は、解決策の開発状況の違いを考慮するよう、パラメーター化されている。
A design pattern relates to common design structures and practices that enable the creation of reusable software. An example of a design pattern is a singleton. A singleton restricts the instantiation of a class and ensures that only one instance of the class exists (e.g., a scoreboard object in a game should be derived from a singleton class to ensure that there is only one scoreboard object and one set of scores for the players at any given time). The enterprise architecture scope includes:
英語のヒント
デザインパターンは、再利用できるソフトウェアの制作を可能にする、一般的な設計の構造と実践方法に関わるものである。一例がSingletonである。Singletonはクラスのインスタンス化を制限し、クラスのインスタンスが一つだけ存在するようにする。たとえばゲームのスコアボードのオブジェクトは、Singletonクラスから作り、どの時点でもスコアボードのオブジェクトが一つ、プレイヤーの得点の組が一組だけ存在するようにすべきである。エンタープライズアーキテクチャの適用範囲には、次のものがある。
• Enterprise scope: higher-level patterns that can be applied to the overall structure of the enterprise
• 企業の範囲:企業全体の構造に適用できる、高水準のパターン。
2 There may be several implementation-centric patterns that realize a given design-centric pattern.
2 一つの設計中心のパターンを実現する実装中心のパターンは、複数ある場合がある。
• Solution scope: the pattern that can be applied to a single solution or system
• ソリューションの範囲:単一の仕組みやシステムに適用できるパターン。
• Domain scope: the pattern that can be applied to a specific domain
• ドメインの範囲:特定の領域に適用できるパターン。
A pattern hierarchy applies at all levels of scope, but variants of the higher-level patterns add additional embedded patterns that may be documented as a given enterprise architecture (EA) model, which gets described more specifically at the portfolio or system levels. This is similar to the map of the city being part of the map of a region within the map of the world, as shown in Figure 10.2.
英語のヒント
パターン階層は、すべての適用範囲の水準に当てはまる。ただし、高水準のパターンの変種には、さらに内部のパターンが加わり、それらが特定のエンタープライズアーキテクチャ(EA)モデルとして文書化される場合がある。そのモデルは、ポートフォリオやシステムの水準で、より具体的に記述される。これは図10.2のように、世界地図の中に地域の地図があり、その中に都市の地図が含まれることに似ている。

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典
Figure 10.2 A blueprint shows top-down enterprise levels: enterprise, portfolio, system, and subsystem. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.2 設計図は、企業、ポートフォリオ、システム、サブシステムという企業内の水準を、上から下へ示す。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
Implementation Patterns実装パターン
In object-oriented programming languages such as Java, a singleton class can have only one object at a time. The purpose of a singleton class is to restrict the number of object creations to only one, which ensures access control to resources. A Java singleton class (Figure 10.3) is a corresponding implementation-centric example of an idiom that implements a singleton design pattern and allows one instance of a Java class to exist, as in Figure 10.4.
英語のヒント

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典
Figure 10.3 The SingletonPatternDemo class accesses the Java singleton class SingleObject using the getInstance() method to return the object. showMessage will print the message. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.3 SingletonPatternDemoクラスは、getInstance()メソッドを使ってオブジェクトを返すことで、JavaのSingletonクラスSingleObjectへアクセスする。showMessageはメッセージを出力する。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典
Figure 10.4 A Java singleton class is a corresponding implementation-centric example of an idiom that implements a singleton design pattern and allows one instance of a Java class to exist. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.4 JavaのSingletonクラスは、Singletonデザインパターンを実装し、Javaクラスのインスタンスを一つだけ存在させるイディオムについての、対応する実装中心の例である。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
GLOBAL ISSUES IN TECHNOLOGY技術をめぐる世界の課題
Patterns of Solutions解決策のパターン
Problems and the need for solutions vary depending on the region of the world where people are located. For example, economically developing regions like Africa or parts of the Middle East do not have fiber-optic networks as sophisticated as the ones deployed in Europe, where extensive investments in infrastructure have been made. This disparity impacts not only access to the Internet but also the potential for growth in education, technology, and health-care systems. As a result, solutions to these problems are tailored to address the unique needs in these regions. Addressing these needs might involve developing alternative solutions like satellite Internet or mobile broadband networks, which can provide connectivity. However, these solutions need to be cost-effective and scalable to ensure they meet the population’s needs.
英語のヒント
問題と解決策へのニーズは、人々が住む世界の地域によって異なる。たとえばアフリカや中東の一部など、経済発展の途上にある地域には、インフラに多額の投資をしてきたヨーロッパほど高度な光ファイバーネットワークがない。この格差は、インターネットへのアクセスだけでなく、教育、技術、医療制度の成長可能性にも影響する。そのため、こうした問題への解決策は、地域固有のニーズに合わせて調整される。対応には、接続性を提供できる衛星インターネットやモバイルブロードバンドネットワークなど、代替的な仕組みの開発が含まれるかもしれない。ただし、住民のニーズを満たすには、費用対効果が高く、規模を拡大できるものでなければならない。
Pattern Catalogsパターンカタログ
From a top-down standpoint (e.g., enterprise, portfolio, or project), architecture may appear in different levels of focus. The architecture areas span the whole enterprise and include various domains of architecture, such as business, information, application, and technology domains. The enterprise domains in the three standpoints are illustrated in Figure 10.5.
英語のヒント
企業、ポートフォリオ、プロジェクトなど、上から下へ見る観点では、アーキテクチャの焦点は異なる水準に置かれる。アーキテクチャの領域は企業全体に広がり、業務、情報、アプリケーション、技術など、さまざまなドメインを含む。図10.5は、三つの観点における企業のドメインを示す。

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典
Figure 10.5 The architecture areas span across the whole enterprise and include various domains of architecture, such as business, information, application, and technology domains. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.5 アーキテクチャの領域は企業全体に広がり、業務、情報、アプリケーション、技術などのさまざまなドメインを含む。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
Patterns may be described using a pattern taxonomy and stored in a pattern repository or catalog. A pattern catalog is a collection of patterns that are organized according to specific characteristics and according to how the relationships between them are defined. Figure 10.6 illustrates the general structure of a pattern catalog. A pattern catalog allows the bookkeeping of clusters of patterns at various levels of specialization (i.e., analysis and design model patterns versus implementation patterns).
英語のヒント
パターンは、パターンの分類体系を用いて記述し、パターンリポジトリやカタログに保存できる。パターンカタログは、特定の特徴と、パターン間の関係の定義に従って整理した、パターンの集合である。図10.6は、一般的な構造を示す。カタログを使うと、分析・設計モデルのパターンと実装パターンというように、さまざまな具体化の水準で、パターンの集まりを記録・管理できる。

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典
Figure 10.6 The general structure of a pattern catalog allows the bookkeeping of clusters. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.6 パターンカタログの一般的な構造によって、パターンの集まりを記録・管理できる。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)
One example of a business architecture pattern that includes a generalization of business service composition and a pattern used to describe the sequencing of business services is business service orchestration. If the data does not include data presentation, then business service orchestration provides additional logic to process this kind of data. Another example of a business architecture pattern that focuses on the observed sequence of messages exchanged by peer services when performing a unit of work is called business service choreography. Figure 10.7 illustrates how various business architecture design patterns (e.g., exchange, shipment, order, and payment) may be combined via inheritance and composition to create a “buyer-seller” design pattern.
英語のヒント
業務サービスの組み合わせの一般化と、その実行順序を記述するパターンを含む業務アーキテクチャパターンの一例が、業務サービスオーケストレーションである。データに表示のための情報が含まれていない場合、オーケストレーションは、その種類のデータを処理する追加の論理を提供する。もう一つの例は、同等のサービス同士が一つの仕事を行うときに交換するメッセージの、観察できる順序に重点を置くパターンで、業務サービスコレオグラフィーという。図10.7は、交換、出荷、注文、支払いなどのさまざまな業務アーキテクチャのデザインパターンを、継承と合成によって組み合わせ、「買い手と売り手」のデザインパターンを作る方法を示す。

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典
Figure 10.7 Various business architecture design patterns, such as exchange, shipment, order, and payment, are combined via inheritance and composition to create a buyer-seller design pattern. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図10.7 交換、出荷、注文、支払いなどのさまざまな業務アーキテクチャのデザインパターンを、継承と合成によって組み合わせ、買い手と売り手のデザインパターンを作る。(帰属:Rice University、OpenStax著作権、CC BY 4.0ライセンス。)